From ad2f1b84b1042407070838665112d50b649b7f14 Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Fri, 20 Sep 2024 01:46:53 +0200 Subject: [PATCH] upgraded ui added fish --- code_templates/tts/settings.txt | 140 ++++++ configs/config.yaml | 8 +- .../{index-51c00f60.js => index-e60b333e.js} | 408 +++++++++--------- ...{index-64721b5a.css => index-f7ef3f13.css} | 2 +- web/dist/index.html | 4 +- web/src/components/AppCard.vue | 1 + web/src/views/SettingsView.vue | 41 +- 7 files changed, 394 insertions(+), 210 deletions(-) create mode 100644 code_templates/tts/settings.txt rename web/dist/assets/{index-51c00f60.js => index-e60b333e.js} (91%) rename web/dist/assets/{index-64721b5a.css => index-f7ef3f13.css} (99%) diff --git a/code_templates/tts/settings.txt b/code_templates/tts/settings.txt new file mode 100644 index 00000000..e93fc762 --- /dev/null +++ b/code_templates/tts/settings.txt @@ -0,0 +1,140 @@ +TEMPLATE CODE + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+
+===SEPARATOR=== +CONTENT CODE + +===SEPARATOR=== +STEERING TEXT +I have the following parameters for another tts system called fish tts: +fish_tts_key: "" +fish_tts_voice: "default" + +Build the code + +===SEPARATOR=== +GENERATED CODE + + + + + + + + + + +
+ + +
+ +
+
+ + +
+ +
+
+
\ No newline at end of file diff --git a/configs/config.yaml b/configs/config.yaml index b618038f..a4912f33 100644 --- a/configs/config.yaml +++ b/configs/config.yaml @@ -1,5 +1,5 @@ # =================== Lord Of Large Language Multimodal Systems Configuration file =========================== -version: 136 +version: 137 binding_name: null model_name: null model_variant: null @@ -101,7 +101,7 @@ copy_to_clipboard_add_all_details: false # -------------------- Services global configurations -------------------------- # Select the active test to speach, text to image and speach to text services -active_tts_service: "None" # xtts (offline), openai_tts (API key required), elevenlabs_tts (API key required) +active_tts_service: "None" # xtts (offline), openai_tts (API key required), elevenlabs_tts, fish_tts (API key required) active_tti_service: "None" # autosd (offline), diffusers (offline), diffusers_client (online), dall-e (online), midjourney (online) active_stt_service: "None" # whisper (offline), asr (offline or online), openai_whiosper (API key required) active_ttm_service: "None" # musicgen (offline) @@ -168,6 +168,10 @@ elevenlabs_tts_model_id: "eleven_turbo_v2_5" elevenlabs_tts_voice_stability: 0.5 elevenlabs_tts_voice_boost: 0.5 elevenlabs_tts_voice_id: EXAVITQu4vr4xnSDxMaL + +fish_tts_key: "" +fish_tts_voice: "default" + # ***************** TTI ***************** use_negative_prompt: true diff --git a/web/dist/assets/index-51c00f60.js b/web/dist/assets/index-e60b333e.js similarity index 91% rename from web/dist/assets/index-51c00f60.js rename to web/dist/assets/index-e60b333e.js index 1ddb768c..699a0c67 100644 --- a/web/dist/assets/index-51c00f60.js +++ b/web/dist/assets/index-e60b333e.js @@ -7,7 +7,7 @@ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const s=new this(e);return n.forEach(i=>s.set(i)),s}static accessor(e){const s=(this[dv]=this[dv]={accessors:{}}).accessors,i=this.prototype;function r(o){const a=ja(o);s[a]||(yL(i,o),s[a]=!0)}return Te.isArray(e)?e.forEach(r):r(e),this}}Iu.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Te.reduceDescriptors(Iu.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[n]=s}}});Te.freezeMethods(Iu);const Us=Iu;function Cp(t,e){const n=this||qb,s=e||n,i=Us.from(s.headers);let r=s.data;return Te.forEach(t,function(a){r=a.call(n,r,i.normalize(),e?e.status:void 0)}),i.normalize(),r}function fA(t){return!!(t&&t.__CANCEL__)}function Ia(t,e,n){gt.call(this,t??"canceled",gt.ERR_CANCELED,e,n),this.name="CanceledError"}Te.inherits(Ia,gt,{__CANCEL__:!0});function mA(t,e,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?t(n):e(new gt("Request failed with status code "+n.status,[gt.ERR_BAD_REQUEST,gt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function vL(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function SL(t,e){t=t||10;const n=new Array(t),s=new Array(t);let i=0,r=0,o;return e=e!==void 0?e:1e3,function(c){const d=Date.now(),u=s[r];o||(o=d),n[i]=c,s[i]=d;let h=r,f=0;for(;h!==i;)f+=n[h++],h=h%t;if(i=(i+1)%t,i===r&&(r=(r+1)%t),d-o{n=u,i=null,r&&(clearTimeout(r),r=null),t.apply(null,d)};return[(...d)=>{const u=Date.now(),h=u-n;h>=s?o(d,u):(i=d,r||(r=setTimeout(()=>{r=null,o(i)},s-h)))},()=>i&&o(i)]}const Ud=(t,e,n=3)=>{let s=0;const i=SL(50,250);return TL(r=>{const o=r.loaded,a=r.lengthComputable?r.total:void 0,c=o-s,d=i(c),u=o<=a;s=o;const h={loaded:o,total:a,progress:a?o/a:void 0,bytes:c,rate:d||void 0,estimated:d&&a&&u?(a-o)/d:void 0,event:r,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(h)},n)},uv=(t,e)=>{const n=t!=null;return[s=>e[0]({lengthComputable:n,total:t,loaded:s}),e[1]]},pv=t=>(...e)=>Te.asap(()=>t(...e)),xL=es.hasStandardBrowserEnv?function(){const e=es.navigator&&/(msie|trident)/i.test(es.navigator.userAgent),n=document.createElement("a");let s;function i(r){let o=r;return e&&(n.setAttribute("href",o),o=n.href),n.setAttribute("href",o),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return s=i(window.location.href),function(o){const a=Te.isString(o)?i(o):o;return a.protocol===s.protocol&&a.host===s.host}}():function(){return function(){return!0}}(),CL=es.hasStandardBrowserEnv?{write(t,e,n,s,i,r){const o=[t+"="+encodeURIComponent(e)];Te.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),Te.isString(s)&&o.push("path="+s),Te.isString(i)&&o.push("domain="+i),r===!0&&o.push("secure"),document.cookie=o.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function wL(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function RL(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function gA(t,e){return t&&!wL(e)?RL(t,e):e}const _v=t=>t instanceof Us?{...t}:t;function Jr(t,e){e=e||{};const n={};function s(d,u,h){return Te.isPlainObject(d)&&Te.isPlainObject(u)?Te.merge.call({caseless:h},d,u):Te.isPlainObject(u)?Te.merge({},u):Te.isArray(u)?u.slice():u}function i(d,u,h){if(Te.isUndefined(u)){if(!Te.isUndefined(d))return s(void 0,d,h)}else return s(d,u,h)}function r(d,u){if(!Te.isUndefined(u))return s(void 0,u)}function o(d,u){if(Te.isUndefined(u)){if(!Te.isUndefined(d))return s(void 0,d)}else return s(void 0,u)}function a(d,u,h){if(h in e)return s(d,u);if(h in t)return s(void 0,d)}const c={url:r,method:r,data:r,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(d,u)=>i(_v(d),_v(u),!0)};return Te.forEach(Object.keys(Object.assign({},t,e)),function(u){const h=c[u]||i,f=h(t[u],e[u],u);Te.isUndefined(f)&&h!==a||(n[u]=f)}),n}const bA=t=>{const e=Jr({},t);let{data:n,withXSRFToken:s,xsrfHeaderName:i,xsrfCookieName:r,headers:o,auth:a}=e;e.headers=o=Us.from(o),e.url=pA(gA(e.baseURL,e.url),t.params,t.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(Te.isFormData(n)){if(es.hasStandardBrowserEnv||es.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((c=o.getContentType())!==!1){const[d,...u]=c?c.split(";").map(h=>h.trim()).filter(Boolean):[];o.setContentType([d||"multipart/form-data",...u].join("; "))}}if(es.hasStandardBrowserEnv&&(s&&Te.isFunction(s)&&(s=s(e)),s||s!==!1&&xL(e.url))){const d=i&&r&&CL.read(r);d&&o.set(i,d)}return e},AL=typeof XMLHttpRequest<"u",NL=AL&&function(t){return new Promise(function(n,s){const i=bA(t);let r=i.data;const o=Us.from(i.headers).normalize();let{responseType:a,onUploadProgress:c,onDownloadProgress:d}=i,u,h,f,m,_;function g(){m&&m(),_&&_(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(i.method.toUpperCase(),i.url,!0),b.timeout=i.timeout;function E(){if(!b)return;const v=Us.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),R={data:!a||a==="text"||a==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:v,config:t,request:b};mA(function(A){n(A),g()},function(A){s(A),g()},R),b=null}"onloadend"in b?b.onloadend=E:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(E)},b.onabort=function(){b&&(s(new gt("Request aborted",gt.ECONNABORTED,t,b)),b=null)},b.onerror=function(){s(new gt("Network Error",gt.ERR_NETWORK,t,b)),b=null},b.ontimeout=function(){let S=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const R=i.transitional||_A;i.timeoutErrorMessage&&(S=i.timeoutErrorMessage),s(new gt(S,R.clarifyTimeoutError?gt.ETIMEDOUT:gt.ECONNABORTED,t,b)),b=null},r===void 0&&o.setContentType(null),"setRequestHeader"in b&&Te.forEach(o.toJSON(),function(S,R){b.setRequestHeader(R,S)}),Te.isUndefined(i.withCredentials)||(b.withCredentials=!!i.withCredentials),a&&a!=="json"&&(b.responseType=i.responseType),d&&([f,_]=Ud(d,!0),b.addEventListener("progress",f)),c&&b.upload&&([h,m]=Ud(c),b.upload.addEventListener("progress",h),b.upload.addEventListener("loadend",m)),(i.cancelToken||i.signal)&&(u=v=>{b&&(s(!v||v.type?new Ia(null,t,b):v),b.abort(),b=null)},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const y=vL(i.url);if(y&&es.protocols.indexOf(y)===-1){s(new gt("Unsupported protocol "+y+":",gt.ERR_BAD_REQUEST,t));return}b.send(r||null)})},OL=(t,e)=>{let n=new AbortController,s;const i=function(c){if(!s){s=!0,o();const d=c instanceof Error?c:this.reason;n.abort(d instanceof gt?d:new Ia(d instanceof Error?d.message:d))}};let r=e&&setTimeout(()=>{i(new gt(`timeout ${e} of ms exceeded`,gt.ETIMEDOUT))},e);const o=()=>{t&&(r&&clearTimeout(r),r=null,t.forEach(c=>{c&&(c.removeEventListener?c.removeEventListener("abort",i):c.unsubscribe(i))}),t=null)};t.forEach(c=>c&&c.addEventListener&&c.addEventListener("abort",i));const{signal:a}=n;return a.unsubscribe=o,[a,()=>{r&&clearTimeout(r),r=null}]},ML=OL,IL=function*(t,e){let n=t.byteLength;if(!e||n{const r=kL(t,e,i);let o=0,a,c=d=>{a||(a=!0,s&&s(d))};return new ReadableStream({async pull(d){try{const{done:u,value:h}=await r.next();if(u){c(),d.close();return}let f=h.byteLength;if(n){let m=o+=f;n(m)}d.enqueue(new Uint8Array(h))}catch(u){throw c(u),u}},cancel(d){return c(d),r.return()}},{highWaterMark:2})},ku=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",EA=ku&&typeof ReadableStream=="function",wg=ku&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),yA=(t,...e)=>{try{return!!t(...e)}catch{return!1}},DL=EA&&yA(()=>{let t=!1;const e=new Request(es.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),fv=64*1024,Rg=EA&&yA(()=>Te.isReadableStream(new Response("").body)),Bd={stream:Rg&&(t=>t.body)};ku&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Bd[e]&&(Bd[e]=Te.isFunction(t[e])?n=>n[e]():(n,s)=>{throw new gt(`Response type '${e}' is not supported`,gt.ERR_NOT_SUPPORT,s)})})})(new Response);const LL=async t=>{if(t==null)return 0;if(Te.isBlob(t))return t.size;if(Te.isSpecCompliantForm(t))return(await new Request(t).arrayBuffer()).byteLength;if(Te.isArrayBufferView(t)||Te.isArrayBuffer(t))return t.byteLength;if(Te.isURLSearchParams(t)&&(t=t+""),Te.isString(t))return(await wg(t)).byteLength},PL=async(t,e)=>{const n=Te.toFiniteNumber(t.getContentLength());return n??LL(e)},FL=ku&&(async t=>{let{url:e,method:n,data:s,signal:i,cancelToken:r,timeout:o,onDownloadProgress:a,onUploadProgress:c,responseType:d,headers:u,withCredentials:h="same-origin",fetchOptions:f}=bA(t);d=d?(d+"").toLowerCase():"text";let[m,_]=i||r||o?ML([i,r],o):[],g,b;const E=()=>{!g&&setTimeout(()=>{m&&m.unsubscribe()}),g=!0};let y;try{if(c&&DL&&n!=="get"&&n!=="head"&&(y=await PL(u,s))!==0){let A=new Request(e,{method:"POST",body:s,duplex:"half"}),I;if(Te.isFormData(s)&&(I=A.headers.get("content-type"))&&u.setContentType(I),A.body){const[C,O]=uv(y,Ud(pv(c)));s=hv(A.body,fv,C,O,wg)}}Te.isString(h)||(h=h?"include":"omit");const v="credentials"in Request.prototype;b=new Request(e,{...f,signal:m,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:s,duplex:"half",credentials:v?h:void 0});let S=await fetch(b);const R=Rg&&(d==="stream"||d==="response");if(Rg&&(a||R)){const A={};["status","statusText","headers"].forEach(B=>{A[B]=S[B]});const I=Te.toFiniteNumber(S.headers.get("content-length")),[C,O]=a&&uv(I,Ud(pv(a),!0))||[];S=new Response(hv(S.body,fv,C,()=>{O&&O(),R&&E()},wg),A)}d=d||"text";let w=await Bd[Te.findKey(Bd,d)||"text"](S,t);return!R&&E(),_&&_(),await new Promise((A,I)=>{mA(A,I,{data:w,headers:Us.from(S.headers),status:S.status,statusText:S.statusText,config:t,request:b})})}catch(v){throw E(),v&&v.name==="TypeError"&&/fetch/i.test(v.message)?Object.assign(new gt("Network Error",gt.ERR_NETWORK,t,b),{cause:v.cause||v}):gt.from(v,v&&v.code,t,b)}}),Ag={http:ZD,xhr:NL,fetch:FL};Te.forEach(Ag,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const mv=t=>`- ${t}`,UL=t=>Te.isFunction(t)||t===null||t===!1,vA={getAdapter:t=>{t=Te.isArray(t)?t:[t];const{length:e}=t;let n,s;const i={};for(let r=0;r`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build"));let o=e?r.length>1?`since : `+r.map(mv).join(` `):" "+mv(r[0]):"as no adapter specified";throw new gt("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return s},adapters:Ag};function wp(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ia(null,t)}function gv(t){return wp(t),t.headers=Us.from(t.headers),t.data=Cp.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),vA.getAdapter(t.adapter||qb.adapter)(t).then(function(s){return wp(t),s.data=Cp.call(t,t.transformResponse,s),s.headers=Us.from(s.headers),s},function(s){return fA(s)||(wp(t),s&&s.response&&(s.response.data=Cp.call(t,t.transformResponse,s.response),s.response.headers=Us.from(s.response.headers))),Promise.reject(s)})}const SA="1.7.5",$b={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{$b[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});const bv={};$b.transitional=function(e,n,s){function i(r,o){return"[Axios v"+SA+"] Transitional option '"+r+"'"+o+(s?". "+s:"")}return(r,o,a)=>{if(e===!1)throw new gt(i(o," has been removed"+(n?" in "+n:"")),gt.ERR_DEPRECATED);return n&&!bv[o]&&(bv[o]=!0,console.warn(i(o," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(r,o,a):!0}};function BL(t,e,n){if(typeof t!="object")throw new gt("options must be an object",gt.ERR_BAD_OPTION_VALUE);const s=Object.keys(t);let i=s.length;for(;i-- >0;){const r=s[i],o=e[r];if(o){const a=t[r],c=a===void 0||o(a,r,t);if(c!==!0)throw new gt("option "+r+" must be "+c,gt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new gt("Unknown option "+r,gt.ERR_BAD_OPTION)}}const Ng={assertOptions:BL,validators:$b},zi=Ng.validators;class Gd{constructor(e){this.defaults=e,this.interceptors={request:new cv,response:new cv}}async request(e,n){try{return await this._request(e,n)}catch(s){if(s instanceof Error){let i;Error.captureStackTrace?Error.captureStackTrace(i={}):i=new Error;const r=i.stack?i.stack.replace(/^.+\n/,""):"";try{s.stack?r&&!String(s.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(s.stack+=` -`+r):s.stack=r}catch{}}throw s}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Jr(this.defaults,n);const{transitional:s,paramsSerializer:i,headers:r}=n;s!==void 0&&Ng.assertOptions(s,{silentJSONParsing:zi.transitional(zi.boolean),forcedJSONParsing:zi.transitional(zi.boolean),clarifyTimeoutError:zi.transitional(zi.boolean)},!1),i!=null&&(Te.isFunction(i)?n.paramsSerializer={serialize:i}:Ng.assertOptions(i,{encode:zi.function,serialize:zi.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=r&&Te.merge(r.common,r[n.method]);r&&Te.forEach(["delete","get","head","post","put","patch","common"],_=>{delete r[_]}),n.headers=Us.concat(o,r);const a=[];let c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(c=c&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});const d=[];this.interceptors.response.forEach(function(g){d.push(g.fulfilled,g.rejected)});let u,h=0,f;if(!c){const _=[gv.bind(this),void 0];for(_.unshift.apply(_,a),_.push.apply(_,d),f=_.length,u=Promise.resolve(n);h{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](i);s._listeners=null}),this.promise.then=i=>{let r;const o=new Promise(a=>{s.subscribe(a),r=a}).then(i);return o.cancel=function(){s.unsubscribe(r)},o},e(function(r,o,a){s.reason||(s.reason=new Ia(r,o,a),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}static source(){let e;return{token:new Yb(function(i){e=i}),cancel:e}}}const GL=Yb;function VL(t){return function(n){return t.apply(null,n)}}function zL(t){return Te.isObject(t)&&t.isAxiosError===!0}const Og={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Og).forEach(([t,e])=>{Og[e]=t});const HL=Og;function TA(t){const e=new bd(t),n=eA(bd.prototype.request,e);return Te.extend(n,bd.prototype,e,{allOwnKeys:!0}),Te.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return TA(Jr(t,i))},n}const ln=TA(qb);ln.Axios=bd;ln.CanceledError=Ia;ln.CancelToken=GL;ln.isCancel=fA;ln.VERSION=SA;ln.toFormData=Mu;ln.AxiosError=gt;ln.Cancel=ln.CanceledError;ln.all=function(e){return Promise.all(e)};ln.spread=VL;ln.isAxiosError=zL;ln.mergeConfig=Jr;ln.AxiosHeaders=Us;ln.formToJSON=t=>hA(Te.isHTMLForm(t)?new FormData(t):t);ln.getAdapter=vA.getAdapter;ln.HttpStatusCode=HL;ln.default=ln;const ae=ln;/*! +`+r):s.stack=r}catch{}}throw s}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Jr(this.defaults,n);const{transitional:s,paramsSerializer:i,headers:r}=n;s!==void 0&&Ng.assertOptions(s,{silentJSONParsing:zi.transitional(zi.boolean),forcedJSONParsing:zi.transitional(zi.boolean),clarifyTimeoutError:zi.transitional(zi.boolean)},!1),i!=null&&(Te.isFunction(i)?n.paramsSerializer={serialize:i}:Ng.assertOptions(i,{encode:zi.function,serialize:zi.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=r&&Te.merge(r.common,r[n.method]);r&&Te.forEach(["delete","get","head","post","put","patch","common"],_=>{delete r[_]}),n.headers=Us.concat(o,r);const a=[];let c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(c=c&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});const d=[];this.interceptors.response.forEach(function(g){d.push(g.fulfilled,g.rejected)});let u,h=0,f;if(!c){const _=[gv.bind(this),void 0];for(_.unshift.apply(_,a),_.push.apply(_,d),f=_.length,u=Promise.resolve(n);h{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](i);s._listeners=null}),this.promise.then=i=>{let r;const o=new Promise(a=>{s.subscribe(a),r=a}).then(i);return o.cancel=function(){s.unsubscribe(r)},o},e(function(r,o,a){s.reason||(s.reason=new Ia(r,o,a),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}static source(){let e;return{token:new Yb(function(i){e=i}),cancel:e}}}const GL=Yb;function VL(t){return function(n){return t.apply(null,n)}}function zL(t){return Te.isObject(t)&&t.isAxiosError===!0}const Og={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Og).forEach(([t,e])=>{Og[e]=t});const HL=Og;function TA(t){const e=new bd(t),n=eA(bd.prototype.request,e);return Te.extend(n,bd.prototype,e,{allOwnKeys:!0}),Te.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return TA(Jr(t,i))},n}const ln=TA(qb);ln.Axios=bd;ln.CanceledError=Ia;ln.CancelToken=GL;ln.isCancel=fA;ln.VERSION=SA;ln.toFormData=Mu;ln.AxiosError=gt;ln.Cancel=ln.CanceledError;ln.all=function(e){return Promise.all(e)};ln.spread=VL;ln.isAxiosError=zL;ln.mergeConfig=Jr;ln.AxiosHeaders=Us;ln.formToJSON=t=>hA(Te.isHTMLForm(t)?new FormData(t):t);ln.getAdapter=vA.getAdapter;ln.HttpStatusCode=HL;ln.default=ln;const oe=ln;/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT @@ -52,7 +52,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),me=F,le=W),ne===void 0 `),l("div",{ref:"execution_output",class:"w-full h-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",innerHTML:i.executionOutput},null,8,tKe),Je(` `)]),Je(` `)])):G("",!0)])}const sKe=ot(IWe,[["render",nKe]]);var E2={exports:{}};(function(t,e){(function(n,s){t.exports=s()})(LA,function(){function n(a,c){var d=a.pos;if(a.src.charCodeAt(d)!==92)return!1;var u=a.src.slice(++d).match(/^(?:\\\[|\\\(|begin\{([^}]*)\})/);if(!u)return!1;d+=u[0].length;var h,f,m;u[0]==="\\["?(h="display_math",f="\\\\]"):u[0]==="\\("?(h="inline_math",f="\\\\)"):u[1]&&(h="math",f="\\end{"+u[1]+"}",m=!0);var _=a.src.indexOf(f,d);if(_===-1)return!1;var g=_+f.length;if(!c){var b=a.push(h,"",0);b.content=m?a.src.slice(a.pos,g):a.src.slice(d,_)}return a.pos=g,!0}function s(a,c){var d=a.pos;if(a.src.charCodeAt(d)!==36)return!1;var u="$",h=a.src.charCodeAt(++d);if(h===36){if(u="$$",a.src.charCodeAt(++d)===36)return!1}else if(h===32||h===9||h===10)return!1;var f=a.src.indexOf(u,d);if(f===-1||a.src.charCodeAt(f-1)===92)return!1;var m=f+u.length;if(u.length===1){var _=a.src.charCodeAt(f-1);if(_===32||_===9||_===10)return!1;var g=a.src.charCodeAt(m);if(g>=48&&g<58)return!1}if(!c){var b=a.push(u.length===1?"inline_math":"display_math","",0);b.content=a.src.slice(d,f)}return a.pos=m,!0}function i(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const aKe={name:"MarkdownRenderer",props:{host:{type:String,required:!1,default:"http://localhost:9600"},client_id:{type:String,required:!0},markdownText:{type:String,required:!0},discussion_id:{type:[String,Number],default:"0",required:!1},message_id:{value:"0",type:[String,Number],required:!1}},components:{CodeBlock:sKe},setup(t){const e=new Lbe({html:!0,highlight:(r,o)=>{const a=o&&to.getLanguage(o)?o:"plaintext";return to.highlight(a,r).value},renderInline:!0,breaks:!0}).use(BHe).use(Fo).use(YHe,{figcaption:!0}).use(r7e).use(qHe,{enableRowspan:!0,enableColspan:!0,enableGridTables:!0,enableGridTablesExtra:!0,enableTableIndentation:!0,tableCellPadding:" ",tableCellJoiner:"|",multilineCellStartMarker:"|>",multilineCellEndMarker:"<|",multilineCellPadding:" ",multilineCellJoiner:` -`}).use(rKe({inlineMath:[["$","$"],["\\(","\\)"]],blockMath:[["$$","$$"],["\\[","\\]"]]})),n=ct([]),s=()=>{if(t.markdownText){let r=e.parse(t.markdownText,{}),o=[];n.value=[];for(let a=0;a0&&(n.value.push({type:"html",html:e.renderer.render(o,e.options,{})}),o=[]),n.value.push({type:"code",language:oKe(r[a].info),code:r[a].content}));o.length>0&&(n.value.push({type:"html",html:e.renderer.render(o,e.options,{})}),o=[])}else n.value=[];Le(()=>{ze.replace()})},i=(r,o)=>{n.value[r].code=o};return In(()=>t.markdownText,s),ci(()=>{s(),Le(()=>{window.MathJax&&window.MathJax.typesetPromise()})}),{markdownItems:n,updateCode:i}}},lKe={class:"break-all container w-full"},cKe={ref:"mdRender",class:"markdown-content"},dKe=["innerHTML"];function uKe(t,e,n,s,i,r){const o=tt("code-block");return T(),x("div",lKe,[l("div",cKe,[(T(!0),x(Fe,null,Ke(s.markdownItems,(a,c)=>(T(),x("div",{key:c},[a.type==="code"?(T(),dt(o,{key:0,host:n.host,language:a.language,code:a.code,discussion_id:n.discussion_id,message_id:n.message_id,client_id:n.client_id,onUpdateCode:d=>s.updateCode(c,d)},null,8,["host","language","code","discussion_id","message_id","client_id","onUpdateCode"])):(T(),x("div",{key:1,innerHTML:a.html},null,8,dKe))]))),128))],512)])}const Yu=ot(aKe,[["render",uKe]]),pKe={data(){return{show:!1,has_button:!0,message:""}},components:{MarkdownRenderer:Yu},methods:{hide(){this.show=!1,this.$emit("ok")},showMessage(t){this.message=t,this.has_button=!0,this.show=!0},showBlockingMessage(t){this.message=t,this.has_button=!1,this.show=!0},updateMessage(t){this.message=t,this.show=!0},hideMessage(){this.show=!1}}},_Ke={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-50"},hKe={class:"pl-10 pr-10 bg-bg-light dark:bg-bg-dark p-8 rounded-lg shadow-lg"},fKe={class:"container max-h-500 overflow-y-auto"},mKe={class:"text-lg font-medium"},gKe={class:"mt-4 flex justify-center"},bKe={key:1,"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},EKe=l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"},null,-1),yKe=l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"},null,-1),vKe=[EKe,yKe];function SKe(t,e,n,s,i,r){const o=tt("MarkdownRenderer");return i.show?(T(),x("div",_Ke,[l("div",hKe,[l("div",fKe,[l("div",mKe,[V(o,{ref:"mdRender",host:"","markdown-text":i.message,message_id:0,discussion_id:0},null,8,["markdown-text"])])]),l("div",gKe,[i.has_button?(T(),x("button",{key:0,onClick:e[0]||(e[0]=(...a)=>r.hide&&r.hide(...a)),class:"bg-primary hover:bg-primary-light active:scale-95 duration-150 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-secondary-dark"}," OK ")):G("",!0),i.has_button?G("",!0):(T(),x("svg",bKe,vKe))])])])):G("",!0)}const y2=ot(pKe,[["render",SKe]]);const TKe={props:{progress:{type:Number,required:!0}}},xKe={class:"progress-bar-container"};function CKe(t,e,n,s,i,r){return T(),x("div",xKe,[l("div",{class:"progress-bar",style:Ht({width:`${n.progress}%`})},null,4)])}const Wu=ot(TKe,[["render",CKe]]),wKe={setup(){return{}},name:"UniversalForm",data(){return{show:!1,resolve:null,controls_array:[],title:"Universal form",ConfirmButtonText:"Submit",DenyButtonText:"Cancel"}},mounted(){Le(()=>{ze.replace()})},methods:{btn_clicked(t){console.log(t)},hide(t){this.show=!1,this.resolve&&t&&(this.resolve(this.controls_array),this.resolve=null)},showForm(t,e,n,s){this.ConfirmButtonText=n||this.ConfirmButtonText,this.DenyButtonText=s||this.DenyButtonText;for(let i=0;i{this.controls_array=t,this.show=!0,this.title=e||this.title,this.resolve=i,console.log("show form",this.controls_array)})}},watch:{controls_array:{deep:!0,handler(t){t.forEach(e=>{e.type==="int"?e.value=parseInt(e.value):e.type==="float"&&(e.value=parseFloat(e.value))})}},show(){Le(()=>{ze.replace()})}}},RKe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 p-4"},AKe={class:"relative w-full max-w-md"},NKe={class:"flex flex-col rounded-lg bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel duration-150 shadow-lg max-h-screen"},OKe={class:"flex flex-row flex-grow items-center m-2 p-1"},MKe={class:"grow flex items-center"},IKe=l("i",{"data-feather":"sliders",class:"mr-2 flex-shrink-0"},null,-1),kKe={class:"text-lg font-semibold select-none mr-2"},DKe={class:"items-end"},LKe=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),PKe=l("span",{class:"sr-only"},"Close form modal",-1),FKe=[LKe,PKe],UKe={class:"flex flex-col relative no-scrollbar overflow-y-scroll p-2"},BKe={class:"px-2"},GKe={key:0},VKe={key:0},zKe={class:"text-base font-semibold"},HKe={key:0,class:"relative inline-flex"},qKe=["onUpdate:modelValue"],$Ke=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),YKe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},WKe=["onUpdate:modelValue"],KKe={key:1},jKe={class:"text-base font-semibold"},QKe={key:0,class:"relative inline-flex"},XKe=["onUpdate:modelValue"],ZKe=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),JKe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},eje=["onUpdate:modelValue"],tje=["value","selected"],nje={key:1},sje={class:"",onclick:"btn_clicked(item)"},ije={key:2},rje={key:0},oje={class:"text-base font-semibold"},aje={key:0,class:"relative inline-flex"},lje=["onUpdate:modelValue"],cje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),dje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},uje=["onUpdate:modelValue"],pje={key:1},_je={class:"text-base font-semibold"},hje={key:0,class:"relative inline-flex"},fje=["onUpdate:modelValue"],mje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),gje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},bje=["onUpdate:modelValue"],Eje=["value","selected"],yje={key:3},vje={class:"text-base font-semibold"},Sje={key:0,class:"relative inline-flex"},Tje=["onUpdate:modelValue"],xje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Cje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},wje=["onUpdate:modelValue"],Rje=["onUpdate:modelValue","min","max"],Aje={key:4},Nje={class:"text-base font-semibold"},Oje={key:0,class:"relative inline-flex"},Mje=["onUpdate:modelValue"],Ije=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),kje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Dje=["onUpdate:modelValue"],Lje=["onUpdate:modelValue","min","max"],Pje={key:5},Fje={class:"mb-2 relative flex items-center gap-2"},Uje={for:"default-checkbox",class:"text-base font-semibold"},Bje=["onUpdate:modelValue"],Gje={key:0,class:"relative inline-flex"},Vje=["onUpdate:modelValue"],zje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Hje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},qje={key:6},$je={class:"text-base font-semibold"},Yje={key:0,class:"relative inline-flex"},Wje=["onUpdate:modelValue"],Kje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),jje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Qje=["onUpdate:modelValue"],Xje=l("hr",{class:"h-px my-4 bg-gray-200 border-0 dark:bg-gray-700"},null,-1),Zje={class:"flex flex-row flex-grow gap-3"},Jje={class:"p-2 text-center grow"};function eQe(t,e,n,s,i,r){return i.show?(T(),x("div",RKe,[l("div",AKe,[l("div",NKe,[l("div",OKe,[l("div",MKe,[IKe,l("h3",kKe,K(i.title),1)]),l("div",DKe,[l("button",{type:"button",onClick:e[0]||(e[0]=j(o=>r.hide(!1),["stop"])),title:"Close",class:"bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},FKe)])]),l("div",UKe,[(T(!0),x(Fe,null,Ke(i.controls_array,(o,a)=>(T(),x("div",BKe,[o.type=="str"||o.type=="string"?(T(),x("div",GKe,[o.options?G("",!0):(T(),x("div",VKe,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",zKe,K(o.name)+": ",1),o.help?(T(),x("label",HKe,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,qKe),[[$e,o.isHelp]]),$Ke])):G("",!0)],2),o.isHelp?(T(),x("p",YKe,K(o.help),1)):G("",!0),P(l("input",{type:"text","onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,WKe),[[pe,o.value]])])),o.options?(T(),x("div",KKe,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",jKe,K(o.name)+": ",1),o.help?(T(),x("label",QKe,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,XKe),[[$e,o.isHelp]]),ZKe])):G("",!0)],2),o.isHelp?(T(),x("p",JKe,K(o.help),1)):G("",!0),P(l("select",{"onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(T(!0),x(Fe,null,Ke(o.options,c=>(T(),x("option",{value:c,selected:o.value===c},K(c),9,tje))),256))],8,eje),[[Dt,o.value]])])):G("",!0)])):G("",!0),o.type=="btn"?(T(),x("div",nje,[l("button",sje,K(o.name),1)])):G("",!0),o.type=="text"?(T(),x("div",ije,[o.options?G("",!0):(T(),x("div",rje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",oje,K(o.name)+": ",1),o.help?(T(),x("label",aje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,lje),[[$e,o.isHelp]]),cje])):G("",!0)],2),o.isHelp?(T(),x("p",dje,K(o.help),1)):G("",!0),P(l("textarea",{"onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,uje),[[pe,o.value]])])),o.options?(T(),x("div",pje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",_je,K(o.name)+": ",1),o.help?(T(),x("label",hje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,fje),[[$e,o.isHelp]]),mje])):G("",!0)],2),o.isHelp?(T(),x("p",gje,K(o.help),1)):G("",!0),P(l("select",{"onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(T(!0),x(Fe,null,Ke(o.options,c=>(T(),x("option",{value:c,selected:o.value===c},K(c),9,Eje))),256))],8,bje),[[Dt,o.value]])])):G("",!0)])):G("",!0),o.type=="int"?(T(),x("div",yje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",vje,K(o.name)+": ",1),o.help?(T(),x("label",Sje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Tje),[[$e,o.isHelp]]),xje])):G("",!0)],2),o.isHelp?(T(),x("p",Cje,K(o.help),1)):G("",!0),P(l("input",{type:"number","onUpdate:modelValue":c=>o.value=c,step:"1",class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,wje),[[pe,o.value]]),o.min!=null&&o.max!=null?P((T(),x("input",{key:1,type:"range","onUpdate:modelValue":c=>o.value=c,min:o.min,max:o.max,step:"1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,Rje)),[[pe,o.value]]):G("",!0)])):G("",!0),o.type=="float"?(T(),x("div",Aje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",Nje,K(o.name)+": ",1),o.help?(T(),x("label",Oje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Mje),[[$e,o.isHelp]]),Ije])):G("",!0)],2),o.isHelp?(T(),x("p",kje,K(o.help),1)):G("",!0),P(l("input",{type:"number","onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,Dje),[[pe,o.value]]),o.min!=null&&o.max!=null?P((T(),x("input",{key:1,type:"range","onUpdate:modelValue":c=>o.value=c,min:o.min,max:o.max,step:"0.1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,Lje)),[[pe,o.value]]):G("",!0)])):G("",!0),o.type=="bool"?(T(),x("div",Pje,[l("div",Fje,[l("label",Uje,K(o.name)+": ",1),P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.value=c,class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"},null,8,Bje),[[$e,o.value]]),o.help?(T(),x("label",Gje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Vje),[[$e,o.isHelp]]),zje])):G("",!0)]),o.isHelp?(T(),x("p",Hje,K(o.help),1)):G("",!0)])):G("",!0),o.type=="list"?(T(),x("div",qje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",$je,K(o.name)+": ",1),o.help?(T(),x("label",Yje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Wje),[[$e,o.isHelp]]),Kje])):G("",!0)],2),o.isHelp?(T(),x("p",jje,K(o.help),1)):G("",!0),P(l("input",{type:"text","onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter comma separated values"},null,8,Qje),[[pe,o.value]])])):G("",!0),Xje]))),256)),l("div",Zje,[l("div",Jje,[l("button",{onClick:e[1]||(e[1]=j(o=>r.hide(!0),["stop"])),type:"button",class:"mr-2 text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},K(i.ConfirmButtonText),1),l("button",{onClick:e[2]||(e[2]=j(o=>r.hide(!1),["stop"])),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-11 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},K(i.DenyButtonText),1)])])])])])])):G("",!0)}const nc=ot(wKe,[["render",eQe]]),tQe={data(){return{show:!1,message:"",resolve:null,ConfirmButtonText:"Yes, I'm sure",DenyButtonText:"No, cancel"}},methods:{hide(t){this.show=!1,this.resolve&&(this.resolve(t),this.resolve=null)},askQuestion(t,e,n){return this.ConfirmButtonText=e||this.ConfirmButtonText,this.DenyButtonText=n||this.DenyButtonText,new Promise(s=>{this.message=t,this.show=!0,this.resolve=s})}}},nQe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},sQe={class:"relative w-full max-w-md max-h-full"},iQe={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},rQe=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),oQe=l("span",{class:"sr-only"},"Close modal",-1),aQe=[rQe,oQe],lQe={class:"p-4 text-center"},cQe=l("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),dQe={class:"mb-5 text-lg font-normal text-gray-500 dark:text-gray-400 select-none break-all"};function uQe(t,e,n,s,i,r){return i.show?(T(),x("div",nQe,[l("div",sQe,[l("div",iQe,[l("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},aQe),l("div",lQe,[cQe,l("h3",dQe,K(i.message),1),l("button",{onClick:e[1]||(e[1]=o=>r.hide(!0)),type:"button",class:"text-white bg-red-600 hover:bg-red-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"},K(i.ConfirmButtonText),1),l("button",{onClick:e[2]||(e[2]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},K(i.DenyButtonText),1)])])])])):G("",!0)}const v2=ot(tQe,[["render",uQe]]),pQe={props:{personality:{type:Object,required:!0},config:{type:Object,required:!0}},data(){return{show:!1,title:"Add AI Agent",iconUrl:"",file:null,tempConfig:{}}},methods:{showForm(){this.showDialog=!0},hideForm(){this.showDialog=!1},selectIcon(t){t.target.files&&(this.file=t.target.files[0],this.iconUrl=URL.createObjectURL(this.file))},showPanel(){this.show=!0},hide(){this.show=!1},submitForm(){ae.post("/set_personality_config",{client_id:this.$store.state.client_id,category:this.personality.category,name:this.personality.folder,config:this.config}).then(t=>{const e=t.data;console.log("Done"),e.status?(this.currentPersonConfig=e.config,this.showPersonalityEditor=!0):console.error(e.error)}).catch(t=>{console.error(t)})}}},_Qe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},hQe={class:"relative w-full max-h-full bg-bg-light dark:bg-bg-dark"},fQe={class:"w-full h-full relative items-center gap-2 rounded-lg border bg-bg-light dark:bg-bg-dark p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-900"},mQe=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),gQe=l("span",{class:"sr-only"},"Close modal",-1),bQe=[mQe,gQe],EQe={class:"justify-center text-center items-center w-full bg-bg-light dark:bg-bg-dark"},yQe={class:"w-full flex flex-row mt-4 text-center justify-center"},vQe={class:"w-full max-h-full container bg-bg-light dark:bg-bg-dark"},SQe={class:"mb-4 w-full"},TQe={class:"w-full bg-bg-light dark:bg-bg-dark"},xQe=l("td",null,[l("label",{for:"personalityConditioning"},"Personality Conditioning:")],-1),CQe=l("td",null,[l("label",{for:"userMessagePrefix"},"User Message Prefix:")],-1),wQe=l("td",null,[l("label",{for:"aiMessagePrefix"},"AI Message Prefix:")],-1),RQe=l("td",null,[l("label",{for:"linkText"},"Link Text:")],-1),AQe=l("td",null,[l("label",{for:"welcomeMessage"},"Welcome Message:")],-1),NQe=l("td",null,[l("label",{for:"modelTemperature"},"Model Temperature:")],-1),OQe=l("td",null,[l("label",{for:"modelTopK"},"Model Top K:")],-1),MQe=l("td",null,[l("label",{for:"modelTopP"},"Model Top P:")],-1),IQe=l("td",null,[l("label",{for:"modelRepeatPenalty"},"Model Repeat Penalty:")],-1),kQe=l("td",null,[l("label",{for:"modelRepeatLastN"},"Model Repeat Last N:")],-1),DQe=l("td",null,[l("label",{for:"recommendedBinding"},"Recommended Binding:")],-1),LQe=l("td",null,[l("label",{for:"recommendedModel"},"Recommended Model:")],-1),PQe=l("td",null,[l("label",{class:"dark:bg-black dark:text-primary w-full",for:"dependencies"},"Dependencies:")],-1),FQe=l("td",null,[l("label",{for:"antiPrompts"},"Anti Prompts:")],-1);function UQe(t,e,n,s,i,r){return i.show?(T(),x("div",_Qe,[l("div",hQe,[l("div",fQe,[l("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide()),class:"absolute top-1 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},bQe),l("div",EQe,[l("div",yQe,[l("button",{type:"submit",onClick:e[1]||(e[1]=j((...o)=>r.submitForm&&r.submitForm(...o),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Commit AI to Server "),l("button",{onClick:e[2]||(e[2]=j(o=>r.hide(),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Close ")]),l("div",vQe,[l("form",SQe,[l("table",TQe,[l("tr",null,[xQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"personalityConditioning","onUpdate:modelValue":e[3]||(e[3]=o=>n.config.personality_conditioning=o)},null,512),[[pe,n.config.personality_conditioning]])])]),l("tr",null,[CQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"userMessagePrefix","onUpdate:modelValue":e[4]||(e[4]=o=>n.config.user_message_prefix=o)},null,512),[[pe,n.config.user_message_prefix]])])]),l("tr",null,[wQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"aiMessagePrefix","onUpdate:modelValue":e[5]||(e[5]=o=>n.config.ai_message_prefix=o)},null,512),[[pe,n.config.ai_message_prefix]])])]),l("tr",null,[RQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"linkText","onUpdate:modelValue":e[6]||(e[6]=o=>n.config.link_text=o)},null,512),[[pe,n.config.link_text]])])]),l("tr",null,[AQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"welcomeMessage","onUpdate:modelValue":e[7]||(e[7]=o=>n.config.welcome_message=o)},null,512),[[pe,n.config.welcome_message]])])]),l("tr",null,[NQe,l("td",null,[P(l("input",{type:"number",id:"modelTemperature","onUpdate:modelValue":e[8]||(e[8]=o=>n.config.model_temperature=o)},null,512),[[pe,n.config.model_temperature]])])]),l("tr",null,[OQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopK","onUpdate:modelValue":e[9]||(e[9]=o=>n.config.model_top_k=o)},null,512),[[pe,n.config.model_top_k]])])]),l("tr",null,[MQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopP","onUpdate:modelValue":e[10]||(e[10]=o=>n.config.model_top_p=o)},null,512),[[pe,n.config.model_top_p]])])]),l("tr",null,[IQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatPenalty","onUpdate:modelValue":e[11]||(e[11]=o=>n.config.model_repeat_penalty=o)},null,512),[[pe,n.config.model_repeat_penalty]])])]),l("tr",null,[kQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatLastN","onUpdate:modelValue":e[12]||(e[12]=o=>n.config.model_repeat_last_n=o)},null,512),[[pe,n.config.model_repeat_last_n]])])]),l("tr",null,[DQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedBinding","onUpdate:modelValue":e[13]||(e[13]=o=>n.config.recommended_binding=o)},null,512),[[pe,n.config.recommended_binding]])])]),l("tr",null,[LQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedModel","onUpdate:modelValue":e[14]||(e[14]=o=>n.config.recommended_model=o)},null,512),[[pe,n.config.recommended_model]])])]),l("tr",null,[PQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"dependencies","onUpdate:modelValue":e[15]||(e[15]=o=>n.config.dependencies=o)},null,512),[[pe,n.config.dependencies]])])]),l("tr",null,[FQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"antiPrompts","onUpdate:modelValue":e[16]||(e[16]=o=>n.config.anti_prompts=o)},null,512),[[pe,n.config.anti_prompts]])])])])])])])])])])):G("",!0)}const S2=ot(pQe,[["render",UQe]]);const BQe={data(){return{showPopup:!1,webpageUrl:"https://lollms.com/"}},methods:{show(){this.showPopup=!0},hide(){this.showPopup=!1},save_configuration(){ae.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1)})}}},GQe=t=>(vs("data-v-d504dfc9"),t=t(),Ss(),t),VQe={key:0,class:"fixed inset-0 flex items-center justify-center z-50"},zQe={class:"popup-container"},HQe=["src"],qQe={class:"checkbox-container"},$Qe=GQe(()=>l("label",{for:"startup",class:"checkbox-label"},"Show at startup",-1));function YQe(t,e,n,s,i,r){return T(),dt(Fs,{name:"fade"},{default:Ie(()=>[i.showPopup?(T(),x("div",VQe,[l("div",zQe,[l("button",{onClick:e[0]||(e[0]=(...o)=>r.hide&&r.hide(...o)),class:"close-button"}," X "),l("iframe",{src:i.webpageUrl,class:"iframe-content"},null,8,HQe),l("div",qQe,[P(l("input",{type:"checkbox",id:"startup",class:"styled-checkbox","onUpdate:modelValue":e[1]||(e[1]=o=>this.$store.state.config.show_news_panel=o),onChange:e[2]||(e[2]=(...o)=>r.save_configuration&&r.save_configuration(...o))},null,544),[[$e,this.$store.state.config.show_news_panel]]),$Qe])])])):G("",!0)]),_:1})}const T2=ot(BQe,[["render",YQe],["__scopeId","data-v-d504dfc9"]]),WQe={props:{href:{type:String,default:"#"},icon:{type:String,required:!0},title:{type:String,default:""}},methods:{onClick(t){this.href==="#"&&(t.preventDefault(),this.$emit("click"))}}},KQe=["href","title"],jQe=["data-feather"];function QQe(t,e,n,s,i,r){return T(),x("a",{href:n.href,onClick:e[0]||(e[0]=(...o)=>r.onClick&&r.onClick(...o)),class:"text-2xl hover:text-primary transition duration-150 ease-in-out",title:n.title},[l("i",{"data-feather":n.icon},null,8,jQe)],8,KQe)}const Ed=ot(WQe,[["render",QQe]]),XQe={props:{href:{type:String,required:!0},icon:{type:String,required:!0},title:{type:String,default:"Visit our social media"}}},ZQe=["href","title"],JQe=["data-feather"],eXe={key:1,class:"w-6 h-6 fill-current",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},tXe=l("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"},null,-1),nXe=[tXe],sXe={key:2,class:"w-6 h-6 fill-current",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},iXe=l("path",{d:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},null,-1),rXe=[iXe];function oXe(t,e,n,s,i,r){return T(),x("a",{href:n.href,target:"_blank",class:"text-2xl hover:text-primary transition duration-150 ease-in-out",title:n.title},[n.icon!=="x"&&n.icon!=="discord"?(T(),x("i",{key:0,"data-feather":n.icon},null,8,JQe)):n.icon==="x"?(T(),x("svg",eXe,nXe)):n.icon==="discord"?(T(),x("svg",sXe,rXe)):G("",!0)],8,ZQe)}const dl=ot(XQe,[["render",oXe]]),aXe="/assets/fastapi-4a6542d0.png",lXe="/assets/discord-6817c341.svg",cXe={key:0,class:"navbar-container z-60"},dXe={class:"game-menu"},uXe={key:0,class:"strawberry-emoji"},pXe={name:"Navigation",computed:{filteredNavLinks(){return filteredNavLinks.value}}},x2=Object.assign(pXe,{setup(t){const e=$P(),n=ct(0),s=ct([]),i=[{active:!0,route:"discussions",text:"Discussions"},{active:!0,route:"playground",text:"Playground"},{active:!0,route:"PersonalitiesZoo",text:"Personalities Zoo"},{active:!0,route:"AppsZoo",text:"Apps Zoo"},{active:!1,route:"AutoSD",text:"Auto111-SD",condition:()=>Ms.state.config.enable_sd_service||Ms.state.config.active_tti_service==="autosd"},{active:!1,route:"ComfyUI",text:"ComfyUI",condition:()=>Ms.state.config.enable_comfyui_service||Ms.state.config.active_tti_service==="comfyui"},{active:!1,route:"interactive",text:"Interactive",condition:()=>Ms.state.config.active_tts_service!=="None"&&Ms.state.config.active_stt_service!=="None"},{active:!0,route:"settings",text:"Settings"},{active:!0,route:"help_view",text:"Help"}],r=et(()=>Ms.state.ready?i.filter(d=>d.condition?d.condition():d.active):i.filter(d=>d.active));ci(()=>{o()}),In(()=>e.name,o);function o(){const d=r.value.findIndex(u=>u.route===e.name);d!==-1&&(n.value=d)}function a(d){return e.name===d}function c(d){n.value=d}return(d,u)=>d.$store.state.ready?(T(),x("div",cXe,[l("nav",dXe,[(T(!0),x(Fe,null,Ke(r.value,(h,f)=>(T(),dt(Lt(Qb),{key:f,to:{name:h.route},class:Ge(["menu-item",{"active-link":a(h.route)}]),onClick:m=>c(f),ref_for:!0,ref_key:"menuItems",ref:s},{default:Ie(()=>[Je(K(h.text)+" ",1),a(h.route)?(T(),x("span",uXe,"🍓")):G("",!0)]),_:2},1032,["to","class","onClick"]))),128))])])):G("",!0)}}),_Xe="/assets/static_info-b284ded1.svg",hXe="/assets/animated_info-7edcb0f9.svg",Bs="/assets/logo-fa585cf4.png",fXe="/assets/fun_mode-14669a57.svg",mXe="/assets/normal_mode-f539f08d.svg";const gXe={class:"top-0 shadow-lg navbar-container"},bXe={class:"container flex flex-col lg:flex-row items-center gap-2 pb-0"},EXe={class:"logo-container"},yXe=["src"],vXe=l("div",{class:"flex flex-col justify-center"},[l("div",{class:"text-2xl md:text-2xl font-bold text-red-600 mb-2",style:{"text-shadow":"2px 2px 0px white, -2px -2px 0px white, 2px -2px 0px white, -2px 2px 0px white"}}," L🍓LLMS "),l("p",{class:"text-gray-400 text-sm"},"One tool to rule them all")],-1),SXe={class:"flex gap-3 flex-1 items-center justify-end"},TXe={key:0,title:"Model is ok",class:"text-green-500 dark:text-green-400 cursor-pointer transition-transform hover:scale-110"},xXe=l("svg",{class:"w-8 h-8",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M9 12L11 14L15 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),CXe=[xXe],wXe={key:1,title:"Model is not ok",class:"text-red-500 dark:text-red-400 cursor-pointer transition-transform hover:scale-110"},RXe=l("svg",{class:"w-8 h-8",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M15 9L9 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M9 9L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),AXe=[RXe],NXe={key:2,title:"Text is not being generated. Ready to generate",class:"text-green-500 dark:text-green-400 cursor-pointer transition-transform hover:scale-110"},OXe=l("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9"})],-1),MXe=[OXe],IXe={key:3,title:"Generation in progress...",class:"text-yellow-500 dark:text-yellow-400 cursor-pointer transition-transform hover:scale-110"},kXe=l("svg",{class:"w-6 h-6 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),DXe=[kXe],LXe={key:4,title:"Connection status: Connected",class:"text-green-500 dark:text-green-400 cursor-pointer transition-transform hover:scale-110"},PXe=l("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1),FXe=[PXe],UXe={key:5,title:"Connection status: Not connected",class:"text-red-500 dark:text-red-400 cursor-pointer transition-transform hover:scale-110"},BXe=l("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"})],-1),GXe=[BXe],VXe={class:"flex items-center space-x-4"},zXe={class:"flex items-center space-x-4"},HXe={class:"relative group",title:"Lollms News"},qXe=l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"w-full h-full"},[l("path",{d:"M19 20H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1m2 13a2 2 0 0 1-2-2V7m2 13a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"})],-1),$Xe=[qXe],YXe=l("span",{class:"absolute hidden group-hover:block bg-gray-800 text-white text-xs rounded py-1 px-2 top-full left-1/2 transform -translate-x-1/2 mt-2 whitespace-nowrap"}," Lollms News ",-1),WXe={class:"relative group"},KXe=Na('',1),jXe=[KXe],QXe=Na('',1),XXe=[QXe],ZXe={class:"absolute hidden group-hover:block bg-gray-800 text-white text-xs rounded py-1 px-2 top-full left-1/2 transform -translate-x-1/2 mb-2 whitespace-nowrap"},JXe={class:"language-selector relative"},eZe={key:0,ref:"languageMenu",class:"container language-menu absolute left-0 mt-1 bg-white dark:bg-bg-dark-tone rounded shadow-lg z-10 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",style:{position:"absolute",top:"100%",width:"200px","max-height":"300px","overflow-y":"auto"}},tZe={style:{"list-style-type":"none","padding-left":"0","margin-left":"0"}},nZe=["onClick"],sZe=["onClick"],iZe={class:"cursor-pointer hover:text-white py-0 px-0 block whitespace-no-wrap"},rZe=l("i",{"data-feather":"sun"},null,-1),oZe=[rZe],aZe=l("i",{"data-feather":"moon"},null,-1),lZe=[aZe],cZe={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},dZe={class:"text-2xl animate-pulse mt-2 text-white"},uZe={id:"app"},pZe={name:"TopBar",computed:{storeLogo(){return this.$store.state.config?Bs:this.$store.state.config.app_custom_logo!=""?"/user_infos/"+this.$store.state.config.app_custom_logo:Bs},languages:{get(){return console.log("searching languages",this.$store.state.languages),this.$store.state.languages}},language:{get(){return console.log("searching language",this.$store.state.language),this.$store.state.language}},currentPersonConfig(){try{return this.$store.state.currentPersonConfig}catch{console.log("Error finding current personality configuration");return}},selectedPersonality(){try{return this.$store.state.selectedPersonality}catch{console.log("Error finding current personality configuration");return}},loading_infos(){return this.$store.state.loading_infos},is_fun_mode(){try{return this.$store.state.config?this.$store.state.config.fun_mode:!1}catch(t){return console.error("Oopsie! Looks like we hit a snag: ",t),!1}},isModelOK(){return this.$store.state.isModelOk},isGenerating(){return this.$store.state.isGenerating},isConnected(){return this.$store.state.isConnected}},components:{Toast:Zl,MessageBox:y2,ProgressBar:Wu,UniversalForm:nc,YesNoDialog:v2,Navigation:x2,PersonalityEditor:S2,PopupViewer:T2,ActionButton:Ed,SocialIcon:dl},watch:{"$store.state.config.fun_mode":function(t,e){console.log(`Fun mode changed from ${e} to ${t}! 🎉`)},"$store.state.isConnected":function(t,e){this.isConnected?(console.log("this.is_first_connection"),console.log(this.is_first_connection),this.is_first_connection||(this.$store.state.messageBox.hideMessage(),this.$store.state.messageBox.showMessage("Server connected."),this.$store.state.config.activate_audio_infos&&this.connection_recovered_audio.play())):(this.$store.state.messageBox.showBlockingMessage("Server suddenly disconnected. Please reboot the server to recover the connection"),this.is_first_connection=!1,console.log("this.is_first_connection set to false"),console.log(this.is_first_connection),this.$store.state.config.activate_audio_infos&&this.connection_lost_audio.play()),Le(()=>{ze.replace()})}},data(){return{customLanguage:"",selectedLanguage:"",isLanguageMenuVisible:!1,static_info:_Xe,animated_info:hXe,normal_mode:mXe,fun_mode:fXe,is_first_connection:!0,discord:lXe,FastAPI:aXe,rebooting_audio:new Audio("rebooting.wav"),connection_lost_audio:new Audio("connection_lost.wav"),connection_recovered_audio:new Audio("connection_recovered.wav"),database_selectorDialogVisible:!1,progress_visibility:!1,progress_value:0,codeBlockStylesheet:"",sunIcon:document.querySelector(".sun"),moonIcon:document.querySelector(".moon"),userTheme:localStorage.getItem("theme"),systemTheme:window.matchMedia("prefers-color-scheme: dark").matches,posts_headers:{accept:"application/json","Content-Type":"application/json"}}},async mounted(){this.$store.state.toast=this.$refs.toast,this.$store.state.news=this.$refs.news,this.$store.state.messageBox=this.$refs.messageBox,this.$store.state.universalForm=this.$refs.universalForm,this.$store.state.yesNoDialog=this.$refs.yesNoDialog,this.$store.state.personality_editor=this.$refs.personality_editor,this.sunIcon=document.querySelector(".sun"),this.moonIcon=document.querySelector(".moon"),this.userTheme=localStorage.getItem("theme"),this.systemTheme=window.matchMedia("prefers-color-scheme: dark").matches,this.themeCheck(),Le(()=>{ze.replace()}),window.addEventListener("resize",this.adjustMenuPosition)},beforeUnmount(){window.removeEventListener("resize",this.adjustMenuPosition)},created(){this.sunIcon=document.querySelector(".sun"),this.moonIcon=document.querySelector(".moon"),this.userTheme=localStorage.getItem("theme"),this.systemTheme=window.matchMedia("prefers-color-scheme: dark").matches},methods:{adjustMenuPosition(){const t=this.$refs.languageMenu;if(t){const e=t.getBoundingClientRect(),n=window.innerWidth;e.right>n?(t.style.left="auto",t.style.right="0"):(t.style.left="0",t.style.right="auto")}},addCustomLanguage(){this.customLanguage.trim()!==""&&(this.selectLanguage(this.customLanguage),this.customLanguage="")},async selectLanguage(t){await this.$store.dispatch("changeLanguage",t),this.toggleLanguageMenu(),this.language=t},async deleteLanguage(t){await this.$store.dispatch("deleteLanguage",t),this.toggleLanguageMenu(),this.language=t},toggleLanguageMenu(){console.log("Toggling language ",this.isLanguageMenuVisible),this.isLanguageMenuVisible=!this.isLanguageMenuVisible},restartProgram(t){t.preventDefault(),this.$store.state.api_post_req("restart_program",this.$store.state.client_id),this.rebooting_audio.play(),this.$store.state.toast.showToast("Rebooting the app. Please wait...",410,!1),console.log("this.$store.state.api_get_req",this.$store.state.api_get_req),setTimeout(()=>{window.close()},2e3)},refreshPage(){window.location.href.split("/").length>4?window.location.href="/":window.location.reload(!0)},handleOk(t){console.log("Input text:",t)},applyConfiguration(){this.isLoading=!0,console.log(this.$store.state.config),ae.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config},{headers:this.posts_headers}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})})},fun_mode_on(){console.log("Turning on fun mode"),this.$store.state.config.fun_mode=!0,this.applyConfiguration()},fun_mode_off(){console.log("Turning off fun mode"),this.$store.state.config.fun_mode=!1,this.applyConfiguration()},showNews(){this.$store.state.news.show()},themeCheck(){if(this.userTheme=="dark"||!this.userTheme&&this.systemTheme){document.documentElement.classList.add("dark"),this.moonIcon.classList.add("display-none"),Le(()=>{Op(()=>Promise.resolve({}),["assets/stackoverflow-dark-57af98f5.css"])});return}Le(()=>{Op(()=>Promise.resolve({}),["assets/stackoverflow-light-077a2b3c.css"])}),this.sunIcon.classList.add("display-none")},themeSwitch(){if(document.documentElement.classList.contains("dark")){document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light"),this.userTheme=="light",this.iconToggle();return}Op(()=>Promise.resolve({}),["assets/tokyo-night-dark-f9656fc4.css"]),document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark"),this.userTheme=="dark",this.iconToggle(),window.dispatchEvent(new Event("themeChanged"))},iconToggle(){this.sunIcon.classList.toggle("display-none"),this.moonIcon.classList.toggle("display-none")}}},_Ze=Object.assign(pZe,{setup(t){return(e,n)=>(T(),x("header",gXe,[l("nav",bXe,[V(Lt(Qb),{to:{name:"discussions"},class:"flex items-center space-x-2"},{default:Ie(()=>[l("div",EXe,[l("img",{class:"w-12 h-12 rounded-full object-cover logo-image",src:e.$store.state.config==null?Lt(Bs):e.$store.state.config.app_custom_logo!=""?"/user_infos/"+e.$store.state.config.app_custom_logo:Lt(Bs),alt:"Logo",title:"LoLLMS WebUI"},null,8,yXe)]),vXe]),_:1}),l("div",SXe,[e.isModelOK?(T(),x("div",TXe,CXe)):(T(),x("div",wXe,AXe)),e.isGenerating?(T(),x("div",IXe,DXe)):(T(),x("div",NXe,MXe)),e.isConnected?(T(),x("div",LXe,FXe)):(T(),x("div",UXe,GXe))]),l("div",VXe,[V(Ed,{onClick:e.restartProgram,icon:"power",title:"restart program"},null,8,["onClick"]),V(Ed,{onClick:e.refreshPage,icon:"refresh-ccw",title:"refresh page"},null,8,["onClick"]),V(Ed,{href:"/docs",icon:"file-text",title:"Fast API doc"})]),l("div",zXe,[V(dl,{href:"https://github.com/ParisNeo/lollms-webui",icon:"github"}),V(dl,{href:"https://www.youtube.com/channel/UCJzrg0cyQV2Z30SQ1v2FdSQ",icon:"youtube"}),V(dl,{href:"https://x.com/ParisNeo_AI",icon:"x"}),V(dl,{href:"https://discord.com/channels/1092918764925882418",icon:"discord"})]),l("div",HXe,[l("div",{onClick:n[0]||(n[0]=s=>e.showNews()),class:"text-2xl w-8 h-8 cursor-pointer transition-colors duration-300 text-gray-600 hover:text-primary dark:text-gray-300 dark:hover:text-primary"},$Xe),YXe]),l("div",WXe,[e.is_fun_mode?(T(),x("div",{key:0,title:"Fun mode is on, press to turn off",class:"w-8 h-8 cursor-pointer text-green-500 dark:text-green-400 hover:text-green-600 dark:hover:text-green-300 transition-colors duration-300",onClick:n[1]||(n[1]=s=>e.fun_mode_off())},jXe)):(T(),x("div",{key:1,title:"Fun mode is off, press to turn on",class:"w-8 h-8 cursor-pointer text-gray-500 dark:text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors duration-300",onClick:n[2]||(n[2]=s=>e.fun_mode_on())},XXe)),l("span",ZXe,K(e.is_fun_mode?"Turn off fun mode":"Turn on fun mode"),1)]),l("div",JXe,[l("button",{onClick:n[3]||(n[3]=(...s)=>e.toggleLanguageMenu&&e.toggleLanguageMenu(...s)),class:"bg-transparent text-black dark:text-white py-1 px-1 rounded font-bold uppercase transition-colors duration-300 hover:bg-blue-500"},K(e.$store.state.language.slice(0,2)),1),e.isLanguageMenuVisible?(T(),x("div",eZe,[l("ul",tZe,[(T(!0),x(Fe,null,Ke(e.languages,s=>(T(),x("li",{key:s,class:"relative flex items-center",style:{"padding-left":"0","margin-left":"0"}},[l("button",{onClick:i=>e.deleteLanguage(s),class:"mr-2 text-red-500 hover:text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-opacity-50 rounded-full"},"✕",8,nZe),l("div",{onClick:i=>e.selectLanguage(s),class:Ge({"cursor-pointer hover:bg-blue-500 hover:text-white py-2 px-4 block whitespace-no-wrap":!0,"bg-blue-500 text-white":s===e.$store.state.language,"flex-grow":!0})},K(s),11,sZe)]))),128)),l("li",iZe,[P(l("input",{type:"text","onUpdate:modelValue":n[4]||(n[4]=s=>e.customLanguage=s),onKeyup:n[5]||(n[5]=zs(j((...s)=>e.addCustomLanguage&&e.addCustomLanguage(...s),["prevent"]),["enter"])),placeholder:"Enter language...",class:"bg-transparent border border-gray-300 rounded py-0 px-0 mx-0 my-1 w-full"},null,544),[[pe,e.customLanguage]])])])],512)):G("",!0)]),l("div",{class:"sun text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Switch to Light theme",onClick:n[6]||(n[6]=s=>e.themeSwitch())},oZe),l("div",{class:"moon text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Switch to Dark theme",onClick:n[7]||(n[7]=s=>e.themeSwitch())},lZe)]),V(x2),V(Zl,{ref:"toast"},null,512),V(y2,{ref:"messageBox"},null,512),P(l("div",cZe,[V(Wu,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),l("p",dZe,K(e.loading_infos)+" ...",1)],512),[[wt,e.progress_visibility]]),V(nc,{ref:"universalForm",class:"z-20"},null,512),V(v2,{ref:"yesNoDialog",class:"z-20"},null,512),V(S2,{ref:"personality_editor",config:e.currentPersonConfig,personality:e.selectedPersonality},null,8,["config","personality"]),l("div",uZe,[V(T2,{ref:"news"},null,512)])]))}}),hZe={class:"flex overflow-hidden flex-grow w-full"},fZe={__name:"App",setup(t){return(e,n)=>(T(),x("div",{class:Ge([e.currentTheme,"flex flex-col h-screen font-sans background-color text-slate-950 dark:bg-bg-dark dark:text-slate-50 w-full overflow-hidden"])},[V(_Ze),l("div",hZe,[V(Lt(DA),null,{default:Ie(({Component:s})=>[(T(),dt(_I,null,[(T(),dt(Tu(s)))],1024))]),_:1})])],2))}},ai=Object.create(null);ai.open="0";ai.close="1";ai.ping="2";ai.pong="3";ai.message="4";ai.upgrade="5";ai.noop="6";const yd=Object.create(null);Object.keys(ai).forEach(t=>{yd[ai[t]]=t});const Bg={type:"error",data:"parser error"},C2=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",w2=typeof ArrayBuffer=="function",R2=t=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,uE=({type:t,data:e},n,s)=>C2&&e instanceof Blob?n?s(e):r1(e,s):w2&&(e instanceof ArrayBuffer||R2(e))?n?s(e):r1(new Blob([e]),s):s(ai[t]+(e||"")),r1=(t,e)=>{const n=new FileReader;return n.onload=function(){const s=n.result.split(",")[1];e("b"+(s||""))},n.readAsDataURL(t)};function o1(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let Tm;function mZe(t,e){if(C2&&t.data instanceof Blob)return t.data.arrayBuffer().then(o1).then(e);if(w2&&(t.data instanceof ArrayBuffer||R2(t.data)))return e(o1(t.data));uE(t,!1,n=>{Tm||(Tm=new TextEncoder),e(Tm.encode(n))})}const a1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ul=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let t=0;t{let e=t.length*.75,n=t.length,s,i=0,r,o,a,c;t[t.length-1]==="="&&(e--,t[t.length-2]==="="&&e--);const d=new ArrayBuffer(e),u=new Uint8Array(d);for(s=0;s>4,u[i++]=(o&15)<<4|a>>2,u[i++]=(a&3)<<6|c&63;return d},bZe=typeof ArrayBuffer=="function",pE=(t,e)=>{if(typeof t!="string")return{type:"message",data:A2(t,e)};const n=t.charAt(0);return n==="b"?{type:"message",data:EZe(t.substring(1),e)}:yd[n]?t.length>1?{type:yd[n],data:t.substring(1)}:{type:yd[n]}:Bg},EZe=(t,e)=>{if(bZe){const n=gZe(t);return A2(n,e)}else return{base64:!0,data:t}},A2=(t,e)=>{switch(e){case"blob":return t instanceof Blob?t:new Blob([t]);case"arraybuffer":default:return t instanceof ArrayBuffer?t:t.buffer}},N2=String.fromCharCode(30),yZe=(t,e)=>{const n=t.length,s=new Array(n);let i=0;t.forEach((r,o)=>{uE(r,!1,a=>{s[o]=a,++i===n&&e(s.join(N2))})})},vZe=(t,e)=>{const n=t.split(N2),s=[];for(let i=0;i{const s=n.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const r=new DataView(i.buffer);r.setUint8(0,126),r.setUint16(1,s)}else{i=new Uint8Array(9);const r=new DataView(i.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(s))}t.data&&typeof t.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(n)})}})}let xm;function wc(t){return t.reduce((e,n)=>e+n.length,0)}function Rc(t,e){if(t[0].length===e)return t.shift();const n=new Uint8Array(e);let s=0;for(let i=0;iMath.pow(2,53-32)-1){a.enqueue(Bg);break}i=u*Math.pow(2,32)+d.getUint32(4),s=3}else{if(wc(n)t){a.enqueue(Bg);break}}}})}const O2=4;function an(t){if(t)return xZe(t)}function xZe(t){for(var e in an.prototype)t[e]=an.prototype[e];return t}an.prototype.on=an.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this};an.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this};an.prototype.off=an.prototype.removeListener=an.prototype.removeAllListeners=an.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+t];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+t],this;for(var s,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function M2(t,...e){return e.reduce((n,s)=>(t.hasOwnProperty(s)&&(n[s]=t[s]),n),{})}const CZe=ds.setTimeout,wZe=ds.clearTimeout;function Ku(t,e){e.useNativeTimers?(t.setTimeoutFn=CZe.bind(ds),t.clearTimeoutFn=wZe.bind(ds)):(t.setTimeoutFn=ds.setTimeout.bind(ds),t.clearTimeoutFn=ds.clearTimeout.bind(ds))}const RZe=1.33;function AZe(t){return typeof t=="string"?NZe(t):Math.ceil((t.byteLength||t.size)*RZe)}function NZe(t){let e=0,n=0;for(let s=0,i=t.length;s=57344?n+=3:(s++,n+=4);return n}function OZe(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function MZe(t){let e={},n=t.split("&");for(let s=0,i=n.length;s0);return e}function k2(){const t=d1(+new Date);return t!==c1?(l1=0,c1=t):t+"."+d1(l1++)}for(;Ac{this.readyState="paused",e()};if(this.polling||!this.writable){let s=0;this.polling&&(s++,this.once("pollComplete",function(){--s||n()})),this.writable||(s++,this.once("drain",function(){--s||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const n=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};vZe(e,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,yZe(e,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=k2()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(e,n)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Ko(this.uri(),e)}doWrite(e,n){const s=this.request({method:"POST",data:e});s.on("success",n),s.on("error",(i,r)=>{this.onError("xhr post error",i,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(n,s)=>{this.onError("xhr poll error",n,s)}),this.pollXhr=e}}let Ko=class vd extends an{constructor(e,n){super(),Ku(this,n),this.opts=n,this.method=n.method||"GET",this.uri=e,this.data=n.data!==void 0?n.data:null,this.create()}create(){var e;const n=M2(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const s=this.xhr=new L2(n);try{s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this.opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(s)),s.readyState===4&&(s.status===200||s.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof s.status=="number"?s.status:0)},0))},s.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=vd.requestsCount++,vd.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=LZe,e)try{this.xhr.abort()}catch{}typeof document<"u"&&delete vd.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};Ko.requestsCount=0;Ko.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",u1);else if(typeof addEventListener=="function"){const t="onpagehide"in ds?"pagehide":"unload";addEventListener(t,u1,!1)}}function u1(){for(let t in Ko.requests)Ko.requests.hasOwnProperty(t)&&Ko.requests[t].abort()}const hE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,n)=>n(e,0))(),Nc=ds.WebSocket||ds.MozWebSocket,p1=!0,UZe="arraybuffer",_1=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class BZe extends _E{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),n=this.opts.protocols,s=_1?{}:M2(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=p1&&!_1?n?new Nc(e,n):new Nc(e):new Nc(e,n,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let n=0;n{const o={};try{p1&&this.ws.send(r)}catch{}i&&hE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=k2()),this.supportsBinary||(n.b64=1),this.createUri(e,n)}check(){return!!Nc}}class GZe extends _E{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(e=>{const n=TZe(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(n).getReader(),i=SZe();i.readable.pipeTo(e.writable),this.writer=i.writable.getWriter();const r=()=>{s.read().then(({done:a,value:c})=>{a||(this.onPacket(c),r())}).catch(a=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then(()=>this.onOpen())})}))}write(e){this.writable=!1;for(let n=0;n{i&&hE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this.transport)===null||e===void 0||e.close()}}const VZe={websocket:BZe,webtransport:GZe,polling:FZe},zZe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,HZe=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Vg(t){if(t.length>2e3)throw"URI too long";const e=t,n=t.indexOf("["),s=t.indexOf("]");n!=-1&&s!=-1&&(t=t.substring(0,n)+t.substring(n,s).replace(/:/g,";")+t.substring(s,t.length));let i=zZe.exec(t||""),r={},o=14;for(;o--;)r[HZe[o]]=i[o]||"";return n!=-1&&s!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=qZe(r,r.path),r.queryKey=$Ze(r,r.query),r}function qZe(t,e){const n=/\/{2,9}/g,s=e.replace(n,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function $Ze(t,e){const n={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,r){i&&(n[i]=r)}),n}let P2=class Po extends an{constructor(e,n={}){super(),this.binaryType=UZe,this.writeBuffer=[],e&&typeof e=="object"&&(n=e,e=null),e?(e=Vg(e),n.hostname=e.host,n.secure=e.protocol==="https"||e.protocol==="wss",n.port=e.port,e.query&&(n.query=e.query)):n.host&&(n.hostname=Vg(n.host).host),Ku(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=MZe(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const n=Object.assign({},this.opts.query);n.EIO=O2,n.transport=e,this.id&&(n.sid=this.id);const s=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new VZe[e](s)}open(){let e;if(this.opts.rememberUpgrade&&Po.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)e="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else e=this.transports[0];this.readyState="opening";try{e=this.createTransport(e)}catch{this.transports.shift(),this.open();return}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(e){let n=this.createTransport(e),s=!1;Po.priorWebsocketSuccess=!1;const i=()=>{s||(n.send([{type:"ping",data:"probe"}]),n.once("packet",h=>{if(!s)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Po.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(u(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function r(){s||(s=!0,u(),n.close(),n=null)}const o=h=>{const f=new Error("probe error: "+h);f.transport=n.name,r(),this.emitReserved("upgradeError",f)};function a(){o("transport closed")}function c(){o("socket closed")}function d(h){n&&h.name!==n.name&&r()}const u=()=>{n.removeListener("open",i),n.removeListener("error",o),n.removeListener("close",a),this.off("close",c),this.off("upgrading",d)};n.once("open",i),n.once("error",o),n.once("close",a),this.once("close",c),this.once("upgrading",d),this.upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Po.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let e=0;const n=this.upgrades.length;for(;e{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let s=0;s0&&n>this.maxPayload)return this.writeBuffer.slice(0,s);n+=2}return this.writeBuffer}write(e,n,s){return this.sendPacket("message",e,n,s),this}send(e,n,s){return this.sendPacket("message",e,n,s),this}sendPacket(e,n,s,i){if(typeof n=="function"&&(i=n,n=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const r={type:e,data:n,options:s};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),e()},s=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}onError(e){Po.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const n=[];let s=0;const i=e.length;for(;stypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,F2=Object.prototype.toString,jZe=typeof Blob=="function"||typeof Blob<"u"&&F2.call(Blob)==="[object BlobConstructor]",QZe=typeof File=="function"||typeof File<"u"&&F2.call(File)==="[object FileConstructor]";function fE(t){return WZe&&(t instanceof ArrayBuffer||KZe(t))||jZe&&t instanceof Blob||QZe&&t instanceof File}function Sd(t,e){if(!t||typeof t!="object")return!1;if(Array.isArray(t)){for(let n=0,s=t.length;n=0&&t.num{delete this.acks[e];for(let o=0;o{this.io.clearTimeoutFn(r),n.apply(this,[null,...o])}}emitWithAck(e,...n){const s=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,r)=>{n.push((o,a)=>s?o?r(o):i(a):i(o)),this.emit(e,...n)})}_addToQueue(e){let n;typeof e[e.length-1]=="function"&&(n=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...r)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...r)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!e||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Ot.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,n)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Ot.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Ot.EVENT:case Ot.BINARY_EVENT:this.onevent(e);break;case Ot.ACK:case Ot.BINARY_ACK:this.onack(e);break;case Ot.DISCONNECT:this.ondisconnect();break;case Ot.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const n=e.data||[];e.id!=null&&n.push(this.ack(e.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const s of n)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const n=this;let s=!1;return function(...i){s||(s=!0,n.packet({type:Ot.ACK,id:e,data:i}))}}onack(e){const n=this.acks[e.id];typeof n=="function"&&(n.apply(this,e.data),delete this.acks[e.id])}onconnect(e,n){this.id=e,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Ot.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const n=this._anyListeners;for(let s=0;s0&&t.jitter<=1?t.jitter:0,this.attempts=0}Pa.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=Math.floor(e*10)&1?t+n:t-n}return Math.min(t,this.max)|0};Pa.prototype.reset=function(){this.attempts=0};Pa.prototype.setMin=function(t){this.ms=t};Pa.prototype.setMax=function(t){this.max=t};Pa.prototype.setJitter=function(t){this.jitter=t};class qg extends an{constructor(e,n){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(n=e,e=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,Ku(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((s=n.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new Pa({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=e;const i=n.parser||sJe;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var n;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(n=this.backoff)===null||n===void 0||n.setMin(e),this)}randomizationFactor(e){var n;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(n=this.backoff)===null||n===void 0||n.setJitter(e),this)}reconnectionDelayMax(e){var n;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(n=this.backoff)===null||n===void 0||n.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new P2(this.uri,this.opts);const n=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=Os(n,"open",function(){s.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=Os(n,"error",r);if(this._timeout!==!1){const a=this._timeout,c=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),n.close()},a);this.opts.autoUnref&&c.unref(),this.subs.push(()=>{this.clearTimeoutFn(c)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Os(e,"ping",this.onping.bind(this)),Os(e,"data",this.ondata.bind(this)),Os(e,"error",this.onerror.bind(this)),Os(e,"close",this.onclose.bind(this)),Os(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(n){this.onclose("parse error",n)}}ondecoded(e){hE(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,n){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new U2(this,e,n),this.nsps[e]=s),s}_destroy(e){const n=Object.keys(this.nsps);for(const s of n)if(this.nsps[s].active)return;this._close()}_packet(e){const n=this.encoder.encode(e);for(let s=0;se()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},n);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Xa={};function Td(t,e){typeof t=="object"&&(e=t,t=void 0),e=e||{};const n=YZe(t,e.path||"/socket.io"),s=n.source,i=n.id,r=n.path,o=Xa[i]&&r in Xa[i].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let c;return a?c=new qg(s,e):(Xa[i]||(Xa[i]=new qg(s,e)),c=Xa[i]),n.query&&!e.query&&(e.query=n.queryKey),c.socket(n.path,e)}Object.assign(Td,{Manager:qg,Socket:U2,io:Td,connect:Td});const B2="/";console.log(B2);const qe=new Td(B2,{reconnection:!0,reconnectionAttempts:10,reconnectionDelay:1e3});const rJe={props:{value:String,inputType:{type:String,default:"text",validator:t=>["text","email","password","file","path","integer","float"].includes(t)},fileAccept:String},data(){return{inputValue:this.value,placeholderText:this.getPlaceholderText()}},watch:{value(t){console.log("Changing value to ",t),this.inputValue=t}},mounted(){Le(()=>{ze.replace()}),console.log("Changing value to ",this.value),this.inputValue=this.value},methods:{handleSliderInput(t){this.inputValue=t.target.value,this.$emit("input",t.target.value)},getPlaceholderText(){switch(this.inputType){case"text":return"Enter text here";case"email":return"Enter your email";case"password":return"Enter your password";case"file":case"path":return"Choose a file";case"integer":return"Enter an integer";case"float":return"Enter a float";default:return"Enter value here"}},handleInput(t){if(this.inputType==="integer"){const e=t.target.value.replace(/[^0-9]/g,"");this.inputValue=e}console.log("handling input : ",t.target.value),this.$emit("input",t.target.value)},async pasteFromClipboard(){try{const t=await navigator.clipboard.readText();this.handleClipboardData(t)}catch(t){console.error("Failed to read from clipboard:",t)}},handlePaste(t){const e=t.clipboardData.getData("text");this.handleClipboardData(e)},handleClipboardData(t){switch(this.inputType){case"email":this.inputValue=this.isValidEmail(t)?t:"";break;case"password":this.inputValue=t;break;case"file":case"path":this.inputValue="";break;case"integer":this.inputValue=this.parseInteger(t);break;case"float":this.inputValue=this.parseFloat(t);break;default:this.inputValue=t;break}},isValidEmail(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)},parseInteger(t){const e=parseInt(t);return isNaN(e)?"":e},parseFloat(t){const e=parseFloat(t);return isNaN(e)?"":e},openFileInput(){this.$refs.fileInput.click()},handleFileInputChange(t){const e=t.target.files[0];e&&(this.inputValue=e.name)}}},oJe={class:"flex items-center space-x-2"},aJe=["value","type","placeholder"],lJe=["value","min","max"],cJe=l("i",{"data-feather":"clipboard"},null,-1),dJe=[cJe],uJe=l("i",{"data-feather":"upload"},null,-1),pJe=[uJe],_Je=["accept"];function hJe(t,e,n,s,i,r){return T(),x("div",oJe,[t.useSlider?(T(),x("input",{key:1,type:"range",value:parseInt(i.inputValue),min:t.minSliderValue,max:t.maxSliderValue,onInput:e[2]||(e[2]=(...o)=>r.handleSliderInput&&r.handleSliderInput(...o)),class:"flex-1 px-4 py-2 text-lg border dark:bg-gray-600 border-gray-300 rounded-md focus:outline-none focus:ring focus:border-blue-500"},null,40,lJe)):(T(),x("input",{key:0,value:i.inputValue,type:n.inputType,placeholder:i.placeholderText,onInput:e[0]||(e[0]=(...o)=>r.handleInput&&r.handleInput(...o)),onPaste:e[1]||(e[1]=(...o)=>r.handlePaste&&r.handlePaste(...o)),class:"flex-1 px-4 py-2 text-lg dark:bg-gray-600 border border-gray-300 rounded-md focus:outline-none focus:ring focus:border-blue-500"},null,40,aJe)),l("button",{onClick:e[3]||(e[3]=(...o)=>r.pasteFromClipboard&&r.pasteFromClipboard(...o)),class:"p-2 bg-blue-500 dark:bg-gray-600 text-white rounded-md hover:bg-blue-600 focus:outline-none focus:ring focus:border-blue-300"},dJe),n.inputType==="file"?(T(),x("button",{key:2,onClick:e[4]||(e[4]=(...o)=>r.openFileInput&&r.openFileInput(...o)),class:"p-2 bg-blue-500 text-white rounded-md hover:bg-blue-600 focus:outline-none focus:ring focus:border-blue-300"},pJe)):G("",!0),n.inputType==="file"?(T(),x("input",{key:3,ref:"fileInput",type:"file",style:{display:"none"},accept:n.fileAccept,onChange:e[5]||(e[5]=(...o)=>r.handleFileInputChange&&r.handleFileInputChange(...o))},null,40,_Je)):G("",!0)])}const gE=ot(rJe,[["render",hJe]]),fJe={name:"TokensHighlighter",props:{namedTokens:{type:Object,required:!0}},data(){return{colors:["#FF6633","#FFB399","#FF33FF","#FFFF99","#00B3E6","#E6B333","#3366E6","#999966","#99FF99","#B34D4D","#80B300","#809900","#E6B3B3","#6680B3","#66991A","#FF99E6","#CCFF1A","#FF1A66","#E6331A","#33FFCC","#66994D","#B366CC","#4D8000","#B33300","#CC80CC","#66664D","#991AFF","#E666FF","#4DB3FF","#1AB399","#E666B3","#33991A","#CC9999","#B3B31A","#00E680","#4D8066","#809980","#E6FF80","#1AFF33","#999933","#FF3380","#CCCC00","#66E64D","#4D80CC","#9900B3","#E64D66","#4DB380","#FF4D4D","#99E6E6","#6666FF"]}}},mJe={class:"w-full"},gJe={class:"break-words"},bJe={class:"break-words mt-2"},EJe={class:"mt-4"};function yJe(t,e,n,s,i,r){return T(),x("div",mJe,[l("div",gJe,[(T(!0),x(Fe,null,Ke(n.namedTokens,(o,a)=>(T(),x("span",{key:a},[l("span",{class:"inline-block whitespace-pre-wrap",style:Ht({backgroundColor:i.colors[a%i.colors.length]})},K(o[0]),5)]))),128))]),l("div",bJe,[(T(!0),x(Fe,null,Ke(n.namedTokens,(o,a)=>(T(),x("span",{key:a},[l("span",{class:"inline-block px-1 whitespace-pre-wrap",style:Ht({backgroundColor:i.colors[a%i.colors.length]})},K(o[1]),5)]))),128))]),l("div",EJe,[l("strong",null,"Total Tokens: "+K(n.namedTokens.length),1)])])}const vJe=ot(fJe,[["render",yJe]]),SJe={name:"ChatBarButton",props:{buttonClass:{type:String,default:"text-gray-600 dark:text-gray-300"}}};function TJe(t,e,n,s,i,r){return T(),x("button",MR({class:["p-2 rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",[n.buttonClass,"hover:bg-gray-200 dark:hover:bg-gray-700","active:bg-gray-300 dark:active:bg-gray-600"]]},t.$attrs,TI(t.$listeners,!0)),[un(t.$slots,"icon"),un(t.$slots,"default")],16)}const G2=ot(SJe,[["render",TJe]]);const xJe={props:{is_subcard:{type:Boolean,default:!1},is_shrunk:{type:Boolean,default:!1},title:{type:String,default:""},isHorizontal:{type:Boolean,default:!1},cardWidth:{type:String,default:"w-3/4"},disableHoverAnimation:{type:Boolean,default:!0},disableFocus:{type:Boolean,default:!1}},data(){return{shrink:this.is_shrunk,isHovered:!1,isActive:!1}},computed:{cardClass(){return["bg-gray-50","border","border-gray-300","text-gray-900","text-sm","rounded-lg","focus:ring-blue-500","focus:border-blue-500","w-full","p-2.5","dark:bg-gray-500","dark:border-gray-600","dark:placeholder-gray-400","dark:text-white","dark:focus:ring-blue-500","dark:focus:border-blue-500",{"cursor-pointer":!this.isActive&&!this.disableFocus,"w-auto":!this.isActive}]},cardWidthClass(){return this.isActive?this.cardWidth:""}},methods:{toggleCard(){this.disableFocus||(this.isActive=!this.isActive)}}},CJe={key:1,class:"flex flex-wrap"},wJe={key:2,class:"mb-2"};function RJe(t,e,n,s,i,r){return T(),x("div",null,[i.isActive?(T(),x("div",{key:0,class:"overlay",onClick:e[0]||(e[0]=(...o)=>r.toggleCard&&r.toggleCard(...o))})):G("",!0),P(l("div",{class:Ge(["border-blue-300 rounded-lg shadow-lg p-2",r.cardWidthClass,"m-2",{subcard:n.is_subcard},{"bg-white dark:bg-gray-900":!n.is_subcard},{hovered:!n.disableHoverAnimation&&i.isHovered,active:i.isActive}]),onMouseenter:e[2]||(e[2]=o=>i.isHovered=!0),onMouseleave:e[3]||(e[3]=o=>i.isHovered=!1),onClick:e[4]||(e[4]=j((...o)=>r.toggleCard&&r.toggleCard(...o),["self"])),style:Ht({cursor:this.disableFocus?"":"pointer"})},[n.title?(T(),x("div",{key:0,onClick:e[1]||(e[1]=o=>i.shrink=!0),class:Ge([{"text-center p-2 m-2 bg-gray-200":!n.is_subcard},"bg-gray-100 dark:bg-gray-500 rounded-lg pl-2 pr-2 mb-2 font-bold cursor-pointer"])},K(n.title),3)):G("",!0),n.isHorizontal?(T(),x("div",CJe,[un(t.$slots,"default")])):(T(),x("div",wJe,[un(t.$slots,"default")]))],38),[[wt,i.shrink===!1]]),n.is_subcard?P((T(),x("div",{key:1,onClick:e[5]||(e[5]=o=>i.shrink=!1),class:"bg-white text-center text-xl bold dark:bg-gray-500 border-blue-300 rounded-lg shadow-lg p-2 h-10 cursor-pointer m-2"},K(n.title),513)),[[wt,i.shrink===!0]]):P((T(),x("div",{key:2,onClick:e[6]||(e[6]=o=>i.shrink=!1),class:"bg-white text-center text-2xl dark:bg-gray-500 border-2 border-blue-300 rounded-lg shadow-lg p-0 h-7 cursor-pointer hover:h-8 hover:bg-blue-300"}," + ",512)),[[wt,i.shrink===!0]])])}const ju=ot(xJe,[["render",RJe]]),V2="/assets/code_block-e2753d3f.svg",z2="/assets/python_block-4008a934.png",H2="/assets/javascript_block-5e59df30.svg",q2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOeSURBVGhD7ZhNaBNBGIZHW/EPbSioRSpi0FRpVdRSjQfxkFilB5UciuChIL0JLaKIhR5KIYKIiBSF0mLVS7AIavUgPQjiT4+KB0EP3gwS8VDBgj8d33d2ZrNJt2lCppKWfeBh5pvdncyXmZ3sZokQQsIFz1JdLni8M8L6QkSNf9HMSJBIpREkUmkEiVQaQSKVRpCIH8lkUtbW1sre3l7fB9FoNCrD4fC8PaSyYyudNzU1yZGRkYJ9dXV1yUQiYTMZNX6rM5LJZERHR0fBh0/MmJDSZh4OVhOZmprStf+P1UQmJyd1zaGvr09NuxM5VFVViYmJCR3Zw1oiPT09koP00tjYKNrb23XkEIlERHV1tY7sMuNbK5XR0VGJwcnBwcGi+uns7Cz7Mz24fVnpdGhoSDY0NBTbjxweHi77MzXu+N2KBebsh7PW0tJi6/OIGr/Vm72mpkbXssTj8ZxBp9NpUV9fryN7WE0kn1QqJcfHx3U0v1hNJBQKqXtFh2JsbEx0d3frKMv09LSu2UWtMadaHm1tberxQ+9Koq6uLqff1tZW2dzcLPXviy3c8bsVG/T398+6I8ViMTkwMGDtszRq/MEfdJVGkEilESRSaZSSyCa43anmsAPGII/7wWd7nnMEbmaDD2G41anmsA76tfui9mGnWpAPkOftVpEQuyDfkMz19Bv0cg56j9NP8AQ07IXm2Es2eHgK2b5RRf6Ya7OVOchP5D1kfA0m4GX4CxouQR7/A6/DC/CObqNRSA5A00Y7oeG/JMJBM65TUS7rIV/gefw4GzzchWx/rKJsIu90+REaik6knJv9hy5vw4NO1WU/XAG/w0ds8MABk326NLyGL+A2eJYNpVBOIhd1eRS+gs/hTjYAc4M+06WX+7rkt7zKqbrc0OV5WNIjUzmJDME9MKUiIQ5DvnyshOZfCL/+l+uSz/I/narLA8gvhLsb77miKScR8haegqfhb7gBcoa4M5G4Lr0069Kck88VXZ6B+TNWEHWzONWCpCHPM78lZhkZ3kAePwa36DpthQYulwxke5INwNzst1Tk8ASa66mVXYtLgFPOc7iVroUtOh6F3Gbv6fgLXAPJVWj65vU3IW9oxl+hWWJ+iRyC5lpqJZHP0JxjbnBO+UP4F5pjXNsnoRf+IJqZpNySmRSXoMEvEeL9Iqwkwm20Cfqt12UwAleraHZCcLbHEzLz75fiUeMP3hArjUWTiHdpLWgWyYwI8Q8rrSjH5vAr6AAAAABJRU5ErkJggg==",$2="/assets/cpp_block-109b2fbe.png",Y2="/assets/html5_block-205d2852.png",W2="/assets/LaTeX_block-06b165c0.png",K2="/assets/bash_block-7ca80e4e.png",AJe="/assets/tokenize_icon-0553c60f.svg",NJe="/assets/deaf_on-7481cb29.svg",OJe="/assets/deaf_off-c2c46908.svg",MJe="/assets/rec_on-3b37b566.svg",IJe="/assets/rec_off-2c08e836.svg",j2="/assets/loading-c3bdfb0a.svg",kJe={props:{icon:{type:String,required:!0},title:{type:String,required:!0}},computed:{iconPath(){return this.getIconPath()}},methods:{getIconPath(){switch(this.icon){case"x":return'';case"check":return'';case"code":return'';case"python":return'';case"js":return'JS';case"typescript":return'TS';case"braces":return'';case"cplusplus":case"c++":return'C++';case"csharp":return'C#';case"go":return'Go';case"r-project":return'R';case"rust":return'';case"swift":return'';case"kotlin":return'';case"java":return'';case"html5":return'';case"css3":return'';case"vuejs":return'';case"react":return'';case"angular":return'';case"xml":return'';case"json":return'';case"yaml":return'';case"markdown":return'';case"latex":return'TEX';case"bash":return'';case"powershell":return'';case"perl":return'';case"mermaid":return'';case"graphviz":return'';case"plantuml":return'';case"sql":return'';case"mongodb":return'';case"mathFunction":return'';case"terminal":return'';case"edit":return'';case"copy":return'';case"send":return'';case"globe":return'';case"fastForward":return'';case"sendSimple":return'';default:return""}}}},DJe=["title"],LJe={class:"w-6 h-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},PJe=["innerHTML"];function FJe(t,e,n,s,i,r){return T(),x("button",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer",title:n.title,onClick:e[0]||(e[0]=o=>t.$emit("click"))},[(T(),x("svg",LJe,[l("g",{innerHTML:r.iconPath},null,8,PJe)]))],8,DJe)}const bE=ot(kJe,[["render",FJe]]);var Hn="top",Es="bottom",ys="right",qn="left",EE="auto",sc=[Hn,Es,ys,qn],oa="start",zl="end",UJe="clippingParents",Q2="viewport",Za="popper",BJe="reference",f1=sc.reduce(function(t,e){return t.concat([e+"-"+oa,e+"-"+zl])},[]),X2=[].concat(sc,[EE]).reduce(function(t,e){return t.concat([e,e+"-"+oa,e+"-"+zl])},[]),GJe="beforeRead",VJe="read",zJe="afterRead",HJe="beforeMain",qJe="main",$Je="afterMain",YJe="beforeWrite",WJe="write",KJe="afterWrite",jJe=[GJe,VJe,zJe,HJe,qJe,$Je,YJe,WJe,KJe];function li(t){return t?(t.nodeName||"").toLowerCase():null}function ns(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function no(t){var e=ns(t).Element;return t instanceof e||t instanceof Element}function gs(t){var e=ns(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function yE(t){if(typeof ShadowRoot>"u")return!1;var e=ns(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function QJe(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var s=e.styles[n]||{},i=e.attributes[n]||{},r=e.elements[n];!gs(r)||!li(r)||(Object.assign(r.style,s),Object.keys(i).forEach(function(o){var a=i[o];a===!1?r.removeAttribute(o):r.setAttribute(o,a===!0?"":a)}))})}function XJe(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(s){var i=e.elements[s],r=e.attributes[s]||{},o=Object.keys(e.styles.hasOwnProperty(s)?e.styles[s]:n[s]),a=o.reduce(function(c,d){return c[d]="",c},{});!gs(i)||!li(i)||(Object.assign(i.style,a),Object.keys(r).forEach(function(c){i.removeAttribute(c)}))})}}const ZJe={name:"applyStyles",enabled:!0,phase:"write",fn:QJe,effect:XJe,requires:["computeStyles"]};function ri(t){return t.split("-")[0]}var Wr=Math.max,Yd=Math.min,aa=Math.round;function $g(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Z2(){return!/^((?!chrome|android).)*safari/i.test($g())}function la(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var s=t.getBoundingClientRect(),i=1,r=1;e&&gs(t)&&(i=t.offsetWidth>0&&aa(s.width)/t.offsetWidth||1,r=t.offsetHeight>0&&aa(s.height)/t.offsetHeight||1);var o=no(t)?ns(t):window,a=o.visualViewport,c=!Z2()&&n,d=(s.left+(c&&a?a.offsetLeft:0))/i,u=(s.top+(c&&a?a.offsetTop:0))/r,h=s.width/i,f=s.height/r;return{width:h,height:f,top:u,right:d+h,bottom:u+f,left:d,x:d,y:u}}function vE(t){var e=la(t),n=t.offsetWidth,s=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:s}}function J2(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&yE(n)){var s=e;do{if(s&&t.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Di(t){return ns(t).getComputedStyle(t)}function JJe(t){return["table","td","th"].indexOf(li(t))>=0}function Er(t){return((no(t)?t.ownerDocument:t.document)||window.document).documentElement}function Qu(t){return li(t)==="html"?t:t.assignedSlot||t.parentNode||(yE(t)?t.host:null)||Er(t)}function m1(t){return!gs(t)||Di(t).position==="fixed"?null:t.offsetParent}function eet(t){var e=/firefox/i.test($g()),n=/Trident/i.test($g());if(n&&gs(t)){var s=Di(t);if(s.position==="fixed")return null}var i=Qu(t);for(yE(i)&&(i=i.host);gs(i)&&["html","body"].indexOf(li(i))<0;){var r=Di(i);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||e&&r.willChange==="filter"||e&&r.filter&&r.filter!=="none")return i;i=i.parentNode}return null}function ic(t){for(var e=ns(t),n=m1(t);n&&JJe(n)&&Di(n).position==="static";)n=m1(n);return n&&(li(n)==="html"||li(n)==="body"&&Di(n).position==="static")?e:n||eet(t)||e}function SE(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function yl(t,e,n){return Wr(t,Yd(e,n))}function tet(t,e,n){var s=yl(t,e,n);return s>n?n:s}function eN(){return{top:0,right:0,bottom:0,left:0}}function tN(t){return Object.assign({},eN(),t)}function nN(t,e){return e.reduce(function(n,s){return n[s]=t,n},{})}var net=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,tN(typeof e!="number"?e:nN(e,sc))};function set(t){var e,n=t.state,s=t.name,i=t.options,r=n.elements.arrow,o=n.modifiersData.popperOffsets,a=ri(n.placement),c=SE(a),d=[qn,ys].indexOf(a)>=0,u=d?"height":"width";if(!(!r||!o)){var h=net(i.padding,n),f=vE(r),m=c==="y"?Hn:qn,_=c==="y"?Es:ys,g=n.rects.reference[u]+n.rects.reference[c]-o[c]-n.rects.popper[u],b=o[c]-n.rects.reference[c],E=ic(r),y=E?c==="y"?E.clientHeight||0:E.clientWidth||0:0,v=g/2-b/2,S=h[m],R=y-f[u]-h[_],w=y/2-f[u]/2+v,A=yl(S,w,R),I=c;n.modifiersData[s]=(e={},e[I]=A,e.centerOffset=A-w,e)}}function iet(t){var e=t.state,n=t.options,s=n.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||J2(e.elements.popper,i)&&(e.elements.arrow=i))}const ret={name:"arrow",enabled:!0,phase:"main",fn:set,effect:iet,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ca(t){return t.split("-")[1]}var oet={top:"auto",right:"auto",bottom:"auto",left:"auto"};function aet(t,e){var n=t.x,s=t.y,i=e.devicePixelRatio||1;return{x:aa(n*i)/i||0,y:aa(s*i)/i||0}}function g1(t){var e,n=t.popper,s=t.popperRect,i=t.placement,r=t.variation,o=t.offsets,a=t.position,c=t.gpuAcceleration,d=t.adaptive,u=t.roundOffsets,h=t.isFixed,f=o.x,m=f===void 0?0:f,_=o.y,g=_===void 0?0:_,b=typeof u=="function"?u({x:m,y:g}):{x:m,y:g};m=b.x,g=b.y;var E=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=qn,S=Hn,R=window;if(d){var w=ic(n),A="clientHeight",I="clientWidth";if(w===ns(n)&&(w=Er(n),Di(w).position!=="static"&&a==="absolute"&&(A="scrollHeight",I="scrollWidth")),w=w,i===Hn||(i===qn||i===ys)&&r===zl){S=Es;var C=h&&w===R&&R.visualViewport?R.visualViewport.height:w[A];g-=C-s.height,g*=c?1:-1}if(i===qn||(i===Hn||i===Es)&&r===zl){v=ys;var O=h&&w===R&&R.visualViewport?R.visualViewport.width:w[I];m-=O-s.width,m*=c?1:-1}}var B=Object.assign({position:a},d&&oet),H=u===!0?aet({x:m,y:g},ns(n)):{x:m,y:g};if(m=H.x,g=H.y,c){var te;return Object.assign({},B,(te={},te[S]=y?"0":"",te[v]=E?"0":"",te.transform=(R.devicePixelRatio||1)<=1?"translate("+m+"px, "+g+"px)":"translate3d("+m+"px, "+g+"px, 0)",te))}return Object.assign({},B,(e={},e[S]=y?g+"px":"",e[v]=E?m+"px":"",e.transform="",e))}function cet(t){var e=t.state,n=t.options,s=n.gpuAcceleration,i=s===void 0?!0:s,r=n.adaptive,o=r===void 0?!0:r,a=n.roundOffsets,c=a===void 0?!0:a,d={placement:ri(e.placement),variation:ca(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,g1(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,g1(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const det={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:cet,data:{}};var Oc={passive:!0};function uet(t){var e=t.state,n=t.instance,s=t.options,i=s.scroll,r=i===void 0?!0:i,o=s.resize,a=o===void 0?!0:o,c=ns(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&d.forEach(function(u){u.addEventListener("scroll",n.update,Oc)}),a&&c.addEventListener("resize",n.update,Oc),function(){r&&d.forEach(function(u){u.removeEventListener("scroll",n.update,Oc)}),a&&c.removeEventListener("resize",n.update,Oc)}}const pet={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:uet,data:{}};var _et={left:"right",right:"left",bottom:"top",top:"bottom"};function xd(t){return t.replace(/left|right|bottom|top/g,function(e){return _et[e]})}var het={start:"end",end:"start"};function b1(t){return t.replace(/start|end/g,function(e){return het[e]})}function TE(t){var e=ns(t),n=e.pageXOffset,s=e.pageYOffset;return{scrollLeft:n,scrollTop:s}}function xE(t){return la(Er(t)).left+TE(t).scrollLeft}function fet(t,e){var n=ns(t),s=Er(t),i=n.visualViewport,r=s.clientWidth,o=s.clientHeight,a=0,c=0;if(i){r=i.width,o=i.height;var d=Z2();(d||!d&&e==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}return{width:r,height:o,x:a+xE(t),y:c}}function met(t){var e,n=Er(t),s=TE(t),i=(e=t.ownerDocument)==null?void 0:e.body,r=Wr(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=Wr(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+xE(t),c=-s.scrollTop;return Di(i||n).direction==="rtl"&&(a+=Wr(n.clientWidth,i?i.clientWidth:0)-r),{width:r,height:o,x:a,y:c}}function CE(t){var e=Di(t),n=e.overflow,s=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function sN(t){return["html","body","#document"].indexOf(li(t))>=0?t.ownerDocument.body:gs(t)&&CE(t)?t:sN(Qu(t))}function vl(t,e){var n;e===void 0&&(e=[]);var s=sN(t),i=s===((n=t.ownerDocument)==null?void 0:n.body),r=ns(s),o=i?[r].concat(r.visualViewport||[],CE(s)?s:[]):s,a=e.concat(o);return i?a:a.concat(vl(Qu(o)))}function Yg(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function get(t,e){var n=la(t,!1,e==="fixed");return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function E1(t,e,n){return e===Q2?Yg(fet(t,n)):no(e)?get(e,n):Yg(met(Er(t)))}function bet(t){var e=vl(Qu(t)),n=["absolute","fixed"].indexOf(Di(t).position)>=0,s=n&&gs(t)?ic(t):t;return no(s)?e.filter(function(i){return no(i)&&J2(i,s)&&li(i)!=="body"}):[]}function Eet(t,e,n,s){var i=e==="clippingParents"?bet(t):[].concat(e),r=[].concat(i,[n]),o=r[0],a=r.reduce(function(c,d){var u=E1(t,d,s);return c.top=Wr(u.top,c.top),c.right=Yd(u.right,c.right),c.bottom=Yd(u.bottom,c.bottom),c.left=Wr(u.left,c.left),c},E1(t,o,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function iN(t){var e=t.reference,n=t.element,s=t.placement,i=s?ri(s):null,r=s?ca(s):null,o=e.x+e.width/2-n.width/2,a=e.y+e.height/2-n.height/2,c;switch(i){case Hn:c={x:o,y:e.y-n.height};break;case Es:c={x:o,y:e.y+e.height};break;case ys:c={x:e.x+e.width,y:a};break;case qn:c={x:e.x-n.width,y:a};break;default:c={x:e.x,y:e.y}}var d=i?SE(i):null;if(d!=null){var u=d==="y"?"height":"width";switch(r){case oa:c[d]=c[d]-(e[u]/2-n[u]/2);break;case zl:c[d]=c[d]+(e[u]/2-n[u]/2);break}}return c}function Hl(t,e){e===void 0&&(e={});var n=e,s=n.placement,i=s===void 0?t.placement:s,r=n.strategy,o=r===void 0?t.strategy:r,a=n.boundary,c=a===void 0?UJe:a,d=n.rootBoundary,u=d===void 0?Q2:d,h=n.elementContext,f=h===void 0?Za:h,m=n.altBoundary,_=m===void 0?!1:m,g=n.padding,b=g===void 0?0:g,E=tN(typeof b!="number"?b:nN(b,sc)),y=f===Za?BJe:Za,v=t.rects.popper,S=t.elements[_?y:f],R=Eet(no(S)?S:S.contextElement||Er(t.elements.popper),c,u,o),w=la(t.elements.reference),A=iN({reference:w,element:v,strategy:"absolute",placement:i}),I=Yg(Object.assign({},v,A)),C=f===Za?I:w,O={top:R.top-C.top+E.top,bottom:C.bottom-R.bottom+E.bottom,left:R.left-C.left+E.left,right:C.right-R.right+E.right},B=t.modifiersData.offset;if(f===Za&&B){var H=B[i];Object.keys(O).forEach(function(te){var k=[ys,Es].indexOf(te)>=0?1:-1,$=[Hn,Es].indexOf(te)>=0?"y":"x";O[te]+=H[$]*k})}return O}function yet(t,e){e===void 0&&(e={});var n=e,s=n.placement,i=n.boundary,r=n.rootBoundary,o=n.padding,a=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?X2:c,u=ca(s),h=u?a?f1:f1.filter(function(_){return ca(_)===u}):sc,f=h.filter(function(_){return d.indexOf(_)>=0});f.length===0&&(f=h);var m=f.reduce(function(_,g){return _[g]=Hl(t,{placement:g,boundary:i,rootBoundary:r,padding:o})[ri(g)],_},{});return Object.keys(m).sort(function(_,g){return m[_]-m[g]})}function vet(t){if(ri(t)===EE)return[];var e=xd(t);return[b1(t),e,b1(e)]}function Tet(t){var e=t.state,n=t.options,s=t.name;if(!e.modifiersData[s]._skip){for(var i=n.mainAxis,r=i===void 0?!0:i,o=n.altAxis,a=o===void 0?!0:o,c=n.fallbackPlacements,d=n.padding,u=n.boundary,h=n.rootBoundary,f=n.altBoundary,m=n.flipVariations,_=m===void 0?!0:m,g=n.allowedAutoPlacements,b=e.options.placement,E=ri(b),y=E===b,v=c||(y||!_?[xd(b)]:vet(b)),S=[b].concat(v).reduce(function(Ee,Me){return Ee.concat(ri(Me)===EE?yet(e,{placement:Me,boundary:u,rootBoundary:h,padding:d,flipVariations:_,allowedAutoPlacements:g}):Me)},[]),R=e.rects.reference,w=e.rects.popper,A=new Map,I=!0,C=S[0],O=0;O=0,$=k?"width":"height",q=Hl(e,{placement:B,boundary:u,rootBoundary:h,altBoundary:f,padding:d}),F=k?te?ys:qn:te?Es:Hn;R[$]>w[$]&&(F=xd(F));var W=xd(F),ne=[];if(r&&ne.push(q[H]<=0),a&&ne.push(q[F]<=0,q[W]<=0),ne.every(function(Ee){return Ee})){C=B,I=!1;break}A.set(B,ne)}if(I)for(var le=_?3:1,me=function(Me){var ke=S.find(function(Z){var he=A.get(Z);if(he)return he.slice(0,Me).every(function(_e){return _e})});if(ke)return C=ke,"break"},Se=le;Se>0;Se--){var de=me(Se);if(de==="break")break}e.placement!==C&&(e.modifiersData[s]._skip=!0,e.placement=C,e.reset=!0)}}const xet={name:"flip",enabled:!0,phase:"main",fn:Tet,requiresIfExists:["offset"],data:{_skip:!1}};function y1(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function v1(t){return[Hn,ys,Es,qn].some(function(e){return t[e]>=0})}function Cet(t){var e=t.state,n=t.name,s=e.rects.reference,i=e.rects.popper,r=e.modifiersData.preventOverflow,o=Hl(e,{elementContext:"reference"}),a=Hl(e,{altBoundary:!0}),c=y1(o,s),d=y1(a,i,r),u=v1(c),h=v1(d);e.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":h})}const wet={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Cet};function Ret(t,e,n){var s=ri(t),i=[qn,Hn].indexOf(s)>=0?-1:1,r=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,o=r[0],a=r[1];return o=o||0,a=(a||0)*i,[qn,ys].indexOf(s)>=0?{x:a,y:o}:{x:o,y:a}}function Aet(t){var e=t.state,n=t.options,s=t.name,i=n.offset,r=i===void 0?[0,0]:i,o=X2.reduce(function(u,h){return u[h]=Ret(h,e.rects,r),u},{}),a=o[e.placement],c=a.x,d=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=d),e.modifiersData[s]=o}const Net={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Aet};function Oet(t){var e=t.state,n=t.name;e.modifiersData[n]=iN({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const Met={name:"popperOffsets",enabled:!0,phase:"read",fn:Oet,data:{}};function Iet(t){return t==="x"?"y":"x"}function ket(t){var e=t.state,n=t.options,s=t.name,i=n.mainAxis,r=i===void 0?!0:i,o=n.altAxis,a=o===void 0?!1:o,c=n.boundary,d=n.rootBoundary,u=n.altBoundary,h=n.padding,f=n.tether,m=f===void 0?!0:f,_=n.tetherOffset,g=_===void 0?0:_,b=Hl(e,{boundary:c,rootBoundary:d,padding:h,altBoundary:u}),E=ri(e.placement),y=ca(e.placement),v=!y,S=SE(E),R=Iet(S),w=e.modifiersData.popperOffsets,A=e.rects.reference,I=e.rects.popper,C=typeof g=="function"?g(Object.assign({},e.rects,{placement:e.placement})):g,O=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),B=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,H={x:0,y:0};if(w){if(r){var te,k=S==="y"?Hn:qn,$=S==="y"?Es:ys,q=S==="y"?"height":"width",F=w[S],W=F+b[k],ne=F-b[$],le=m?-I[q]/2:0,me=y===oa?A[q]:I[q],Se=y===oa?-I[q]:-A[q],de=e.elements.arrow,Ee=m&&de?vE(de):{width:0,height:0},Me=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:eN(),ke=Me[k],Z=Me[$],he=yl(0,A[q],Ee[q]),_e=v?A[q]/2-le-he-ke-O.mainAxis:me-he-ke-O.mainAxis,we=v?-A[q]/2+le+he+Z+O.mainAxis:Se+he+Z+O.mainAxis,Pe=e.elements.arrow&&ic(e.elements.arrow),N=Pe?S==="y"?Pe.clientTop||0:Pe.clientLeft||0:0,z=(te=B==null?void 0:B[S])!=null?te:0,Y=F+_e-z-N,ce=F+we-z,re=yl(m?Yd(W,Y):W,F,m?Wr(ne,ce):ne);w[S]=re,H[S]=re-F}if(a){var xe,Ne=S==="x"?Hn:qn,ie=S==="x"?Es:ys,Re=w[R],ge=R==="y"?"height":"width",De=Re+b[Ne],L=Re-b[ie],M=[Hn,qn].indexOf(E)!==-1,Q=(xe=B==null?void 0:B[R])!=null?xe:0,ye=M?De:Re-A[ge]-I[ge]-Q+O.altAxis,X=M?Re+A[ge]+I[ge]-Q-O.altAxis:L,se=m&&M?tet(ye,Re,X):yl(m?ye:De,Re,m?X:L);w[R]=se,H[R]=se-Re}e.modifiersData[s]=H}}const Det={name:"preventOverflow",enabled:!0,phase:"main",fn:ket,requiresIfExists:["offset"]};function Let(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function Pet(t){return t===ns(t)||!gs(t)?TE(t):Let(t)}function Fet(t){var e=t.getBoundingClientRect(),n=aa(e.width)/t.offsetWidth||1,s=aa(e.height)/t.offsetHeight||1;return n!==1||s!==1}function Uet(t,e,n){n===void 0&&(n=!1);var s=gs(e),i=gs(e)&&Fet(e),r=Er(e),o=la(t,i,n),a={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(s||!s&&!n)&&((li(e)!=="body"||CE(r))&&(a=Pet(e)),gs(e)?(c=la(e,!0),c.x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=xE(r))),{x:o.left+a.scrollLeft-c.x,y:o.top+a.scrollTop-c.y,width:o.width,height:o.height}}function Bet(t){var e=new Map,n=new Set,s=[];t.forEach(function(r){e.set(r.name,r)});function i(r){n.add(r.name);var o=[].concat(r.requires||[],r.requiresIfExists||[]);o.forEach(function(a){if(!n.has(a)){var c=e.get(a);c&&i(c)}}),s.push(r)}return t.forEach(function(r){n.has(r.name)||i(r)}),s}function Get(t){var e=Bet(t);return jJe.reduce(function(n,s){return n.concat(e.filter(function(i){return i.phase===s}))},[])}function Vet(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function zet(t){var e=t.reduce(function(n,s){var i=n[s.name];return n[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,n},{});return Object.keys(e).map(function(n){return e[n]})}var S1={placement:"bottom",modifiers:[],strategy:"absolute"};function T1(){for(var t=arguments.length,e=new Array(t),n=0;n{this.createPopper()})},closeMenu(t){var e;!this.$el.contains(t.target)&&!((e=this.$refs.dropdown)!=null&&e.contains(t.target))&&(this.isOpen=!1)},createPopper(){const t=this.$el.querySelector("button"),e=this.$refs.dropdown;t&&e&&(this.popperInstance=Xu(t,e,{placement:"bottom-end",modifiers:[{name:"flip",options:{fallbackPlacements:["top-end","bottom-start","top-start"]}},{name:"preventOverflow",options:{boundary:document.body}}]}))}}},Yet={class:"relative inline-block text-left"},Wet={key:0,ref:"dropdown",class:"z-50 w-56 rounded-md shadow-lg bg-white dark:bg-gray-800 ring-1 ring-black ring-opacity-5 dark:ring-white dark:ring-opacity-20 focus:outline-none dropdown-shadow text-gray-700 dark:text-white"},Ket={class:"py-1",role:"menu","aria-orientation":"vertical","aria-labelledby":"options-menu"};function jet(t,e,n,s,i,r){const o=tt("ToolbarButton");return T(),x("div",Yet,[l("div",null,[V(o,{onClick:j(r.toggleMenu,["stop"]),title:n.title,icon:"code"},null,8,["onClick","title"])]),(T(),dt(HI,{to:"body"},[i.isOpen?(T(),x("div",Wet,[l("div",Ket,[un(t.$slots,"default",{},void 0,!0)])],512)):G("",!0)]))])}const rN=ot($et,[["render",jet],["__scopeId","data-v-6c3ea3a5"]]);async function x1(t,e="",n=[]){return new Promise((s,i)=>{const r=document.createElement("div");r.className="fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-50",n.length===0?r.innerHTML=` +`}).use(rKe({inlineMath:[["$","$"],["\\(","\\)"]],blockMath:[["$$","$$"],["\\[","\\]"]]})),n=ct([]),s=()=>{if(t.markdownText){let r=e.parse(t.markdownText,{}),o=[];n.value=[];for(let a=0;a0&&(n.value.push({type:"html",html:e.renderer.render(o,e.options,{})}),o=[]),n.value.push({type:"code",language:oKe(r[a].info),code:r[a].content}));o.length>0&&(n.value.push({type:"html",html:e.renderer.render(o,e.options,{})}),o=[])}else n.value=[];Le(()=>{ze.replace()})},i=(r,o)=>{n.value[r].code=o};return In(()=>t.markdownText,s),ci(()=>{s(),Le(()=>{window.MathJax&&window.MathJax.typesetPromise()})}),{markdownItems:n,updateCode:i}}},lKe={class:"break-all container w-full"},cKe={ref:"mdRender",class:"markdown-content"},dKe=["innerHTML"];function uKe(t,e,n,s,i,r){const o=tt("code-block");return T(),x("div",lKe,[l("div",cKe,[(T(!0),x(Fe,null,Ke(s.markdownItems,(a,c)=>(T(),x("div",{key:c},[a.type==="code"?(T(),dt(o,{key:0,host:n.host,language:a.language,code:a.code,discussion_id:n.discussion_id,message_id:n.message_id,client_id:n.client_id,onUpdateCode:d=>s.updateCode(c,d)},null,8,["host","language","code","discussion_id","message_id","client_id","onUpdateCode"])):(T(),x("div",{key:1,innerHTML:a.html},null,8,dKe))]))),128))],512)])}const Yu=ot(aKe,[["render",uKe]]),pKe={data(){return{show:!1,has_button:!0,message:""}},components:{MarkdownRenderer:Yu},methods:{hide(){this.show=!1,this.$emit("ok")},showMessage(t){this.message=t,this.has_button=!0,this.show=!0},showBlockingMessage(t){this.message=t,this.has_button=!1,this.show=!0},updateMessage(t){this.message=t,this.show=!0},hideMessage(){this.show=!1}}},_Ke={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-50"},hKe={class:"pl-10 pr-10 bg-bg-light dark:bg-bg-dark p-8 rounded-lg shadow-lg"},fKe={class:"container max-h-500 overflow-y-auto"},mKe={class:"text-lg font-medium"},gKe={class:"mt-4 flex justify-center"},bKe={key:1,"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},EKe=l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"},null,-1),yKe=l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"},null,-1),vKe=[EKe,yKe];function SKe(t,e,n,s,i,r){const o=tt("MarkdownRenderer");return i.show?(T(),x("div",_Ke,[l("div",hKe,[l("div",fKe,[l("div",mKe,[V(o,{ref:"mdRender",host:"","markdown-text":i.message,message_id:0,discussion_id:0},null,8,["markdown-text"])])]),l("div",gKe,[i.has_button?(T(),x("button",{key:0,onClick:e[0]||(e[0]=(...a)=>r.hide&&r.hide(...a)),class:"bg-primary hover:bg-primary-light active:scale-95 duration-150 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-secondary-dark"}," OK ")):G("",!0),i.has_button?G("",!0):(T(),x("svg",bKe,vKe))])])])):G("",!0)}const y2=ot(pKe,[["render",SKe]]);const TKe={props:{progress:{type:Number,required:!0}}},xKe={class:"progress-bar-container"};function CKe(t,e,n,s,i,r){return T(),x("div",xKe,[l("div",{class:"progress-bar",style:Ht({width:`${n.progress}%`})},null,4)])}const Wu=ot(TKe,[["render",CKe]]),wKe={setup(){return{}},name:"UniversalForm",data(){return{show:!1,resolve:null,controls_array:[],title:"Universal form",ConfirmButtonText:"Submit",DenyButtonText:"Cancel"}},mounted(){Le(()=>{ze.replace()})},methods:{btn_clicked(t){console.log(t)},hide(t){this.show=!1,this.resolve&&t&&(this.resolve(this.controls_array),this.resolve=null)},showForm(t,e,n,s){this.ConfirmButtonText=n||this.ConfirmButtonText,this.DenyButtonText=s||this.DenyButtonText;for(let i=0;i{this.controls_array=t,this.show=!0,this.title=e||this.title,this.resolve=i,console.log("show form",this.controls_array)})}},watch:{controls_array:{deep:!0,handler(t){t.forEach(e=>{e.type==="int"?e.value=parseInt(e.value):e.type==="float"&&(e.value=parseFloat(e.value))})}},show(){Le(()=>{ze.replace()})}}},RKe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 p-4"},AKe={class:"relative w-full max-w-md"},NKe={class:"flex flex-col rounded-lg bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel duration-150 shadow-lg max-h-screen"},OKe={class:"flex flex-row flex-grow items-center m-2 p-1"},MKe={class:"grow flex items-center"},IKe=l("i",{"data-feather":"sliders",class:"mr-2 flex-shrink-0"},null,-1),kKe={class:"text-lg font-semibold select-none mr-2"},DKe={class:"items-end"},LKe=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),PKe=l("span",{class:"sr-only"},"Close form modal",-1),FKe=[LKe,PKe],UKe={class:"flex flex-col relative no-scrollbar overflow-y-scroll p-2"},BKe={class:"px-2"},GKe={key:0},VKe={key:0},zKe={class:"text-base font-semibold"},HKe={key:0,class:"relative inline-flex"},qKe=["onUpdate:modelValue"],$Ke=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),YKe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},WKe=["onUpdate:modelValue"],KKe={key:1},jKe={class:"text-base font-semibold"},QKe={key:0,class:"relative inline-flex"},XKe=["onUpdate:modelValue"],ZKe=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),JKe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},eje=["onUpdate:modelValue"],tje=["value","selected"],nje={key:1},sje={class:"",onclick:"btn_clicked(item)"},ije={key:2},rje={key:0},oje={class:"text-base font-semibold"},aje={key:0,class:"relative inline-flex"},lje=["onUpdate:modelValue"],cje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),dje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},uje=["onUpdate:modelValue"],pje={key:1},_je={class:"text-base font-semibold"},hje={key:0,class:"relative inline-flex"},fje=["onUpdate:modelValue"],mje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),gje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},bje=["onUpdate:modelValue"],Eje=["value","selected"],yje={key:3},vje={class:"text-base font-semibold"},Sje={key:0,class:"relative inline-flex"},Tje=["onUpdate:modelValue"],xje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Cje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},wje=["onUpdate:modelValue"],Rje=["onUpdate:modelValue","min","max"],Aje={key:4},Nje={class:"text-base font-semibold"},Oje={key:0,class:"relative inline-flex"},Mje=["onUpdate:modelValue"],Ije=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),kje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Dje=["onUpdate:modelValue"],Lje=["onUpdate:modelValue","min","max"],Pje={key:5},Fje={class:"mb-2 relative flex items-center gap-2"},Uje={for:"default-checkbox",class:"text-base font-semibold"},Bje=["onUpdate:modelValue"],Gje={key:0,class:"relative inline-flex"},Vje=["onUpdate:modelValue"],zje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Hje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},qje={key:6},$je={class:"text-base font-semibold"},Yje={key:0,class:"relative inline-flex"},Wje=["onUpdate:modelValue"],Kje=l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[l("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),jje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Qje=["onUpdate:modelValue"],Xje=l("hr",{class:"h-px my-4 bg-gray-200 border-0 dark:bg-gray-700"},null,-1),Zje={class:"flex flex-row flex-grow gap-3"},Jje={class:"p-2 text-center grow"};function eQe(t,e,n,s,i,r){return i.show?(T(),x("div",RKe,[l("div",AKe,[l("div",NKe,[l("div",OKe,[l("div",MKe,[IKe,l("h3",kKe,K(i.title),1)]),l("div",DKe,[l("button",{type:"button",onClick:e[0]||(e[0]=j(o=>r.hide(!1),["stop"])),title:"Close",class:"bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},FKe)])]),l("div",UKe,[(T(!0),x(Fe,null,Ke(i.controls_array,(o,a)=>(T(),x("div",BKe,[o.type=="str"||o.type=="string"?(T(),x("div",GKe,[o.options?G("",!0):(T(),x("div",VKe,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",zKe,K(o.name)+": ",1),o.help?(T(),x("label",HKe,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,qKe),[[$e,o.isHelp]]),$Ke])):G("",!0)],2),o.isHelp?(T(),x("p",YKe,K(o.help),1)):G("",!0),P(l("input",{type:"text","onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,WKe),[[pe,o.value]])])),o.options?(T(),x("div",KKe,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",jKe,K(o.name)+": ",1),o.help?(T(),x("label",QKe,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,XKe),[[$e,o.isHelp]]),ZKe])):G("",!0)],2),o.isHelp?(T(),x("p",JKe,K(o.help),1)):G("",!0),P(l("select",{"onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(T(!0),x(Fe,null,Ke(o.options,c=>(T(),x("option",{value:c,selected:o.value===c},K(c),9,tje))),256))],8,eje),[[Dt,o.value]])])):G("",!0)])):G("",!0),o.type=="btn"?(T(),x("div",nje,[l("button",sje,K(o.name),1)])):G("",!0),o.type=="text"?(T(),x("div",ije,[o.options?G("",!0):(T(),x("div",rje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",oje,K(o.name)+": ",1),o.help?(T(),x("label",aje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,lje),[[$e,o.isHelp]]),cje])):G("",!0)],2),o.isHelp?(T(),x("p",dje,K(o.help),1)):G("",!0),P(l("textarea",{"onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,uje),[[pe,o.value]])])),o.options?(T(),x("div",pje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",_je,K(o.name)+": ",1),o.help?(T(),x("label",hje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,fje),[[$e,o.isHelp]]),mje])):G("",!0)],2),o.isHelp?(T(),x("p",gje,K(o.help),1)):G("",!0),P(l("select",{"onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(T(!0),x(Fe,null,Ke(o.options,c=>(T(),x("option",{value:c,selected:o.value===c},K(c),9,Eje))),256))],8,bje),[[Dt,o.value]])])):G("",!0)])):G("",!0),o.type=="int"?(T(),x("div",yje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",vje,K(o.name)+": ",1),o.help?(T(),x("label",Sje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Tje),[[$e,o.isHelp]]),xje])):G("",!0)],2),o.isHelp?(T(),x("p",Cje,K(o.help),1)):G("",!0),P(l("input",{type:"number","onUpdate:modelValue":c=>o.value=c,step:"1",class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,wje),[[pe,o.value]]),o.min!=null&&o.max!=null?P((T(),x("input",{key:1,type:"range","onUpdate:modelValue":c=>o.value=c,min:o.min,max:o.max,step:"1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,Rje)),[[pe,o.value]]):G("",!0)])):G("",!0),o.type=="float"?(T(),x("div",Aje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",Nje,K(o.name)+": ",1),o.help?(T(),x("label",Oje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Mje),[[$e,o.isHelp]]),Ije])):G("",!0)],2),o.isHelp?(T(),x("p",kje,K(o.help),1)):G("",!0),P(l("input",{type:"number","onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,Dje),[[pe,o.value]]),o.min!=null&&o.max!=null?P((T(),x("input",{key:1,type:"range","onUpdate:modelValue":c=>o.value=c,min:o.min,max:o.max,step:"0.1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,Lje)),[[pe,o.value]]):G("",!0)])):G("",!0),o.type=="bool"?(T(),x("div",Pje,[l("div",Fje,[l("label",Uje,K(o.name)+": ",1),P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.value=c,class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"},null,8,Bje),[[$e,o.value]]),o.help?(T(),x("label",Gje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Vje),[[$e,o.isHelp]]),zje])):G("",!0)]),o.isHelp?(T(),x("p",Hje,K(o.help),1)):G("",!0)])):G("",!0),o.type=="list"?(T(),x("div",qje,[l("label",{class:Ge(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[l("div",$je,K(o.name)+": ",1),o.help?(T(),x("label",Yje,[P(l("input",{type:"checkbox","onUpdate:modelValue":c=>o.isHelp=c,class:"sr-only peer"},null,8,Wje),[[$e,o.isHelp]]),Kje])):G("",!0)],2),o.isHelp?(T(),x("p",jje,K(o.help),1)):G("",!0),P(l("input",{type:"text","onUpdate:modelValue":c=>o.value=c,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter comma separated values"},null,8,Qje),[[pe,o.value]])])):G("",!0),Xje]))),256)),l("div",Zje,[l("div",Jje,[l("button",{onClick:e[1]||(e[1]=j(o=>r.hide(!0),["stop"])),type:"button",class:"mr-2 text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},K(i.ConfirmButtonText),1),l("button",{onClick:e[2]||(e[2]=j(o=>r.hide(!1),["stop"])),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-11 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},K(i.DenyButtonText),1)])])])])])])):G("",!0)}const nc=ot(wKe,[["render",eQe]]),tQe={data(){return{show:!1,message:"",resolve:null,ConfirmButtonText:"Yes, I'm sure",DenyButtonText:"No, cancel"}},methods:{hide(t){this.show=!1,this.resolve&&(this.resolve(t),this.resolve=null)},askQuestion(t,e,n){return this.ConfirmButtonText=e||this.ConfirmButtonText,this.DenyButtonText=n||this.DenyButtonText,new Promise(s=>{this.message=t,this.show=!0,this.resolve=s})}}},nQe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},sQe={class:"relative w-full max-w-md max-h-full"},iQe={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},rQe=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),oQe=l("span",{class:"sr-only"},"Close modal",-1),aQe=[rQe,oQe],lQe={class:"p-4 text-center"},cQe=l("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),dQe={class:"mb-5 text-lg font-normal text-gray-500 dark:text-gray-400 select-none break-all"};function uQe(t,e,n,s,i,r){return i.show?(T(),x("div",nQe,[l("div",sQe,[l("div",iQe,[l("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},aQe),l("div",lQe,[cQe,l("h3",dQe,K(i.message),1),l("button",{onClick:e[1]||(e[1]=o=>r.hide(!0)),type:"button",class:"text-white bg-red-600 hover:bg-red-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"},K(i.ConfirmButtonText),1),l("button",{onClick:e[2]||(e[2]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},K(i.DenyButtonText),1)])])])])):G("",!0)}const v2=ot(tQe,[["render",uQe]]),pQe={props:{personality:{type:Object,required:!0},config:{type:Object,required:!0}},data(){return{show:!1,title:"Add AI Agent",iconUrl:"",file:null,tempConfig:{}}},methods:{showForm(){this.showDialog=!0},hideForm(){this.showDialog=!1},selectIcon(t){t.target.files&&(this.file=t.target.files[0],this.iconUrl=URL.createObjectURL(this.file))},showPanel(){this.show=!0},hide(){this.show=!1},submitForm(){oe.post("/set_personality_config",{client_id:this.$store.state.client_id,category:this.personality.category,name:this.personality.folder,config:this.config}).then(t=>{const e=t.data;console.log("Done"),e.status?(this.currentPersonConfig=e.config,this.showPersonalityEditor=!0):console.error(e.error)}).catch(t=>{console.error(t)})}}},_Qe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},hQe={class:"relative w-full max-h-full bg-bg-light dark:bg-bg-dark"},fQe={class:"w-full h-full relative items-center gap-2 rounded-lg border bg-bg-light dark:bg-bg-dark p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-900"},mQe=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),gQe=l("span",{class:"sr-only"},"Close modal",-1),bQe=[mQe,gQe],EQe={class:"justify-center text-center items-center w-full bg-bg-light dark:bg-bg-dark"},yQe={class:"w-full flex flex-row mt-4 text-center justify-center"},vQe={class:"w-full max-h-full container bg-bg-light dark:bg-bg-dark"},SQe={class:"mb-4 w-full"},TQe={class:"w-full bg-bg-light dark:bg-bg-dark"},xQe=l("td",null,[l("label",{for:"personalityConditioning"},"Personality Conditioning:")],-1),CQe=l("td",null,[l("label",{for:"userMessagePrefix"},"User Message Prefix:")],-1),wQe=l("td",null,[l("label",{for:"aiMessagePrefix"},"AI Message Prefix:")],-1),RQe=l("td",null,[l("label",{for:"linkText"},"Link Text:")],-1),AQe=l("td",null,[l("label",{for:"welcomeMessage"},"Welcome Message:")],-1),NQe=l("td",null,[l("label",{for:"modelTemperature"},"Model Temperature:")],-1),OQe=l("td",null,[l("label",{for:"modelTopK"},"Model Top K:")],-1),MQe=l("td",null,[l("label",{for:"modelTopP"},"Model Top P:")],-1),IQe=l("td",null,[l("label",{for:"modelRepeatPenalty"},"Model Repeat Penalty:")],-1),kQe=l("td",null,[l("label",{for:"modelRepeatLastN"},"Model Repeat Last N:")],-1),DQe=l("td",null,[l("label",{for:"recommendedBinding"},"Recommended Binding:")],-1),LQe=l("td",null,[l("label",{for:"recommendedModel"},"Recommended Model:")],-1),PQe=l("td",null,[l("label",{class:"dark:bg-black dark:text-primary w-full",for:"dependencies"},"Dependencies:")],-1),FQe=l("td",null,[l("label",{for:"antiPrompts"},"Anti Prompts:")],-1);function UQe(t,e,n,s,i,r){return i.show?(T(),x("div",_Qe,[l("div",hQe,[l("div",fQe,[l("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide()),class:"absolute top-1 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},bQe),l("div",EQe,[l("div",yQe,[l("button",{type:"submit",onClick:e[1]||(e[1]=j((...o)=>r.submitForm&&r.submitForm(...o),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Commit AI to Server "),l("button",{onClick:e[2]||(e[2]=j(o=>r.hide(),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Close ")]),l("div",vQe,[l("form",SQe,[l("table",TQe,[l("tr",null,[xQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"personalityConditioning","onUpdate:modelValue":e[3]||(e[3]=o=>n.config.personality_conditioning=o)},null,512),[[pe,n.config.personality_conditioning]])])]),l("tr",null,[CQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"userMessagePrefix","onUpdate:modelValue":e[4]||(e[4]=o=>n.config.user_message_prefix=o)},null,512),[[pe,n.config.user_message_prefix]])])]),l("tr",null,[wQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"aiMessagePrefix","onUpdate:modelValue":e[5]||(e[5]=o=>n.config.ai_message_prefix=o)},null,512),[[pe,n.config.ai_message_prefix]])])]),l("tr",null,[RQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"linkText","onUpdate:modelValue":e[6]||(e[6]=o=>n.config.link_text=o)},null,512),[[pe,n.config.link_text]])])]),l("tr",null,[AQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"welcomeMessage","onUpdate:modelValue":e[7]||(e[7]=o=>n.config.welcome_message=o)},null,512),[[pe,n.config.welcome_message]])])]),l("tr",null,[NQe,l("td",null,[P(l("input",{type:"number",id:"modelTemperature","onUpdate:modelValue":e[8]||(e[8]=o=>n.config.model_temperature=o)},null,512),[[pe,n.config.model_temperature]])])]),l("tr",null,[OQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopK","onUpdate:modelValue":e[9]||(e[9]=o=>n.config.model_top_k=o)},null,512),[[pe,n.config.model_top_k]])])]),l("tr",null,[MQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopP","onUpdate:modelValue":e[10]||(e[10]=o=>n.config.model_top_p=o)},null,512),[[pe,n.config.model_top_p]])])]),l("tr",null,[IQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatPenalty","onUpdate:modelValue":e[11]||(e[11]=o=>n.config.model_repeat_penalty=o)},null,512),[[pe,n.config.model_repeat_penalty]])])]),l("tr",null,[kQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatLastN","onUpdate:modelValue":e[12]||(e[12]=o=>n.config.model_repeat_last_n=o)},null,512),[[pe,n.config.model_repeat_last_n]])])]),l("tr",null,[DQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedBinding","onUpdate:modelValue":e[13]||(e[13]=o=>n.config.recommended_binding=o)},null,512),[[pe,n.config.recommended_binding]])])]),l("tr",null,[LQe,l("td",null,[P(l("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedModel","onUpdate:modelValue":e[14]||(e[14]=o=>n.config.recommended_model=o)},null,512),[[pe,n.config.recommended_model]])])]),l("tr",null,[PQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"dependencies","onUpdate:modelValue":e[15]||(e[15]=o=>n.config.dependencies=o)},null,512),[[pe,n.config.dependencies]])])]),l("tr",null,[FQe,l("td",null,[P(l("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"antiPrompts","onUpdate:modelValue":e[16]||(e[16]=o=>n.config.anti_prompts=o)},null,512),[[pe,n.config.anti_prompts]])])])])])])])])])])):G("",!0)}const S2=ot(pQe,[["render",UQe]]);const BQe={data(){return{showPopup:!1,webpageUrl:"https://lollms.com/"}},methods:{show(){this.showPopup=!0},hide(){this.showPopup=!1},save_configuration(){oe.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1)})}}},GQe=t=>(vs("data-v-d504dfc9"),t=t(),Ss(),t),VQe={key:0,class:"fixed inset-0 flex items-center justify-center z-50"},zQe={class:"popup-container"},HQe=["src"],qQe={class:"checkbox-container"},$Qe=GQe(()=>l("label",{for:"startup",class:"checkbox-label"},"Show at startup",-1));function YQe(t,e,n,s,i,r){return T(),dt(Fs,{name:"fade"},{default:Ie(()=>[i.showPopup?(T(),x("div",VQe,[l("div",zQe,[l("button",{onClick:e[0]||(e[0]=(...o)=>r.hide&&r.hide(...o)),class:"close-button"}," X "),l("iframe",{src:i.webpageUrl,class:"iframe-content"},null,8,HQe),l("div",qQe,[P(l("input",{type:"checkbox",id:"startup",class:"styled-checkbox","onUpdate:modelValue":e[1]||(e[1]=o=>this.$store.state.config.show_news_panel=o),onChange:e[2]||(e[2]=(...o)=>r.save_configuration&&r.save_configuration(...o))},null,544),[[$e,this.$store.state.config.show_news_panel]]),$Qe])])])):G("",!0)]),_:1})}const T2=ot(BQe,[["render",YQe],["__scopeId","data-v-d504dfc9"]]),WQe={props:{href:{type:String,default:"#"},icon:{type:String,required:!0},title:{type:String,default:""}},methods:{onClick(t){this.href==="#"&&(t.preventDefault(),this.$emit("click"))}}},KQe=["href","title"],jQe=["data-feather"];function QQe(t,e,n,s,i,r){return T(),x("a",{href:n.href,onClick:e[0]||(e[0]=(...o)=>r.onClick&&r.onClick(...o)),class:"text-2xl hover:text-primary transition duration-150 ease-in-out",title:n.title},[l("i",{"data-feather":n.icon},null,8,jQe)],8,KQe)}const Ed=ot(WQe,[["render",QQe]]),XQe={props:{href:{type:String,required:!0},icon:{type:String,required:!0},title:{type:String,default:"Visit our social media"}}},ZQe=["href","title"],JQe=["data-feather"],eXe={key:1,class:"w-6 h-6 fill-current",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},tXe=l("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"},null,-1),nXe=[tXe],sXe={key:2,class:"w-6 h-6 fill-current",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},iXe=l("path",{d:"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},null,-1),rXe=[iXe];function oXe(t,e,n,s,i,r){return T(),x("a",{href:n.href,target:"_blank",class:"text-2xl hover:text-primary transition duration-150 ease-in-out",title:n.title},[n.icon!=="x"&&n.icon!=="discord"?(T(),x("i",{key:0,"data-feather":n.icon},null,8,JQe)):n.icon==="x"?(T(),x("svg",eXe,nXe)):n.icon==="discord"?(T(),x("svg",sXe,rXe)):G("",!0)],8,ZQe)}const dl=ot(XQe,[["render",oXe]]),aXe="/assets/fastapi-4a6542d0.png",lXe="/assets/discord-6817c341.svg",cXe={key:0,class:"navbar-container z-60"},dXe={class:"game-menu"},uXe={key:0,class:"strawberry-emoji"},pXe={name:"Navigation",computed:{filteredNavLinks(){return filteredNavLinks.value}}},x2=Object.assign(pXe,{setup(t){const e=$P(),n=ct(0),s=ct([]),i=[{active:!0,route:"discussions",text:"Discussions"},{active:!0,route:"playground",text:"Playground"},{active:!0,route:"PersonalitiesZoo",text:"Personalities Zoo"},{active:!0,route:"AppsZoo",text:"Apps Zoo"},{active:!1,route:"AutoSD",text:"Auto111-SD",condition:()=>Ms.state.config.enable_sd_service||Ms.state.config.active_tti_service==="autosd"},{active:!1,route:"ComfyUI",text:"ComfyUI",condition:()=>Ms.state.config.enable_comfyui_service||Ms.state.config.active_tti_service==="comfyui"},{active:!1,route:"interactive",text:"Interactive",condition:()=>Ms.state.config.active_tts_service!=="None"&&Ms.state.config.active_stt_service!=="None"},{active:!0,route:"settings",text:"Settings"},{active:!0,route:"help_view",text:"Help"}],r=et(()=>Ms.state.ready?i.filter(d=>d.condition?d.condition():d.active):i.filter(d=>d.active));ci(()=>{o()}),In(()=>e.name,o);function o(){const d=r.value.findIndex(u=>u.route===e.name);d!==-1&&(n.value=d)}function a(d){return e.name===d}function c(d){n.value=d}return(d,u)=>d.$store.state.ready?(T(),x("div",cXe,[l("nav",dXe,[(T(!0),x(Fe,null,Ke(r.value,(h,f)=>(T(),dt(Lt(Qb),{key:f,to:{name:h.route},class:Ge(["menu-item",{"active-link":a(h.route)}]),onClick:m=>c(f),ref_for:!0,ref_key:"menuItems",ref:s},{default:Ie(()=>[Je(K(h.text)+" ",1),a(h.route)?(T(),x("span",uXe,"🍓")):G("",!0)]),_:2},1032,["to","class","onClick"]))),128))])])):G("",!0)}}),_Xe="/assets/static_info-b284ded1.svg",hXe="/assets/animated_info-7edcb0f9.svg",Bs="/assets/logo-fa585cf4.png",fXe="/assets/fun_mode-14669a57.svg",mXe="/assets/normal_mode-f539f08d.svg";const gXe={class:"top-0 shadow-lg navbar-container"},bXe={class:"container flex flex-col lg:flex-row items-center gap-2 pb-0"},EXe={class:"logo-container"},yXe=["src"],vXe=l("div",{class:"flex flex-col justify-center"},[l("div",{class:"text-2xl md:text-2xl font-bold text-red-600 mb-2",style:{"text-shadow":"2px 2px 0px white, -2px -2px 0px white, 2px -2px 0px white, -2px 2px 0px white"}}," L🍓LLMS "),l("p",{class:"text-gray-400 text-sm"},"One tool to rule them all")],-1),SXe={class:"flex gap-3 flex-1 items-center justify-end"},TXe={key:0,title:"Model is ok",class:"text-green-500 dark:text-green-400 cursor-pointer transition-transform hover:scale-110"},xXe=l("svg",{class:"w-8 h-8",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M9 12L11 14L15 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),CXe=[xXe],wXe={key:1,title:"Model is not ok",class:"text-red-500 dark:text-red-400 cursor-pointer transition-transform hover:scale-110"},RXe=l("svg",{class:"w-8 h-8",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M15 9L9 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),l("path",{d:"M9 9L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1),AXe=[RXe],NXe={key:2,title:"Text is not being generated. Ready to generate",class:"text-green-500 dark:text-green-400 cursor-pointer transition-transform hover:scale-110"},OXe=l("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9"})],-1),MXe=[OXe],IXe={key:3,title:"Generation in progress...",class:"text-yellow-500 dark:text-yellow-400 cursor-pointer transition-transform hover:scale-110"},kXe=l("svg",{class:"w-6 h-6 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),DXe=[kXe],LXe={key:4,title:"Connection status: Connected",class:"text-green-500 dark:text-green-400 cursor-pointer transition-transform hover:scale-110"},PXe=l("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1),FXe=[PXe],UXe={key:5,title:"Connection status: Not connected",class:"text-red-500 dark:text-red-400 cursor-pointer transition-transform hover:scale-110"},BXe=l("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"})],-1),GXe=[BXe],VXe={class:"flex items-center space-x-4"},zXe={class:"flex items-center space-x-4"},HXe={class:"relative group",title:"Lollms News"},qXe=l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"w-full h-full"},[l("path",{d:"M19 20H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1m2 13a2 2 0 0 1-2-2V7m2 13a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"})],-1),$Xe=[qXe],YXe=l("span",{class:"absolute hidden group-hover:block bg-gray-800 text-white text-xs rounded py-1 px-2 top-full left-1/2 transform -translate-x-1/2 mt-2 whitespace-nowrap"}," Lollms News ",-1),WXe={class:"relative group"},KXe=Na('',1),jXe=[KXe],QXe=Na('',1),XXe=[QXe],ZXe={class:"absolute hidden group-hover:block bg-gray-800 text-white text-xs rounded py-1 px-2 top-full left-1/2 transform -translate-x-1/2 mb-2 whitespace-nowrap"},JXe={class:"language-selector relative"},eZe={key:0,ref:"languageMenu",class:"container language-menu absolute left-0 mt-1 bg-white dark:bg-bg-dark-tone rounded shadow-lg z-10 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",style:{position:"absolute",top:"100%",width:"200px","max-height":"300px","overflow-y":"auto"}},tZe={style:{"list-style-type":"none","padding-left":"0","margin-left":"0"}},nZe=["onClick"],sZe=["onClick"],iZe={class:"cursor-pointer hover:text-white py-0 px-0 block whitespace-no-wrap"},rZe=l("i",{"data-feather":"sun"},null,-1),oZe=[rZe],aZe=l("i",{"data-feather":"moon"},null,-1),lZe=[aZe],cZe={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},dZe={class:"text-2xl animate-pulse mt-2 text-white"},uZe={id:"app"},pZe={name:"TopBar",computed:{storeLogo(){return this.$store.state.config?Bs:this.$store.state.config.app_custom_logo!=""?"/user_infos/"+this.$store.state.config.app_custom_logo:Bs},languages:{get(){return console.log("searching languages",this.$store.state.languages),this.$store.state.languages}},language:{get(){return console.log("searching language",this.$store.state.language),this.$store.state.language}},currentPersonConfig(){try{return this.$store.state.currentPersonConfig}catch{console.log("Error finding current personality configuration");return}},selectedPersonality(){try{return this.$store.state.selectedPersonality}catch{console.log("Error finding current personality configuration");return}},loading_infos(){return this.$store.state.loading_infos},is_fun_mode(){try{return this.$store.state.config?this.$store.state.config.fun_mode:!1}catch(t){return console.error("Oopsie! Looks like we hit a snag: ",t),!1}},isModelOK(){return this.$store.state.isModelOk},isGenerating(){return this.$store.state.isGenerating},isConnected(){return this.$store.state.isConnected}},components:{Toast:Zl,MessageBox:y2,ProgressBar:Wu,UniversalForm:nc,YesNoDialog:v2,Navigation:x2,PersonalityEditor:S2,PopupViewer:T2,ActionButton:Ed,SocialIcon:dl},watch:{"$store.state.config.fun_mode":function(t,e){console.log(`Fun mode changed from ${e} to ${t}! 🎉`)},"$store.state.isConnected":function(t,e){this.isConnected?(console.log("this.is_first_connection"),console.log(this.is_first_connection),this.is_first_connection||(this.$store.state.messageBox.hideMessage(),this.$store.state.messageBox.showMessage("Server connected."),this.$store.state.config.activate_audio_infos&&this.connection_recovered_audio.play())):(this.$store.state.messageBox.showBlockingMessage("Server suddenly disconnected. Please reboot the server to recover the connection"),this.is_first_connection=!1,console.log("this.is_first_connection set to false"),console.log(this.is_first_connection),this.$store.state.config.activate_audio_infos&&this.connection_lost_audio.play()),Le(()=>{ze.replace()})}},data(){return{customLanguage:"",selectedLanguage:"",isLanguageMenuVisible:!1,static_info:_Xe,animated_info:hXe,normal_mode:mXe,fun_mode:fXe,is_first_connection:!0,discord:lXe,FastAPI:aXe,rebooting_audio:new Audio("rebooting.wav"),connection_lost_audio:new Audio("connection_lost.wav"),connection_recovered_audio:new Audio("connection_recovered.wav"),database_selectorDialogVisible:!1,progress_visibility:!1,progress_value:0,codeBlockStylesheet:"",sunIcon:document.querySelector(".sun"),moonIcon:document.querySelector(".moon"),userTheme:localStorage.getItem("theme"),systemTheme:window.matchMedia("prefers-color-scheme: dark").matches,posts_headers:{accept:"application/json","Content-Type":"application/json"}}},async mounted(){this.$store.state.toast=this.$refs.toast,this.$store.state.news=this.$refs.news,this.$store.state.messageBox=this.$refs.messageBox,this.$store.state.universalForm=this.$refs.universalForm,this.$store.state.yesNoDialog=this.$refs.yesNoDialog,this.$store.state.personality_editor=this.$refs.personality_editor,this.sunIcon=document.querySelector(".sun"),this.moonIcon=document.querySelector(".moon"),this.userTheme=localStorage.getItem("theme"),this.systemTheme=window.matchMedia("prefers-color-scheme: dark").matches,this.themeCheck(),Le(()=>{ze.replace()}),window.addEventListener("resize",this.adjustMenuPosition)},beforeUnmount(){window.removeEventListener("resize",this.adjustMenuPosition)},created(){this.sunIcon=document.querySelector(".sun"),this.moonIcon=document.querySelector(".moon"),this.userTheme=localStorage.getItem("theme"),this.systemTheme=window.matchMedia("prefers-color-scheme: dark").matches},methods:{adjustMenuPosition(){const t=this.$refs.languageMenu;if(t){const e=t.getBoundingClientRect(),n=window.innerWidth;e.right>n?(t.style.left="auto",t.style.right="0"):(t.style.left="0",t.style.right="auto")}},addCustomLanguage(){this.customLanguage.trim()!==""&&(this.selectLanguage(this.customLanguage),this.customLanguage="")},async selectLanguage(t){await this.$store.dispatch("changeLanguage",t),this.toggleLanguageMenu(),this.language=t},async deleteLanguage(t){await this.$store.dispatch("deleteLanguage",t),this.toggleLanguageMenu(),this.language=t},toggleLanguageMenu(){console.log("Toggling language ",this.isLanguageMenuVisible),this.isLanguageMenuVisible=!this.isLanguageMenuVisible},restartProgram(t){t.preventDefault(),this.$store.state.api_post_req("restart_program",this.$store.state.client_id),this.rebooting_audio.play(),this.$store.state.toast.showToast("Rebooting the app. Please wait...",410,!1),console.log("this.$store.state.api_get_req",this.$store.state.api_get_req),setTimeout(()=>{window.close()},2e3)},refreshPage(){window.location.href.split("/").length>4?window.location.href="/":window.location.reload(!0)},handleOk(t){console.log("Input text:",t)},applyConfiguration(){this.isLoading=!0,console.log(this.$store.state.config),oe.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config},{headers:this.posts_headers}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})})},fun_mode_on(){console.log("Turning on fun mode"),this.$store.state.config.fun_mode=!0,this.applyConfiguration()},fun_mode_off(){console.log("Turning off fun mode"),this.$store.state.config.fun_mode=!1,this.applyConfiguration()},showNews(){this.$store.state.news.show()},themeCheck(){if(this.userTheme=="dark"||!this.userTheme&&this.systemTheme){document.documentElement.classList.add("dark"),this.moonIcon.classList.add("display-none"),Le(()=>{Op(()=>Promise.resolve({}),["assets/stackoverflow-dark-57af98f5.css"])});return}Le(()=>{Op(()=>Promise.resolve({}),["assets/stackoverflow-light-077a2b3c.css"])}),this.sunIcon.classList.add("display-none")},themeSwitch(){if(document.documentElement.classList.contains("dark")){document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light"),this.userTheme=="light",this.iconToggle();return}Op(()=>Promise.resolve({}),["assets/tokyo-night-dark-f9656fc4.css"]),document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark"),this.userTheme=="dark",this.iconToggle(),window.dispatchEvent(new Event("themeChanged"))},iconToggle(){this.sunIcon.classList.toggle("display-none"),this.moonIcon.classList.toggle("display-none")}}},_Ze=Object.assign(pZe,{setup(t){return(e,n)=>(T(),x("header",gXe,[l("nav",bXe,[V(Lt(Qb),{to:{name:"discussions"},class:"flex items-center space-x-2"},{default:Ie(()=>[l("div",EXe,[l("img",{class:"w-12 h-12 rounded-full object-cover logo-image",src:e.$store.state.config==null?Lt(Bs):e.$store.state.config.app_custom_logo!=""?"/user_infos/"+e.$store.state.config.app_custom_logo:Lt(Bs),alt:"Logo",title:"LoLLMS WebUI"},null,8,yXe)]),vXe]),_:1}),l("div",SXe,[e.isModelOK?(T(),x("div",TXe,CXe)):(T(),x("div",wXe,AXe)),e.isGenerating?(T(),x("div",IXe,DXe)):(T(),x("div",NXe,MXe)),e.isConnected?(T(),x("div",LXe,FXe)):(T(),x("div",UXe,GXe))]),l("div",VXe,[V(Ed,{onClick:e.restartProgram,icon:"power",title:"restart program"},null,8,["onClick"]),V(Ed,{onClick:e.refreshPage,icon:"refresh-ccw",title:"refresh page"},null,8,["onClick"]),V(Ed,{href:"/docs",icon:"file-text",title:"Fast API doc"})]),l("div",zXe,[V(dl,{href:"https://github.com/ParisNeo/lollms-webui",icon:"github"}),V(dl,{href:"https://www.youtube.com/channel/UCJzrg0cyQV2Z30SQ1v2FdSQ",icon:"youtube"}),V(dl,{href:"https://x.com/ParisNeo_AI",icon:"x"}),V(dl,{href:"https://discord.com/channels/1092918764925882418",icon:"discord"})]),l("div",HXe,[l("div",{onClick:n[0]||(n[0]=s=>e.showNews()),class:"text-2xl w-8 h-8 cursor-pointer transition-colors duration-300 text-gray-600 hover:text-primary dark:text-gray-300 dark:hover:text-primary"},$Xe),YXe]),l("div",WXe,[e.is_fun_mode?(T(),x("div",{key:0,title:"Fun mode is on, press to turn off",class:"w-8 h-8 cursor-pointer text-green-500 dark:text-green-400 hover:text-green-600 dark:hover:text-green-300 transition-colors duration-300",onClick:n[1]||(n[1]=s=>e.fun_mode_off())},jXe)):(T(),x("div",{key:1,title:"Fun mode is off, press to turn on",class:"w-8 h-8 cursor-pointer text-gray-500 dark:text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors duration-300",onClick:n[2]||(n[2]=s=>e.fun_mode_on())},XXe)),l("span",ZXe,K(e.is_fun_mode?"Turn off fun mode":"Turn on fun mode"),1)]),l("div",JXe,[l("button",{onClick:n[3]||(n[3]=(...s)=>e.toggleLanguageMenu&&e.toggleLanguageMenu(...s)),class:"bg-transparent text-black dark:text-white py-1 px-1 rounded font-bold uppercase transition-colors duration-300 hover:bg-blue-500"},K(e.$store.state.language.slice(0,2)),1),e.isLanguageMenuVisible?(T(),x("div",eZe,[l("ul",tZe,[(T(!0),x(Fe,null,Ke(e.languages,s=>(T(),x("li",{key:s,class:"relative flex items-center",style:{"padding-left":"0","margin-left":"0"}},[l("button",{onClick:i=>e.deleteLanguage(s),class:"mr-2 text-red-500 hover:text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-opacity-50 rounded-full"},"✕",8,nZe),l("div",{onClick:i=>e.selectLanguage(s),class:Ge({"cursor-pointer hover:bg-blue-500 hover:text-white py-2 px-4 block whitespace-no-wrap":!0,"bg-blue-500 text-white":s===e.$store.state.language,"flex-grow":!0})},K(s),11,sZe)]))),128)),l("li",iZe,[P(l("input",{type:"text","onUpdate:modelValue":n[4]||(n[4]=s=>e.customLanguage=s),onKeyup:n[5]||(n[5]=zs(j((...s)=>e.addCustomLanguage&&e.addCustomLanguage(...s),["prevent"]),["enter"])),placeholder:"Enter language...",class:"bg-transparent border border-gray-300 rounded py-0 px-0 mx-0 my-1 w-full"},null,544),[[pe,e.customLanguage]])])])],512)):G("",!0)]),l("div",{class:"sun text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Switch to Light theme",onClick:n[6]||(n[6]=s=>e.themeSwitch())},oZe),l("div",{class:"moon text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Switch to Dark theme",onClick:n[7]||(n[7]=s=>e.themeSwitch())},lZe)]),V(x2),V(Zl,{ref:"toast"},null,512),V(y2,{ref:"messageBox"},null,512),P(l("div",cZe,[V(Wu,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),l("p",dZe,K(e.loading_infos)+" ...",1)],512),[[wt,e.progress_visibility]]),V(nc,{ref:"universalForm",class:"z-20"},null,512),V(v2,{ref:"yesNoDialog",class:"z-20"},null,512),V(S2,{ref:"personality_editor",config:e.currentPersonConfig,personality:e.selectedPersonality},null,8,["config","personality"]),l("div",uZe,[V(T2,{ref:"news"},null,512)])]))}}),hZe={class:"flex overflow-hidden flex-grow w-full"},fZe={__name:"App",setup(t){return(e,n)=>(T(),x("div",{class:Ge([e.currentTheme,"flex flex-col h-screen font-sans background-color text-slate-950 dark:bg-bg-dark dark:text-slate-50 w-full overflow-hidden"])},[V(_Ze),l("div",hZe,[V(Lt(DA),null,{default:Ie(({Component:s})=>[(T(),dt(_I,null,[(T(),dt(Tu(s)))],1024))]),_:1})])],2))}},ai=Object.create(null);ai.open="0";ai.close="1";ai.ping="2";ai.pong="3";ai.message="4";ai.upgrade="5";ai.noop="6";const yd=Object.create(null);Object.keys(ai).forEach(t=>{yd[ai[t]]=t});const Bg={type:"error",data:"parser error"},C2=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",w2=typeof ArrayBuffer=="function",R2=t=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,uE=({type:t,data:e},n,s)=>C2&&e instanceof Blob?n?s(e):r1(e,s):w2&&(e instanceof ArrayBuffer||R2(e))?n?s(e):r1(new Blob([e]),s):s(ai[t]+(e||"")),r1=(t,e)=>{const n=new FileReader;return n.onload=function(){const s=n.result.split(",")[1];e("b"+(s||""))},n.readAsDataURL(t)};function o1(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let Tm;function mZe(t,e){if(C2&&t.data instanceof Blob)return t.data.arrayBuffer().then(o1).then(e);if(w2&&(t.data instanceof ArrayBuffer||R2(t.data)))return e(o1(t.data));uE(t,!1,n=>{Tm||(Tm=new TextEncoder),e(Tm.encode(n))})}const a1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ul=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let t=0;t{let e=t.length*.75,n=t.length,s,i=0,r,o,a,c;t[t.length-1]==="="&&(e--,t[t.length-2]==="="&&e--);const d=new ArrayBuffer(e),u=new Uint8Array(d);for(s=0;s>4,u[i++]=(o&15)<<4|a>>2,u[i++]=(a&3)<<6|c&63;return d},bZe=typeof ArrayBuffer=="function",pE=(t,e)=>{if(typeof t!="string")return{type:"message",data:A2(t,e)};const n=t.charAt(0);return n==="b"?{type:"message",data:EZe(t.substring(1),e)}:yd[n]?t.length>1?{type:yd[n],data:t.substring(1)}:{type:yd[n]}:Bg},EZe=(t,e)=>{if(bZe){const n=gZe(t);return A2(n,e)}else return{base64:!0,data:t}},A2=(t,e)=>{switch(e){case"blob":return t instanceof Blob?t:new Blob([t]);case"arraybuffer":default:return t instanceof ArrayBuffer?t:t.buffer}},N2=String.fromCharCode(30),yZe=(t,e)=>{const n=t.length,s=new Array(n);let i=0;t.forEach((r,o)=>{uE(r,!1,a=>{s[o]=a,++i===n&&e(s.join(N2))})})},vZe=(t,e)=>{const n=t.split(N2),s=[];for(let i=0;i{const s=n.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const r=new DataView(i.buffer);r.setUint8(0,126),r.setUint16(1,s)}else{i=new Uint8Array(9);const r=new DataView(i.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(s))}t.data&&typeof t.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(n)})}})}let xm;function wc(t){return t.reduce((e,n)=>e+n.length,0)}function Rc(t,e){if(t[0].length===e)return t.shift();const n=new Uint8Array(e);let s=0;for(let i=0;iMath.pow(2,53-32)-1){a.enqueue(Bg);break}i=u*Math.pow(2,32)+d.getUint32(4),s=3}else{if(wc(n)t){a.enqueue(Bg);break}}}})}const O2=4;function an(t){if(t)return xZe(t)}function xZe(t){for(var e in an.prototype)t[e]=an.prototype[e];return t}an.prototype.on=an.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this};an.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this};an.prototype.off=an.prototype.removeListener=an.prototype.removeAllListeners=an.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+t];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+t],this;for(var s,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function M2(t,...e){return e.reduce((n,s)=>(t.hasOwnProperty(s)&&(n[s]=t[s]),n),{})}const CZe=ds.setTimeout,wZe=ds.clearTimeout;function Ku(t,e){e.useNativeTimers?(t.setTimeoutFn=CZe.bind(ds),t.clearTimeoutFn=wZe.bind(ds)):(t.setTimeoutFn=ds.setTimeout.bind(ds),t.clearTimeoutFn=ds.clearTimeout.bind(ds))}const RZe=1.33;function AZe(t){return typeof t=="string"?NZe(t):Math.ceil((t.byteLength||t.size)*RZe)}function NZe(t){let e=0,n=0;for(let s=0,i=t.length;s=57344?n+=3:(s++,n+=4);return n}function OZe(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function MZe(t){let e={},n=t.split("&");for(let s=0,i=n.length;s0);return e}function k2(){const t=d1(+new Date);return t!==c1?(l1=0,c1=t):t+"."+d1(l1++)}for(;Ac{this.readyState="paused",e()};if(this.polling||!this.writable){let s=0;this.polling&&(s++,this.once("pollComplete",function(){--s||n()})),this.writable||(s++,this.once("drain",function(){--s||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const n=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};vZe(e,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,yZe(e,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=k2()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(e,n)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Ko(this.uri(),e)}doWrite(e,n){const s=this.request({method:"POST",data:e});s.on("success",n),s.on("error",(i,r)=>{this.onError("xhr post error",i,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(n,s)=>{this.onError("xhr poll error",n,s)}),this.pollXhr=e}}let Ko=class vd extends an{constructor(e,n){super(),Ku(this,n),this.opts=n,this.method=n.method||"GET",this.uri=e,this.data=n.data!==void 0?n.data:null,this.create()}create(){var e;const n=M2(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const s=this.xhr=new L2(n);try{s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this.opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(s)),s.readyState===4&&(s.status===200||s.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof s.status=="number"?s.status:0)},0))},s.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=vd.requestsCount++,vd.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=LZe,e)try{this.xhr.abort()}catch{}typeof document<"u"&&delete vd.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};Ko.requestsCount=0;Ko.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",u1);else if(typeof addEventListener=="function"){const t="onpagehide"in ds?"pagehide":"unload";addEventListener(t,u1,!1)}}function u1(){for(let t in Ko.requests)Ko.requests.hasOwnProperty(t)&&Ko.requests[t].abort()}const hE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,n)=>n(e,0))(),Nc=ds.WebSocket||ds.MozWebSocket,p1=!0,UZe="arraybuffer",_1=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class BZe extends _E{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),n=this.opts.protocols,s=_1?{}:M2(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=p1&&!_1?n?new Nc(e,n):new Nc(e):new Nc(e,n,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let n=0;n{const o={};try{p1&&this.ws.send(r)}catch{}i&&hE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=k2()),this.supportsBinary||(n.b64=1),this.createUri(e,n)}check(){return!!Nc}}class GZe extends _E{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(e=>{const n=TZe(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(n).getReader(),i=SZe();i.readable.pipeTo(e.writable),this.writer=i.writable.getWriter();const r=()=>{s.read().then(({done:a,value:c})=>{a||(this.onPacket(c),r())}).catch(a=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then(()=>this.onOpen())})}))}write(e){this.writable=!1;for(let n=0;n{i&&hE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this.transport)===null||e===void 0||e.close()}}const VZe={websocket:BZe,webtransport:GZe,polling:FZe},zZe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,HZe=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Vg(t){if(t.length>2e3)throw"URI too long";const e=t,n=t.indexOf("["),s=t.indexOf("]");n!=-1&&s!=-1&&(t=t.substring(0,n)+t.substring(n,s).replace(/:/g,";")+t.substring(s,t.length));let i=zZe.exec(t||""),r={},o=14;for(;o--;)r[HZe[o]]=i[o]||"";return n!=-1&&s!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=qZe(r,r.path),r.queryKey=$Ze(r,r.query),r}function qZe(t,e){const n=/\/{2,9}/g,s=e.replace(n,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function $Ze(t,e){const n={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,r){i&&(n[i]=r)}),n}let P2=class Po extends an{constructor(e,n={}){super(),this.binaryType=UZe,this.writeBuffer=[],e&&typeof e=="object"&&(n=e,e=null),e?(e=Vg(e),n.hostname=e.host,n.secure=e.protocol==="https"||e.protocol==="wss",n.port=e.port,e.query&&(n.query=e.query)):n.host&&(n.hostname=Vg(n.host).host),Ku(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=MZe(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const n=Object.assign({},this.opts.query);n.EIO=O2,n.transport=e,this.id&&(n.sid=this.id);const s=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new VZe[e](s)}open(){let e;if(this.opts.rememberUpgrade&&Po.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)e="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else e=this.transports[0];this.readyState="opening";try{e=this.createTransport(e)}catch{this.transports.shift(),this.open();return}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(e){let n=this.createTransport(e),s=!1;Po.priorWebsocketSuccess=!1;const i=()=>{s||(n.send([{type:"ping",data:"probe"}]),n.once("packet",h=>{if(!s)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Po.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(u(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function r(){s||(s=!0,u(),n.close(),n=null)}const o=h=>{const f=new Error("probe error: "+h);f.transport=n.name,r(),this.emitReserved("upgradeError",f)};function a(){o("transport closed")}function c(){o("socket closed")}function d(h){n&&h.name!==n.name&&r()}const u=()=>{n.removeListener("open",i),n.removeListener("error",o),n.removeListener("close",a),this.off("close",c),this.off("upgrading",d)};n.once("open",i),n.once("error",o),n.once("close",a),this.once("close",c),this.once("upgrading",d),this.upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Po.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let e=0;const n=this.upgrades.length;for(;e{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let s=0;s0&&n>this.maxPayload)return this.writeBuffer.slice(0,s);n+=2}return this.writeBuffer}write(e,n,s){return this.sendPacket("message",e,n,s),this}send(e,n,s){return this.sendPacket("message",e,n,s),this}sendPacket(e,n,s,i){if(typeof n=="function"&&(i=n,n=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const r={type:e,data:n,options:s};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),e()},s=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}onError(e){Po.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const n=[];let s=0;const i=e.length;for(;stypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,F2=Object.prototype.toString,jZe=typeof Blob=="function"||typeof Blob<"u"&&F2.call(Blob)==="[object BlobConstructor]",QZe=typeof File=="function"||typeof File<"u"&&F2.call(File)==="[object FileConstructor]";function fE(t){return WZe&&(t instanceof ArrayBuffer||KZe(t))||jZe&&t instanceof Blob||QZe&&t instanceof File}function Sd(t,e){if(!t||typeof t!="object")return!1;if(Array.isArray(t)){for(let n=0,s=t.length;n=0&&t.num{delete this.acks[e];for(let o=0;o{this.io.clearTimeoutFn(r),n.apply(this,[null,...o])}}emitWithAck(e,...n){const s=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,r)=>{n.push((o,a)=>s?o?r(o):i(a):i(o)),this.emit(e,...n)})}_addToQueue(e){let n;typeof e[e.length-1]=="function"&&(n=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...r)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...r)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!e||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Ot.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,n)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Ot.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Ot.EVENT:case Ot.BINARY_EVENT:this.onevent(e);break;case Ot.ACK:case Ot.BINARY_ACK:this.onack(e);break;case Ot.DISCONNECT:this.ondisconnect();break;case Ot.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const n=e.data||[];e.id!=null&&n.push(this.ack(e.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const s of n)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const n=this;let s=!1;return function(...i){s||(s=!0,n.packet({type:Ot.ACK,id:e,data:i}))}}onack(e){const n=this.acks[e.id];typeof n=="function"&&(n.apply(this,e.data),delete this.acks[e.id])}onconnect(e,n){this.id=e,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Ot.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const n=this._anyListeners;for(let s=0;s0&&t.jitter<=1?t.jitter:0,this.attempts=0}Pa.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=Math.floor(e*10)&1?t+n:t-n}return Math.min(t,this.max)|0};Pa.prototype.reset=function(){this.attempts=0};Pa.prototype.setMin=function(t){this.ms=t};Pa.prototype.setMax=function(t){this.max=t};Pa.prototype.setJitter=function(t){this.jitter=t};class qg extends an{constructor(e,n){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(n=e,e=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,Ku(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((s=n.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new Pa({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=e;const i=n.parser||sJe;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var n;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(n=this.backoff)===null||n===void 0||n.setMin(e),this)}randomizationFactor(e){var n;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(n=this.backoff)===null||n===void 0||n.setJitter(e),this)}reconnectionDelayMax(e){var n;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(n=this.backoff)===null||n===void 0||n.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new P2(this.uri,this.opts);const n=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=Os(n,"open",function(){s.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=Os(n,"error",r);if(this._timeout!==!1){const a=this._timeout,c=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),n.close()},a);this.opts.autoUnref&&c.unref(),this.subs.push(()=>{this.clearTimeoutFn(c)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Os(e,"ping",this.onping.bind(this)),Os(e,"data",this.ondata.bind(this)),Os(e,"error",this.onerror.bind(this)),Os(e,"close",this.onclose.bind(this)),Os(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(n){this.onclose("parse error",n)}}ondecoded(e){hE(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,n){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new U2(this,e,n),this.nsps[e]=s),s}_destroy(e){const n=Object.keys(this.nsps);for(const s of n)if(this.nsps[s].active)return;this._close()}_packet(e){const n=this.encoder.encode(e);for(let s=0;se()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},n);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Xa={};function Td(t,e){typeof t=="object"&&(e=t,t=void 0),e=e||{};const n=YZe(t,e.path||"/socket.io"),s=n.source,i=n.id,r=n.path,o=Xa[i]&&r in Xa[i].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let c;return a?c=new qg(s,e):(Xa[i]||(Xa[i]=new qg(s,e)),c=Xa[i]),n.query&&!e.query&&(e.query=n.queryKey),c.socket(n.path,e)}Object.assign(Td,{Manager:qg,Socket:U2,io:Td,connect:Td});const B2="/";console.log(B2);const qe=new Td(B2,{reconnection:!0,reconnectionAttempts:10,reconnectionDelay:1e3});const rJe={props:{value:String,inputType:{type:String,default:"text",validator:t=>["text","email","password","file","path","integer","float"].includes(t)},fileAccept:String},data(){return{inputValue:this.value,placeholderText:this.getPlaceholderText()}},watch:{value(t){console.log("Changing value to ",t),this.inputValue=t}},mounted(){Le(()=>{ze.replace()}),console.log("Changing value to ",this.value),this.inputValue=this.value},methods:{handleSliderInput(t){this.inputValue=t.target.value,this.$emit("input",t.target.value)},getPlaceholderText(){switch(this.inputType){case"text":return"Enter text here";case"email":return"Enter your email";case"password":return"Enter your password";case"file":case"path":return"Choose a file";case"integer":return"Enter an integer";case"float":return"Enter a float";default:return"Enter value here"}},handleInput(t){if(this.inputType==="integer"){const e=t.target.value.replace(/[^0-9]/g,"");this.inputValue=e}console.log("handling input : ",t.target.value),this.$emit("input",t.target.value)},async pasteFromClipboard(){try{const t=await navigator.clipboard.readText();this.handleClipboardData(t)}catch(t){console.error("Failed to read from clipboard:",t)}},handlePaste(t){const e=t.clipboardData.getData("text");this.handleClipboardData(e)},handleClipboardData(t){switch(this.inputType){case"email":this.inputValue=this.isValidEmail(t)?t:"";break;case"password":this.inputValue=t;break;case"file":case"path":this.inputValue="";break;case"integer":this.inputValue=this.parseInteger(t);break;case"float":this.inputValue=this.parseFloat(t);break;default:this.inputValue=t;break}},isValidEmail(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)},parseInteger(t){const e=parseInt(t);return isNaN(e)?"":e},parseFloat(t){const e=parseFloat(t);return isNaN(e)?"":e},openFileInput(){this.$refs.fileInput.click()},handleFileInputChange(t){const e=t.target.files[0];e&&(this.inputValue=e.name)}}},oJe={class:"flex items-center space-x-2"},aJe=["value","type","placeholder"],lJe=["value","min","max"],cJe=l("i",{"data-feather":"clipboard"},null,-1),dJe=[cJe],uJe=l("i",{"data-feather":"upload"},null,-1),pJe=[uJe],_Je=["accept"];function hJe(t,e,n,s,i,r){return T(),x("div",oJe,[t.useSlider?(T(),x("input",{key:1,type:"range",value:parseInt(i.inputValue),min:t.minSliderValue,max:t.maxSliderValue,onInput:e[2]||(e[2]=(...o)=>r.handleSliderInput&&r.handleSliderInput(...o)),class:"flex-1 px-4 py-2 text-lg border dark:bg-gray-600 border-gray-300 rounded-md focus:outline-none focus:ring focus:border-blue-500"},null,40,lJe)):(T(),x("input",{key:0,value:i.inputValue,type:n.inputType,placeholder:i.placeholderText,onInput:e[0]||(e[0]=(...o)=>r.handleInput&&r.handleInput(...o)),onPaste:e[1]||(e[1]=(...o)=>r.handlePaste&&r.handlePaste(...o)),class:"flex-1 px-4 py-2 text-lg dark:bg-gray-600 border border-gray-300 rounded-md focus:outline-none focus:ring focus:border-blue-500"},null,40,aJe)),l("button",{onClick:e[3]||(e[3]=(...o)=>r.pasteFromClipboard&&r.pasteFromClipboard(...o)),class:"p-2 bg-blue-500 dark:bg-gray-600 text-white rounded-md hover:bg-blue-600 focus:outline-none focus:ring focus:border-blue-300"},dJe),n.inputType==="file"?(T(),x("button",{key:2,onClick:e[4]||(e[4]=(...o)=>r.openFileInput&&r.openFileInput(...o)),class:"p-2 bg-blue-500 text-white rounded-md hover:bg-blue-600 focus:outline-none focus:ring focus:border-blue-300"},pJe)):G("",!0),n.inputType==="file"?(T(),x("input",{key:3,ref:"fileInput",type:"file",style:{display:"none"},accept:n.fileAccept,onChange:e[5]||(e[5]=(...o)=>r.handleFileInputChange&&r.handleFileInputChange(...o))},null,40,_Je)):G("",!0)])}const gE=ot(rJe,[["render",hJe]]),fJe={name:"TokensHighlighter",props:{namedTokens:{type:Object,required:!0}},data(){return{colors:["#FF6633","#FFB399","#FF33FF","#FFFF99","#00B3E6","#E6B333","#3366E6","#999966","#99FF99","#B34D4D","#80B300","#809900","#E6B3B3","#6680B3","#66991A","#FF99E6","#CCFF1A","#FF1A66","#E6331A","#33FFCC","#66994D","#B366CC","#4D8000","#B33300","#CC80CC","#66664D","#991AFF","#E666FF","#4DB3FF","#1AB399","#E666B3","#33991A","#CC9999","#B3B31A","#00E680","#4D8066","#809980","#E6FF80","#1AFF33","#999933","#FF3380","#CCCC00","#66E64D","#4D80CC","#9900B3","#E64D66","#4DB380","#FF4D4D","#99E6E6","#6666FF"]}}},mJe={class:"w-full"},gJe={class:"break-words"},bJe={class:"break-words mt-2"},EJe={class:"mt-4"};function yJe(t,e,n,s,i,r){return T(),x("div",mJe,[l("div",gJe,[(T(!0),x(Fe,null,Ke(n.namedTokens,(o,a)=>(T(),x("span",{key:a},[l("span",{class:"inline-block whitespace-pre-wrap",style:Ht({backgroundColor:i.colors[a%i.colors.length]})},K(o[0]),5)]))),128))]),l("div",bJe,[(T(!0),x(Fe,null,Ke(n.namedTokens,(o,a)=>(T(),x("span",{key:a},[l("span",{class:"inline-block px-1 whitespace-pre-wrap",style:Ht({backgroundColor:i.colors[a%i.colors.length]})},K(o[1]),5)]))),128))]),l("div",EJe,[l("strong",null,"Total Tokens: "+K(n.namedTokens.length),1)])])}const vJe=ot(fJe,[["render",yJe]]),SJe={name:"ChatBarButton",props:{buttonClass:{type:String,default:"text-gray-600 dark:text-gray-300"}}};function TJe(t,e,n,s,i,r){return T(),x("button",MR({class:["p-2 rounded-full transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",[n.buttonClass,"hover:bg-gray-200 dark:hover:bg-gray-700","active:bg-gray-300 dark:active:bg-gray-600"]]},t.$attrs,TI(t.$listeners,!0)),[un(t.$slots,"icon"),un(t.$slots,"default")],16)}const G2=ot(SJe,[["render",TJe]]);const xJe={props:{is_subcard:{type:Boolean,default:!1},is_shrunk:{type:Boolean,default:!1},title:{type:String,default:""},isHorizontal:{type:Boolean,default:!1},cardWidth:{type:String,default:"w-3/4"},disableHoverAnimation:{type:Boolean,default:!0},disableFocus:{type:Boolean,default:!1}},data(){return{shrink:this.is_shrunk,isHovered:!1,isActive:!1}},computed:{cardClass(){return["bg-gray-50","border","border-gray-300","text-gray-900","text-sm","rounded-lg","focus:ring-blue-500","focus:border-blue-500","w-full","p-2.5","dark:bg-gray-500","dark:border-gray-600","dark:placeholder-gray-400","dark:text-white","dark:focus:ring-blue-500","dark:focus:border-blue-500",{"cursor-pointer":!this.isActive&&!this.disableFocus,"w-auto":!this.isActive}]},cardWidthClass(){return this.isActive?this.cardWidth:""}},methods:{toggleCard(){this.disableFocus||(this.isActive=!this.isActive)}}},CJe={key:1,class:"flex flex-wrap"},wJe={key:2,class:"mb-2"};function RJe(t,e,n,s,i,r){return T(),x("div",null,[i.isActive?(T(),x("div",{key:0,class:"overlay",onClick:e[0]||(e[0]=(...o)=>r.toggleCard&&r.toggleCard(...o))})):G("",!0),P(l("div",{class:Ge(["border-blue-300 rounded-lg shadow-lg p-2",r.cardWidthClass,"m-2",{subcard:n.is_subcard},{"bg-white dark:bg-gray-900":!n.is_subcard},{hovered:!n.disableHoverAnimation&&i.isHovered,active:i.isActive}]),onMouseenter:e[2]||(e[2]=o=>i.isHovered=!0),onMouseleave:e[3]||(e[3]=o=>i.isHovered=!1),onClick:e[4]||(e[4]=j((...o)=>r.toggleCard&&r.toggleCard(...o),["self"])),style:Ht({cursor:this.disableFocus?"":"pointer"})},[n.title?(T(),x("div",{key:0,onClick:e[1]||(e[1]=o=>i.shrink=!0),class:Ge([{"text-center p-2 m-2 bg-gray-200":!n.is_subcard},"bg-gray-100 dark:bg-gray-500 rounded-lg pl-2 pr-2 mb-2 font-bold cursor-pointer"])},K(n.title),3)):G("",!0),n.isHorizontal?(T(),x("div",CJe,[un(t.$slots,"default")])):(T(),x("div",wJe,[un(t.$slots,"default")]))],38),[[wt,i.shrink===!1]]),n.is_subcard?P((T(),x("div",{key:1,onClick:e[5]||(e[5]=o=>i.shrink=!1),class:"bg-white text-center text-xl bold dark:bg-gray-500 border-blue-300 rounded-lg shadow-lg p-2 h-10 cursor-pointer m-2"},K(n.title),513)),[[wt,i.shrink===!0]]):P((T(),x("div",{key:2,onClick:e[6]||(e[6]=o=>i.shrink=!1),class:"bg-white text-center text-2xl dark:bg-gray-500 border-2 border-blue-300 rounded-lg shadow-lg p-0 h-7 cursor-pointer hover:h-8 hover:bg-blue-300"}," + ",512)),[[wt,i.shrink===!0]])])}const ju=ot(xJe,[["render",RJe]]),V2="/assets/code_block-e2753d3f.svg",z2="/assets/python_block-4008a934.png",H2="/assets/javascript_block-5e59df30.svg",q2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOeSURBVGhD7ZhNaBNBGIZHW/EPbSioRSpi0FRpVdRSjQfxkFilB5UciuChIL0JLaKIhR5KIYKIiBSF0mLVS7AIavUgPQjiT4+KB0EP3gwS8VDBgj8d33d2ZrNJt2lCppKWfeBh5pvdncyXmZ3sZokQQsIFz1JdLni8M8L6QkSNf9HMSJBIpREkUmkEiVQaQSKVRpCIH8lkUtbW1sre3l7fB9FoNCrD4fC8PaSyYyudNzU1yZGRkYJ9dXV1yUQiYTMZNX6rM5LJZERHR0fBh0/MmJDSZh4OVhOZmprStf+P1UQmJyd1zaGvr09NuxM5VFVViYmJCR3Zw1oiPT09koP00tjYKNrb23XkEIlERHV1tY7sMuNbK5XR0VGJwcnBwcGi+uns7Cz7Mz24fVnpdGhoSDY0NBTbjxweHi77MzXu+N2KBebsh7PW0tJi6/OIGr/Vm72mpkbXssTj8ZxBp9NpUV9fryN7WE0kn1QqJcfHx3U0v1hNJBQKqXtFh2JsbEx0d3frKMv09LSu2UWtMadaHm1tberxQ+9Koq6uLqff1tZW2dzcLPXviy3c8bsVG/T398+6I8ViMTkwMGDtszRq/MEfdJVGkEilESRSaZSSyCa43anmsAPGII/7wWd7nnMEbmaDD2G41anmsA76tfui9mGnWpAPkOftVpEQuyDfkMz19Bv0cg56j9NP8AQ07IXm2Es2eHgK2b5RRf6Ya7OVOchP5D1kfA0m4GX4CxouQR7/A6/DC/CObqNRSA5A00Y7oeG/JMJBM65TUS7rIV/gefw4GzzchWx/rKJsIu90+REaik6knJv9hy5vw4NO1WU/XAG/w0ds8MABk326NLyGL+A2eJYNpVBOIhd1eRS+gs/hTjYAc4M+06WX+7rkt7zKqbrc0OV5WNIjUzmJDME9MKUiIQ5DvnyshOZfCL/+l+uSz/I/narLA8gvhLsb77miKScR8haegqfhb7gBcoa4M5G4Lr0069Kck88VXZ6B+TNWEHWzONWCpCHPM78lZhkZ3kAePwa36DpthQYulwxke5INwNzst1Tk8ASa66mVXYtLgFPOc7iVroUtOh6F3Gbv6fgLXAPJVWj65vU3IW9oxl+hWWJ+iRyC5lpqJZHP0JxjbnBO+UP4F5pjXNsnoRf+IJqZpNySmRSXoMEvEeL9Iqwkwm20Cfqt12UwAleraHZCcLbHEzLz75fiUeMP3hArjUWTiHdpLWgWyYwI8Q8rrSjH5vAr6AAAAABJRU5ErkJggg==",$2="/assets/cpp_block-109b2fbe.png",Y2="/assets/html5_block-205d2852.png",W2="/assets/LaTeX_block-06b165c0.png",K2="/assets/bash_block-7ca80e4e.png",AJe="/assets/tokenize_icon-0553c60f.svg",NJe="/assets/deaf_on-7481cb29.svg",OJe="/assets/deaf_off-c2c46908.svg",MJe="/assets/rec_on-3b37b566.svg",IJe="/assets/rec_off-2c08e836.svg",j2="/assets/loading-c3bdfb0a.svg",kJe={props:{icon:{type:String,required:!0},title:{type:String,required:!0}},computed:{iconPath(){return this.getIconPath()}},methods:{getIconPath(){switch(this.icon){case"x":return'';case"check":return'';case"code":return'';case"python":return'';case"js":return'JS';case"typescript":return'TS';case"braces":return'';case"cplusplus":case"c++":return'C++';case"csharp":return'C#';case"go":return'Go';case"r-project":return'R';case"rust":return'';case"swift":return'';case"kotlin":return'';case"java":return'';case"html5":return'';case"css3":return'';case"vuejs":return'';case"react":return'';case"angular":return'';case"xml":return'';case"json":return'';case"yaml":return'';case"markdown":return'';case"latex":return'TEX';case"bash":return'';case"powershell":return'';case"perl":return'';case"mermaid":return'';case"graphviz":return'';case"plantuml":return'';case"sql":return'';case"mongodb":return'';case"mathFunction":return'';case"terminal":return'';case"edit":return'';case"copy":return'';case"send":return'';case"globe":return'';case"fastForward":return'';case"sendSimple":return'';default:return""}}}},DJe=["title"],LJe={class:"w-6 h-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},PJe=["innerHTML"];function FJe(t,e,n,s,i,r){return T(),x("button",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer",title:n.title,onClick:e[0]||(e[0]=o=>t.$emit("click"))},[(T(),x("svg",LJe,[l("g",{innerHTML:r.iconPath},null,8,PJe)]))],8,DJe)}const bE=ot(kJe,[["render",FJe]]);var Hn="top",Es="bottom",ys="right",qn="left",EE="auto",sc=[Hn,Es,ys,qn],oa="start",zl="end",UJe="clippingParents",Q2="viewport",Za="popper",BJe="reference",f1=sc.reduce(function(t,e){return t.concat([e+"-"+oa,e+"-"+zl])},[]),X2=[].concat(sc,[EE]).reduce(function(t,e){return t.concat([e,e+"-"+oa,e+"-"+zl])},[]),GJe="beforeRead",VJe="read",zJe="afterRead",HJe="beforeMain",qJe="main",$Je="afterMain",YJe="beforeWrite",WJe="write",KJe="afterWrite",jJe=[GJe,VJe,zJe,HJe,qJe,$Je,YJe,WJe,KJe];function li(t){return t?(t.nodeName||"").toLowerCase():null}function ns(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function no(t){var e=ns(t).Element;return t instanceof e||t instanceof Element}function gs(t){var e=ns(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function yE(t){if(typeof ShadowRoot>"u")return!1;var e=ns(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function QJe(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var s=e.styles[n]||{},i=e.attributes[n]||{},r=e.elements[n];!gs(r)||!li(r)||(Object.assign(r.style,s),Object.keys(i).forEach(function(o){var a=i[o];a===!1?r.removeAttribute(o):r.setAttribute(o,a===!0?"":a)}))})}function XJe(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(s){var i=e.elements[s],r=e.attributes[s]||{},o=Object.keys(e.styles.hasOwnProperty(s)?e.styles[s]:n[s]),a=o.reduce(function(c,d){return c[d]="",c},{});!gs(i)||!li(i)||(Object.assign(i.style,a),Object.keys(r).forEach(function(c){i.removeAttribute(c)}))})}}const ZJe={name:"applyStyles",enabled:!0,phase:"write",fn:QJe,effect:XJe,requires:["computeStyles"]};function ri(t){return t.split("-")[0]}var Wr=Math.max,Yd=Math.min,aa=Math.round;function $g(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Z2(){return!/^((?!chrome|android).)*safari/i.test($g())}function la(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var s=t.getBoundingClientRect(),i=1,r=1;e&&gs(t)&&(i=t.offsetWidth>0&&aa(s.width)/t.offsetWidth||1,r=t.offsetHeight>0&&aa(s.height)/t.offsetHeight||1);var o=no(t)?ns(t):window,a=o.visualViewport,c=!Z2()&&n,d=(s.left+(c&&a?a.offsetLeft:0))/i,u=(s.top+(c&&a?a.offsetTop:0))/r,h=s.width/i,f=s.height/r;return{width:h,height:f,top:u,right:d+h,bottom:u+f,left:d,x:d,y:u}}function vE(t){var e=la(t),n=t.offsetWidth,s=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:s}}function J2(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&yE(n)){var s=e;do{if(s&&t.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Di(t){return ns(t).getComputedStyle(t)}function JJe(t){return["table","td","th"].indexOf(li(t))>=0}function Er(t){return((no(t)?t.ownerDocument:t.document)||window.document).documentElement}function Qu(t){return li(t)==="html"?t:t.assignedSlot||t.parentNode||(yE(t)?t.host:null)||Er(t)}function m1(t){return!gs(t)||Di(t).position==="fixed"?null:t.offsetParent}function eet(t){var e=/firefox/i.test($g()),n=/Trident/i.test($g());if(n&&gs(t)){var s=Di(t);if(s.position==="fixed")return null}var i=Qu(t);for(yE(i)&&(i=i.host);gs(i)&&["html","body"].indexOf(li(i))<0;){var r=Di(i);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||e&&r.willChange==="filter"||e&&r.filter&&r.filter!=="none")return i;i=i.parentNode}return null}function ic(t){for(var e=ns(t),n=m1(t);n&&JJe(n)&&Di(n).position==="static";)n=m1(n);return n&&(li(n)==="html"||li(n)==="body"&&Di(n).position==="static")?e:n||eet(t)||e}function SE(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function yl(t,e,n){return Wr(t,Yd(e,n))}function tet(t,e,n){var s=yl(t,e,n);return s>n?n:s}function eN(){return{top:0,right:0,bottom:0,left:0}}function tN(t){return Object.assign({},eN(),t)}function nN(t,e){return e.reduce(function(n,s){return n[s]=t,n},{})}var net=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,tN(typeof e!="number"?e:nN(e,sc))};function set(t){var e,n=t.state,s=t.name,i=t.options,r=n.elements.arrow,o=n.modifiersData.popperOffsets,a=ri(n.placement),c=SE(a),d=[qn,ys].indexOf(a)>=0,u=d?"height":"width";if(!(!r||!o)){var h=net(i.padding,n),f=vE(r),m=c==="y"?Hn:qn,_=c==="y"?Es:ys,g=n.rects.reference[u]+n.rects.reference[c]-o[c]-n.rects.popper[u],b=o[c]-n.rects.reference[c],E=ic(r),y=E?c==="y"?E.clientHeight||0:E.clientWidth||0:0,v=g/2-b/2,S=h[m],R=y-f[u]-h[_],w=y/2-f[u]/2+v,A=yl(S,w,R),I=c;n.modifiersData[s]=(e={},e[I]=A,e.centerOffset=A-w,e)}}function iet(t){var e=t.state,n=t.options,s=n.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||J2(e.elements.popper,i)&&(e.elements.arrow=i))}const ret={name:"arrow",enabled:!0,phase:"main",fn:set,effect:iet,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ca(t){return t.split("-")[1]}var oet={top:"auto",right:"auto",bottom:"auto",left:"auto"};function aet(t,e){var n=t.x,s=t.y,i=e.devicePixelRatio||1;return{x:aa(n*i)/i||0,y:aa(s*i)/i||0}}function g1(t){var e,n=t.popper,s=t.popperRect,i=t.placement,r=t.variation,o=t.offsets,a=t.position,c=t.gpuAcceleration,d=t.adaptive,u=t.roundOffsets,h=t.isFixed,f=o.x,m=f===void 0?0:f,_=o.y,g=_===void 0?0:_,b=typeof u=="function"?u({x:m,y:g}):{x:m,y:g};m=b.x,g=b.y;var E=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=qn,S=Hn,R=window;if(d){var w=ic(n),A="clientHeight",I="clientWidth";if(w===ns(n)&&(w=Er(n),Di(w).position!=="static"&&a==="absolute"&&(A="scrollHeight",I="scrollWidth")),w=w,i===Hn||(i===qn||i===ys)&&r===zl){S=Es;var C=h&&w===R&&R.visualViewport?R.visualViewport.height:w[A];g-=C-s.height,g*=c?1:-1}if(i===qn||(i===Hn||i===Es)&&r===zl){v=ys;var O=h&&w===R&&R.visualViewport?R.visualViewport.width:w[I];m-=O-s.width,m*=c?1:-1}}var B=Object.assign({position:a},d&&oet),H=u===!0?aet({x:m,y:g},ns(n)):{x:m,y:g};if(m=H.x,g=H.y,c){var te;return Object.assign({},B,(te={},te[S]=y?"0":"",te[v]=E?"0":"",te.transform=(R.devicePixelRatio||1)<=1?"translate("+m+"px, "+g+"px)":"translate3d("+m+"px, "+g+"px, 0)",te))}return Object.assign({},B,(e={},e[S]=y?g+"px":"",e[v]=E?m+"px":"",e.transform="",e))}function cet(t){var e=t.state,n=t.options,s=n.gpuAcceleration,i=s===void 0?!0:s,r=n.adaptive,o=r===void 0?!0:r,a=n.roundOffsets,c=a===void 0?!0:a,d={placement:ri(e.placement),variation:ca(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,g1(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,g1(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const det={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:cet,data:{}};var Oc={passive:!0};function uet(t){var e=t.state,n=t.instance,s=t.options,i=s.scroll,r=i===void 0?!0:i,o=s.resize,a=o===void 0?!0:o,c=ns(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&d.forEach(function(u){u.addEventListener("scroll",n.update,Oc)}),a&&c.addEventListener("resize",n.update,Oc),function(){r&&d.forEach(function(u){u.removeEventListener("scroll",n.update,Oc)}),a&&c.removeEventListener("resize",n.update,Oc)}}const pet={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:uet,data:{}};var _et={left:"right",right:"left",bottom:"top",top:"bottom"};function xd(t){return t.replace(/left|right|bottom|top/g,function(e){return _et[e]})}var het={start:"end",end:"start"};function b1(t){return t.replace(/start|end/g,function(e){return het[e]})}function TE(t){var e=ns(t),n=e.pageXOffset,s=e.pageYOffset;return{scrollLeft:n,scrollTop:s}}function xE(t){return la(Er(t)).left+TE(t).scrollLeft}function fet(t,e){var n=ns(t),s=Er(t),i=n.visualViewport,r=s.clientWidth,o=s.clientHeight,a=0,c=0;if(i){r=i.width,o=i.height;var d=Z2();(d||!d&&e==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}return{width:r,height:o,x:a+xE(t),y:c}}function met(t){var e,n=Er(t),s=TE(t),i=(e=t.ownerDocument)==null?void 0:e.body,r=Wr(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=Wr(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+xE(t),c=-s.scrollTop;return Di(i||n).direction==="rtl"&&(a+=Wr(n.clientWidth,i?i.clientWidth:0)-r),{width:r,height:o,x:a,y:c}}function CE(t){var e=Di(t),n=e.overflow,s=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function sN(t){return["html","body","#document"].indexOf(li(t))>=0?t.ownerDocument.body:gs(t)&&CE(t)?t:sN(Qu(t))}function vl(t,e){var n;e===void 0&&(e=[]);var s=sN(t),i=s===((n=t.ownerDocument)==null?void 0:n.body),r=ns(s),o=i?[r].concat(r.visualViewport||[],CE(s)?s:[]):s,a=e.concat(o);return i?a:a.concat(vl(Qu(o)))}function Yg(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function get(t,e){var n=la(t,!1,e==="fixed");return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function E1(t,e,n){return e===Q2?Yg(fet(t,n)):no(e)?get(e,n):Yg(met(Er(t)))}function bet(t){var e=vl(Qu(t)),n=["absolute","fixed"].indexOf(Di(t).position)>=0,s=n&&gs(t)?ic(t):t;return no(s)?e.filter(function(i){return no(i)&&J2(i,s)&&li(i)!=="body"}):[]}function Eet(t,e,n,s){var i=e==="clippingParents"?bet(t):[].concat(e),r=[].concat(i,[n]),o=r[0],a=r.reduce(function(c,d){var u=E1(t,d,s);return c.top=Wr(u.top,c.top),c.right=Yd(u.right,c.right),c.bottom=Yd(u.bottom,c.bottom),c.left=Wr(u.left,c.left),c},E1(t,o,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function iN(t){var e=t.reference,n=t.element,s=t.placement,i=s?ri(s):null,r=s?ca(s):null,o=e.x+e.width/2-n.width/2,a=e.y+e.height/2-n.height/2,c;switch(i){case Hn:c={x:o,y:e.y-n.height};break;case Es:c={x:o,y:e.y+e.height};break;case ys:c={x:e.x+e.width,y:a};break;case qn:c={x:e.x-n.width,y:a};break;default:c={x:e.x,y:e.y}}var d=i?SE(i):null;if(d!=null){var u=d==="y"?"height":"width";switch(r){case oa:c[d]=c[d]-(e[u]/2-n[u]/2);break;case zl:c[d]=c[d]+(e[u]/2-n[u]/2);break}}return c}function Hl(t,e){e===void 0&&(e={});var n=e,s=n.placement,i=s===void 0?t.placement:s,r=n.strategy,o=r===void 0?t.strategy:r,a=n.boundary,c=a===void 0?UJe:a,d=n.rootBoundary,u=d===void 0?Q2:d,h=n.elementContext,f=h===void 0?Za:h,m=n.altBoundary,_=m===void 0?!1:m,g=n.padding,b=g===void 0?0:g,E=tN(typeof b!="number"?b:nN(b,sc)),y=f===Za?BJe:Za,v=t.rects.popper,S=t.elements[_?y:f],R=Eet(no(S)?S:S.contextElement||Er(t.elements.popper),c,u,o),w=la(t.elements.reference),A=iN({reference:w,element:v,strategy:"absolute",placement:i}),I=Yg(Object.assign({},v,A)),C=f===Za?I:w,O={top:R.top-C.top+E.top,bottom:C.bottom-R.bottom+E.bottom,left:R.left-C.left+E.left,right:C.right-R.right+E.right},B=t.modifiersData.offset;if(f===Za&&B){var H=B[i];Object.keys(O).forEach(function(te){var k=[ys,Es].indexOf(te)>=0?1:-1,$=[Hn,Es].indexOf(te)>=0?"y":"x";O[te]+=H[$]*k})}return O}function yet(t,e){e===void 0&&(e={});var n=e,s=n.placement,i=n.boundary,r=n.rootBoundary,o=n.padding,a=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?X2:c,u=ca(s),h=u?a?f1:f1.filter(function(_){return ca(_)===u}):sc,f=h.filter(function(_){return d.indexOf(_)>=0});f.length===0&&(f=h);var m=f.reduce(function(_,g){return _[g]=Hl(t,{placement:g,boundary:i,rootBoundary:r,padding:o})[ri(g)],_},{});return Object.keys(m).sort(function(_,g){return m[_]-m[g]})}function vet(t){if(ri(t)===EE)return[];var e=xd(t);return[b1(t),e,b1(e)]}function Tet(t){var e=t.state,n=t.options,s=t.name;if(!e.modifiersData[s]._skip){for(var i=n.mainAxis,r=i===void 0?!0:i,o=n.altAxis,a=o===void 0?!0:o,c=n.fallbackPlacements,d=n.padding,u=n.boundary,h=n.rootBoundary,f=n.altBoundary,m=n.flipVariations,_=m===void 0?!0:m,g=n.allowedAutoPlacements,b=e.options.placement,E=ri(b),y=E===b,v=c||(y||!_?[xd(b)]:vet(b)),S=[b].concat(v).reduce(function(Ee,Me){return Ee.concat(ri(Me)===EE?yet(e,{placement:Me,boundary:u,rootBoundary:h,padding:d,flipVariations:_,allowedAutoPlacements:g}):Me)},[]),R=e.rects.reference,w=e.rects.popper,A=new Map,I=!0,C=S[0],O=0;O=0,$=k?"width":"height",q=Hl(e,{placement:B,boundary:u,rootBoundary:h,altBoundary:f,padding:d}),F=k?te?ys:qn:te?Es:Hn;R[$]>w[$]&&(F=xd(F));var W=xd(F),ne=[];if(r&&ne.push(q[H]<=0),a&&ne.push(q[F]<=0,q[W]<=0),ne.every(function(Ee){return Ee})){C=B,I=!1;break}A.set(B,ne)}if(I)for(var le=_?3:1,me=function(Me){var ke=S.find(function(Z){var he=A.get(Z);if(he)return he.slice(0,Me).every(function(_e){return _e})});if(ke)return C=ke,"break"},Se=le;Se>0;Se--){var de=me(Se);if(de==="break")break}e.placement!==C&&(e.modifiersData[s]._skip=!0,e.placement=C,e.reset=!0)}}const xet={name:"flip",enabled:!0,phase:"main",fn:Tet,requiresIfExists:["offset"],data:{_skip:!1}};function y1(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function v1(t){return[Hn,ys,Es,qn].some(function(e){return t[e]>=0})}function Cet(t){var e=t.state,n=t.name,s=e.rects.reference,i=e.rects.popper,r=e.modifiersData.preventOverflow,o=Hl(e,{elementContext:"reference"}),a=Hl(e,{altBoundary:!0}),c=y1(o,s),d=y1(a,i,r),u=v1(c),h=v1(d);e.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":h})}const wet={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Cet};function Ret(t,e,n){var s=ri(t),i=[qn,Hn].indexOf(s)>=0?-1:1,r=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,o=r[0],a=r[1];return o=o||0,a=(a||0)*i,[qn,ys].indexOf(s)>=0?{x:a,y:o}:{x:o,y:a}}function Aet(t){var e=t.state,n=t.options,s=t.name,i=n.offset,r=i===void 0?[0,0]:i,o=X2.reduce(function(u,h){return u[h]=Ret(h,e.rects,r),u},{}),a=o[e.placement],c=a.x,d=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=d),e.modifiersData[s]=o}const Net={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Aet};function Oet(t){var e=t.state,n=t.name;e.modifiersData[n]=iN({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const Met={name:"popperOffsets",enabled:!0,phase:"read",fn:Oet,data:{}};function Iet(t){return t==="x"?"y":"x"}function ket(t){var e=t.state,n=t.options,s=t.name,i=n.mainAxis,r=i===void 0?!0:i,o=n.altAxis,a=o===void 0?!1:o,c=n.boundary,d=n.rootBoundary,u=n.altBoundary,h=n.padding,f=n.tether,m=f===void 0?!0:f,_=n.tetherOffset,g=_===void 0?0:_,b=Hl(e,{boundary:c,rootBoundary:d,padding:h,altBoundary:u}),E=ri(e.placement),y=ca(e.placement),v=!y,S=SE(E),R=Iet(S),w=e.modifiersData.popperOffsets,A=e.rects.reference,I=e.rects.popper,C=typeof g=="function"?g(Object.assign({},e.rects,{placement:e.placement})):g,O=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),B=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,H={x:0,y:0};if(w){if(r){var te,k=S==="y"?Hn:qn,$=S==="y"?Es:ys,q=S==="y"?"height":"width",F=w[S],W=F+b[k],ne=F-b[$],le=m?-I[q]/2:0,me=y===oa?A[q]:I[q],Se=y===oa?-I[q]:-A[q],de=e.elements.arrow,Ee=m&&de?vE(de):{width:0,height:0},Me=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:eN(),ke=Me[k],Z=Me[$],he=yl(0,A[q],Ee[q]),_e=v?A[q]/2-le-he-ke-O.mainAxis:me-he-ke-O.mainAxis,we=v?-A[q]/2+le+he+Z+O.mainAxis:Se+he+Z+O.mainAxis,Pe=e.elements.arrow&&ic(e.elements.arrow),N=Pe?S==="y"?Pe.clientTop||0:Pe.clientLeft||0:0,z=(te=B==null?void 0:B[S])!=null?te:0,Y=F+_e-z-N,ce=F+we-z,re=yl(m?Yd(W,Y):W,F,m?Wr(ne,ce):ne);w[S]=re,H[S]=re-F}if(a){var xe,Ne=S==="x"?Hn:qn,ie=S==="x"?Es:ys,Re=w[R],ge=R==="y"?"height":"width",De=Re+b[Ne],L=Re-b[ie],M=[Hn,qn].indexOf(E)!==-1,Q=(xe=B==null?void 0:B[R])!=null?xe:0,ye=M?De:Re-A[ge]-I[ge]-Q+O.altAxis,X=M?Re+A[ge]+I[ge]-Q-O.altAxis:L,se=m&&M?tet(ye,Re,X):yl(m?ye:De,Re,m?X:L);w[R]=se,H[R]=se-Re}e.modifiersData[s]=H}}const Det={name:"preventOverflow",enabled:!0,phase:"main",fn:ket,requiresIfExists:["offset"]};function Let(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function Pet(t){return t===ns(t)||!gs(t)?TE(t):Let(t)}function Fet(t){var e=t.getBoundingClientRect(),n=aa(e.width)/t.offsetWidth||1,s=aa(e.height)/t.offsetHeight||1;return n!==1||s!==1}function Uet(t,e,n){n===void 0&&(n=!1);var s=gs(e),i=gs(e)&&Fet(e),r=Er(e),o=la(t,i,n),a={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(s||!s&&!n)&&((li(e)!=="body"||CE(r))&&(a=Pet(e)),gs(e)?(c=la(e,!0),c.x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=xE(r))),{x:o.left+a.scrollLeft-c.x,y:o.top+a.scrollTop-c.y,width:o.width,height:o.height}}function Bet(t){var e=new Map,n=new Set,s=[];t.forEach(function(r){e.set(r.name,r)});function i(r){n.add(r.name);var o=[].concat(r.requires||[],r.requiresIfExists||[]);o.forEach(function(a){if(!n.has(a)){var c=e.get(a);c&&i(c)}}),s.push(r)}return t.forEach(function(r){n.has(r.name)||i(r)}),s}function Get(t){var e=Bet(t);return jJe.reduce(function(n,s){return n.concat(e.filter(function(i){return i.phase===s}))},[])}function Vet(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function zet(t){var e=t.reduce(function(n,s){var i=n[s.name];return n[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,n},{});return Object.keys(e).map(function(n){return e[n]})}var S1={placement:"bottom",modifiers:[],strategy:"absolute"};function T1(){for(var t=arguments.length,e=new Array(t),n=0;n{this.createPopper()})},closeMenu(t){var e;!this.$el.contains(t.target)&&!((e=this.$refs.dropdown)!=null&&e.contains(t.target))&&(this.isOpen=!1)},createPopper(){const t=this.$el.querySelector("button"),e=this.$refs.dropdown;t&&e&&(this.popperInstance=Xu(t,e,{placement:"bottom-end",modifiers:[{name:"flip",options:{fallbackPlacements:["top-end","bottom-start","top-start"]}},{name:"preventOverflow",options:{boundary:document.body}}]}))}}},Yet={class:"relative inline-block text-left"},Wet={key:0,ref:"dropdown",class:"z-50 w-56 rounded-md shadow-lg bg-white dark:bg-gray-800 ring-1 ring-black ring-opacity-5 dark:ring-white dark:ring-opacity-20 focus:outline-none dropdown-shadow text-gray-700 dark:text-white"},Ket={class:"py-1",role:"menu","aria-orientation":"vertical","aria-labelledby":"options-menu"};function jet(t,e,n,s,i,r){const o=tt("ToolbarButton");return T(),x("div",Yet,[l("div",null,[V(o,{onClick:j(r.toggleMenu,["stop"]),title:n.title,icon:"code"},null,8,["onClick","title"])]),(T(),dt(HI,{to:"body"},[i.isOpen?(T(),x("div",Wet,[l("div",Ket,[un(t.$slots,"default",{},void 0,!0)])],512)):G("",!0)]))])}const rN=ot($et,[["render",jet],["__scopeId","data-v-6c3ea3a5"]]);async function x1(t,e="",n=[]){return new Promise((s,i)=>{const r=document.createElement("div");r.className="fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-50",n.length===0?r.innerHTML=`

${t}

@@ -72,12 +72,12 @@ https://github.com/highlightjs/highlight.js/issues/2277`),me=F,le=W),ne===void 0
- `,document.body.appendChild(r);const o=r.querySelector("#cancelButton"),a=r.querySelector("#okButton");o.addEventListener("click",()=>{document.body.removeChild(r),s(null)}),a.addEventListener("click",()=>{if(n.length===0){const d=r.querySelector("#replacementInput").value.trim();document.body.removeChild(r),s(d)}else{const d=r.querySelector("#options_selector").value.trim();document.body.removeChild(r),s(d)}})})}function Qet(t,e){console.log(t);let n={},s=/@<([^>]+)>@/g,i=[],r;for(;(r=s.exec(t))!==null;)i.push("@<"+r[1]+">@");console.log("matches"),console.log(i),i=[...new Set(i)];async function o(c){console.log(c);let d=c.toLowerCase().substring(2,c.length-2);if(d!=="generation_placeholder")if(d.includes(":")){Object.entries({all_language_options:"english:french:german:chinese:japanese:spanish:italian:russian:portuguese:swedish:danish:dutch:norwegian:slovak:czech:hungarian:polish:ukrainian:bulgarian:latvian:lithuanian:estonian:maltese:irish:galician:basque:welsh:breton:georgian:turkmen:kazakh:uzbek:tajik:afghan:sri-lankan:filipino:vietnamese:lao:cambodian:thai:burmese:kenyan:botswanan:zimbabwean:malawian:mozambican:angolan:namibian:south-african:madagascan:seychellois:mauritian:haitian:peruvian:ecuadorian:bolivian:paraguayan:chilean:argentinean:uruguayan:brazilian:colombian:venezuelan:puerto-rican:cuban:dominican:honduran:nicaraguan:salvadorean:guatemalan:el-salvadoran:belizean:panamanian:costa-rican:antiguan:barbudan:dominica's:grenada's:st-lucia's:st-vincent's:gibraltarian:faroe-islander:greenlandic:icelandic:jamaican:trinidadian:tobagonian:barbadian:anguillan:british-virgin-islander:us-virgin-islander:turkish:israeli:palestinian:lebanese:egyptian:libyan:tunisian:algerian:moroccan:bahraini:kuwaiti:saudi-arabian:yemeni:omani:irani:iraqi:afghanistan's:pakistani:indian:nepalese:sri-lankan:maldivan:burmese:thai:lao:vietnamese:kampuchean:malaysian:bruneian:indonesian:australian:new-zealanders:fijians:tongans:samoans:vanuatuans:wallisians:kiribatians:tuvaluans:solomon-islanders:marshallese:micronesians:hawaiians",all_programming_language_options:"python:c:c++:java:javascript:php:ruby:go:swift:kotlin:rust:haskell:erlang:lisp:scheme:prolog:cobol:fortran:pascal:delphi:d:eiffel:h:basic:visual_basic:smalltalk:objective-c:html5:node.js:vue.js:svelte:react:angular:ember:clipper:stex:arduino:brainfuck:r:assembly:mason:lepton:seacat:bbc_microbit:raspberry_pi_gpio:raspberry_pi_spi:raspberry_pi_i2c:raspberry_pi_uart:raspberry_pi_adc:raspberry_pi_ddio"}).forEach(([b,E])=>{console.log(`Key: ${b}, Value: ${E}`);function y(R){return R.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const v=y(b),S=new RegExp(v,"g");d=d.replace(S,E)});let h=d.split(":"),f=h[0],m=h[1]||"",_=[];h.length>2&&(_=h.slice(1));let g=await x1(f,m,_);g!==null&&(n[c]=g)}else{let u=await x1(d);u!==null&&(n[c]=u)}}let a=Promise.resolve();i.forEach(c=>{a=a.then(()=>o(c)).then(d=>{console.log(d)})}),a.then(()=>{Object.entries(n).forEach(([c,d])=>{console.log(`Key: ${c}, Value: ${d}`);function u(m){return m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const h=u(c),f=new RegExp(h,"g");t=t.replace(f,d)}),e(t)})}const Xet={name:"PlayGroundView",data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},showSettings:!1,pending:!1,is_recording:!1,is_deaf_transcribing:!1,cpp_block:$2,html5_block:Y2,LaTeX_block:W2,javascript_block:H2,json_block:q2,code_block:V2,python_block:z2,bash_block:K2,tokenize_icon:AJe,deaf_off:OJe,deaf_on:NJe,rec_off:IJe,rec_on:MJe,loading_icon:j2,isSynthesizingVoice:!1,audio_url:null,mdRenderHeight:300,selecting_model:!1,tab_id:"source",generating:!1,isSpeaking:!1,voices:[],isLesteningToVoice:!1,presets:[],selectedPreset:"",cursorPosition:0,namedTokens:[],text:"",pre_text:"",post_text:"",temperature:.1,top_k:50,top_p:.9,repeat_penalty:1.3,repeat_last_n:50,n_crop:-1,n_predicts:2e3,seed:-1,silenceTimeout:5e3}},components:{Toast:Zl,MarkdownRenderer:Yu,ClipBoardTextInput:gE,TokensHilighter:vJe,ChatBarButton:G2,Card:ju,ToolbarButton:bE,DropdownMenu:rN},mounted(){ae.get("./get_presets").then(t=>{console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}),qe.on("text_chunk",t=>{this.appendToOutput(t.chunk)}),qe.on("text_generated",t=>{this.generating=!1}),qe.on("generation_error",t=>{console.log("generation_error:",t),this.$refs.toast.showToast(`Error: ${t}`,4,!1),this.generating=!1}),qe.on("connect",()=>{console.log("Connected to LoLLMs server"),this.$store.state.isConnected=!0,this.generating=!1}),qe.on("buzzy",t=>{console.error("Server is busy. Wait for your turn",t),this.$refs.toast.showToast(`Error: ${t.message}`,4,!1),this.generating=!1}),qe.on("generation_canceled",t=>{this.generating=!1,console.log("Generation canceled OK")}),this.$nextTick(()=>{ze.replace()}),"speechSynthesis"in window?(this.speechSynthesis=window.speechSynthesis,this.voices=this.speechSynthesis.getVoices(),this.voices.length===0&&this.speechSynthesis.addEventListener("voiceschanged",this.onVoicesChanged)):console.error("Speech synthesis is not supported in this browser.")},created(){},watch:{audio_url(t){t&&(console.log("Audio changed url to :",t),this.$refs.audio_player.src=t)}},computed:{selectedModel:{get(){return this.$store.state.selectedModel}},models:{get(){return this.$store.state.modelsArr}},isTalking:{get(){return this.isSpeaking}}},methods:{triggerFileUpload(){this.$refs.fileInput.click()},handleFileUpload(t){this.file=this.$refs.fileInput.files[0],this.buttonText=this.file.name,this.uploadFile()},uploadFile(){console.log("sending file");const t=new FormData;t.append("file",this.file),ae.post("/upload_voice/",t,{headers:{"Content-Type":"multipart/form-data"}}).then(e=>{console.log(e),this.buttonText="Upload a voice"}).catch(e=>{console.error(e)})},addBlock(t){let e=this.$refs.mdTextarea.selectionStart,n=this.$refs.mdTextarea.selectionEnd;e==n?speechSynthesis==0||this.text[e-1]==` + `,document.body.appendChild(r);const o=r.querySelector("#cancelButton"),a=r.querySelector("#okButton");o.addEventListener("click",()=>{document.body.removeChild(r),s(null)}),a.addEventListener("click",()=>{if(n.length===0){const d=r.querySelector("#replacementInput").value.trim();document.body.removeChild(r),s(d)}else{const d=r.querySelector("#options_selector").value.trim();document.body.removeChild(r),s(d)}})})}function Qet(t,e){console.log(t);let n={},s=/@<([^>]+)>@/g,i=[],r;for(;(r=s.exec(t))!==null;)i.push("@<"+r[1]+">@");console.log("matches"),console.log(i),i=[...new Set(i)];async function o(c){console.log(c);let d=c.toLowerCase().substring(2,c.length-2);if(d!=="generation_placeholder")if(d.includes(":")){Object.entries({all_language_options:"english:french:german:chinese:japanese:spanish:italian:russian:portuguese:swedish:danish:dutch:norwegian:slovak:czech:hungarian:polish:ukrainian:bulgarian:latvian:lithuanian:estonian:maltese:irish:galician:basque:welsh:breton:georgian:turkmen:kazakh:uzbek:tajik:afghan:sri-lankan:filipino:vietnamese:lao:cambodian:thai:burmese:kenyan:botswanan:zimbabwean:malawian:mozambican:angolan:namibian:south-african:madagascan:seychellois:mauritian:haitian:peruvian:ecuadorian:bolivian:paraguayan:chilean:argentinean:uruguayan:brazilian:colombian:venezuelan:puerto-rican:cuban:dominican:honduran:nicaraguan:salvadorean:guatemalan:el-salvadoran:belizean:panamanian:costa-rican:antiguan:barbudan:dominica's:grenada's:st-lucia's:st-vincent's:gibraltarian:faroe-islander:greenlandic:icelandic:jamaican:trinidadian:tobagonian:barbadian:anguillan:british-virgin-islander:us-virgin-islander:turkish:israeli:palestinian:lebanese:egyptian:libyan:tunisian:algerian:moroccan:bahraini:kuwaiti:saudi-arabian:yemeni:omani:irani:iraqi:afghanistan's:pakistani:indian:nepalese:sri-lankan:maldivan:burmese:thai:lao:vietnamese:kampuchean:malaysian:bruneian:indonesian:australian:new-zealanders:fijians:tongans:samoans:vanuatuans:wallisians:kiribatians:tuvaluans:solomon-islanders:marshallese:micronesians:hawaiians",all_programming_language_options:"python:c:c++:java:javascript:php:ruby:go:swift:kotlin:rust:haskell:erlang:lisp:scheme:prolog:cobol:fortran:pascal:delphi:d:eiffel:h:basic:visual_basic:smalltalk:objective-c:html5:node.js:vue.js:svelte:react:angular:ember:clipper:stex:arduino:brainfuck:r:assembly:mason:lepton:seacat:bbc_microbit:raspberry_pi_gpio:raspberry_pi_spi:raspberry_pi_i2c:raspberry_pi_uart:raspberry_pi_adc:raspberry_pi_ddio"}).forEach(([b,E])=>{console.log(`Key: ${b}, Value: ${E}`);function y(R){return R.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const v=y(b),S=new RegExp(v,"g");d=d.replace(S,E)});let h=d.split(":"),f=h[0],m=h[1]||"",_=[];h.length>2&&(_=h.slice(1));let g=await x1(f,m,_);g!==null&&(n[c]=g)}else{let u=await x1(d);u!==null&&(n[c]=u)}}let a=Promise.resolve();i.forEach(c=>{a=a.then(()=>o(c)).then(d=>{console.log(d)})}),a.then(()=>{Object.entries(n).forEach(([c,d])=>{console.log(`Key: ${c}, Value: ${d}`);function u(m){return m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const h=u(c),f=new RegExp(h,"g");t=t.replace(f,d)}),e(t)})}const Xet={name:"PlayGroundView",data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},showSettings:!1,pending:!1,is_recording:!1,is_deaf_transcribing:!1,cpp_block:$2,html5_block:Y2,LaTeX_block:W2,javascript_block:H2,json_block:q2,code_block:V2,python_block:z2,bash_block:K2,tokenize_icon:AJe,deaf_off:OJe,deaf_on:NJe,rec_off:IJe,rec_on:MJe,loading_icon:j2,isSynthesizingVoice:!1,audio_url:null,mdRenderHeight:300,selecting_model:!1,tab_id:"source",generating:!1,isSpeaking:!1,voices:[],isLesteningToVoice:!1,presets:[],selectedPreset:"",cursorPosition:0,namedTokens:[],text:"",pre_text:"",post_text:"",temperature:.1,top_k:50,top_p:.9,repeat_penalty:1.3,repeat_last_n:50,n_crop:-1,n_predicts:2e3,seed:-1,silenceTimeout:5e3}},components:{Toast:Zl,MarkdownRenderer:Yu,ClipBoardTextInput:gE,TokensHilighter:vJe,ChatBarButton:G2,Card:ju,ToolbarButton:bE,DropdownMenu:rN},mounted(){oe.get("./get_presets").then(t=>{console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}),qe.on("text_chunk",t=>{this.appendToOutput(t.chunk)}),qe.on("text_generated",t=>{this.generating=!1}),qe.on("generation_error",t=>{console.log("generation_error:",t),this.$refs.toast.showToast(`Error: ${t}`,4,!1),this.generating=!1}),qe.on("connect",()=>{console.log("Connected to LoLLMs server"),this.$store.state.isConnected=!0,this.generating=!1}),qe.on("buzzy",t=>{console.error("Server is busy. Wait for your turn",t),this.$refs.toast.showToast(`Error: ${t.message}`,4,!1),this.generating=!1}),qe.on("generation_canceled",t=>{this.generating=!1,console.log("Generation canceled OK")}),this.$nextTick(()=>{ze.replace()}),"speechSynthesis"in window?(this.speechSynthesis=window.speechSynthesis,this.voices=this.speechSynthesis.getVoices(),this.voices.length===0&&this.speechSynthesis.addEventListener("voiceschanged",this.onVoicesChanged)):console.error("Speech synthesis is not supported in this browser.")},created(){},watch:{audio_url(t){t&&(console.log("Audio changed url to :",t),this.$refs.audio_player.src=t)}},computed:{selectedModel:{get(){return this.$store.state.selectedModel}},models:{get(){return this.$store.state.modelsArr}},isTalking:{get(){return this.isSpeaking}}},methods:{triggerFileUpload(){this.$refs.fileInput.click()},handleFileUpload(t){this.file=this.$refs.fileInput.files[0],this.buttonText=this.file.name,this.uploadFile()},uploadFile(){console.log("sending file");const t=new FormData;t.append("file",this.file),oe.post("/upload_voice/",t,{headers:{"Content-Type":"multipart/form-data"}}).then(e=>{console.log(e),this.buttonText="Upload a voice"}).catch(e=>{console.error(e)})},addBlock(t){let e=this.$refs.mdTextarea.selectionStart,n=this.$refs.mdTextarea.selectionEnd;e==n?speechSynthesis==0||this.text[e-1]==` `?(this.text=this.text.slice(0,e)+"```"+t+"\n\n```\n"+this.text.slice(e),e=e+4+t.length):(this.text=this.text.slice(0,e)+"\n```"+t+"\n\n```\n"+this.text.slice(e),e=e+3+t.length):speechSynthesis==0||this.text[e-1]==` `?(this.text=this.text.slice(0,e)+"```"+t+` `+this.text.slice(e,n)+"\n```\n"+this.text.slice(n),e=e+4+t.length):(this.text=this.text.slice(0,e)+"\n```"+t+` -`+this.text.slice(e,n)+"\n```\n"+this.text.slice(n),e=e+3+t.length),this.$refs.mdTextarea.focus(),this.$refs.mdTextarea.selectionStart=this.$refs.mdTextarea.selectionEnd=p},insertTab(t){const e=t.target,n=e.selectionStart,s=e.selectionEnd,i=e.value.substring(0,n),r=e.value.substring(s),o=i+" "+r;this.text=o,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n+4}),t.preventDefault()},mdTextarea_changed(){console.log("mdTextarea_changed"),this.cursorPosition=this.$refs.mdTextarea.selectionStart},mdTextarea_clicked(){console.log(`mdTextarea_clicked: ${this.$refs.mdTextarea.selectionStart}`),this.cursorPosition=this.$refs.mdTextarea.selectionStart},setModel(){this.selecting_model=!0,ae.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:this.selectedModel}).then(t=>{console.log(t),t.status&&this.$refs.toast.showToast(`Model changed to ${this.selectedModel}`,4,!0),this.selecting_model=!1}).catch(t=>{this.$refs.toast.showToast(`Error ${t}`,4,!0),this.selecting_model=!1})},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){console.log("READING..."),this.isSynthesizingVoice=!0;let t=this.$refs.mdTextarea.selectionStart,e=this.$refs.mdTextarea.selectionEnd,n=this.text;t!=e&&(n=n.slice(t,e)),ae.post("./text2Wave",{client_id:this.$store.state.client_id,text:n}).then(s=>{console.log(s.data.url);let i=s.data.url;this.audio_url=i,this.isSynthesizingVoice=!1,Le(()=>{ze.replace()})}).catch(s=>{this.$refs.toast.showToast(`Error: ${s}`,4,!1),this.isSynthesizingVoice=!1,Le(()=>{ze.replace()})})},speak(){if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let t=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(i=>i.name===this.$store.state.config.audio_out_voice)[0]);const n=i=>{let r=this.text.substring(i,i+e);const o=[".","!","?",` -`];let a=-1;return o.forEach(c=>{const d=r.lastIndexOf(c);d>a&&(a=d)}),a==-1&&(a=r.length),console.log(a),a+i+1},s=()=>{const i=n(t),r=this.text.substring(t,i);this.msg.text=r,t=i+1,this.msg.onend=o=>{t{s()},1):(this.isSpeaking=!1,console.log("voice off :",this.text.length," ",i))},this.speechSynthesis.speak(this.msg)};s()},getCursorPosition(){return this.$refs.mdTextarea.selectionStart},appendToOutput(t){this.pre_text+=t,this.text=this.pre_text+this.post_text},generate_in_placeholder(){console.log("Finding cursor position");let t=this.text.indexOf("@@");if(t<0){this.$refs.toast.showToast("No generation placeholder found",4,!1);return}this.text=this.text.substring(0,t)+this.text.substring(t+26,this.text.length),this.pre_text=this.text.substring(0,t),this.post_text=this.text.substring(t,this.text.length);var e=this.text.substring(0,t);console.log(e),qe.emit("generate_text",{prompt:e,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},async tokenize_text(){const t=await ae.post("/lollms_tokenize",{prompt:this.text},{headers:this.posts_headers});console.log(t.data.named_tokens),this.namedTokens=t.data.named_tokens},generate(){console.log("Finding cursor position"),this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length);var t=this.text.substring(0,this.getCursorPosition());console.log(this.text),console.log(`cursor position :${this.getCursorPosition()}`),console.log(`pretext:${this.pre_text}`),console.log(`post_text:${this.post_text}`),console.log(`prompt:${t}`),qe.emit("generate_text",{prompt:t,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},stopGeneration(){qe.emit("cancel_text_generation",{})},exportText(){const t=this.text,e=document.createElement("a"),n=new Blob([t],{type:"text/plain"});e.href=URL.createObjectURL(n),e.download="exported_text.txt",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importText(){const t=document.getElementById("import-input");t&&(t.addEventListener("change",e=>{if(e.target.files&&e.target.files[0]){const n=new FileReader;n.onload=()=>{this.text=n.result},n.readAsText(e.target.files[0])}else alert("Please select a file.")}),t.click())},setPreset(){console.log("Setting preset"),console.log(this.selectedPreset),this.tab_id="render",this.text=Qet(this.selectedPreset.content,t=>{console.log("Done"),console.log(t),this.text=t})},addPreset(){let t=prompt("Enter the title of the preset:");this.presets[t]={client_id:this.$store.state.client_id,name:t,content:this.text},ae.post("./add_preset",this.presets[t]).then(e=>{console.log(e.data)}).catch(e=>{this.$refs.toast.showToast(`Error: ${e}`,4,!1)})},removePreset(){this.selectedPreset&&delete this.presets[this.selectedPreset.name]},reloadPresets(){ae.get("./get_presets").then(t=>{console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecording(){this.pending=!0,this.is_recording?ae.post("/stop_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!1,this.pending=!1,console.log(t),this.text+=t.data,console.log("text"),console.log(this.text),console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):ae.post("/start_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!0,this.pending=!1,console.log(t.data)}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecordingAndTranscribing(){this.pending=!0,this.is_deaf_transcribing?ae.get("/stop_recording").then(t=>{this.is_deaf_transcribing=!1,this.pending=!1,this.text=t.data.text,this.read()}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):ae.get("/start_recording").then(t=>{this.is_deaf_transcribing=!0,this.pending=!1}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isLesteningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length),this.recognition.onresult=t=>{this.generated="";for(let e=t.resultIndex;e{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=t=>{console.error("Speech recognition error:",t.error),this.isLesteningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isLesteningToVoice=!1,this.pre_text=this.pre_text+this.generated,this.cursorPosition=this.pre_text.length,clearTimeout(this.silenceTimer)},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")}}},Zet={class:"container w-full background-color shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Jet={class:"container flex flex-row m-2 w-full"},ett={class:"flex-grow w-full m-2"},ttt={class:"flex panels-color gap-3 flex-1 items-center flex-grow flex-row rounded-md border-2 border-blue-300 m-2 p-4"},ntt={class:"flex items-center space-x-2"},stt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1),itt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"})],-1),rtt=["src"],ott=l("span",{class:"w-80"},null,-1),att=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),ltt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ctt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),dtt=["src"],utt=["src"],ptt=["src"],_tt=["src"],htt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ftt={key:1,class:"w-6 h-6"},mtt=l("svg",{class:"animate-spin h-5 w-5 text-secondary",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1),gtt=[mtt],btt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1),Ett=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1),ytt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1),vtt={class:"flex gap-3 flex-1 items-center flex-grow justify-end"},Stt=l("input",{type:"file",id:"import-input",class:"hidden"},null,-1),Ttt={key:0},xtt=["src"],Ctt={key:2},wtt={key:0,class:"settings scrollbar bg-white dark:bg-gray-800 rounded-lg shadow-md p-6"},Rtt=l("h2",{class:"text-2xl font-bold text-gray-900 dark:text-white mb-4"},"Settings",-1),Att=["value"],Ntt={key:0,title:"Selecting model",class:"flex flex-row flex-grow justify-end"},Ott=l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Selecting model...")],-1),Mtt=[Ott],Itt=["value"],ktt=l("br",null,null,-1),Dtt=l("i",{"data-feather":"check"},null,-1),Ltt=[Dtt],Ptt=l("i",{"data-feather":"plus"},null,-1),Ftt=[Ptt],Utt=l("i",{"data-feather":"x"},null,-1),Btt=[Utt],Gtt=l("i",{"data-feather":"refresh-ccw"},null,-1),Vtt=[Gtt],ztt={class:"slider-container ml-2 mr-2"},Htt=l("h3",{class:"text-gray-600"},"Temperature",-1),qtt={class:"slider-value text-gray-500"},$tt={class:"slider-container ml-2 mr-2"},Ytt=l("h3",{class:"text-gray-600"},"Top K",-1),Wtt={class:"slider-value text-gray-500"},Ktt={class:"slider-container ml-2 mr-2"},jtt=l("h3",{class:"text-gray-600"},"Top P",-1),Qtt={class:"slider-value text-gray-500"},Xtt={class:"slider-container ml-2 mr-2"},Ztt=l("h3",{class:"text-gray-600"},"Repeat Penalty",-1),Jtt={class:"slider-value text-gray-500"},ent={class:"slider-container ml-2 mr-2"},tnt=l("h3",{class:"text-gray-600"},"Repeat Last N",-1),nnt={class:"slider-value text-gray-500"},snt={class:"slider-container ml-2 mr-2"},int=l("h3",{class:"text-gray-600"},"Number of tokens to crop the text to",-1),rnt={class:"slider-value text-gray-500"},ont={class:"slider-container ml-2 mr-2"},ant=l("h3",{class:"text-gray-600"},"Number of tokens to generate",-1),lnt={class:"slider-value text-gray-500"},cnt={class:"slider-container ml-2 mr-2"},dnt=l("h3",{class:"text-gray-600"},"Seed",-1),unt={class:"slider-value text-gray-500"};function pnt(t,e,n,s,i,r){const o=tt("ChatBarButton"),a=tt("ToolbarButton"),c=tt("DropdownSubmenu"),d=tt("DropdownMenu"),u=tt("tokens-hilighter"),h=tt("MarkdownRenderer"),f=tt("Card"),m=tt("Toast");return T(),x(Fe,null,[l("div",Zet,[l("div",Jet,[l("div",ett,[l("div",ttt,[l("div",ntt,[P(V(o,{onClick:r.generate,title:"Generate from the current cursor position"},{icon:Ie(()=>[stt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.generate_in_placeholder,title:"Generate from the next placeholder"},{icon:Ie(()=>[itt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.tokenize_text,title:"Tokenize the text"},{icon:Ie(()=>[l("img",{src:i.tokenize_icon,alt:"Tokenize",class:"h-5 w-5"},null,8,rtt)]),_:1},8,["onClick"]),[[wt,!i.generating]]),ott,P(V(o,{onClick:r.stopGeneration,title:"Stop generation"},{icon:Ie(()=>[att]),_:1},8,["onClick"]),[[wt,i.generating]]),V(o,{onClick:r.startSpeechRecognition,class:Ge({"text-red-500":t.isListeningToVoice}),title:"Dictate (using your browser's transcription)"},{icon:Ie(()=>[ltt]),_:1},8,["onClick","class"]),V(o,{onClick:r.speak,class:Ge({"text-red-500":r.isTalking}),title:"Convert text to audio (not saved, uses your browser's TTS service)"},{icon:Ie(()=>[Je(" 🍓 ")]),_:1},8,["onClick","class"]),V(o,{onClick:r.triggerFileUpload,title:"Upload a voice"},{icon:Ie(()=>[ctt]),_:1},8,["onClick"]),V(o,{onClick:r.startRecordingAndTranscribing,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio to audio"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,utt)):(T(),x("img",{key:0,src:i.is_deaf_transcribing?i.deaf_on:i.deaf_off,alt:"Deaf",class:"h-5 w-5"},null,8,dtt))]),_:1},8,["onClick","class"]),V(o,{onClick:r.startRecording,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio recording"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,_tt)):(T(),x("img",{key:0,src:i.is_recording?i.rec_on:i.rec_off,alt:"Record",class:"h-5 w-5"},null,8,ptt))]),_:1},8,["onClick","class"]),i.isSynthesizingVoice?(T(),x("div",ftt,gtt)):(T(),dt(o,{key:0,onClick:r.read,title:"Generate audio from text"},{icon:Ie(()=>[htt]),_:1},8,["onClick"])),P(V(o,{onClick:r.exportText,title:"Export text"},{icon:Ie(()=>[btt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.importText,title:"Import text"},{icon:Ie(()=>[Ett]),_:1},8,["onClick"]),[[wt,!i.generating]]),V(o,{onClick:e[0]||(e[0]=_=>i.showSettings=!i.showSettings),title:"Settings"},{icon:Ie(()=>[ytt]),_:1})]),l("input",{type:"file",ref:"fileInput",onChange:e[1]||(e[1]=(..._)=>r.handleFileUpload&&r.handleFileUpload(..._)),style:{display:"none"},accept:".wav"},null,544),l("div",vtt,[l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="source"}]),onClick:e[2]||(e[2]=_=>i.tab_id="source")}," Source ",2),l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="render"}]),onClick:e[3]||(e[3]=_=>i.tab_id="render")}," Render ",2)]),Stt]),l("div",{class:Ge(["flex-grow m-2 p-2 border panels-color border-blue-300 rounded-md",{"border-red-500":i.generating}])},[i.tab_id==="source"?(T(),x("div",Ttt,[V(d,{title:"Add Block"},{default:Ie(()=>[V(c,{title:"Programming Languages",icon:"code"},{default:Ie(()=>[V(a,{onClick:e[4]||(e[4]=j(_=>r.addBlock("python"),["stop"])),title:"Python",icon:"python"}),V(a,{onClick:e[5]||(e[5]=j(_=>r.addBlock("javascript"),["stop"])),title:"JavaScript",icon:"js"}),V(a,{onClick:e[6]||(e[6]=j(_=>r.addBlock("typescript"),["stop"])),title:"TypeScript",icon:"typescript"}),V(a,{onClick:e[7]||(e[7]=j(_=>r.addBlock("java"),["stop"])),title:"Java",icon:"java"}),V(a,{onClick:e[8]||(e[8]=j(_=>r.addBlock("c++"),["stop"])),title:"C++",icon:"cplusplus"}),V(a,{onClick:e[9]||(e[9]=j(_=>r.addBlock("csharp"),["stop"])),title:"C#",icon:"csharp"}),V(a,{onClick:e[10]||(e[10]=j(_=>r.addBlock("go"),["stop"])),title:"Go",icon:"go"}),V(a,{onClick:e[11]||(e[11]=j(_=>r.addBlock("rust"),["stop"])),title:"Rust",icon:"rust"}),V(a,{onClick:e[12]||(e[12]=j(_=>r.addBlock("swift"),["stop"])),title:"Swift",icon:"swift"}),V(a,{onClick:e[13]||(e[13]=j(_=>r.addBlock("kotlin"),["stop"])),title:"Kotlin",icon:"kotlin"}),V(a,{onClick:e[14]||(e[14]=j(_=>r.addBlock("r"),["stop"])),title:"R",icon:"r-project"})]),_:1}),V(c,{title:"Web Technologies",icon:"web"},{default:Ie(()=>[V(a,{onClick:e[15]||(e[15]=j(_=>r.addBlock("html"),["stop"])),title:"HTML",icon:"html5"}),V(a,{onClick:e[16]||(e[16]=j(_=>r.addBlock("css"),["stop"])),title:"CSS",icon:"css3"}),V(a,{onClick:e[17]||(e[17]=j(_=>r.addBlock("vue"),["stop"])),title:"Vue.js",icon:"vuejs"}),V(a,{onClick:e[18]||(e[18]=j(_=>r.addBlock("react"),["stop"])),title:"React",icon:"react"}),V(a,{onClick:e[19]||(e[19]=j(_=>r.addBlock("angular"),["stop"])),title:"Angular",icon:"angular"})]),_:1}),V(c,{title:"Markup and Data",icon:"file-code"},{default:Ie(()=>[V(a,{onClick:e[20]||(e[20]=j(_=>r.addBlock("xml"),["stop"])),title:"XML",icon:"xml"}),V(a,{onClick:e[21]||(e[21]=j(_=>r.addBlock("json"),["stop"])),title:"JSON",icon:"json"}),V(a,{onClick:e[22]||(e[22]=j(_=>r.addBlock("yaml"),["stop"])),title:"YAML",icon:"yaml"}),V(a,{onClick:e[23]||(e[23]=j(_=>r.addBlock("markdown"),["stop"])),title:"Markdown",icon:"markdown"}),V(a,{onClick:e[24]||(e[24]=j(_=>r.addBlock("latex"),["stop"])),title:"LaTeX",icon:"latex"})]),_:1}),V(c,{title:"Scripting and Shell",icon:"terminal"},{default:Ie(()=>[V(a,{onClick:e[25]||(e[25]=j(_=>r.addBlock("bash"),["stop"])),title:"Bash",icon:"bash"}),V(a,{onClick:e[26]||(e[26]=j(_=>r.addBlock("powershell"),["stop"])),title:"PowerShell",icon:"powershell"}),V(a,{onClick:e[27]||(e[27]=j(_=>r.addBlock("perl"),["stop"])),title:"Perl",icon:"perl"})]),_:1}),V(c,{title:"Diagramming",icon:"sitemap"},{default:Ie(()=>[V(a,{onClick:e[28]||(e[28]=j(_=>r.addBlock("mermaid"),["stop"])),title:"Mermaid",icon:"mermaid"}),V(a,{onClick:e[29]||(e[29]=j(_=>r.addBlock("graphviz"),["stop"])),title:"Graphviz",icon:"graphviz"}),V(a,{onClick:e[30]||(e[30]=j(_=>r.addBlock("plantuml"),["stop"])),title:"PlantUML",icon:"plantuml"})]),_:1}),V(c,{title:"Database",icon:"database"},{default:Ie(()=>[V(a,{onClick:e[31]||(e[31]=j(_=>r.addBlock("sql"),["stop"])),title:"SQL",icon:"sql"}),V(a,{onClick:e[32]||(e[32]=j(_=>r.addBlock("mongodb"),["stop"])),title:"MongoDB",icon:"mongodb"})]),_:1}),V(a,{onClick:e[33]||(e[33]=j(_=>r.addBlock(""),["stop"])),title:"Generic Block",icon:"code"})]),_:1}),V(a,{onClick:e[34]||(e[34]=j(_=>t.copyContentToClipboard(),["stop"])),title:"Copy message to clipboard",icon:"copy"}),P(l("textarea",{ref:"mdTextarea",onKeydown:e[35]||(e[35]=zs(j((..._)=>r.insertTab&&r.insertTab(..._),["prevent"]),["tab"])),class:"block min-h-500 p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,style:Ht({minHeight:i.mdRenderHeight+"px"}),placeholder:"Enter message here...","onUpdate:modelValue":e[36]||(e[36]=_=>i.text=_),onClick:e[37]||(e[37]=j((..._)=>r.mdTextarea_clicked&&r.mdTextarea_clicked(..._),["prevent"])),onChange:e[38]||(e[38]=j((..._)=>r.mdTextarea_changed&&r.mdTextarea_changed(..._),["prevent"]))},`\r +`+this.text.slice(e,n)+"\n```\n"+this.text.slice(n),e=e+3+t.length),this.$refs.mdTextarea.focus(),this.$refs.mdTextarea.selectionStart=this.$refs.mdTextarea.selectionEnd=p},insertTab(t){const e=t.target,n=e.selectionStart,s=e.selectionEnd,i=e.value.substring(0,n),r=e.value.substring(s),o=i+" "+r;this.text=o,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n+4}),t.preventDefault()},mdTextarea_changed(){console.log("mdTextarea_changed"),this.cursorPosition=this.$refs.mdTextarea.selectionStart},mdTextarea_clicked(){console.log(`mdTextarea_clicked: ${this.$refs.mdTextarea.selectionStart}`),this.cursorPosition=this.$refs.mdTextarea.selectionStart},setModel(){this.selecting_model=!0,oe.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:this.selectedModel}).then(t=>{console.log(t),t.status&&this.$refs.toast.showToast(`Model changed to ${this.selectedModel}`,4,!0),this.selecting_model=!1}).catch(t=>{this.$refs.toast.showToast(`Error ${t}`,4,!0),this.selecting_model=!1})},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){console.log("READING..."),this.isSynthesizingVoice=!0;let t=this.$refs.mdTextarea.selectionStart,e=this.$refs.mdTextarea.selectionEnd,n=this.text;t!=e&&(n=n.slice(t,e)),oe.post("./text2Wave",{client_id:this.$store.state.client_id,text:n}).then(s=>{console.log(s.data.url);let i=s.data.url;this.audio_url=i,this.isSynthesizingVoice=!1,Le(()=>{ze.replace()})}).catch(s=>{this.$refs.toast.showToast(`Error: ${s}`,4,!1),this.isSynthesizingVoice=!1,Le(()=>{ze.replace()})})},speak(){if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let t=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(i=>i.name===this.$store.state.config.audio_out_voice)[0]);const n=i=>{let r=this.text.substring(i,i+e);const o=[".","!","?",` +`];let a=-1;return o.forEach(c=>{const d=r.lastIndexOf(c);d>a&&(a=d)}),a==-1&&(a=r.length),console.log(a),a+i+1},s=()=>{const i=n(t),r=this.text.substring(t,i);this.msg.text=r,t=i+1,this.msg.onend=o=>{t{s()},1):(this.isSpeaking=!1,console.log("voice off :",this.text.length," ",i))},this.speechSynthesis.speak(this.msg)};s()},getCursorPosition(){return this.$refs.mdTextarea.selectionStart},appendToOutput(t){this.pre_text+=t,this.text=this.pre_text+this.post_text},generate_in_placeholder(){console.log("Finding cursor position");let t=this.text.indexOf("@@");if(t<0){this.$refs.toast.showToast("No generation placeholder found",4,!1);return}this.text=this.text.substring(0,t)+this.text.substring(t+26,this.text.length),this.pre_text=this.text.substring(0,t),this.post_text=this.text.substring(t,this.text.length);var e=this.text.substring(0,t);console.log(e),qe.emit("generate_text",{prompt:e,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},async tokenize_text(){const t=await oe.post("/lollms_tokenize",{prompt:this.text},{headers:this.posts_headers});console.log(t.data.named_tokens),this.namedTokens=t.data.named_tokens},generate(){console.log("Finding cursor position"),this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length);var t=this.text.substring(0,this.getCursorPosition());console.log(this.text),console.log(`cursor position :${this.getCursorPosition()}`),console.log(`pretext:${this.pre_text}`),console.log(`post_text:${this.post_text}`),console.log(`prompt:${t}`),qe.emit("generate_text",{prompt:t,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},stopGeneration(){qe.emit("cancel_text_generation",{})},exportText(){const t=this.text,e=document.createElement("a"),n=new Blob([t],{type:"text/plain"});e.href=URL.createObjectURL(n),e.download="exported_text.txt",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importText(){const t=document.getElementById("import-input");t&&(t.addEventListener("change",e=>{if(e.target.files&&e.target.files[0]){const n=new FileReader;n.onload=()=>{this.text=n.result},n.readAsText(e.target.files[0])}else alert("Please select a file.")}),t.click())},setPreset(){console.log("Setting preset"),console.log(this.selectedPreset),this.tab_id="render",this.text=Qet(this.selectedPreset.content,t=>{console.log("Done"),console.log(t),this.text=t})},addPreset(){let t=prompt("Enter the title of the preset:");this.presets[t]={client_id:this.$store.state.client_id,name:t,content:this.text},oe.post("./add_preset",this.presets[t]).then(e=>{console.log(e.data)}).catch(e=>{this.$refs.toast.showToast(`Error: ${e}`,4,!1)})},removePreset(){this.selectedPreset&&delete this.presets[this.selectedPreset.name]},reloadPresets(){oe.get("./get_presets").then(t=>{console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecording(){this.pending=!0,this.is_recording?oe.post("/stop_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!1,this.pending=!1,console.log(t),this.text+=t.data,console.log("text"),console.log(this.text),console.log(t.data),this.presets=t.data,this.selectedPreset=this.presets[0]}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):oe.post("/start_recording",{client_id:this.$store.state.client_id}).then(t=>{this.is_recording=!0,this.pending=!1,console.log(t.data)}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startRecordingAndTranscribing(){this.pending=!0,this.is_deaf_transcribing?oe.get("/stop_recording").then(t=>{this.is_deaf_transcribing=!1,this.pending=!1,this.text=t.data.text,this.read()}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)}):oe.get("/start_recording").then(t=>{this.is_deaf_transcribing=!0,this.pending=!1}).catch(t=>{this.$refs.toast.showToast(`Error: ${t}`,4,!1)})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isLesteningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length),this.recognition.onresult=t=>{this.generated="";for(let e=t.resultIndex;e{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=t=>{console.error("Speech recognition error:",t.error),this.isLesteningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isLesteningToVoice=!1,this.pre_text=this.pre_text+this.generated,this.cursorPosition=this.pre_text.length,clearTimeout(this.silenceTimer)},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")}}},Zet={class:"container w-full background-color shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Jet={class:"container flex flex-row m-2 w-full"},ett={class:"flex-grow w-full m-2"},ttt={class:"flex panels-color gap-3 flex-1 items-center flex-grow flex-row rounded-md border-2 border-blue-300 m-2 p-4"},ntt={class:"flex items-center space-x-2"},stt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1),itt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"})],-1),rtt=["src"],ott=l("span",{class:"w-80"},null,-1),att=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),ltt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ctt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),dtt=["src"],utt=["src"],ptt=["src"],_tt=["src"],htt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1),ftt={key:1,class:"w-6 h-6"},mtt=l("svg",{class:"animate-spin h-5 w-5 text-secondary",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1),gtt=[mtt],btt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1),Ett=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1),ytt=l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1),vtt={class:"flex gap-3 flex-1 items-center flex-grow justify-end"},Stt=l("input",{type:"file",id:"import-input",class:"hidden"},null,-1),Ttt={key:0},xtt=["src"],Ctt={key:2},wtt={key:0,class:"settings scrollbar bg-white dark:bg-gray-800 rounded-lg shadow-md p-6"},Rtt=l("h2",{class:"text-2xl font-bold text-gray-900 dark:text-white mb-4"},"Settings",-1),Att=["value"],Ntt={key:0,title:"Selecting model",class:"flex flex-row flex-grow justify-end"},Ott=l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Selecting model...")],-1),Mtt=[Ott],Itt=["value"],ktt=l("br",null,null,-1),Dtt=l("i",{"data-feather":"check"},null,-1),Ltt=[Dtt],Ptt=l("i",{"data-feather":"plus"},null,-1),Ftt=[Ptt],Utt=l("i",{"data-feather":"x"},null,-1),Btt=[Utt],Gtt=l("i",{"data-feather":"refresh-ccw"},null,-1),Vtt=[Gtt],ztt={class:"slider-container ml-2 mr-2"},Htt=l("h3",{class:"text-gray-600"},"Temperature",-1),qtt={class:"slider-value text-gray-500"},$tt={class:"slider-container ml-2 mr-2"},Ytt=l("h3",{class:"text-gray-600"},"Top K",-1),Wtt={class:"slider-value text-gray-500"},Ktt={class:"slider-container ml-2 mr-2"},jtt=l("h3",{class:"text-gray-600"},"Top P",-1),Qtt={class:"slider-value text-gray-500"},Xtt={class:"slider-container ml-2 mr-2"},Ztt=l("h3",{class:"text-gray-600"},"Repeat Penalty",-1),Jtt={class:"slider-value text-gray-500"},ent={class:"slider-container ml-2 mr-2"},tnt=l("h3",{class:"text-gray-600"},"Repeat Last N",-1),nnt={class:"slider-value text-gray-500"},snt={class:"slider-container ml-2 mr-2"},int=l("h3",{class:"text-gray-600"},"Number of tokens to crop the text to",-1),rnt={class:"slider-value text-gray-500"},ont={class:"slider-container ml-2 mr-2"},ant=l("h3",{class:"text-gray-600"},"Number of tokens to generate",-1),lnt={class:"slider-value text-gray-500"},cnt={class:"slider-container ml-2 mr-2"},dnt=l("h3",{class:"text-gray-600"},"Seed",-1),unt={class:"slider-value text-gray-500"};function pnt(t,e,n,s,i,r){const o=tt("ChatBarButton"),a=tt("ToolbarButton"),c=tt("DropdownSubmenu"),d=tt("DropdownMenu"),u=tt("tokens-hilighter"),h=tt("MarkdownRenderer"),f=tt("Card"),m=tt("Toast");return T(),x(Fe,null,[l("div",Zet,[l("div",Jet,[l("div",ett,[l("div",ttt,[l("div",ntt,[P(V(o,{onClick:r.generate,title:"Generate from the current cursor position"},{icon:Ie(()=>[stt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.generate_in_placeholder,title:"Generate from the next placeholder"},{icon:Ie(()=>[itt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.tokenize_text,title:"Tokenize the text"},{icon:Ie(()=>[l("img",{src:i.tokenize_icon,alt:"Tokenize",class:"h-5 w-5"},null,8,rtt)]),_:1},8,["onClick"]),[[wt,!i.generating]]),ott,P(V(o,{onClick:r.stopGeneration,title:"Stop generation"},{icon:Ie(()=>[att]),_:1},8,["onClick"]),[[wt,i.generating]]),V(o,{onClick:r.startSpeechRecognition,class:Ge({"text-red-500":t.isListeningToVoice}),title:"Dictate (using your browser's transcription)"},{icon:Ie(()=>[ltt]),_:1},8,["onClick","class"]),V(o,{onClick:r.speak,class:Ge({"text-red-500":r.isTalking}),title:"Convert text to audio (not saved, uses your browser's TTS service)"},{icon:Ie(()=>[Je(" 🍓 ")]),_:1},8,["onClick","class"]),V(o,{onClick:r.triggerFileUpload,title:"Upload a voice"},{icon:Ie(()=>[ctt]),_:1},8,["onClick"]),V(o,{onClick:r.startRecordingAndTranscribing,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio to audio"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,utt)):(T(),x("img",{key:0,src:i.is_deaf_transcribing?i.deaf_on:i.deaf_off,alt:"Deaf",class:"h-5 w-5"},null,8,dtt))]),_:1},8,["onClick","class"]),V(o,{onClick:r.startRecording,class:Ge({"text-green-500":i.isLesteningToVoice}),title:"Start audio recording"},{icon:Ie(()=>[i.pending?(T(),x("img",{key:1,src:i.loading_icon,alt:"Loading",class:"h-5 w-5"},null,8,_tt)):(T(),x("img",{key:0,src:i.is_recording?i.rec_on:i.rec_off,alt:"Record",class:"h-5 w-5"},null,8,ptt))]),_:1},8,["onClick","class"]),i.isSynthesizingVoice?(T(),x("div",ftt,gtt)):(T(),dt(o,{key:0,onClick:r.read,title:"Generate audio from text"},{icon:Ie(()=>[htt]),_:1},8,["onClick"])),P(V(o,{onClick:r.exportText,title:"Export text"},{icon:Ie(()=>[btt]),_:1},8,["onClick"]),[[wt,!i.generating]]),P(V(o,{onClick:r.importText,title:"Import text"},{icon:Ie(()=>[Ett]),_:1},8,["onClick"]),[[wt,!i.generating]]),V(o,{onClick:e[0]||(e[0]=_=>i.showSettings=!i.showSettings),title:"Settings"},{icon:Ie(()=>[ytt]),_:1})]),l("input",{type:"file",ref:"fileInput",onChange:e[1]||(e[1]=(..._)=>r.handleFileUpload&&r.handleFileUpload(..._)),style:{display:"none"},accept:".wav"},null,544),l("div",vtt,[l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="source"}]),onClick:e[2]||(e[2]=_=>i.tab_id="source")}," Source ",2),l("button",{class:Ge(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":i.tab_id=="render"}]),onClick:e[3]||(e[3]=_=>i.tab_id="render")}," Render ",2)]),Stt]),l("div",{class:Ge(["flex-grow m-2 p-2 border panels-color border-blue-300 rounded-md",{"border-red-500":i.generating}])},[i.tab_id==="source"?(T(),x("div",Ttt,[V(d,{title:"Add Block"},{default:Ie(()=>[V(c,{title:"Programming Languages",icon:"code"},{default:Ie(()=>[V(a,{onClick:e[4]||(e[4]=j(_=>r.addBlock("python"),["stop"])),title:"Python",icon:"python"}),V(a,{onClick:e[5]||(e[5]=j(_=>r.addBlock("javascript"),["stop"])),title:"JavaScript",icon:"js"}),V(a,{onClick:e[6]||(e[6]=j(_=>r.addBlock("typescript"),["stop"])),title:"TypeScript",icon:"typescript"}),V(a,{onClick:e[7]||(e[7]=j(_=>r.addBlock("java"),["stop"])),title:"Java",icon:"java"}),V(a,{onClick:e[8]||(e[8]=j(_=>r.addBlock("c++"),["stop"])),title:"C++",icon:"cplusplus"}),V(a,{onClick:e[9]||(e[9]=j(_=>r.addBlock("csharp"),["stop"])),title:"C#",icon:"csharp"}),V(a,{onClick:e[10]||(e[10]=j(_=>r.addBlock("go"),["stop"])),title:"Go",icon:"go"}),V(a,{onClick:e[11]||(e[11]=j(_=>r.addBlock("rust"),["stop"])),title:"Rust",icon:"rust"}),V(a,{onClick:e[12]||(e[12]=j(_=>r.addBlock("swift"),["stop"])),title:"Swift",icon:"swift"}),V(a,{onClick:e[13]||(e[13]=j(_=>r.addBlock("kotlin"),["stop"])),title:"Kotlin",icon:"kotlin"}),V(a,{onClick:e[14]||(e[14]=j(_=>r.addBlock("r"),["stop"])),title:"R",icon:"r-project"})]),_:1}),V(c,{title:"Web Technologies",icon:"web"},{default:Ie(()=>[V(a,{onClick:e[15]||(e[15]=j(_=>r.addBlock("html"),["stop"])),title:"HTML",icon:"html5"}),V(a,{onClick:e[16]||(e[16]=j(_=>r.addBlock("css"),["stop"])),title:"CSS",icon:"css3"}),V(a,{onClick:e[17]||(e[17]=j(_=>r.addBlock("vue"),["stop"])),title:"Vue.js",icon:"vuejs"}),V(a,{onClick:e[18]||(e[18]=j(_=>r.addBlock("react"),["stop"])),title:"React",icon:"react"}),V(a,{onClick:e[19]||(e[19]=j(_=>r.addBlock("angular"),["stop"])),title:"Angular",icon:"angular"})]),_:1}),V(c,{title:"Markup and Data",icon:"file-code"},{default:Ie(()=>[V(a,{onClick:e[20]||(e[20]=j(_=>r.addBlock("xml"),["stop"])),title:"XML",icon:"xml"}),V(a,{onClick:e[21]||(e[21]=j(_=>r.addBlock("json"),["stop"])),title:"JSON",icon:"json"}),V(a,{onClick:e[22]||(e[22]=j(_=>r.addBlock("yaml"),["stop"])),title:"YAML",icon:"yaml"}),V(a,{onClick:e[23]||(e[23]=j(_=>r.addBlock("markdown"),["stop"])),title:"Markdown",icon:"markdown"}),V(a,{onClick:e[24]||(e[24]=j(_=>r.addBlock("latex"),["stop"])),title:"LaTeX",icon:"latex"})]),_:1}),V(c,{title:"Scripting and Shell",icon:"terminal"},{default:Ie(()=>[V(a,{onClick:e[25]||(e[25]=j(_=>r.addBlock("bash"),["stop"])),title:"Bash",icon:"bash"}),V(a,{onClick:e[26]||(e[26]=j(_=>r.addBlock("powershell"),["stop"])),title:"PowerShell",icon:"powershell"}),V(a,{onClick:e[27]||(e[27]=j(_=>r.addBlock("perl"),["stop"])),title:"Perl",icon:"perl"})]),_:1}),V(c,{title:"Diagramming",icon:"sitemap"},{default:Ie(()=>[V(a,{onClick:e[28]||(e[28]=j(_=>r.addBlock("mermaid"),["stop"])),title:"Mermaid",icon:"mermaid"}),V(a,{onClick:e[29]||(e[29]=j(_=>r.addBlock("graphviz"),["stop"])),title:"Graphviz",icon:"graphviz"}),V(a,{onClick:e[30]||(e[30]=j(_=>r.addBlock("plantuml"),["stop"])),title:"PlantUML",icon:"plantuml"})]),_:1}),V(c,{title:"Database",icon:"database"},{default:Ie(()=>[V(a,{onClick:e[31]||(e[31]=j(_=>r.addBlock("sql"),["stop"])),title:"SQL",icon:"sql"}),V(a,{onClick:e[32]||(e[32]=j(_=>r.addBlock("mongodb"),["stop"])),title:"MongoDB",icon:"mongodb"})]),_:1}),V(a,{onClick:e[33]||(e[33]=j(_=>r.addBlock(""),["stop"])),title:"Generic Block",icon:"code"})]),_:1}),V(a,{onClick:e[34]||(e[34]=j(_=>t.copyContentToClipboard(),["stop"])),title:"Copy message to clipboard",icon:"copy"}),P(l("textarea",{ref:"mdTextarea",onKeydown:e[35]||(e[35]=zs(j((..._)=>r.insertTab&&r.insertTab(..._),["prevent"]),["tab"])),class:"block min-h-500 p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,style:Ht({minHeight:i.mdRenderHeight+"px"}),placeholder:"Enter message here...","onUpdate:modelValue":e[36]||(e[36]=_=>i.text=_),onClick:e[37]||(e[37]=j((..._)=>r.mdTextarea_clicked&&r.mdTextarea_clicked(..._),["prevent"])),onChange:e[38]||(e[38]=j((..._)=>r.mdTextarea_changed&&r.mdTextarea_changed(..._),["prevent"]))},`\r `,36),[[pe,i.text]]),l("span",null,"Cursor position "+K(i.cursorPosition),1)])):G("",!0),i.audio_url!=null?(T(),x("audio",{controls:"",key:i.audio_url},[l("source",{src:i.audio_url,type:"audio/wav",ref:"audio_player"},null,8,xtt),Je(" Your browser does not support the audio element. ")])):G("",!0),V(u,{namedTokens:i.namedTokens},null,8,["namedTokens"]),i.tab_id==="render"?(T(),x("div",Ctt,[V(h,{ref:"mdRender",client_id:this.$store.state.client_id,message_id:0,discussion_id:0,"markdown-text":i.text,class:"mt-4 p-2 rounded shadow-lg dark:bg-bg-dark"},null,8,["client_id","markdown-text"])])):G("",!0)],2)]),i.showSettings?(T(),x("div",wtt,[Rtt,V(f,{title:"Model",class:"slider-container ml-0 mr-0",isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[P(l("select",{"onUpdate:modelValue":e[39]||(e[39]=_=>this.$store.state.selectedModel=_),onChange:e[40]||(e[40]=(..._)=>r.setModel&&r.setModel(..._)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(T(!0),x(Fe,null,Ke(r.models,_=>(T(),x("option",{key:_,value:_},K(_),9,Att))),128))],544),[[Dt,this.$store.state.selectedModel]]),i.selecting_model?(T(),x("div",Ntt,Mtt)):G("",!0)]),_:1}),V(f,{title:"Presets",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[P(l("select",{"onUpdate:modelValue":e[41]||(e[41]=_=>i.selectedPreset=_),class:"bg-white dark:bg-black mb-2 border-2 rounded-md shadow-sm w-full"},[(T(!0),x(Fe,null,Ke(i.presets,_=>(T(),x("option",{key:_,value:_},K(_.name),9,Itt))),128))],512),[[Dt,i.selectedPreset]]),ktt,l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[42]||(e[42]=(..._)=>r.setPreset&&r.setPreset(..._)),title:"Use preset"},Ltt),l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[43]||(e[43]=(..._)=>r.addPreset&&r.addPreset(..._)),title:"Add this text as a preset"},Ftt),l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[44]||(e[44]=(..._)=>r.removePreset&&r.removePreset(..._)),title:"Remove preset"},Btt),l("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[45]||(e[45]=(..._)=>r.reloadPresets&&r.reloadPresets(..._)),title:"Reload presets list"},Vtt)]),_:1}),V(f,{title:"Generation params",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[l("div",ztt,[Htt,P(l("input",{type:"range","onUpdate:modelValue":e[46]||(e[46]=_=>i.temperature=_),min:"0",max:"5",step:"0.1",class:"w-full"},null,512),[[pe,i.temperature]]),l("span",qtt,"Current value: "+K(i.temperature),1)]),l("div",$tt,[Ytt,P(l("input",{type:"range","onUpdate:modelValue":e[47]||(e[47]=_=>i.top_k=_),min:"1",max:"100",step:"1",class:"w-full"},null,512),[[pe,i.top_k]]),l("span",Wtt,"Current value: "+K(i.top_k),1)]),l("div",Ktt,[jtt,P(l("input",{type:"range","onUpdate:modelValue":e[48]||(e[48]=_=>i.top_p=_),min:"0",max:"1",step:"0.1",class:"w-full"},null,512),[[pe,i.top_p]]),l("span",Qtt,"Current value: "+K(i.top_p),1)]),l("div",Xtt,[Ztt,P(l("input",{type:"range","onUpdate:modelValue":e[49]||(e[49]=_=>i.repeat_penalty=_),min:"0",max:"5",step:"0.1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.repeat_penalty]]),l("span",Jtt,"Current value: "+K(i.repeat_penalty),1)]),l("div",ent,[tnt,P(l("input",{type:"range","onUpdate:modelValue":e[50]||(e[50]=_=>i.repeat_last_n=_),min:"0",max:"100",step:"1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.repeat_last_n]]),l("span",nnt,"Current value: "+K(i.repeat_last_n),1)]),l("div",snt,[int,P(l("input",{type:"number","onUpdate:modelValue":e[51]||(e[51]=_=>i.n_crop=_),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.n_crop]]),l("span",rnt,"Current value: "+K(i.n_crop),1)]),l("div",ont,[ant,P(l("input",{type:"number","onUpdate:modelValue":e[52]||(e[52]=_=>i.n_predicts=_),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.n_predicts]]),l("span",lnt,"Current value: "+K(i.n_predicts),1)]),l("div",cnt,[dnt,P(l("input",{type:"number","onUpdate:modelValue":e[53]||(e[53]=_=>i.seed=_),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[pe,i.seed]]),l("span",unt,"Current value: "+K(i.seed),1)])]),_:1})])):G("",!0)])]),V(m,{ref:"toast"},null,512)],64)}const _nt=ot(Xet,[["render",pnt]]);const hnt={data(){return{activeExtension:null}},computed:{activeExtensions(){return console.log(this.$store.state.extensionsZoo),console.log(BO(this.$store.state.extensionsZoo)),this.$store.state.extensionsZoo}},methods:{showExtensionPage(t){this.activeExtension=t}}},fnt={class:"container overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},mnt={key:0},gnt=["onClick"],bnt={key:0},Ent=["src"],ynt={key:1},vnt=l("p",null,"No extension is active. Please install and activate an extension.",-1),Snt=[vnt];function Tnt(t,e,n,s,i,r){return T(),x("div",fnt,[r.activeExtensions.length>0?(T(),x("div",mnt,[(T(!0),x(Fe,null,Ke(r.activeExtensions,o=>(T(),x("div",{key:o.name,onClick:a=>r.showExtensionPage(o)},[l("div",{class:Ge({"active-tab":o===i.activeExtension})},K(o.name),3)],8,gnt))),128)),i.activeExtension?(T(),x("div",bnt,[l("iframe",{src:i.activeExtension.page,width:"100%",height:"500px",frameborder:"0"},null,8,Ent)])):G("",!0)])):(T(),x("div",ynt,Snt))])}const xnt=ot(hnt,[["render",Tnt]]);const Cnt={data(){return{sections:[{id:"introduction",title:"Introduction",content:`

LoLLMs (Lord of Large Language Multimodal Systems) is a powerful and versatile AI system designed to handle a wide range of tasks. Developed by ParisNeo, a computer geek passionate about AI, LoLLMs aims to be the ultimate tool for AI-assisted work and creativity.

With its advanced capabilities in natural language processing, multimodal understanding, and code interpretation, LoLLMs can assist users in various domains, from content creation to complex problem-solving.

@@ -151,15 +151,15 @@ https://github.com/highlightjs/highlight.js/issues/2277`),me=F,le=W),ne===void 0
  • Consult the FAQ section for common issues and solutions
  • If problems persist, please reach out to our support team through one of the contact methods listed below.

    - `}],contactLinks:[{text:"Email",url:"mailto:parisneoai@gmail.com"},{text:"Twitter",url:"https://twitter.com/ParisNeo_AI"},{text:"Discord",url:"https://discord.gg/BDxacQmv"},{text:"Sub-Reddit",url:"https://www.reddit.com/r/lollms"},{text:"Instagram",url:"https://www.instagram.com/spacenerduino/"}]}},methods:{scrollToSection(t){const e=document.getElementById(t);e&&e.scrollIntoView({behavior:"smooth",block:"start"})}}},wnt={class:"min-h-screen w-full bg-gradient-to-br from-blue-100 to-purple-100 dark:from-blue-900 dark:to-purple-900 overflow-y-auto"},Rnt={class:"container mx-auto px-4 py-8 relative z-10"},Ant=l("header",{class:"text-center mb-12 sticky top-0 bg-white dark:bg-gray-800 bg-opacity-90 dark:bg-opacity-90 backdrop-filter backdrop-blur-lg p-4 rounded-b-lg shadow-md"},[l("h1",{class:"text-5xl md:text-6xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 dark:from-blue-400 dark:to-purple-400 mb-2 animate-glow"}," LoLLMs Help Documentation "),l("p",{class:"text-2xl text-gray-600 dark:text-gray-300 italic"},' "One tool to rule them all" ')],-1),Nnt={class:"bg-white dark:bg-gray-800 shadow-md rounded-lg p-6 mb-8 animate-fade-in sticky top-32 max-h-[calc(100vh-8rem)] overflow-y-auto"},Ont=l("h2",{class:"text-3xl font-semibold mb-4 text-gray-800 dark:text-gray-200"},"Table of Contents",-1),Mnt={class:"space-y-2"},Int=["href","onClick"],knt={key:0,class:"ml-4 mt-2 space-y-1"},Dnt=["href","onClick"],Lnt={class:"bg-white dark:bg-gray-800 shadow-md rounded-lg p-6 animate-fade-in"},Pnt=["id"],Fnt={class:"text-4xl font-semibold mb-6 text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 dark:from-blue-400 dark:to-purple-400"},Unt=["innerHTML"],Bnt={key:0,class:"mt-8"},Gnt=["id"],Vnt={class:"text-3xl font-semibold mb-4 text-gray-700 dark:text-gray-300"},znt=["innerHTML"],Hnt={class:"mt-12 pt-8 border-t border-gray-300 dark:border-gray-700 animate-fade-in"},qnt=l("h2",{class:"text-3xl font-semibold mb-6 text-center text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 dark:from-blue-400 dark:to-purple-400"},"Contact",-1),$nt={class:"flex flex-wrap justify-center gap-6 mb-8"},Ynt=["href"],Wnt=l("p",{class:"text-center font-bold text-2xl text-gray-700 dark:text-gray-300"},"See ya!",-1),Knt={class:"fixed inset-0 pointer-events-none overflow-hidden"},jnt=l("svg",{class:"w-2 h-2 text-yellow-300",fill:"currentColor",viewBox:"0 0 20 20"},[l("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})],-1),Qnt=[jnt];function Xnt(t,e,n,s,i,r){return T(),x("div",wnt,[l("div",Rnt,[Ant,l("nav",Nnt,[Ont,l("ul",Mnt,[(T(!0),x(Fe,null,Ke(i.sections,o=>(T(),x("li",{key:o.id,class:"ml-4"},[l("a",{href:`#${o.id}`,onClick:a=>r.scrollToSection(o.id),class:"text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline transition-colors duration-200"},K(o.title),9,Int),o.subsections?(T(),x("ul",knt,[(T(!0),x(Fe,null,Ke(o.subsections,a=>(T(),x("li",{key:a.id},[l("a",{href:`#${a.id}`,onClick:c=>r.scrollToSection(a.id),class:"text-blue-500 dark:text-blue-300 hover:text-blue-700 dark:hover:text-blue-200 hover:underline transition-colors duration-200"},K(a.title),9,Dnt)]))),128))])):G("",!0)]))),128))])]),l("main",Lnt,[(T(!0),x(Fe,null,Ke(i.sections,o=>(T(),x("section",{key:o.id,id:o.id,class:"mb-12"},[l("h2",Fnt,K(o.title),1),l("div",{innerHTML:o.content,class:"prose dark:prose-invert max-w-none"},null,8,Unt),o.subsections?(T(),x("div",Bnt,[(T(!0),x(Fe,null,Ke(o.subsections,a=>(T(),x("section",{key:a.id,id:a.id,class:"mb-8"},[l("h3",Vnt,K(a.title),1),l("div",{innerHTML:a.content,class:"prose dark:prose-invert max-w-none"},null,8,znt)],8,Gnt))),128))])):G("",!0)],8,Pnt))),128))]),l("footer",Hnt,[qnt,l("div",$nt,[(T(!0),x(Fe,null,Ke(i.contactLinks,(o,a)=>(T(),x("a",{key:a,href:o.url,target:"_blank",class:"text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline transition-colors duration-200"},K(o.text),9,Ynt))),128))]),Wnt])]),l("div",Knt,[(T(),x(Fe,null,Ke(50,o=>l("div",{key:o,class:"absolute animate-fall",style:Ht({left:`${Math.random()*100}%`,top:"-20px",animationDuration:`${3+Math.random()*7}s`,animationDelay:`${Math.random()*5}s`})},Qnt,4)),64))])])}const Znt=ot(Cnt,[["render",Xnt]]);function si(t,e=!0,n=1){const s=e?1e3:1024;if(Math.abs(t)=s&&r{ze.replace()})},executeCommand(t){this.isMenuOpen=!1,console.log("Selected"),console.log(t.value),typeof t.value=="function"&&(console.log("Command detected",t),t.value()),this.execute_cmd&&(console.log("executing generic command"),this.execute_cmd(t))},positionMenu(){var t;if(this.$refs.menuButton!=null){if(this.force_position==0||this.force_position==null){const e=this.$refs.menuButton.getBoundingClientRect(),n=window.innerHeight;t=e.bottom>n/2}else this.force_position==1?t=!0:t=!1;this.menuPosition.top=t?"auto":"calc(100% + 10px)",this.menuPosition.bottom=t?"100%":"auto"}}},mounted(){window.addEventListener("resize",this.positionMenu),this.positionMenu(),Le(()=>{ze.replace()})},beforeDestroy(){window.removeEventListener("resize",this.positionMenu)},watch:{isMenuOpen:"positionMenu"}},est={class:"menu-container"},tst=["title"],nst=["src"],sst=["data-feather"],ist={key:2,class:"w-5 h-5"},rst={key:3,"data-feather":"menu"},ost={class:"flex-grow menu-ul"},ast=["onClick"],lst={key:0,"data-feather":"check"},cst=["src","alt"],dst=["data-feather"],ust={key:3,class:"menu-icon"};function pst(t,e,n,s,i,r){return T(),x("div",est,[l("button",{onClick:e[0]||(e[0]=j((...o)=>r.toggleMenu&&r.toggleMenu(...o),["prevent"])),title:n.title,class:Ge([n.menuIconClass,"menu-button m-0 p-0 bg-blue-500 text-white dark:bg-blue-200 dark:text-gray-800 rounded flex items-center justify-center w-6 h-6 border-none cursor-pointer hover:bg-blue-400 w-8 h-8 object-fill text-red-700 border-2 active:scale-90 hover:z-20 hover:-translate-y-2 duration-150 border-gray-300 border-secondary cursor-pointer"]),ref:"menuButton"},[n.icon&&!n.icon.includes("#")&&!n.icon.includes("feather")?(T(),x("img",{key:0,src:n.icon,class:"w-5 h-5 p-0 m-0 shadow-lg bold"},null,8,nst)):n.icon&&n.icon.includes("feather")?(T(),x("i",{key:1,"data-feather":n.icon.split(":")[1],class:"w-5 h-5"},null,8,sst)):n.icon&&n.icon.includes("#")?(T(),x("p",ist,K(n.icon.split("#")[1]),1)):(T(),x("i",rst))],10,tst),V(Fs,{name:"slide"},{default:Ie(()=>[i.isMenuOpen?(T(),x("div",{key:0,class:"menu-list flex-grow",style:Ht(i.menuPosition),ref:"menu"},[l("ul",ost,[(T(!0),x(Fe,null,Ke(n.commands,(o,a)=>(T(),x("li",{key:a,onClick:j(c=>r.executeCommand(o),["prevent"]),class:"menu-command menu-li flex-grow hover:bg-blue-400"},[n.selected_entry==o.name?(T(),x("i",lst)):o.icon&&!o.icon.includes("feather")&&!o.is_file?(T(),x("img",{key:1,src:o.icon,alt:o.name,class:"menu-icon"},null,8,cst)):G("",!0),o.icon&&o.icon.includes("feather")&&!o.is_file?(T(),x("i",{key:2,"data-feather":o.icon.split(":")[1],class:"mr-2"},null,8,dst)):(T(),x("span",ust)),l("span",null,K(o.name),1)],8,ast))),128))])],4)):G("",!0)]),_:1})])}const wE=ot(Jnt,[["render",pst]]),_st={components:{InteractiveMenu:wE},props:{isInstalled:Boolean,onInstall:Function,onCancelInstall:Function,onUninstall:Function,onSelected:Function,onCopy:Function,onCopyLink:Function,selected:Boolean,model:Object,model_type:String},data(){return{progress:0,speed:0,total_size:0,downloaded_size:0,start_time:"",installing:!1,uninstalling:!1,failedToLoad:!1,linkNotValid:!1,selected_variant:""}},async mounted(){Le(()=>{ze.replace()})},methods:{formatFileSize(t){return t<1024?t+" bytes":t<1024*1024?(t/1024).toFixed(2)+" KB":t<1024*1024*1024?(t/(1024*1024)).toFixed(2)+" MB":(t/(1024*1024*1024)).toFixed(2)+" GB"},computedFileSize(t){return si(t)},getImgUrl(){return this.model.icon==null||this.model.icon==="/images/default_model.png"?Is:this.model.icon},defaultImg(t){t.target.src=Is},install(){this.onInstall(this)},uninstall(){this.isInstalled&&this.onUninstall(this)},toggleInstall(){this.isInstalled?(this.uninstalling=!0,this.onUninstall(this)):this.onInstall(this)},toggleSelected(t){if(console.log("event.target.tagName.toLowerCase()"),console.log(t.target.tagName.toLowerCase()),t.target.tagName.toLowerCase()==="button"||t.target.tagName.toLowerCase()==="svg"){t.stopPropagation();return}this.onSelected(this),this.model.selected=!0,Le(()=>{ze.replace()})},toggleCopy(){this.onCopy(this)},toggleCopyLink(){this.onCopyLink(this)},toggleCancelInstall(){this.onCancelInstall(this),this.installing=!1},handleSelection(){this.isInstalled&&!this.selected&&this.onSelected(this)},copyContentToClipboard(){this.$emit("copy","this.message.content")}},computed:{computed_classes(){return this.model.isInstalled?this.selected?"border-4 border-gray-200 bg-primary cursor-pointer":"border-0 border-primary bg-primary cursor-pointer":"border-transparent"},commandsList(){let t=[{name:this.model.isInstalled?"Install Extra":"Install",icon:"feather:settings",is_file:!1,value:this.install},{name:"Copy model info to clipboard",icon:"feather:settings",is_file:!1,value:this.toggleCopy}];return this.model.isInstalled&&t.push({name:"UnInstall",icon:"feather:settings",is_file:!1,value:this.uninstall}),this.selected&&t.push({name:"Reload",icon:"feather:refresh-ccw",is_file:!1,value:this.toggleSelected}),t},selected_computed(){return this.selected},fileSize:{get(){if(this.model&&this.model.variants&&this.model.variants.length>0){const t=this.model.variants[0].size;return this.formatFileSize(t)}return null}},speed_computed(){return si(this.speed)},total_size_computed(){return si(this.total_size)},downloaded_size_computed(){return si(this.downloaded_size)}},watch:{linkNotValid(){Le(()=>{ze.replace()})}}},hst=["title"],fst={key:0,class:"flex flex-row"},mst={class:"max-w-[300px] overflow-x-auto"},gst={class:"flex gap-3 items-center grow"},bst=["href"],Est=["src"],yst={class:"flex-1 overflow-hidden"},vst={class:"font-bold font-large text-lg truncate"},Sst={key:1,class:"flex items-center flex-row gap-2 my-1"},Tst={class:"flex grow items-center"},xst=l("i",{"data-feather":"box",class:"w-5"},null,-1),Cst=l("span",{class:"sr-only"},"Custom model / local model",-1),wst=[xst,Cst],Rst=l("span",{class:"sr-only"},"Remove",-1),Ast={key:2,class:"absolute z-10 -m-4 p-5 shadow-md text-center rounded-lg w-full h-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel bg-opacity-70 dark:bg-opacity-70 flex justify-center items-center"},Nst={class:"relative flex flex-col items-center justify-center flex-grow h-full"},Ost=l("div",{role:"status",class:"justify-center"},[l("svg",{"aria-hidden":"true",class:"w-24 h-24 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1),Mst={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},Ist={class:"w-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel rounded-lg p-2"},kst={class:"flex justify-between mb-1"},Dst=l("span",{class:"text-base font-medium text-blue-700 dark:text-white"},"Downloading",-1),Lst={class:"text-sm font-medium text-blue-700 dark:text-white"},Pst={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Fst={class:"flex justify-between mb-1"},Ust={class:"text-base font-medium text-blue-700 dark:text-white"},Bst={class:"text-sm font-medium text-blue-700 dark:text-white"},Gst={class:"flex flex-grow"},Vst={class:"flex flex-row flex-grow gap-3"},zst={class:"p-2 text-center grow"},Hst={key:3},qst={class:"flex flex-row items-center gap-3"},$st=["src"],Yst={class:"font-bold font-large text-lg truncate"},Wst=l("div",{class:"grow"},null,-1),Kst={class:"flex items-center flex-row-reverse gap-2 my-1"},jst={class:"flex flex-row items-center"},Qst={key:0,class:"text-base text-red-600 flex items-center mt-1"},Xst=l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0 mx-1"},null,-1),Zst=["title"],Jst={class:""},eit={class:"flex flex-row items-center"},tit=l("i",{"data-feather":"download",class:"w-5 m-1 flex-shrink-0"},null,-1),nit=l("b",null,"Card: ",-1),sit=["href","title"],iit=l("div",{class:"grow"},null,-1),rit=l("i",{"data-feather":"clipboard",class:"w-5"},null,-1),oit=[rit],ait={class:"flex items-center"},lit=l("i",{"data-feather":"file",class:"w-5 m-1"},null,-1),cit=l("b",null,"File size: ",-1),dit={class:"flex items-center"},uit=l("i",{"data-feather":"key",class:"w-5 m-1"},null,-1),pit=l("b",null,"License: ",-1),_it={key:0,class:"flex items-center"},hit=l("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),fit=l("b",null,"quantizer: ",-1),mit=["href"],git={class:"flex items-center"},bit=l("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Eit=l("b",null,"Model creator: ",-1),yit=["href"],vit={class:"flex items-center"},Sit=l("i",{"data-feather":"clock",class:"w-5 m-1"},null,-1),Tit=l("b",null,"Release date: ",-1),xit={class:"flex items-center"},Cit=l("i",{"data-feather":"grid",class:"w-5 m-1"},null,-1),wit=l("b",null,"Category: ",-1),Rit=["href"];function Ait(t,e,n,s,i,r){const o=tt("InteractiveMenu");return T(),x("div",{class:Ge(["relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",r.computed_classes]),title:n.model.name,onClick:e[10]||(e[10]=j(a=>r.toggleSelected(a),["prevent"]))},[n.model.isCustomModel?(T(),x("div",fst,[l("div",mst,[l("div",gst,[l("a",{href:n.model.model_creator_link,target:"_blank"},[l("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-lg object-fill"},null,40,Est)],8,bst),l("div",yst,[l("h3",vst,K(n.model.name),1)])])])])):G("",!0),n.model.isCustomModel?(T(),x("div",Sst,[l("div",Tst,[l("button",{type:"button",title:"Custom model / local model",class:"font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",onClick:e[1]||(e[1]=j(()=>{},["stop"]))},wst),Je(" Custom model ")]),l("div",null,[n.model.isInstalled?(T(),x("button",{key:0,title:"Delete file from disk",type:"button",onClick:e[2]||(e[2]=j((...a)=>r.uninstall&&r.uninstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[Je(" Uninstall "),Rst])):G("",!0)])])):G("",!0),i.installing?(T(),x("div",Ast,[l("div",Nst,[Ost,l("div",Mst,[l("div",Ist,[l("div",kst,[Dst,l("span",Lst,K(Math.floor(i.progress))+"%",1)]),l("div",Pst,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht({width:i.progress+"%"})},null,4)]),l("div",Fst,[l("span",Ust,"Download speed: "+K(r.speed_computed)+"/s",1),l("span",Bst,K(r.downloaded_size_computed)+"/"+K(r.total_size_computed),1)])])]),l("div",Gst,[l("div",Vst,[l("div",zst,[l("button",{onClick:e[3]||(e[3]=j((...a)=>r.toggleCancelInstall&&r.toggleCancelInstall(...a),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])])):G("",!0),n.model.isCustomModel?G("",!0):(T(),x("div",Hst,[l("div",qst,[l("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[4]||(e[4]=a=>r.defaultImg(a)),class:Ge(["w-10 h-10 rounded-lg object-fill",i.linkNotValid?"grayscale":""])},null,42,$st),l("h3",Yst,K(n.model.name),1),Wst,V(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])]),l("div",Kst,[l("div",jst,[i.linkNotValid?(T(),x("div",Qst,[Xst,Je(" Link is not valid ")])):G("",!0)])]),l("div",{class:"",title:n.model.isInstalled?n.model.name:"Not installed"},[l("div",Jst,[l("div",eit,[tit,nit,l("a",{href:"https://huggingface.co/"+n.model.quantizer+"/"+n.model.name,target:"_blank",onClick:e[5]||(e[5]=j(()=>{},["stop"])),class:"m-1 flex items-center hover:text-secondary duration-75 active:scale-90 truncate",title:i.linkNotValid?"Link is not valid":"Download this manually (faster) and put it in the models/ folder then refresh"}," View full model card ",8,sit),iit,l("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[6]||(e[6]=j(a=>r.toggleCopyLink(),["stop"]))},oit)]),l("div",ait,[l("div",{class:Ge(["flex flex-shrink-0 items-center",i.linkNotValid?"text-red-600":""])},[lit,cit,Je(" "+K(r.fileSize),1)],2)]),l("div",dit,[uit,pit,Je(" "+K(n.model.license),1)]),n.model.quantizer!="None"&&n.model.type!="transformers"?(T(),x("div",_it,[hit,fit,l("a",{href:"https://huggingface.co/"+n.model.quantizer,target:"_blank",rel:"noopener noreferrer",onClick:e[7]||(e[7]=j(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},K(n.model.quantizer),9,mit)])):G("",!0),l("div",git,[bit,Eit,l("a",{href:n.model.model_creator_link,target:"_blank",rel:"noopener noreferrer",onClick:e[8]||(e[8]=j(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},K(n.model.model_creator),9,yit)]),l("div",vit,[Sit,Tit,Je(" "+K(n.model.last_commit_time),1)]),l("div",xit,[Cit,wit,l("a",{href:"https://huggingface.co/"+n.model.model_creator,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=j(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},K(n.model.category),9,Rit)])])],8,Zst)]))],10,hst)}const Nit=ot(_st,[["render",Ait]]),Oit={data(){return{editMode:!1,avatar:"path/to/avatar.jpg",personalityName:"Personality Name",personalityAuthor:"Author Name",personalityDescription:"Personality Description",personalityCategory:"Category",disclaimer:"Disclaimer text",conditioningText:"Conditioning Text",aiPrefix:"AI Prefix",userPrefix:"User Prefix",antipromptsList:[{id:1,text:"Antiprompt 1"},{id:2,text:"Antiprompt 2"},{id:3,text:"Antiprompt 3"}]}},methods:{commitChanges(){console.log("Personality changes committed"),this.editMode=!1}}},Mit={class:"p-4"},Iit={class:"flex items-center mb-4"},kit=["src"],Dit={class:"text-lg font-semibold"},Lit=l("strong",null,"Author:",-1),Pit=l("strong",null,"Description:",-1),Fit=l("strong",null,"Category:",-1),Uit={key:0},Bit=l("strong",null,"Disclaimer:",-1),Git=l("strong",null,"Conditioning Text:",-1),Vit=l("strong",null,"AI Prefix:",-1),zit=l("strong",null,"User Prefix:",-1),Hit=l("strong",null,"Antiprompts:",-1);function qit(t,e,n,s,i,r){return T(),x("div",Mit,[l("div",Iit,[l("img",{src:i.avatar,class:"w-12 h-12 rounded-full mr-2",alt:"Avatar"},null,8,kit),l("h2",Dit,K(i.personalityName),1)]),l("p",null,[Lit,Je(" "+K(i.personalityAuthor),1)]),l("p",null,[Pit,Je(" "+K(i.personalityDescription),1)]),l("p",null,[Fit,Je(" "+K(i.personalityCategory),1)]),i.disclaimer?(T(),x("p",Uit,[Bit,Je(" "+K(i.disclaimer),1)])):G("",!0),l("p",null,[Git,Je(" "+K(i.conditioningText),1)]),l("p",null,[Vit,Je(" "+K(i.aiPrefix),1)]),l("p",null,[zit,Je(" "+K(i.userPrefix),1)]),l("div",null,[Hit,l("ul",null,[(T(!0),x(Fe,null,Ke(i.antipromptsList,o=>(T(),x("li",{key:o.id},K(o.text),1))),128))])]),l("button",{onClick:e[0]||(e[0]=o=>i.editMode=!0),class:"mt-4 bg-blue-500 text-white px-4 py-2 rounded"}," Edit "),i.editMode?(T(),x("button",{key:1,onClick:e[1]||(e[1]=(...o)=>r.commitChanges&&r.commitChanges(...o)),class:"mt-4 bg-green-500 text-white px-4 py-2 rounded"}," Commit ")):G("",!0)])}const $it=ot(Oit,[["render",qit]]),Zu="/assets/logo-9d653710.svg",Yit="/",Wit={props:{personality:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onOpenFolder:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onCopyToCustom:Function,onEdit:Function,onReinstall:Function,onSettings:Function,onCopyPersonalityName:Function,onToggleFavorite:Function},components:{InteractiveMenu:wE},data(){return{isMounted:!1,name:this.personality.name,thumbnailVisible:!1,thumbnailPosition:{x:0,y:0}}},computed:{commandsList(){let t=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return console.log("this.category",this.personality.category),this.personality.category=="custom_personalities"?t.push({name:"edit",icon:"feather:settings",is_file:!1,value:this.edit}):t.push({name:"Copy to custom personas folder for editing",icon:"feather:copy",is_file:!1,value:this.copyToCustom}),this.isMounted&&t.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),this.selected&&this.personality.has_scripts&&t.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),t},selected_computed(){return this.selected}},mounted(){this.isMounted=this.personality.isMounted,Le(()=>{ze.replace()})},methods:{formatDate(t){const e={year:"numeric",month:"short",day:"numeric"};return new Date(t).toLocaleDateString(void 0,e)},showThumbnail(){this.thumbnailVisible=!0},hideThumbnail(){this.thumbnailVisible=!1},updateThumbnailPosition(t){this.thumbnailPosition={x:t.clientX+10,y:t.clientY+10}},getImgUrl(){return Yit+this.personality.avatar},defaultImg(t){t.target.src=Zu},toggleFavorite(){this.onToggleFavorite(this)},showFolder(){this.onOpenFolder(this)},toggleTalk(){this.onTalk(this)},toggleCopyLink(){this.onCopyPersonalityName(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},edit(){this.onEdit(this)},copyToCustom(){this.onCopyToCustom(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this),this.isMounted=!1},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Le(()=>{ze.replace()})}}},Kit=["title"],jit={class:"flex-grow"},Qit={class:"flex items-center mb-4"},Xit=["src"],Zit={class:"text-sm text-gray-600"},Jit={class:"text-sm text-gray-600"},ert={class:"text-sm text-gray-600"},trt={key:0,class:"text-sm text-gray-600"},nrt={key:1,class:"text-sm text-gray-600"},srt={class:"mb-4"},irt=l("h4",{class:"font-semibold mb-1 text-gray-700"},"Description:",-1),rrt=["innerHTML"],ort={class:"mt-auto pt-4 border-t"},art={class:"flex justify-between items-center flex-wrap"},lrt=["title"],crt=["fill"],drt=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"},null,-1),urt=[drt],prt=l("i",{"data-feather":"check",class:"h-6 w-6"},null,-1),_rt=[prt],hrt=l("i",{"data-feather":"send",class:"h-6 w-6"},null,-1),frt=[hrt],mrt=l("i",{"data-feather":"folder",class:"h-6 w-6"},null,-1),grt=[mrt],brt=["src"];function Ert(t,e,n,s,i,r){const o=tt("InteractiveMenu");return T(),x("div",{class:Ge(["personality-card bg-white border rounded-xl shadow-lg p-6 hover:shadow-xl transition duration-300 ease-in-out flex flex-col h-full",r.selected_computed?"border-primary-light":"border-transparent",i.isMounted?"bg-blue-200 dark:bg-blue-700":""]),title:n.personality.installed?"":"Not installed"},[l("div",jit,[l("div",Qit,[l("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),alt:"Personality Icon",class:"w-16 h-16 rounded-full border border-gray-300 mr-4 cursor-pointer",onClick:e[1]||(e[1]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),onMouseover:e[2]||(e[2]=(...a)=>r.showThumbnail&&r.showThumbnail(...a)),onMousemove:e[3]||(e[3]=(...a)=>r.updateThumbnailPosition&&r.updateThumbnailPosition(...a)),onMouseleave:e[4]||(e[4]=(...a)=>r.hideThumbnail&&r.hideThumbnail(...a))},null,40,Xit),l("div",null,[l("h3",{class:"font-bold text-xl text-gray-800 cursor-pointer",onClick:e[5]||(e[5]=(...a)=>r.toggleSelected&&r.toggleSelected(...a))},K(n.personality.name),1),l("p",Zit,"Author: "+K(n.personality.author),1),l("p",Jit,"Version: "+K(n.personality.version),1),l("p",ert,"Category: "+K(n.personality.category),1),n.personality.creation_date?(T(),x("p",trt,"Creation Date: "+K(r.formatDate(n.personality.creation_date)),1)):G("",!0),n.personality.last_update_date?(T(),x("p",nrt,"Last update Date: "+K(r.formatDate(n.personality.last_update_date)),1)):G("",!0)])]),l("div",srt,[irt,l("p",{class:"text-sm text-gray-600 h-20 overflow-y-auto",innerHTML:n.personality.description},null,8,rrt)])]),l("div",ort,[l("div",art,[l("button",{onClick:e[6]||(e[6]=(...a)=>r.toggleFavorite&&r.toggleFavorite(...a)),class:"text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out",title:t.isFavorite?"Remove from favorites":"Add to favorites"},[(T(),x("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:t.isFavorite?"currentColor":"none",viewBox:"0 0 24 24",stroke:"currentColor"},urt,8,crt))],8,lrt),i.isMounted?(T(),x("button",{key:0,onClick:e[7]||(e[7]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"text-blue-500 hover:text-blue-600 transition duration-300 ease-in-out",title:"Select"},_rt)):G("",!0),i.isMounted?(T(),x("button",{key:1,onClick:e[8]||(e[8]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),class:"text-green-500 hover:text-green-600 transition duration-300 ease-in-out",title:"Talk"},frt)):G("",!0),l("button",{onClick:e[9]||(e[9]=(...a)=>r.showFolder&&r.showFolder(...a)),class:"text-purple-500 hover:text-purple-600 transition duration-300 ease-in-out",title:"Show Folder"},grt),V(o,{commands:r.commandsList,force_position:2,title:"Menu",class:"text-gray-500 hover:text-gray-600 transition duration-300 ease-in-out"},null,8,["commands"])])]),i.thumbnailVisible?(T(),x("div",{key:0,style:Ht({top:i.thumbnailPosition.y+"px",left:i.thumbnailPosition.x+"px"}),class:"fixed z-50 w-20 h-20 rounded-full overflow-hidden"},[l("img",{src:r.getImgUrl(),class:"w-full h-full object-fill"},null,8,brt)],4)):G("",!0)],10,Kit)}const RE=ot(Wit,[["render",Ert]]),yrt={name:"DynamicUIRenderer",props:{ui:{type:String,required:!0},instanceId:{type:String,required:!0}},data(){return{containerId:`dynamic-ui-${this.instanceId}`}},watch:{ui:{immediate:!0,handler(t){console.log(`UI prop changed for instance ${this.instanceId}:`,t),this.$nextTick(()=>{this.renderContent()})}}},methods:{renderContent(){console.log(`Rendering content for instance ${this.instanceId}...`);const t=this.$refs.container,n=new DOMParser().parseFromString(this.ui,"text/html"),s=n.getElementsByTagName("style");Array.from(s).forEach(r=>{const o=document.createElement("style");o.textContent=this.scopeCSS(r.textContent),document.head.appendChild(o)}),t.innerHTML=n.body.innerHTML;const i=n.getElementsByTagName("script");Array.from(i).forEach(r=>{const o=document.createElement("script");o.textContent=r.textContent,t.appendChild(o)})},scopeCSS(t){return t.replace(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g,`#${this.containerId} $1$2`)}}},vrt=["id"];function Srt(t,e,n,s,i,r){return T(),x("div",{id:i.containerId,ref:"container"},null,8,vrt)}const oN=ot(yrt,[["render",Srt]]),Trt="/",xrt={components:{DynamicUIRenderer:oN},props:{binding:{},onSelected:Function,onReinstall:Function,onInstall:Function,onUnInstall:Function,onSettings:Function,onReloadBinding:Function,selected:Boolean},data(){return{isTemplate:!1}},mounted(){Le(()=>{ze.replace()})},methods:{copyToClipBoard(t){console.log("Copying to clipboard :",t),navigator.clipboard.writeText(t)},getImgUrl(){return Trt+this.binding.icon},defaultImg(t){t.target.src=Zu},toggleSelected(){this.onSelected(this)},toggleInstall(){this.onInstall(this)},toggleUnInstall(){this.onUnInstall(this)},toggleReinstall(){this.onReinstall(this)},toggleReloadBinding(){this.onReloadBinding(this)},toggleSettings(){this.onSettings(this)},getStatus(){(this.binding.folder==="backend_template"||this.binding.folder==="binding_template")&&(this.isTemplate=!0)}},watch:{selected(){Le(()=>{ze.replace()})}}},Crt=["title"],wrt={class:"flex flex-row items-center gap-3"},Rrt=["src"],Art={class:"font-bold font-large text-lg truncate"},Nrt=l("div",{class:"grow"},null,-1),Ort={class:"flex-none gap-1"},Mrt=l("i",{"data-feather":"refresh-cw",class:"w-5"},null,-1),Irt=l("span",{class:"sr-only"},"Help",-1),krt=[Mrt,Irt],Drt={class:"flex items-center flex-row-reverse gap-2 my-1"},Lrt=l("span",{class:"sr-only"},"Click to install",-1),Prt=l("span",{class:"sr-only"},"Reinstall",-1),Frt=l("span",{class:"sr-only"},"UnInstall",-1),Urt=l("span",{class:"sr-only"},"Settings",-1),Brt={class:""},Grt={class:""},Vrt={class:"flex items-center"},zrt=l("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Hrt=l("b",null,"Author: ",-1),qrt={class:"flex items-center"},$rt=l("i",{"data-feather":"folder",class:"w-5 m-1"},null,-1),Yrt=l("b",null,"Folder: ",-1),Wrt=l("div",{class:"grow"},null,-1),Krt=l("i",{"data-feather":"clipboard",class:"w-5"},null,-1),jrt=[Krt],Qrt={class:"flex items-center"},Xrt=l("i",{"data-feather":"git-merge",class:"w-5 m-1"},null,-1),Zrt=l("b",null,"Version: ",-1),Jrt={class:"flex items-center"},eot=l("i",{"data-feather":"github",class:"w-5 m-1"},null,-1),tot=l("b",null,"Link: ",-1),not=["href"],sot=l("div",{class:"flex items-center"},[l("i",{"data-feather":"info",class:"w-5 m-1"}),l("b",null,"Description: "),l("br")],-1),iot=["title","innerHTML"];function rot(t,e,n,s,i,r){const o=tt("DynamicUIRenderer");return T(),x("div",{class:Ge(["items-start p-4 hover:bg-primary-light hover:border-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",n.selected?" border-primary bg-primary":"border-transparent"]),onClick:e[8]||(e[8]=j((...a)=>r.toggleSelected&&r.toggleSelected(...a),["stop"])),title:n.binding.installed?n.binding.name:"Not installed"},[l("div",null,[l("div",wrt,[l("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-blue-700"},null,40,Rrt),l("h3",Art,K(n.binding.name),1),Nrt,l("div",Ort,[n.selected?(T(),x("button",{key:0,type:"button",title:"Reload binding",onClick:[e[1]||(e[1]=(...a)=>r.toggleReloadBinding&&r.toggleReloadBinding(...a)),e[2]||(e[2]=j(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},krt)):G("",!0)])]),l("div",Drt,[n.binding.installed?G("",!0):(T(),x("button",{key:0,title:"Click to install",type:"button",onClick:e[3]||(e[3]=j((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[Je(" Install "),Lrt])),n.binding.installed?(T(),x("button",{key:1,title:"Click to Reinstall binding",type:"button",onClick:e[4]||(e[4]=j((...a)=>r.toggleReinstall&&r.toggleReinstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-green-700 hover:bg-red-800 focus:ring-4 focus:ring-green-300 rounded-lg dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-red-900"},[Je(" Reinstall "),Prt])):G("",!0),n.binding.installed?(T(),x("button",{key:2,title:"Click to Reinstall binding",type:"button",onClick:e[5]||(e[5]=j((...a)=>r.toggleUnInstall&&r.toggleUnInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[Je(" Uninstall "),Frt])):G("",!0),n.selected?(T(),x("button",{key:3,title:"Click to open Settings",type:"button",onClick:e[6]||(e[6]=j((...a)=>r.toggleSettings&&r.toggleSettings(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[Je(" Settings "),Urt])):G("",!0)]),n.binding.ui?(T(),dt(o,{key:0,class:"w-full h-full",code:n.binding.ui},null,8,["code"])):G("",!0),l("div",Brt,[l("div",Grt,[l("div",Vrt,[zrt,Hrt,Je(" "+K(n.binding.author),1)]),l("div",qrt,[$rt,Yrt,Je(" "+K(n.binding.folder)+" ",1),Wrt,l("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[7]||(e[7]=j(a=>r.copyToClipBoard(this.binding.folder),["stop"]))},jrt)]),l("div",Qrt,[Xrt,Zrt,Je(" "+K(n.binding.version),1)]),l("div",Jrt,[eot,tot,l("a",{href:n.binding.link,target:"_blank",class:"flex items-center hover:text-secondary duration-75 active:scale-90"},K(n.binding.link),9,not)])]),sot,l("p",{class:"mx-1 opacity-80 line-clamp-3",title:n.binding.description,innerHTML:n.binding.description},null,8,iot)])])],10,Crt)}const oot=ot(xrt,[["render",rot]]),aot={data(){return{show:!1,model_path:"",resolve:null}},methods:{cancel(){this.resolve(null)},openInputBox(){return new Promise(t=>{this.resolve=t})},hide(t){this.show=!1,this.resolve&&(this.resolve(t),this.resolve=null)},showDialog(t){return new Promise(e=>{this.model_path=t,this.show=!0,this.resolve=e})}}},lot={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},cot={class:"relative w-full max-w-md max-h-full"},dot={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},uot=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),pot=l("span",{class:"sr-only"},"Close modal",-1),_ot=[uot,pot],hot={class:"p-4 text-center"},fot=l("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),mot={class:"p-4 text-center mx-auto mb-4"},got=l("label",{class:"mr-2"},"Model path",-1);function bot(t,e,n,s,i,r){return i.show?(T(),x("div",lot,[l("div",cot,[l("div",dot,[l("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},_ot),l("div",hot,[fot,l("div",mot,[got,P(l("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>i.model_path=o),class:"px-4 py-2 border border-gray-300 rounded-lg",type:"text"},null,512),[[pe,i.model_path]])]),l("button",{onClick:e[2]||(e[2]=o=>r.hide(!0)),type:"button",class:"text-white bg-green-600 hover:bg-green-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"}," Add "),l("button",{onClick:e[3]||(e[3]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},"No, cancel")])])])])):G("",!0)}const Eot=ot(aot,[["render",bot]]);const yot={props:{show:{type:Boolean,default:!1},can_remove:{type:Boolean,default:!1},title:{type:String,default:"Select an option"},choices:{type:Array,required:!0}},data(){return{selectedChoice:null,showInput:!1,newFilename:""}},methods:{displayName(t){return typeof t=="string"?t:t&&t.name?t.name:""},selectChoice(t){this.selectedChoice=t,this.$emit("choice-selected",t)},closeDialog(){this.$emit("close-dialog")},validateChoice(){this.$emit("choice-validated",this.selectedChoice)},formatSize(t){const e=["bytes","KB","MB","GB"];let n=0;for(;t>=1024&&n(vs("data-v-f43216be"),t=t(),Ss(),t),vot={key:0,class:"fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},Sot={class:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 w-96 max-w-md"},Tot={class:"text-2xl font-bold mb-4 text-gray-800 dark:text-white flex items-center"},xot=AE(()=>l("svg",{class:"w-6 h-6 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"})],-1)),Cot={class:"h-48 bg-gray-100 dark:bg-gray-700 rounded-lg mb-4 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-400 scrollbar-track-gray-200 dark:scrollbar-thumb-gray-600 dark:scrollbar-track-gray-800"},wot={class:"flex items-center justify-between"},Rot={class:"flex-grow"},Aot=["onClick"],Not=["onUpdate:modelValue","onBlur","onKeyup"],Oot={key:2,class:"text-xs text-gray-500 dark:text-gray-400 ml-2"},Mot={class:"flex items-center"},Iot=["onClick"],kot=AE(()=>l("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1)),Dot=[kot],Lot=["onClick"],Pot=AE(()=>l("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)),Fot=[Pot],Uot={key:0,class:"flex flex-col mb-4"},Bot={class:"flex justify-between"},Got=["disabled"];function Vot(t,e,n,s,i,r){return T(),dt(Fs,{name:"fade"},{default:Ie(()=>[n.show?(T(),x("div",vot,[l("div",Sot,[l("h2",Tot,[xot,Je(" "+K(n.title),1)]),l("div",Cot,[l("ul",null,[(T(!0),x(Fe,null,Ke(n.choices,(o,a)=>(T(),x("li",{key:a,class:"py-2 px-4 hover:bg-gray-200 dark:hover:bg-gray-600 transition duration-150 ease-in-out"},[l("div",wot,[l("div",Rot,[o.isEditing?P((T(),x("input",{key:1,"onUpdate:modelValue":c=>o.editName=c,onBlur:c=>r.finishEditing(o),onKeyup:zs(c=>r.finishEditing(o),["enter"]),class:"bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded px-2 py-1 text-sm",autofocus:""},null,40,Not)),[[pe,o.editName]]):(T(),x("span",{key:0,onClick:c=>r.selectChoice(o),class:Ge([{"font-semibold":o===i.selectedChoice},"text-gray-800 dark:text-white cursor-pointer"])},K(r.displayName(o)),11,Aot)),o.size?(T(),x("span",Oot,K(r.formatSize(o.size)),1)):G("",!0)]),l("div",Mot,[l("button",{onClick:c=>r.editChoice(o),class:"text-blue-500 hover:text-blue-600 mr-2"},Dot,8,Iot),n.can_remove?(T(),x("button",{key:0,onClick:c=>r.removeChoice(o,a),class:"text-red-500 hover:text-red-600"},Fot,8,Lot)):G("",!0)])])]))),128))])]),i.showInput?(T(),x("div",Uot,[P(l("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>i.newFilename=o),placeholder:"Enter a filename",class:"border border-gray-300 dark:border-gray-600 p-2 rounded-lg w-full mb-2 bg-white dark:bg-gray-700 text-gray-800 dark:text-white"},null,512),[[pe,i.newFilename]]),l("button",{onClick:e[1]||(e[1]=(...o)=>r.addNewFilename&&r.addNewFilename(...o)),class:"bg-blue-500 hover:bg-blue-600 text-white font-bold py-2 px-4 rounded-lg transition duration-300"}," Add ")])):G("",!0),l("div",Bot,[l("button",{onClick:e[2]||(e[2]=(...o)=>r.closeDialog&&r.closeDialog(...o)),class:"bg-gray-300 hover:bg-gray-400 text-gray-800 font-bold py-2 px-4 rounded-lg transition duration-300"}," Cancel "),l("button",{onClick:e[3]||(e[3]=(...o)=>r.validateChoice&&r.validateChoice(...o)),disabled:!i.selectedChoice,class:Ge([{"bg-blue-500 hover:bg-blue-600":i.selectedChoice,"bg-gray-400 cursor-not-allowed":!i.selectedChoice},"text-white font-bold py-2 px-4 rounded-lg transition duration-300"])}," Validate ",10,Got),l("button",{onClick:e[4]||(e[4]=(...o)=>r.toggleInput&&r.toggleInput(...o)),class:"bg-green-500 hover:bg-green-600 text-white font-bold py-2 px-4 rounded-lg transition duration-300"}," Add New ")])])])):G("",!0)]),_:1})}const NE=ot(yot,[["render",Vot],["__scopeId","data-v-f43216be"]]),zot={props:{radioOptions:{type:Array,required:!0},defaultValue:{type:String,default:"0"}},data(){return{selectedValue:this.defaultValue}},computed:{selectedLabel(){const t=this.radioOptions.find(e=>e.value===this.selectedValue);return t?t.label:""}},watch:{selectedValue(t,e){this.$emit("radio-selected",t)}},methods:{handleRadioChange(){}}},Hot={class:"flex space-x-4"},qot=["value","aria-checked"],$ot={class:"text-gray-700"};function Yot(t,e,n,s,i,r){return T(),x("div",Hot,[(T(!0),x(Fe,null,Ke(n.radioOptions,(o,a)=>(T(),x("label",{key:o.value,class:"flex items-center space-x-2"},[P(l("input",{type:"radio",value:o.value,"onUpdate:modelValue":e[0]||(e[0]=c=>i.selectedValue=c),onChange:e[1]||(e[1]=(...c)=>r.handleRadioChange&&r.handleRadioChange(...c)),class:"text-blue-500 focus:ring-2 focus:ring-blue-200","aria-checked":i.selectedValue===o.value.toString(),role:"radio"},null,40,qot),[[Nk,i.selectedValue]]),l("span",$ot,K(o.label),1)]))),128))])}const Wot=ot(zot,[["render",Yot]]),Kot="/assets/gpu-df72bf63.svg",jot={name:"StringListManager",props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"Enter an item"}},emits:["update:modelValue","change"],data(){return{newItem:"",draggingIndex:null}},methods:{addItem(){if(this.newItem.trim()){const t=[...this.modelValue,this.newItem.trim()];this.$emit("update:modelValue",t),this.$emit("change"),this.newItem=""}},removeItem(t){const e=this.modelValue.filter((n,s)=>s!==t);this.$emit("update:modelValue",e),this.$emit("change")},removeAll(){this.$emit("update:modelValue",[]),this.$emit("change")},startDragging(t){this.draggingIndex=t},dragItem(t){if(this.draggingIndex!==null){const e=[...this.modelValue],n=e.splice(this.draggingIndex,1)[0];e.splice(t,0,n),this.$emit("update:modelValue",e),this.$emit("change")}},stopDragging(){this.draggingIndex=null},moveUp(t){if(t>0){const e=[...this.modelValue],n=e.splice(t,1)[0];e.splice(t-1,0,n),this.$emit("update:modelValue",e),this.$emit("change")}},moveDown(t){if(ti.newItem=o),placeholder:n.placeholder,onKeyup:e[1]||(e[1]=zs((...o)=>r.addItem&&r.addItem(...o),["enter"])),class:"flex-grow mr-4 px-4 py-2 border border-gray-300 rounded dark:bg-gray-600 text-lg"},null,40,Xot),[[pe,i.newItem]]),l("button",{onClick:e[2]||(e[2]=(...o)=>r.addItem&&r.addItem(...o)),class:"bg-blue-500 text-white px-6 py-2 rounded hover:bg-blue-600 text-lg"},"Add")]),n.modelValue.length>0?(T(),x("ul",Zot,[(T(!0),x(Fe,null,Ke(n.modelValue,(o,a)=>(T(),x("li",{key:a,class:Ge(["flex items-center mb-2 relative",{"bg-gray-200":i.draggingIndex===a}])},[l("span",Jot,K(o),1),l("div",eat,[l("button",{onClick:c=>r.removeItem(a),class:"text-red-500 hover:text-red-700 p-2"},sat,8,tat),a>0?(T(),x("button",{key:0,onClick:c=>r.moveUp(a),class:"bg-gray-300 hover:bg-gray-400 p-2 rounded mr-2"},oat,8,iat)):G("",!0),ar.moveDown(a),class:"bg-gray-300 hover:bg-gray-400 p-2 rounded"},cat,8,aat)):G("",!0)]),i.draggingIndex===a?(T(),x("div",{key:0,class:"absolute top-0 left-0 w-full h-full bg-gray-200 opacity-50 cursor-move",onMousedown:c=>r.startDragging(a),onMousemove:c=>r.dragItem(a),onMouseup:e[3]||(e[3]=(...c)=>r.stopDragging&&r.stopDragging(...c))},null,40,dat)):G("",!0)],2))),128))])):G("",!0),n.modelValue.length>0?(T(),x("div",uat,[l("button",{onClick:e[4]||(e[4]=(...o)=>r.removeAll&&r.removeAll(...o)),class:"bg-red-500 text-white px-6 py-2 rounded hover:bg-red-600 text-lg"},"Remove All")])):G("",!0)])}const _at=ot(jot,[["render",pat]]);const hat="/";ae.defaults.baseURL="/";const fat={components:{AddModelDialog:Eot,ModelEntry:Nit,PersonalityViewer:$it,PersonalityEntry:RE,BindingEntry:oot,ChoiceDialog:NE,Card:ju,StringListManager:_at,RadioOptions:Wot},data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},defaultModelImgPlaceholder:Is,snd_input_devices:[],snd_input_devices_indexes:[],snd_output_devices:[],snd_output_devices_indexes:[],voices:[],voice_languages:{Arabic:"ar","Brazilian Portuguese":"pt",Chinese:"zh-cn",Czech:"cs",Dutch:"nl",English:"en",French:"fr",German:"de",Italian:"it",Polish:"pl",Russian:"ru",Spanish:"es",Turkish:"tr",Japanese:"ja",Korean:"ko",Hungarian:"hu",Hindi:"hi"},storeLogo:Bs,binding_changed:!1,SVGGPU:Kot,models_zoo:[],models_zoo_initialLoadCount:10,models_zoo_loadMoreCount:5,models_zoo_loadedEntries:[],models_zoo_scrollThreshold:200,sortOptions:[{label:"Sort by Date",value:0},{label:"Sort by Rank",value:1},{label:"Sort by Name",value:2},{label:"Sort by Maker",value:3},{label:"Sort by Quantizer",value:4}],comfyui_models:[],show_only_installed_models:!1,reference_path:"",audioVoices:[],has_updates:!1,variant_choices:[],variantSelectionDialogVisible:!1,currenModelToInstall:null,loading_text:"",personality_category:null,addModelDialogVisibility:!1,modelPath:"",personalitiesFiltered:[],modelsFiltered:[],collapsedArr:[],all_collapsed:!0,data_conf_collapsed:!0,internet_conf_collapsed:!0,servers_conf_collapsed:!0,mainconf_collapsed:!0,smartrouterconf_collapsed:!0,bec_collapsed:!0,sort_type:0,is_loading_zoo:!1,mzc_collapsed:!0,mzdc_collapsed:!0,pzc_collapsed:!0,bzc_collapsed:!0,pc_collapsed:!0,mc_collapsed:!0,sc_collapsed:!0,mzl_collapsed:!1,pzl_collapsed:!1,ezl_collapsed:!1,bzl_collapsed:!1,extCatgArr:[],persCatgArr:[],persArr:[],showConfirmation:!1,showToast:!1,isLoading:!1,settingsChanged:!1,isModelSelected:!1,isMounted:!1,bUrl:hat,searchPersonality:"",searchModel:"",searchPersonalityTimer:{},searchPersonalityTimerInterval:1500,searchModelTimerInterval:1500,searchPersonalityInProgress:!1,searchModelInProgress:!1,addModel:{},modelDownlaodInProgress:!1,uploadData:[]}},async created(){try{this.$store.state.loading_infos="Getting Hardware usage",await this.refreshHardwareUsage(this.$store)}catch(t){console.log("Error cought:",t)}qe.on("loading_text",this.on_loading_text),this.updateHasUpdates()},methods:{fetchElevenLabsVoices(){fetch("https://api.elevenlabs.io/v1/voices").then(t=>t.json()).then(t=>{this.voices=t.voices}).catch(t=>console.error("Error fetching voices:",t))},async refreshHardwareUsage(t){await t.dispatch("refreshDiskUsage"),await t.dispatch("refreshRamUsage"),await t.dispatch("refreshVramUsage")},addDataSource(){this.$store.state.config.rag_databases.push(""),this.settingsChanged=!0},removeDataSource(t){this.$store.state.config.rag_databases.splice(t,1),this.settingsChanged=!0},async vectorize_folder(t){await ae.post("/vectorize_folder",{client_id:this.$store.state.client_id,db_path:this.$store.state.config.rag_databases[t]},this.posts_headers)},async select_folder(t){try{qe.on("rag_db_added",e=>{console.log(e),e?(this.$store.state.config.rag_databases[t]=`${e.database_name}::${e.database_path}`,this.settingsChanged=!0):this.$store.state.toast.showToast("Failed to select a folder",4,!1)}),await ae.post("/add_rag_database",{client_id:this.$store.state.client_id},this.posts_headers)}catch{this.$store.state.toast.showToast("Failed to select a folder",4,!1)}},handleTemplateSelection(t){console.log("handleTemplateSelection");const e=t.target.value;console.log("handleTemplateSelection: ",e),e==="lollms"?(console.log("Using lollms template"),this.configFile.start_header_id_template="!@>",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` + `}],contactLinks:[{text:"Email",url:"mailto:parisneoai@gmail.com"},{text:"Twitter",url:"https://twitter.com/ParisNeo_AI"},{text:"Discord",url:"https://discord.gg/BDxacQmv"},{text:"Sub-Reddit",url:"https://www.reddit.com/r/lollms"},{text:"Instagram",url:"https://www.instagram.com/spacenerduino/"}]}},methods:{scrollToSection(t){const e=document.getElementById(t);e&&e.scrollIntoView({behavior:"smooth",block:"start"})}}},wnt={class:"min-h-screen w-full bg-gradient-to-br from-blue-100 to-purple-100 dark:from-blue-900 dark:to-purple-900 overflow-y-auto"},Rnt={class:"container mx-auto px-4 py-8 relative z-10"},Ant=l("header",{class:"text-center mb-12 sticky top-0 bg-white dark:bg-gray-800 bg-opacity-90 dark:bg-opacity-90 backdrop-filter backdrop-blur-lg p-4 rounded-b-lg shadow-md"},[l("h1",{class:"text-5xl md:text-6xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 dark:from-blue-400 dark:to-purple-400 mb-2 animate-glow"}," LoLLMs Help Documentation "),l("p",{class:"text-2xl text-gray-600 dark:text-gray-300 italic"},' "One tool to rule them all" ')],-1),Nnt={class:"bg-white dark:bg-gray-800 shadow-md rounded-lg p-6 mb-8 animate-fade-in sticky top-32 max-h-[calc(100vh-8rem)] overflow-y-auto"},Ont=l("h2",{class:"text-3xl font-semibold mb-4 text-gray-800 dark:text-gray-200"},"Table of Contents",-1),Mnt={class:"space-y-2"},Int=["href","onClick"],knt={key:0,class:"ml-4 mt-2 space-y-1"},Dnt=["href","onClick"],Lnt={class:"bg-white dark:bg-gray-800 shadow-md rounded-lg p-6 animate-fade-in"},Pnt=["id"],Fnt={class:"text-4xl font-semibold mb-6 text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 dark:from-blue-400 dark:to-purple-400"},Unt=["innerHTML"],Bnt={key:0,class:"mt-8"},Gnt=["id"],Vnt={class:"text-3xl font-semibold mb-4 text-gray-700 dark:text-gray-300"},znt=["innerHTML"],Hnt={class:"mt-12 pt-8 border-t border-gray-300 dark:border-gray-700 animate-fade-in"},qnt=l("h2",{class:"text-3xl font-semibold mb-6 text-center text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 dark:from-blue-400 dark:to-purple-400"},"Contact",-1),$nt={class:"flex flex-wrap justify-center gap-6 mb-8"},Ynt=["href"],Wnt=l("p",{class:"text-center font-bold text-2xl text-gray-700 dark:text-gray-300"},"See ya!",-1),Knt={class:"fixed inset-0 pointer-events-none overflow-hidden"},jnt=l("svg",{class:"w-2 h-2 text-yellow-300",fill:"currentColor",viewBox:"0 0 20 20"},[l("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})],-1),Qnt=[jnt];function Xnt(t,e,n,s,i,r){return T(),x("div",wnt,[l("div",Rnt,[Ant,l("nav",Nnt,[Ont,l("ul",Mnt,[(T(!0),x(Fe,null,Ke(i.sections,o=>(T(),x("li",{key:o.id,class:"ml-4"},[l("a",{href:`#${o.id}`,onClick:a=>r.scrollToSection(o.id),class:"text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline transition-colors duration-200"},K(o.title),9,Int),o.subsections?(T(),x("ul",knt,[(T(!0),x(Fe,null,Ke(o.subsections,a=>(T(),x("li",{key:a.id},[l("a",{href:`#${a.id}`,onClick:c=>r.scrollToSection(a.id),class:"text-blue-500 dark:text-blue-300 hover:text-blue-700 dark:hover:text-blue-200 hover:underline transition-colors duration-200"},K(a.title),9,Dnt)]))),128))])):G("",!0)]))),128))])]),l("main",Lnt,[(T(!0),x(Fe,null,Ke(i.sections,o=>(T(),x("section",{key:o.id,id:o.id,class:"mb-12"},[l("h2",Fnt,K(o.title),1),l("div",{innerHTML:o.content,class:"prose dark:prose-invert max-w-none"},null,8,Unt),o.subsections?(T(),x("div",Bnt,[(T(!0),x(Fe,null,Ke(o.subsections,a=>(T(),x("section",{key:a.id,id:a.id,class:"mb-8"},[l("h3",Vnt,K(a.title),1),l("div",{innerHTML:a.content,class:"prose dark:prose-invert max-w-none"},null,8,znt)],8,Gnt))),128))])):G("",!0)],8,Pnt))),128))]),l("footer",Hnt,[qnt,l("div",$nt,[(T(!0),x(Fe,null,Ke(i.contactLinks,(o,a)=>(T(),x("a",{key:a,href:o.url,target:"_blank",class:"text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline transition-colors duration-200"},K(o.text),9,Ynt))),128))]),Wnt])]),l("div",Knt,[(T(),x(Fe,null,Ke(50,o=>l("div",{key:o,class:"absolute animate-fall",style:Ht({left:`${Math.random()*100}%`,top:"-20px",animationDuration:`${3+Math.random()*7}s`,animationDelay:`${Math.random()*5}s`})},Qnt,4)),64))])])}const Znt=ot(Cnt,[["render",Xnt]]);function si(t,e=!0,n=1){const s=e?1e3:1024;if(Math.abs(t)=s&&r{ze.replace()})},executeCommand(t){this.isMenuOpen=!1,console.log("Selected"),console.log(t.value),typeof t.value=="function"&&(console.log("Command detected",t),t.value()),this.execute_cmd&&(console.log("executing generic command"),this.execute_cmd(t))},positionMenu(){var t;if(this.$refs.menuButton!=null){if(this.force_position==0||this.force_position==null){const e=this.$refs.menuButton.getBoundingClientRect(),n=window.innerHeight;t=e.bottom>n/2}else this.force_position==1?t=!0:t=!1;this.menuPosition.top=t?"auto":"calc(100% + 10px)",this.menuPosition.bottom=t?"100%":"auto"}}},mounted(){window.addEventListener("resize",this.positionMenu),this.positionMenu(),Le(()=>{ze.replace()})},beforeDestroy(){window.removeEventListener("resize",this.positionMenu)},watch:{isMenuOpen:"positionMenu"}},est={class:"menu-container"},tst=["title"],nst=["src"],sst=["data-feather"],ist={key:2,class:"w-5 h-5"},rst={key:3,"data-feather":"menu"},ost={class:"flex-grow menu-ul"},ast=["onClick"],lst={key:0,"data-feather":"check"},cst=["src","alt"],dst=["data-feather"],ust={key:3,class:"menu-icon"};function pst(t,e,n,s,i,r){return T(),x("div",est,[l("button",{onClick:e[0]||(e[0]=j((...o)=>r.toggleMenu&&r.toggleMenu(...o),["prevent"])),title:n.title,class:Ge([n.menuIconClass,"menu-button m-0 p-0 bg-blue-500 text-white dark:bg-blue-200 dark:text-gray-800 rounded flex items-center justify-center w-6 h-6 border-none cursor-pointer hover:bg-blue-400 w-8 h-8 object-fill text-red-700 border-2 active:scale-90 hover:z-20 hover:-translate-y-2 duration-150 border-gray-300 border-secondary cursor-pointer"]),ref:"menuButton"},[n.icon&&!n.icon.includes("#")&&!n.icon.includes("feather")?(T(),x("img",{key:0,src:n.icon,class:"w-5 h-5 p-0 m-0 shadow-lg bold"},null,8,nst)):n.icon&&n.icon.includes("feather")?(T(),x("i",{key:1,"data-feather":n.icon.split(":")[1],class:"w-5 h-5"},null,8,sst)):n.icon&&n.icon.includes("#")?(T(),x("p",ist,K(n.icon.split("#")[1]),1)):(T(),x("i",rst))],10,tst),V(Fs,{name:"slide"},{default:Ie(()=>[i.isMenuOpen?(T(),x("div",{key:0,class:"menu-list flex-grow",style:Ht(i.menuPosition),ref:"menu"},[l("ul",ost,[(T(!0),x(Fe,null,Ke(n.commands,(o,a)=>(T(),x("li",{key:a,onClick:j(c=>r.executeCommand(o),["prevent"]),class:"menu-command menu-li flex-grow hover:bg-blue-400"},[n.selected_entry==o.name?(T(),x("i",lst)):o.icon&&!o.icon.includes("feather")&&!o.is_file?(T(),x("img",{key:1,src:o.icon,alt:o.name,class:"menu-icon"},null,8,cst)):G("",!0),o.icon&&o.icon.includes("feather")&&!o.is_file?(T(),x("i",{key:2,"data-feather":o.icon.split(":")[1],class:"mr-2"},null,8,dst)):(T(),x("span",ust)),l("span",null,K(o.name),1)],8,ast))),128))])],4)):G("",!0)]),_:1})])}const wE=ot(Jnt,[["render",pst]]),_st={components:{InteractiveMenu:wE},props:{isInstalled:Boolean,onInstall:Function,onCancelInstall:Function,onUninstall:Function,onSelected:Function,onCopy:Function,onCopyLink:Function,selected:Boolean,model:Object,model_type:String},data(){return{progress:0,speed:0,total_size:0,downloaded_size:0,start_time:"",installing:!1,uninstalling:!1,failedToLoad:!1,linkNotValid:!1,selected_variant:""}},async mounted(){Le(()=>{ze.replace()})},methods:{formatFileSize(t){return t<1024?t+" bytes":t<1024*1024?(t/1024).toFixed(2)+" KB":t<1024*1024*1024?(t/(1024*1024)).toFixed(2)+" MB":(t/(1024*1024*1024)).toFixed(2)+" GB"},computedFileSize(t){return si(t)},getImgUrl(){return this.model.icon==null||this.model.icon==="/images/default_model.png"?Is:this.model.icon},defaultImg(t){t.target.src=Is},install(){this.onInstall(this)},uninstall(){this.isInstalled&&this.onUninstall(this)},toggleInstall(){this.isInstalled?(this.uninstalling=!0,this.onUninstall(this)):this.onInstall(this)},toggleSelected(t){if(console.log("event.target.tagName.toLowerCase()"),console.log(t.target.tagName.toLowerCase()),t.target.tagName.toLowerCase()==="button"||t.target.tagName.toLowerCase()==="svg"){t.stopPropagation();return}this.onSelected(this),this.model.selected=!0,Le(()=>{ze.replace()})},toggleCopy(){this.onCopy(this)},toggleCopyLink(){this.onCopyLink(this)},toggleCancelInstall(){this.onCancelInstall(this),this.installing=!1},handleSelection(){this.isInstalled&&!this.selected&&this.onSelected(this)},copyContentToClipboard(){this.$emit("copy","this.message.content")}},computed:{computed_classes(){return this.model.isInstalled?this.selected?"border-4 border-gray-200 bg-primary cursor-pointer":"border-0 border-primary bg-primary cursor-pointer":"border-transparent"},commandsList(){let t=[{name:this.model.isInstalled?"Install Extra":"Install",icon:"feather:settings",is_file:!1,value:this.install},{name:"Copy model info to clipboard",icon:"feather:settings",is_file:!1,value:this.toggleCopy}];return this.model.isInstalled&&t.push({name:"UnInstall",icon:"feather:settings",is_file:!1,value:this.uninstall}),this.selected&&t.push({name:"Reload",icon:"feather:refresh-ccw",is_file:!1,value:this.toggleSelected}),t},selected_computed(){return this.selected},fileSize:{get(){if(this.model&&this.model.variants&&this.model.variants.length>0){const t=this.model.variants[0].size;return this.formatFileSize(t)}return null}},speed_computed(){return si(this.speed)},total_size_computed(){return si(this.total_size)},downloaded_size_computed(){return si(this.downloaded_size)}},watch:{linkNotValid(){Le(()=>{ze.replace()})}}},hst=["title"],fst={key:0,class:"flex flex-row"},mst={class:"max-w-[300px] overflow-x-auto"},gst={class:"flex gap-3 items-center grow"},bst=["href"],Est=["src"],yst={class:"flex-1 overflow-hidden"},vst={class:"font-bold font-large text-lg truncate"},Sst={key:1,class:"flex items-center flex-row gap-2 my-1"},Tst={class:"flex grow items-center"},xst=l("i",{"data-feather":"box",class:"w-5"},null,-1),Cst=l("span",{class:"sr-only"},"Custom model / local model",-1),wst=[xst,Cst],Rst=l("span",{class:"sr-only"},"Remove",-1),Ast={key:2,class:"absolute z-10 -m-4 p-5 shadow-md text-center rounded-lg w-full h-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel bg-opacity-70 dark:bg-opacity-70 flex justify-center items-center"},Nst={class:"relative flex flex-col items-center justify-center flex-grow h-full"},Ost=l("div",{role:"status",class:"justify-center"},[l("svg",{"aria-hidden":"true",class:"w-24 h-24 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1),Mst={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},Ist={class:"w-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel rounded-lg p-2"},kst={class:"flex justify-between mb-1"},Dst=l("span",{class:"text-base font-medium text-blue-700 dark:text-white"},"Downloading",-1),Lst={class:"text-sm font-medium text-blue-700 dark:text-white"},Pst={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Fst={class:"flex justify-between mb-1"},Ust={class:"text-base font-medium text-blue-700 dark:text-white"},Bst={class:"text-sm font-medium text-blue-700 dark:text-white"},Gst={class:"flex flex-grow"},Vst={class:"flex flex-row flex-grow gap-3"},zst={class:"p-2 text-center grow"},Hst={key:3},qst={class:"flex flex-row items-center gap-3"},$st=["src"],Yst={class:"font-bold font-large text-lg truncate"},Wst=l("div",{class:"grow"},null,-1),Kst={class:"flex items-center flex-row-reverse gap-2 my-1"},jst={class:"flex flex-row items-center"},Qst={key:0,class:"text-base text-red-600 flex items-center mt-1"},Xst=l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0 mx-1"},null,-1),Zst=["title"],Jst={class:""},eit={class:"flex flex-row items-center"},tit=l("i",{"data-feather":"download",class:"w-5 m-1 flex-shrink-0"},null,-1),nit=l("b",null,"Card: ",-1),sit=["href","title"],iit=l("div",{class:"grow"},null,-1),rit=l("i",{"data-feather":"clipboard",class:"w-5"},null,-1),oit=[rit],ait={class:"flex items-center"},lit=l("i",{"data-feather":"file",class:"w-5 m-1"},null,-1),cit=l("b",null,"File size: ",-1),dit={class:"flex items-center"},uit=l("i",{"data-feather":"key",class:"w-5 m-1"},null,-1),pit=l("b",null,"License: ",-1),_it={key:0,class:"flex items-center"},hit=l("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),fit=l("b",null,"quantizer: ",-1),mit=["href"],git={class:"flex items-center"},bit=l("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Eit=l("b",null,"Model creator: ",-1),yit=["href"],vit={class:"flex items-center"},Sit=l("i",{"data-feather":"clock",class:"w-5 m-1"},null,-1),Tit=l("b",null,"Release date: ",-1),xit={class:"flex items-center"},Cit=l("i",{"data-feather":"grid",class:"w-5 m-1"},null,-1),wit=l("b",null,"Category: ",-1),Rit=["href"];function Ait(t,e,n,s,i,r){const o=tt("InteractiveMenu");return T(),x("div",{class:Ge(["relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",r.computed_classes]),title:n.model.name,onClick:e[10]||(e[10]=j(a=>r.toggleSelected(a),["prevent"]))},[n.model.isCustomModel?(T(),x("div",fst,[l("div",mst,[l("div",gst,[l("a",{href:n.model.model_creator_link,target:"_blank"},[l("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-lg object-fill"},null,40,Est)],8,bst),l("div",yst,[l("h3",vst,K(n.model.name),1)])])])])):G("",!0),n.model.isCustomModel?(T(),x("div",Sst,[l("div",Tst,[l("button",{type:"button",title:"Custom model / local model",class:"font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",onClick:e[1]||(e[1]=j(()=>{},["stop"]))},wst),Je(" Custom model ")]),l("div",null,[n.model.isInstalled?(T(),x("button",{key:0,title:"Delete file from disk",type:"button",onClick:e[2]||(e[2]=j((...a)=>r.uninstall&&r.uninstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[Je(" Uninstall "),Rst])):G("",!0)])])):G("",!0),i.installing?(T(),x("div",Ast,[l("div",Nst,[Ost,l("div",Mst,[l("div",Ist,[l("div",kst,[Dst,l("span",Lst,K(Math.floor(i.progress))+"%",1)]),l("div",Pst,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht({width:i.progress+"%"})},null,4)]),l("div",Fst,[l("span",Ust,"Download speed: "+K(r.speed_computed)+"/s",1),l("span",Bst,K(r.downloaded_size_computed)+"/"+K(r.total_size_computed),1)])])]),l("div",Gst,[l("div",Vst,[l("div",zst,[l("button",{onClick:e[3]||(e[3]=j((...a)=>r.toggleCancelInstall&&r.toggleCancelInstall(...a),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])])):G("",!0),n.model.isCustomModel?G("",!0):(T(),x("div",Hst,[l("div",qst,[l("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[4]||(e[4]=a=>r.defaultImg(a)),class:Ge(["w-10 h-10 rounded-lg object-fill",i.linkNotValid?"grayscale":""])},null,42,$st),l("h3",Yst,K(n.model.name),1),Wst,V(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])]),l("div",Kst,[l("div",jst,[i.linkNotValid?(T(),x("div",Qst,[Xst,Je(" Link is not valid ")])):G("",!0)])]),l("div",{class:"",title:n.model.isInstalled?n.model.name:"Not installed"},[l("div",Jst,[l("div",eit,[tit,nit,l("a",{href:"https://huggingface.co/"+n.model.quantizer+"/"+n.model.name,target:"_blank",onClick:e[5]||(e[5]=j(()=>{},["stop"])),class:"m-1 flex items-center hover:text-secondary duration-75 active:scale-90 truncate",title:i.linkNotValid?"Link is not valid":"Download this manually (faster) and put it in the models/ folder then refresh"}," View full model card ",8,sit),iit,l("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[6]||(e[6]=j(a=>r.toggleCopyLink(),["stop"]))},oit)]),l("div",ait,[l("div",{class:Ge(["flex flex-shrink-0 items-center",i.linkNotValid?"text-red-600":""])},[lit,cit,Je(" "+K(r.fileSize),1)],2)]),l("div",dit,[uit,pit,Je(" "+K(n.model.license),1)]),n.model.quantizer!="None"&&n.model.type!="transformers"?(T(),x("div",_it,[hit,fit,l("a",{href:"https://huggingface.co/"+n.model.quantizer,target:"_blank",rel:"noopener noreferrer",onClick:e[7]||(e[7]=j(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},K(n.model.quantizer),9,mit)])):G("",!0),l("div",git,[bit,Eit,l("a",{href:n.model.model_creator_link,target:"_blank",rel:"noopener noreferrer",onClick:e[8]||(e[8]=j(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},K(n.model.model_creator),9,yit)]),l("div",vit,[Sit,Tit,Je(" "+K(n.model.last_commit_time),1)]),l("div",xit,[Cit,wit,l("a",{href:"https://huggingface.co/"+n.model.model_creator,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=j(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},K(n.model.category),9,Rit)])])],8,Zst)]))],10,hst)}const Nit=ot(_st,[["render",Ait]]),Oit={data(){return{editMode:!1,avatar:"path/to/avatar.jpg",personalityName:"Personality Name",personalityAuthor:"Author Name",personalityDescription:"Personality Description",personalityCategory:"Category",disclaimer:"Disclaimer text",conditioningText:"Conditioning Text",aiPrefix:"AI Prefix",userPrefix:"User Prefix",antipromptsList:[{id:1,text:"Antiprompt 1"},{id:2,text:"Antiprompt 2"},{id:3,text:"Antiprompt 3"}]}},methods:{commitChanges(){console.log("Personality changes committed"),this.editMode=!1}}},Mit={class:"p-4"},Iit={class:"flex items-center mb-4"},kit=["src"],Dit={class:"text-lg font-semibold"},Lit=l("strong",null,"Author:",-1),Pit=l("strong",null,"Description:",-1),Fit=l("strong",null,"Category:",-1),Uit={key:0},Bit=l("strong",null,"Disclaimer:",-1),Git=l("strong",null,"Conditioning Text:",-1),Vit=l("strong",null,"AI Prefix:",-1),zit=l("strong",null,"User Prefix:",-1),Hit=l("strong",null,"Antiprompts:",-1);function qit(t,e,n,s,i,r){return T(),x("div",Mit,[l("div",Iit,[l("img",{src:i.avatar,class:"w-12 h-12 rounded-full mr-2",alt:"Avatar"},null,8,kit),l("h2",Dit,K(i.personalityName),1)]),l("p",null,[Lit,Je(" "+K(i.personalityAuthor),1)]),l("p",null,[Pit,Je(" "+K(i.personalityDescription),1)]),l("p",null,[Fit,Je(" "+K(i.personalityCategory),1)]),i.disclaimer?(T(),x("p",Uit,[Bit,Je(" "+K(i.disclaimer),1)])):G("",!0),l("p",null,[Git,Je(" "+K(i.conditioningText),1)]),l("p",null,[Vit,Je(" "+K(i.aiPrefix),1)]),l("p",null,[zit,Je(" "+K(i.userPrefix),1)]),l("div",null,[Hit,l("ul",null,[(T(!0),x(Fe,null,Ke(i.antipromptsList,o=>(T(),x("li",{key:o.id},K(o.text),1))),128))])]),l("button",{onClick:e[0]||(e[0]=o=>i.editMode=!0),class:"mt-4 bg-blue-500 text-white px-4 py-2 rounded"}," Edit "),i.editMode?(T(),x("button",{key:1,onClick:e[1]||(e[1]=(...o)=>r.commitChanges&&r.commitChanges(...o)),class:"mt-4 bg-green-500 text-white px-4 py-2 rounded"}," Commit ")):G("",!0)])}const $it=ot(Oit,[["render",qit]]),Zu="/assets/logo-9d653710.svg",Yit="/",Wit={props:{personality:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onOpenFolder:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onCopyToCustom:Function,onEdit:Function,onReinstall:Function,onSettings:Function,onCopyPersonalityName:Function,onToggleFavorite:Function},components:{InteractiveMenu:wE},data(){return{isMounted:!1,name:this.personality.name,thumbnailVisible:!1,thumbnailPosition:{x:0,y:0}}},computed:{commandsList(){let t=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return console.log("this.category",this.personality.category),this.personality.category=="custom_personalities"?t.push({name:"edit",icon:"feather:settings",is_file:!1,value:this.edit}):t.push({name:"Copy to custom personas folder for editing",icon:"feather:copy",is_file:!1,value:this.copyToCustom}),this.isMounted&&t.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),this.selected&&this.personality.has_scripts&&t.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),t},selected_computed(){return this.selected}},mounted(){this.isMounted=this.personality.isMounted,Le(()=>{ze.replace()})},methods:{formatDate(t){const e={year:"numeric",month:"short",day:"numeric"};return new Date(t).toLocaleDateString(void 0,e)},showThumbnail(){this.thumbnailVisible=!0},hideThumbnail(){this.thumbnailVisible=!1},updateThumbnailPosition(t){this.thumbnailPosition={x:t.clientX+10,y:t.clientY+10}},getImgUrl(){return Yit+this.personality.avatar},defaultImg(t){t.target.src=Zu},toggleFavorite(){this.onToggleFavorite(this)},showFolder(){this.onOpenFolder(this)},toggleTalk(){this.onTalk(this)},toggleCopyLink(){this.onCopyPersonalityName(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},edit(){this.onEdit(this)},copyToCustom(){this.onCopyToCustom(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this),this.isMounted=!1},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Le(()=>{ze.replace()})}}},Kit=["title"],jit={class:"flex-grow"},Qit={class:"flex items-center mb-4"},Xit=["src"],Zit={class:"text-sm text-gray-600"},Jit={class:"text-sm text-gray-600"},ert={class:"text-sm text-gray-600"},trt={key:0,class:"text-sm text-gray-600"},nrt={key:1,class:"text-sm text-gray-600"},srt={class:"mb-4"},irt=l("h4",{class:"font-semibold mb-1 text-gray-700"},"Description:",-1),rrt=["innerHTML"],ort={class:"mt-auto pt-4 border-t"},art={class:"flex justify-between items-center flex-wrap"},lrt=["title"],crt=["fill"],drt=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"},null,-1),urt=[drt],prt=l("i",{"data-feather":"check",class:"h-6 w-6"},null,-1),_rt=[prt],hrt=l("i",{"data-feather":"send",class:"h-6 w-6"},null,-1),frt=[hrt],mrt=l("i",{"data-feather":"folder",class:"h-6 w-6"},null,-1),grt=[mrt],brt=["src"];function Ert(t,e,n,s,i,r){const o=tt("InteractiveMenu");return T(),x("div",{class:Ge(["personality-card bg-white border rounded-xl shadow-lg p-6 hover:shadow-xl transition duration-300 ease-in-out flex flex-col h-full",r.selected_computed?"border-primary-light":"border-transparent",i.isMounted?"bg-blue-200 dark:bg-blue-700":""]),title:n.personality.installed?"":"Not installed"},[l("div",jit,[l("div",Qit,[l("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),alt:"Personality Icon",class:"w-16 h-16 rounded-full border border-gray-300 mr-4 cursor-pointer",onClick:e[1]||(e[1]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),onMouseover:e[2]||(e[2]=(...a)=>r.showThumbnail&&r.showThumbnail(...a)),onMousemove:e[3]||(e[3]=(...a)=>r.updateThumbnailPosition&&r.updateThumbnailPosition(...a)),onMouseleave:e[4]||(e[4]=(...a)=>r.hideThumbnail&&r.hideThumbnail(...a))},null,40,Xit),l("div",null,[l("h3",{class:"font-bold text-xl text-gray-800 cursor-pointer",onClick:e[5]||(e[5]=(...a)=>r.toggleSelected&&r.toggleSelected(...a))},K(n.personality.name),1),l("p",Zit,"Author: "+K(n.personality.author),1),l("p",Jit,"Version: "+K(n.personality.version),1),l("p",ert,"Category: "+K(n.personality.category),1),n.personality.creation_date?(T(),x("p",trt,"Creation Date: "+K(r.formatDate(n.personality.creation_date)),1)):G("",!0),n.personality.last_update_date?(T(),x("p",nrt,"Last update Date: "+K(r.formatDate(n.personality.last_update_date)),1)):G("",!0)])]),l("div",srt,[irt,l("p",{class:"text-sm text-gray-600 h-20 overflow-y-auto",innerHTML:n.personality.description},null,8,rrt)])]),l("div",ort,[l("div",art,[l("button",{onClick:e[6]||(e[6]=(...a)=>r.toggleFavorite&&r.toggleFavorite(...a)),class:"text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out",title:t.isFavorite?"Remove from favorites":"Add to favorites"},[(T(),x("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:t.isFavorite?"currentColor":"none",viewBox:"0 0 24 24",stroke:"currentColor"},urt,8,crt))],8,lrt),i.isMounted?(T(),x("button",{key:0,onClick:e[7]||(e[7]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"text-blue-500 hover:text-blue-600 transition duration-300 ease-in-out",title:"Select"},_rt)):G("",!0),i.isMounted?(T(),x("button",{key:1,onClick:e[8]||(e[8]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),class:"text-green-500 hover:text-green-600 transition duration-300 ease-in-out",title:"Talk"},frt)):G("",!0),l("button",{onClick:e[9]||(e[9]=(...a)=>r.showFolder&&r.showFolder(...a)),class:"text-purple-500 hover:text-purple-600 transition duration-300 ease-in-out",title:"Show Folder"},grt),V(o,{commands:r.commandsList,force_position:2,title:"Menu",class:"text-gray-500 hover:text-gray-600 transition duration-300 ease-in-out"},null,8,["commands"])])]),i.thumbnailVisible?(T(),x("div",{key:0,style:Ht({top:i.thumbnailPosition.y+"px",left:i.thumbnailPosition.x+"px"}),class:"fixed z-50 w-20 h-20 rounded-full overflow-hidden"},[l("img",{src:r.getImgUrl(),class:"w-full h-full object-fill"},null,8,brt)],4)):G("",!0)],10,Kit)}const RE=ot(Wit,[["render",Ert]]),yrt={name:"DynamicUIRenderer",props:{ui:{type:String,required:!0},instanceId:{type:String,required:!0}},data(){return{containerId:`dynamic-ui-${this.instanceId}`}},watch:{ui:{immediate:!0,handler(t){console.log(`UI prop changed for instance ${this.instanceId}:`,t),this.$nextTick(()=>{this.renderContent()})}}},methods:{renderContent(){console.log(`Rendering content for instance ${this.instanceId}...`);const t=this.$refs.container,n=new DOMParser().parseFromString(this.ui,"text/html"),s=n.getElementsByTagName("style");Array.from(s).forEach(r=>{const o=document.createElement("style");o.textContent=this.scopeCSS(r.textContent),document.head.appendChild(o)}),t.innerHTML=n.body.innerHTML;const i=n.getElementsByTagName("script");Array.from(i).forEach(r=>{const o=document.createElement("script");o.textContent=r.textContent,t.appendChild(o)})},scopeCSS(t){return t.replace(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g,`#${this.containerId} $1$2`)}}},vrt=["id"];function Srt(t,e,n,s,i,r){return T(),x("div",{id:i.containerId,ref:"container"},null,8,vrt)}const oN=ot(yrt,[["render",Srt]]),Trt="/",xrt={components:{DynamicUIRenderer:oN},props:{binding:{},onSelected:Function,onReinstall:Function,onInstall:Function,onUnInstall:Function,onSettings:Function,onReloadBinding:Function,selected:Boolean},data(){return{isTemplate:!1}},mounted(){Le(()=>{ze.replace()})},methods:{copyToClipBoard(t){console.log("Copying to clipboard :",t),navigator.clipboard.writeText(t)},getImgUrl(){return Trt+this.binding.icon},defaultImg(t){t.target.src=Zu},toggleSelected(){this.onSelected(this)},toggleInstall(){this.onInstall(this)},toggleUnInstall(){this.onUnInstall(this)},toggleReinstall(){this.onReinstall(this)},toggleReloadBinding(){this.onReloadBinding(this)},toggleSettings(){this.onSettings(this)},getStatus(){(this.binding.folder==="backend_template"||this.binding.folder==="binding_template")&&(this.isTemplate=!0)}},watch:{selected(){Le(()=>{ze.replace()})}}},Crt=["title"],wrt={class:"flex flex-row items-center gap-3"},Rrt=["src"],Art={class:"font-bold font-large text-lg truncate"},Nrt=l("div",{class:"grow"},null,-1),Ort={class:"flex-none gap-1"},Mrt=l("i",{"data-feather":"refresh-cw",class:"w-5"},null,-1),Irt=l("span",{class:"sr-only"},"Help",-1),krt=[Mrt,Irt],Drt={class:"flex items-center flex-row-reverse gap-2 my-1"},Lrt=l("span",{class:"sr-only"},"Click to install",-1),Prt=l("span",{class:"sr-only"},"Reinstall",-1),Frt=l("span",{class:"sr-only"},"UnInstall",-1),Urt=l("span",{class:"sr-only"},"Settings",-1),Brt={class:""},Grt={class:""},Vrt={class:"flex items-center"},zrt=l("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Hrt=l("b",null,"Author: ",-1),qrt={class:"flex items-center"},$rt=l("i",{"data-feather":"folder",class:"w-5 m-1"},null,-1),Yrt=l("b",null,"Folder: ",-1),Wrt=l("div",{class:"grow"},null,-1),Krt=l("i",{"data-feather":"clipboard",class:"w-5"},null,-1),jrt=[Krt],Qrt={class:"flex items-center"},Xrt=l("i",{"data-feather":"git-merge",class:"w-5 m-1"},null,-1),Zrt=l("b",null,"Version: ",-1),Jrt={class:"flex items-center"},eot=l("i",{"data-feather":"github",class:"w-5 m-1"},null,-1),tot=l("b",null,"Link: ",-1),not=["href"],sot=l("div",{class:"flex items-center"},[l("i",{"data-feather":"info",class:"w-5 m-1"}),l("b",null,"Description: "),l("br")],-1),iot=["title","innerHTML"];function rot(t,e,n,s,i,r){const o=tt("DynamicUIRenderer");return T(),x("div",{class:Ge(["items-start p-4 hover:bg-primary-light hover:border-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",n.selected?" border-primary bg-primary":"border-transparent"]),onClick:e[8]||(e[8]=j((...a)=>r.toggleSelected&&r.toggleSelected(...a),["stop"])),title:n.binding.installed?n.binding.name:"Not installed"},[l("div",null,[l("div",wrt,[l("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-blue-700"},null,40,Rrt),l("h3",Art,K(n.binding.name),1),Nrt,l("div",Ort,[n.selected?(T(),x("button",{key:0,type:"button",title:"Reload binding",onClick:[e[1]||(e[1]=(...a)=>r.toggleReloadBinding&&r.toggleReloadBinding(...a)),e[2]||(e[2]=j(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},krt)):G("",!0)])]),l("div",Drt,[n.binding.installed?G("",!0):(T(),x("button",{key:0,title:"Click to install",type:"button",onClick:e[3]||(e[3]=j((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[Je(" Install "),Lrt])),n.binding.installed?(T(),x("button",{key:1,title:"Click to Reinstall binding",type:"button",onClick:e[4]||(e[4]=j((...a)=>r.toggleReinstall&&r.toggleReinstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-green-700 hover:bg-red-800 focus:ring-4 focus:ring-green-300 rounded-lg dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-red-900"},[Je(" Reinstall "),Prt])):G("",!0),n.binding.installed?(T(),x("button",{key:2,title:"Click to Reinstall binding",type:"button",onClick:e[5]||(e[5]=j((...a)=>r.toggleUnInstall&&r.toggleUnInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[Je(" Uninstall "),Frt])):G("",!0),n.selected?(T(),x("button",{key:3,title:"Click to open Settings",type:"button",onClick:e[6]||(e[6]=j((...a)=>r.toggleSettings&&r.toggleSettings(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[Je(" Settings "),Urt])):G("",!0)]),n.binding.ui?(T(),dt(o,{key:0,class:"w-full h-full",code:n.binding.ui},null,8,["code"])):G("",!0),l("div",Brt,[l("div",Grt,[l("div",Vrt,[zrt,Hrt,Je(" "+K(n.binding.author),1)]),l("div",qrt,[$rt,Yrt,Je(" "+K(n.binding.folder)+" ",1),Wrt,l("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[7]||(e[7]=j(a=>r.copyToClipBoard(this.binding.folder),["stop"]))},jrt)]),l("div",Qrt,[Xrt,Zrt,Je(" "+K(n.binding.version),1)]),l("div",Jrt,[eot,tot,l("a",{href:n.binding.link,target:"_blank",class:"flex items-center hover:text-secondary duration-75 active:scale-90"},K(n.binding.link),9,not)])]),sot,l("p",{class:"mx-1 opacity-80 line-clamp-3",title:n.binding.description,innerHTML:n.binding.description},null,8,iot)])])],10,Crt)}const oot=ot(xrt,[["render",rot]]),aot={data(){return{show:!1,model_path:"",resolve:null}},methods:{cancel(){this.resolve(null)},openInputBox(){return new Promise(t=>{this.resolve=t})},hide(t){this.show=!1,this.resolve&&(this.resolve(t),this.resolve=null)},showDialog(t){return new Promise(e=>{this.model_path=t,this.show=!0,this.resolve=e})}}},lot={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},cot={class:"relative w-full max-w-md max-h-full"},dot={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},uot=l("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),pot=l("span",{class:"sr-only"},"Close modal",-1),_ot=[uot,pot],hot={class:"p-4 text-center"},fot=l("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),mot={class:"p-4 text-center mx-auto mb-4"},got=l("label",{class:"mr-2"},"Model path",-1);function bot(t,e,n,s,i,r){return i.show?(T(),x("div",lot,[l("div",cot,[l("div",dot,[l("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},_ot),l("div",hot,[fot,l("div",mot,[got,P(l("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>i.model_path=o),class:"px-4 py-2 border border-gray-300 rounded-lg",type:"text"},null,512),[[pe,i.model_path]])]),l("button",{onClick:e[2]||(e[2]=o=>r.hide(!0)),type:"button",class:"text-white bg-green-600 hover:bg-green-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"}," Add "),l("button",{onClick:e[3]||(e[3]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},"No, cancel")])])])])):G("",!0)}const Eot=ot(aot,[["render",bot]]);const yot={props:{show:{type:Boolean,default:!1},can_remove:{type:Boolean,default:!1},title:{type:String,default:"Select an option"},choices:{type:Array,required:!0}},data(){return{selectedChoice:null,showInput:!1,newFilename:""}},methods:{displayName(t){return typeof t=="string"?t:t&&t.name?t.name:""},selectChoice(t){this.selectedChoice=t,this.$emit("choice-selected",t)},closeDialog(){this.$emit("close-dialog")},validateChoice(){this.$emit("choice-validated",this.selectedChoice)},formatSize(t){const e=["bytes","KB","MB","GB"];let n=0;for(;t>=1024&&n(vs("data-v-f43216be"),t=t(),Ss(),t),vot={key:0,class:"fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},Sot={class:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 w-96 max-w-md"},Tot={class:"text-2xl font-bold mb-4 text-gray-800 dark:text-white flex items-center"},xot=AE(()=>l("svg",{class:"w-6 h-6 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"})],-1)),Cot={class:"h-48 bg-gray-100 dark:bg-gray-700 rounded-lg mb-4 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-400 scrollbar-track-gray-200 dark:scrollbar-thumb-gray-600 dark:scrollbar-track-gray-800"},wot={class:"flex items-center justify-between"},Rot={class:"flex-grow"},Aot=["onClick"],Not=["onUpdate:modelValue","onBlur","onKeyup"],Oot={key:2,class:"text-xs text-gray-500 dark:text-gray-400 ml-2"},Mot={class:"flex items-center"},Iot=["onClick"],kot=AE(()=>l("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1)),Dot=[kot],Lot=["onClick"],Pot=AE(()=>l("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)),Fot=[Pot],Uot={key:0,class:"flex flex-col mb-4"},Bot={class:"flex justify-between"},Got=["disabled"];function Vot(t,e,n,s,i,r){return T(),dt(Fs,{name:"fade"},{default:Ie(()=>[n.show?(T(),x("div",vot,[l("div",Sot,[l("h2",Tot,[xot,Je(" "+K(n.title),1)]),l("div",Cot,[l("ul",null,[(T(!0),x(Fe,null,Ke(n.choices,(o,a)=>(T(),x("li",{key:a,class:"py-2 px-4 hover:bg-gray-200 dark:hover:bg-gray-600 transition duration-150 ease-in-out"},[l("div",wot,[l("div",Rot,[o.isEditing?P((T(),x("input",{key:1,"onUpdate:modelValue":c=>o.editName=c,onBlur:c=>r.finishEditing(o),onKeyup:zs(c=>r.finishEditing(o),["enter"]),class:"bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded px-2 py-1 text-sm",autofocus:""},null,40,Not)),[[pe,o.editName]]):(T(),x("span",{key:0,onClick:c=>r.selectChoice(o),class:Ge([{"font-semibold":o===i.selectedChoice},"text-gray-800 dark:text-white cursor-pointer"])},K(r.displayName(o)),11,Aot)),o.size?(T(),x("span",Oot,K(r.formatSize(o.size)),1)):G("",!0)]),l("div",Mot,[l("button",{onClick:c=>r.editChoice(o),class:"text-blue-500 hover:text-blue-600 mr-2"},Dot,8,Iot),n.can_remove?(T(),x("button",{key:0,onClick:c=>r.removeChoice(o,a),class:"text-red-500 hover:text-red-600"},Fot,8,Lot)):G("",!0)])])]))),128))])]),i.showInput?(T(),x("div",Uot,[P(l("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>i.newFilename=o),placeholder:"Enter a filename",class:"border border-gray-300 dark:border-gray-600 p-2 rounded-lg w-full mb-2 bg-white dark:bg-gray-700 text-gray-800 dark:text-white"},null,512),[[pe,i.newFilename]]),l("button",{onClick:e[1]||(e[1]=(...o)=>r.addNewFilename&&r.addNewFilename(...o)),class:"bg-blue-500 hover:bg-blue-600 text-white font-bold py-2 px-4 rounded-lg transition duration-300"}," Add ")])):G("",!0),l("div",Bot,[l("button",{onClick:e[2]||(e[2]=(...o)=>r.closeDialog&&r.closeDialog(...o)),class:"bg-gray-300 hover:bg-gray-400 text-gray-800 font-bold py-2 px-4 rounded-lg transition duration-300"}," Cancel "),l("button",{onClick:e[3]||(e[3]=(...o)=>r.validateChoice&&r.validateChoice(...o)),disabled:!i.selectedChoice,class:Ge([{"bg-blue-500 hover:bg-blue-600":i.selectedChoice,"bg-gray-400 cursor-not-allowed":!i.selectedChoice},"text-white font-bold py-2 px-4 rounded-lg transition duration-300"])}," Validate ",10,Got),l("button",{onClick:e[4]||(e[4]=(...o)=>r.toggleInput&&r.toggleInput(...o)),class:"bg-green-500 hover:bg-green-600 text-white font-bold py-2 px-4 rounded-lg transition duration-300"}," Add New ")])])])):G("",!0)]),_:1})}const NE=ot(yot,[["render",Vot],["__scopeId","data-v-f43216be"]]),zot={props:{radioOptions:{type:Array,required:!0},defaultValue:{type:String,default:"0"}},data(){return{selectedValue:this.defaultValue}},computed:{selectedLabel(){const t=this.radioOptions.find(e=>e.value===this.selectedValue);return t?t.label:""}},watch:{selectedValue(t,e){this.$emit("radio-selected",t)}},methods:{handleRadioChange(){}}},Hot={class:"flex space-x-4"},qot=["value","aria-checked"],$ot={class:"text-gray-700"};function Yot(t,e,n,s,i,r){return T(),x("div",Hot,[(T(!0),x(Fe,null,Ke(n.radioOptions,(o,a)=>(T(),x("label",{key:o.value,class:"flex items-center space-x-2"},[P(l("input",{type:"radio",value:o.value,"onUpdate:modelValue":e[0]||(e[0]=c=>i.selectedValue=c),onChange:e[1]||(e[1]=(...c)=>r.handleRadioChange&&r.handleRadioChange(...c)),class:"text-blue-500 focus:ring-2 focus:ring-blue-200","aria-checked":i.selectedValue===o.value.toString(),role:"radio"},null,40,qot),[[Nk,i.selectedValue]]),l("span",$ot,K(o.label),1)]))),128))])}const Wot=ot(zot,[["render",Yot]]),Kot="/assets/gpu-df72bf63.svg",jot={name:"StringListManager",props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"Enter an item"}},emits:["update:modelValue","change"],data(){return{newItem:"",draggingIndex:null}},methods:{addItem(){if(this.newItem.trim()){const t=[...this.modelValue,this.newItem.trim()];this.$emit("update:modelValue",t),this.$emit("change"),this.newItem=""}},removeItem(t){const e=this.modelValue.filter((n,s)=>s!==t);this.$emit("update:modelValue",e),this.$emit("change")},removeAll(){this.$emit("update:modelValue",[]),this.$emit("change")},startDragging(t){this.draggingIndex=t},dragItem(t){if(this.draggingIndex!==null){const e=[...this.modelValue],n=e.splice(this.draggingIndex,1)[0];e.splice(t,0,n),this.$emit("update:modelValue",e),this.$emit("change")}},stopDragging(){this.draggingIndex=null},moveUp(t){if(t>0){const e=[...this.modelValue],n=e.splice(t,1)[0];e.splice(t-1,0,n),this.$emit("update:modelValue",e),this.$emit("change")}},moveDown(t){if(ti.newItem=o),placeholder:n.placeholder,onKeyup:e[1]||(e[1]=zs((...o)=>r.addItem&&r.addItem(...o),["enter"])),class:"flex-grow mr-4 px-4 py-2 border border-gray-300 rounded dark:bg-gray-600 text-lg"},null,40,Xot),[[pe,i.newItem]]),l("button",{onClick:e[2]||(e[2]=(...o)=>r.addItem&&r.addItem(...o)),class:"bg-blue-500 text-white px-6 py-2 rounded hover:bg-blue-600 text-lg"},"Add")]),n.modelValue.length>0?(T(),x("ul",Zot,[(T(!0),x(Fe,null,Ke(n.modelValue,(o,a)=>(T(),x("li",{key:a,class:Ge(["flex items-center mb-2 relative",{"bg-gray-200":i.draggingIndex===a}])},[l("span",Jot,K(o),1),l("div",eat,[l("button",{onClick:c=>r.removeItem(a),class:"text-red-500 hover:text-red-700 p-2"},sat,8,tat),a>0?(T(),x("button",{key:0,onClick:c=>r.moveUp(a),class:"bg-gray-300 hover:bg-gray-400 p-2 rounded mr-2"},oat,8,iat)):G("",!0),ar.moveDown(a),class:"bg-gray-300 hover:bg-gray-400 p-2 rounded"},cat,8,aat)):G("",!0)]),i.draggingIndex===a?(T(),x("div",{key:0,class:"absolute top-0 left-0 w-full h-full bg-gray-200 opacity-50 cursor-move",onMousedown:c=>r.startDragging(a),onMousemove:c=>r.dragItem(a),onMouseup:e[3]||(e[3]=(...c)=>r.stopDragging&&r.stopDragging(...c))},null,40,dat)):G("",!0)],2))),128))])):G("",!0),n.modelValue.length>0?(T(),x("div",uat,[l("button",{onClick:e[4]||(e[4]=(...o)=>r.removeAll&&r.removeAll(...o)),class:"bg-red-500 text-white px-6 py-2 rounded hover:bg-red-600 text-lg"},"Remove All")])):G("",!0)])}const _at=ot(jot,[["render",pat]]);const hat="/";oe.defaults.baseURL="/";const fat={components:{AddModelDialog:Eot,ModelEntry:Nit,PersonalityViewer:$it,PersonalityEntry:RE,BindingEntry:oot,ChoiceDialog:NE,Card:ju,StringListManager:_at,RadioOptions:Wot},data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},defaultModelImgPlaceholder:Is,snd_input_devices:[],snd_input_devices_indexes:[],snd_output_devices:[],snd_output_devices_indexes:[],voices:[],voice_languages:{Arabic:"ar","Brazilian Portuguese":"pt",Chinese:"zh-cn",Czech:"cs",Dutch:"nl",English:"en",French:"fr",German:"de",Italian:"it",Polish:"pl",Russian:"ru",Spanish:"es",Turkish:"tr",Japanese:"ja",Korean:"ko",Hungarian:"hu",Hindi:"hi"},storeLogo:Bs,binding_changed:!1,SVGGPU:Kot,models_zoo:[],models_zoo_initialLoadCount:10,models_zoo_loadMoreCount:5,models_zoo_loadedEntries:[],models_zoo_scrollThreshold:200,sortOptions:[{label:"Sort by Date",value:0},{label:"Sort by Rank",value:1},{label:"Sort by Name",value:2},{label:"Sort by Maker",value:3},{label:"Sort by Quantizer",value:4}],comfyui_models:[],show_only_installed_models:!1,reference_path:"",audioVoices:[],has_updates:!1,variant_choices:[],variantSelectionDialogVisible:!1,currenModelToInstall:null,loading_text:"",personality_category:null,addModelDialogVisibility:!1,modelPath:"",personalitiesFiltered:[],modelsFiltered:[],collapsedArr:[],all_collapsed:!0,data_conf_collapsed:!0,internet_conf_collapsed:!0,servers_conf_collapsed:!0,mainconf_collapsed:!0,smartrouterconf_collapsed:!0,bec_collapsed:!0,sort_type:0,is_loading_zoo:!1,mzc_collapsed:!0,mzdc_collapsed:!0,pzc_collapsed:!0,bzc_collapsed:!0,pc_collapsed:!0,mc_collapsed:!0,sc_collapsed:!0,mzl_collapsed:!1,pzl_collapsed:!1,ezl_collapsed:!1,bzl_collapsed:!1,extCatgArr:[],persCatgArr:[],persArr:[],showConfirmation:!1,showToast:!1,isLoading:!1,settingsChanged:!1,isModelSelected:!1,isMounted:!1,bUrl:hat,searchPersonality:"",searchModel:"",searchPersonalityTimer:{},searchPersonalityTimerInterval:1500,searchModelTimerInterval:1500,searchPersonalityInProgress:!1,searchModelInProgress:!1,addModel:{},modelDownlaodInProgress:!1,uploadData:[]}},async created(){try{this.$store.state.loading_infos="Getting Hardware usage",await this.refreshHardwareUsage(this.$store)}catch(t){console.log("Error cought:",t)}qe.on("loading_text",this.on_loading_text),this.updateHasUpdates()},methods:{fetchElevenLabsVoices(){fetch("https://api.elevenlabs.io/v1/voices").then(t=>t.json()).then(t=>{this.voices=t.voices}).catch(t=>console.error("Error fetching voices:",t))},async refreshHardwareUsage(t){await t.dispatch("refreshDiskUsage"),await t.dispatch("refreshRamUsage"),await t.dispatch("refreshVramUsage")},addDataSource(){this.$store.state.config.rag_databases.push(""),this.settingsChanged=!0},removeDataSource(t){this.$store.state.config.rag_databases.splice(t,1),this.settingsChanged=!0},async vectorize_folder(t){await oe.post("/vectorize_folder",{client_id:this.$store.state.client_id,db_path:this.$store.state.config.rag_databases[t]},this.posts_headers)},async select_folder(t){try{qe.on("rag_db_added",e=>{console.log(e),e?(this.$store.state.config.rag_databases[t]=`${e.database_name}::${e.database_path}`,this.settingsChanged=!0):this.$store.state.toast.showToast("Failed to select a folder",4,!1)}),await oe.post("/add_rag_database",{client_id:this.$store.state.client_id},this.posts_headers)}catch{this.$store.state.toast.showToast("Failed to select a folder",4,!1)}},handleTemplateSelection(t){console.log("handleTemplateSelection");const e=t.target.value;console.log("handleTemplateSelection: ",e),e==="lollms"?(console.log("Using lollms template"),this.configFile.start_header_id_template="!@>",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` `,this.configFile.start_user_header_id_template="!@>",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="!@>",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="lollms_simplified"?(console.log("Using lollms template"),this.configFile.start_header_id_template="@>",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` `,this.configFile.start_user_header_id_template="@>",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="@>",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="bare"?(console.log("Using lollms template"),this.configFile.start_header_id_template="",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` `,this.configFile.start_user_header_id_template="",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="llama3"?(console.log("Using llama3 template"),this.configFile.start_header_id_template="<|start_header_id|>",this.configFile.system_message_template="system",this.configFile.end_header_id_template="<|end_header_id|>",this.configFile.separator_template="<|eot_id|>",this.configFile.start_user_header_id_template="<|start_header_id|>",this.configFile.end_user_header_id_template="<|end_header_id|>",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="<|start_header_id|>",this.configFile.end_ai_header_id_template="<|end_header_id|>",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="mistral"&&(console.log("Using mistral template"),this.configFile.start_header_id_template="[INST]",this.configFile.system_message_template=" Using this information",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` -`,this.configFile.start_user_header_id_template="[INST]",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="[/INST]",this.configFile.start_ai_header_id_template="[INST]",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="[/INST]",this.settingsChanged=!0)},install_model(){},reinstallDiffusersService(){ae.post("/install_diffusers",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},upgradeDiffusersService(){ae.post("install_diffusers",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallXTTSService(){ae.post("install_xtts",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallSDService(){ae.post("/install_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},upgradeSDService(){ae.post("upgrade_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},startSDService(){ae.post("start_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},showSD(){ae.post("show_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallComfyUIService(){ae.post("install_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},upgradeComfyUIService(){ae.post("upgrade_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},startComfyUIService(){ae.post("start_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},showComfyui(){ae.post("show_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallvLLMService(){ae.post("install_vllm",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},startvLLMService(){ae.post("start_vllm",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},startollamaService(){ae.post("start_ollama",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallPetalsService(){ae.post("install_petals",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallOLLAMAService(){ae.post("install_ollama",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallElasticSearchService(){ae.post("install_vllm",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},getSeviceVoices(){ae.get("list_voices").then(t=>{this.voices=t.data.voices}).catch(t=>{console.error(t)})},load_more_models(){this.models_zoo_initialLoadCount+10{ze.replace()}),this.binding_changed&&!this.mzc_collapsed&&(this.modelsZoo==null||this.modelsZoo.length==0)&&(console.log("Refreshing models"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.refreshModelsZoo(),this.binding_changed=!1)},async selectSortOption(t){this.$store.state.sort_type=t,this.updateModelsZoo(),console.log(`Selected sorting:${t}`),console.log(`models:${this.models_zoo}`)},handleRadioSelected(t){this.isLoading=!0,this.selectSortOption(t).then(()=>{this.isLoading=!1})},filter_installed(t){return console.log("filtering"),t.filter(e=>e.isInstalled===!0)},getVoices(){"speechSynthesis"in window&&(console.log("voice synthesis"),this.audioVoices=speechSynthesis.getVoices(),console.log("Voices:"+this.audioVoices),!this.audio_out_voice&&this.audioVoices.length>0&&(this.audio_out_voice=this.audioVoices[0].name),speechSynthesis.onvoiceschanged=()=>{})},async updateHasUpdates(){let t=await this.api_get_req("check_update");this.has_updates=t.update_availability,console.log("has_updates",this.has_updates)},onVariantChoiceSelected(t){this.selected_variant=t},oncloseVariantChoiceDialog(){this.variantSelectionDialogVisible=!1},onvalidateVariantChoice(t){this.variantSelectionDialogVisible=!1,this.currenModelToInstall.installing=!0;let e=this.currenModelToInstall;if(e.linkNotValid){e.installing=!1,this.$store.state.toast.showToast("Link is not valid, file does not exist",4,!1);return}let n="https://huggingface.co/"+e.model.quantizer+"/"+e.model.name+"/resolve/main/"+this.selected_variant.name;this.showProgress=!0,this.progress=0,this.addModel={model_name:this.selected_variant.name,binding_folder:this.configFile.binding_name,model_url:n},console.log("installing...",this.addModel);const s=i=>{if(console.log("received something"),i.status&&i.progress<=100){if(this.addModel=i,console.log("Progress",i),e.progress=i.progress,e.speed=i.speed,e.total_size=i.total_size,e.downloaded_size=i.downloaded_size,e.start_time=i.start_time,e.installing=!0,e.progress==100){const r=this.models_zoo.findIndex(o=>o.name===e.model.name);this.models_zoo[r].isInstalled=!0,this.showProgress=!1,e.installing=!1,console.log("Received succeeded"),qe.off("install_progress",s),console.log("Installed successfully"),this.$store.state.toast.showToast(`Model: +`,this.configFile.start_user_header_id_template="[INST]",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="[/INST]",this.configFile.start_ai_header_id_template="[INST]",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="[/INST]",this.settingsChanged=!0)},install_model(){},reinstallDiffusersService(){oe.post("/install_diffusers",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},upgradeDiffusersService(){oe.post("install_diffusers",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallXTTSService(){oe.post("install_xtts",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallWhisperService(){oe.post("install_whisper",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallSDService(){oe.post("/install_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},upgradeSDService(){oe.post("upgrade_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},startSDService(){oe.post("start_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},showSD(){oe.post("show_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(t=>{}).catch(t=>{console.error(t)})},reinstallComfyUIService(){oe.post("install_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},upgradeComfyUIService(){oe.post("upgrade_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},startComfyUIService(){oe.post("start_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},showComfyui(){oe.post("show_comfyui",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallvLLMService(){oe.post("install_vllm",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},startvLLMService(){oe.post("start_vllm",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},startollamaService(){oe.post("start_ollama",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallPetalsService(){oe.post("install_petals",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallOLLAMAService(){oe.post("install_ollama",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},reinstallElasticSearchService(){oe.post("install_vllm",{client_id:this.$store.state.client_id}).then(t=>{}).catch(t=>{console.error(t)})},getSeviceVoices(){oe.get("list_voices").then(t=>{this.voices=t.data.voices}).catch(t=>{console.error(t)})},load_more_models(){this.models_zoo_initialLoadCount+10{ze.replace()}),this.binding_changed&&!this.mzc_collapsed&&(this.modelsZoo==null||this.modelsZoo.length==0)&&(console.log("Refreshing models"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.refreshModelsZoo(),this.binding_changed=!1)},async selectSortOption(t){this.$store.state.sort_type=t,this.updateModelsZoo(),console.log(`Selected sorting:${t}`),console.log(`models:${this.models_zoo}`)},handleRadioSelected(t){this.isLoading=!0,this.selectSortOption(t).then(()=>{this.isLoading=!1})},filter_installed(t){return console.log("filtering"),t.filter(e=>e.isInstalled===!0)},getVoices(){"speechSynthesis"in window&&(console.log("voice synthesis"),this.audioVoices=speechSynthesis.getVoices(),console.log("Voices:"+this.audioVoices),!this.audio_out_voice&&this.audioVoices.length>0&&(this.audio_out_voice=this.audioVoices[0].name),speechSynthesis.onvoiceschanged=()=>{})},async updateHasUpdates(){let t=await this.api_get_req("check_update");this.has_updates=t.update_availability,console.log("has_updates",this.has_updates)},onVariantChoiceSelected(t){this.selected_variant=t},oncloseVariantChoiceDialog(){this.variantSelectionDialogVisible=!1},onvalidateVariantChoice(t){this.variantSelectionDialogVisible=!1,this.currenModelToInstall.installing=!0;let e=this.currenModelToInstall;if(e.linkNotValid){e.installing=!1,this.$store.state.toast.showToast("Link is not valid, file does not exist",4,!1);return}let n="https://huggingface.co/"+e.model.quantizer+"/"+e.model.name+"/resolve/main/"+this.selected_variant.name;this.showProgress=!0,this.progress=0,this.addModel={model_name:this.selected_variant.name,binding_folder:this.configFile.binding_name,model_url:n},console.log("installing...",this.addModel);const s=i=>{if(console.log("received something"),i.status&&i.progress<=100){if(this.addModel=i,console.log("Progress",i),e.progress=i.progress,e.speed=i.speed,e.total_size=i.total_size,e.downloaded_size=i.downloaded_size,e.start_time=i.start_time,e.installing=!0,e.progress==100){const r=this.models_zoo.findIndex(o=>o.name===e.model.name);this.models_zoo[r].isInstalled=!0,this.showProgress=!1,e.installing=!1,console.log("Received succeeded"),qe.off("install_progress",s),console.log("Installed successfully"),this.$store.state.toast.showToast(`Model: `+e.model.name+` installed!`,4,!0),this.$store.dispatch("refreshDiskUsage")}}else qe.off("install_progress",s),console.log("Install failed"),e.installing=!1,this.showProgress=!1,console.error("Installation failed:",i.error),this.$store.state.toast.showToast(`Model: `+e.model.name+` -failed to install!`,4,!1),this.$store.dispatch("refreshDiskUsage");console.log("Here")};qe.on("install_progress",s),qe.emit("install_model",{path:n,name:e.model.name,variant_name:this.selected_variant.name,type:e.model.type}),console.log("Started installation, please wait")},resetLogo(){this.configFile.app_custom_logo="",this.settingsChanged=!0},resetAvatar(){this.configFile.user_avatar="",this.settingsChanged=!0},uploadLogo(t){const e=t.target.files[0],n=new FormData;n.append("logo",e),console.log("Uploading logo"),ae.post("/upload_logo",n).then(s=>{console.log("Logo uploaded successfully"),this.$store.state.toast.showToast("Avatar uploaded successfully!",4,!0);const i=s.data.fileName;console.log("response",s),this.app_custom_logo=i,this.$store.state.config.app_custom_logo=i,this.settingsChanged=!0}).catch(s=>{console.error("Error uploading avatar:",s)})},uploadAvatar(t){const e=t.target.files[0],n=new FormData;n.append("avatar",e),console.log("Uploading avatar"),ae.post("/upload_avatar",n).then(s=>{console.log("Avatar uploaded successfully"),this.$store.state.toast.showToast("Avatar uploaded successfully!",4,!0);const i=s.data.fileName;console.log("response",s),this.user_avatar=i,this.$store.state.config.user_avatar=i,this.settingsChanged=!0}).catch(s=>{console.error("Error uploading avatar:",s)})},async update_software(){console.log("Posting");const t=await this.api_post_req("update_software");console.log("Posting done"),t.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},async restart_software(){console.log("Posting");const t=await this.api_post_req("restart_program");console.log("Posting done"),t.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},on_loading_text(t){console.log("Loading text",t),this.loading_text=t},async load_everything(){for(this.isLoading=!0,Le(()=>{ze.replace()});this.isReady===!1;)await new Promise(t=>setTimeout(t,100));this.refresh(),console.log("Ready"),this.configFile.model_name&&(this.isModelSelected=!0),this.persCatgArr=await this.api_get_req("list_personalities_categories"),this.persArr=await this.api_get_req("list_personalities?category="+this.configFile.personality_category),console.log("category"),this.personality_category=this.configFile.personality_category,this.personalitiesFiltered=this.$store.state.personalities.filter(t=>t.category===this.configFile.personality_category),this.modelsFiltered=[],this.updateModelsZoo(),this.isLoading=!1,this.isMounted=!0,console.log("READY Stuff")},async open_mzl(){this.mzl_collapsed=!this.mzl_collapsed,console.log("Fetching models")},async getVramUsage(){await this.api_get_req("vram_usage")},async progressListener(t){if(console.log("received something"),t.status==="progress"){if(this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];n&&(console.log("model entry",n),n.installing=!0,n.progress=t.progress,console.log(`Progress = ${t.progress}`),t.progress>=100?(n.installing=!1,n.isInstalled=!0):(n.installing=!0,n.isInstalled=!0))}}else if(t.status==="succeeded"){if(console.log("Received succeeded"),this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];t.progress>=100&&(n.installing=!1,n.isInstalled=!0)}if(console.log("Installed successfully"),this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];n&&(n.installing=!1,n.isInstalled=!0)}this.$store.state.toast.showToast(`Model: +failed to install!`,4,!1),this.$store.dispatch("refreshDiskUsage");console.log("Here")};qe.on("install_progress",s),qe.emit("install_model",{path:n,name:e.model.name,variant_name:this.selected_variant.name,type:e.model.type}),console.log("Started installation, please wait")},resetLogo(){this.configFile.app_custom_logo="",this.settingsChanged=!0},resetAvatar(){this.configFile.user_avatar="",this.settingsChanged=!0},uploadLogo(t){const e=t.target.files[0],n=new FormData;n.append("logo",e),console.log("Uploading logo"),oe.post("/upload_logo",n).then(s=>{console.log("Logo uploaded successfully"),this.$store.state.toast.showToast("Avatar uploaded successfully!",4,!0);const i=s.data.fileName;console.log("response",s),this.app_custom_logo=i,this.$store.state.config.app_custom_logo=i,this.settingsChanged=!0}).catch(s=>{console.error("Error uploading avatar:",s)})},uploadAvatar(t){const e=t.target.files[0],n=new FormData;n.append("avatar",e),console.log("Uploading avatar"),oe.post("/upload_avatar",n).then(s=>{console.log("Avatar uploaded successfully"),this.$store.state.toast.showToast("Avatar uploaded successfully!",4,!0);const i=s.data.fileName;console.log("response",s),this.user_avatar=i,this.$store.state.config.user_avatar=i,this.settingsChanged=!0}).catch(s=>{console.error("Error uploading avatar:",s)})},async update_software(){console.log("Posting");const t=await this.api_post_req("update_software");console.log("Posting done"),t.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},async restart_software(){console.log("Posting");const t=await this.api_post_req("restart_program");console.log("Posting done"),t.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},on_loading_text(t){console.log("Loading text",t),this.loading_text=t},async load_everything(){for(this.isLoading=!0,Le(()=>{ze.replace()});this.isReady===!1;)await new Promise(t=>setTimeout(t,100));this.refresh(),console.log("Ready"),this.configFile.model_name&&(this.isModelSelected=!0),this.persCatgArr=await this.api_get_req("list_personalities_categories"),this.persArr=await this.api_get_req("list_personalities?category="+this.configFile.personality_category),console.log("category"),this.personality_category=this.configFile.personality_category,this.personalitiesFiltered=this.$store.state.personalities.filter(t=>t.category===this.configFile.personality_category),this.modelsFiltered=[],this.updateModelsZoo(),this.isLoading=!1,this.isMounted=!0,console.log("READY Stuff")},async open_mzl(){this.mzl_collapsed=!this.mzl_collapsed,console.log("Fetching models")},async getVramUsage(){await this.api_get_req("vram_usage")},async progressListener(t){if(console.log("received something"),t.status==="progress"){if(this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];n&&(console.log("model entry",n),n.installing=!0,n.progress=t.progress,console.log(`Progress = ${t.progress}`),t.progress>=100?(n.installing=!1,n.isInstalled=!0):(n.installing=!0,n.isInstalled=!0))}}else if(t.status==="succeeded"){if(console.log("Received succeeded"),this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];t.progress>=100&&(n.installing=!1,n.isInstalled=!0)}if(console.log("Installed successfully"),this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];n&&(n.installing=!1,n.isInstalled=!0)}this.$store.state.toast.showToast(`Model: `+model_object.name+` installed!`,4,!0),this.$store.dispatch("refreshDiskUsage")}else if(t.status==="failed"&&(console.log("Install failed"),this.$refs.modelZoo)){const e=this.$refs.modelZoo.findIndex(s=>s.model.name==t.model_name&&this.configFile.binding_name==t.binding_folder),n=this.models_zoo[e];n&&(n.installing=!1,n.isInstalled=!1),console.error("Installation failed:",t.error),this.$store.state.toast.showToast(`Model: `+model_object.name+` @@ -178,7 +178,7 @@ Download: ${"https://huggingface.co/"+t.quantizer+"/"+t.name} License: ${t.license} Owner: ${t.quantizer} Website: ${"https://huggingface.co/"+t.quantizer} -Description: ${t.description}`,this.$store.state.toast.showToast("Copied model info to clipboard!",4,!0),navigator.clipboard.writeText(e.trim())},onCopyLink(t){this.$store.state.toast.showToast("Copied link to clipboard!",4,!0),navigator.clipboard.writeText(t.model.name)},onCopyPersonalityName(t){this.$store.state.toast.showToast("Copied name to clipboard!",4,!0),navigator.clipboard.writeText(t.name)},async onCopyToCustom(t){await ae.post("/copy_to_custom_personas",{client_id:this.$store.state.client_id,category:t.personality.category,name:t.personality.name})},async handleOpenFolder(t){await ae.post("/open_personality_folder",{client_id:this.$store.state.client_id,personality_folder:t.personality.category/t.personality.folder})},onCancelInstall(){const t=this.addModel;console.log("cancel install",t),this.modelDownlaodInProgress=!1,this.addModel={},qe.emit("cancel_install",{model_name:t.model_name,binding_folder:t.binding_folder,model_url:t.model_url,patreon:t.patreon?t.patreon:"None"}),this.$store.state.toast.showToast("Model installation aborted",4,!1)},onInstall(t){this.variant_choices=t.model.variants,this.currenModelToInstall=t,console.log("variant_choices"),console.log(this.variant_choices),console.log(t),this.variantSelectionDialogVisible=!0},onCreateReference(){ae.post("/add_reference_to_local_model",{path:this.reference_path}).then(t=>{t.status?(this.$store.state.toast.showToast("Reference created",4,!0),this.is_loading_zoo=!0,this.refreshModelsZoo().then(()=>{this.updateModelsZoo(),this.is_loading_zoofalse})):this.$store.state.toast.showToast("Couldn't create reference",4,!1)})},onInstallAddModel(){if(!this.addModel.url){this.$store.state.toast.showToast("Link is empty",4,!1);return}let t=this.addModel.url;this.addModel.progress=0,console.log("installing..."),console.log("value ",this.addModel.url),this.modelDownlaodInProgress=!0;const e=n=>{console.log("received something"),n.status&&n.progress<=100?(console.log("Progress",n),this.addModel=n,this.addModel.url=t,this.addModel.progress==100&&(this.modelDownlaodInProgress=!1,console.log("Received succeeded"),qe.off("install_progress",e),console.log("Installed successfully"),this.addModel={},this.$store.state.toast.showToast(`Model: +Description: ${t.description}`,this.$store.state.toast.showToast("Copied model info to clipboard!",4,!0),navigator.clipboard.writeText(e.trim())},onCopyLink(t){this.$store.state.toast.showToast("Copied link to clipboard!",4,!0),navigator.clipboard.writeText(t.model.name)},onCopyPersonalityName(t){this.$store.state.toast.showToast("Copied name to clipboard!",4,!0),navigator.clipboard.writeText(t.name)},async onCopyToCustom(t){await oe.post("/copy_to_custom_personas",{client_id:this.$store.state.client_id,category:t.personality.category,name:t.personality.name})},async handleOpenFolder(t){await oe.post("/open_personality_folder",{client_id:this.$store.state.client_id,personality_folder:t.personality.category/t.personality.folder})},onCancelInstall(){const t=this.addModel;console.log("cancel install",t),this.modelDownlaodInProgress=!1,this.addModel={},qe.emit("cancel_install",{model_name:t.model_name,binding_folder:t.binding_folder,model_url:t.model_url,patreon:t.patreon?t.patreon:"None"}),this.$store.state.toast.showToast("Model installation aborted",4,!1)},onInstall(t){this.variant_choices=t.model.variants,this.currenModelToInstall=t,console.log("variant_choices"),console.log(this.variant_choices),console.log(t),this.variantSelectionDialogVisible=!0},onCreateReference(){oe.post("/add_reference_to_local_model",{path:this.reference_path}).then(t=>{t.status?(this.$store.state.toast.showToast("Reference created",4,!0),this.is_loading_zoo=!0,this.refreshModelsZoo().then(()=>{this.updateModelsZoo(),this.is_loading_zoofalse})):this.$store.state.toast.showToast("Couldn't create reference",4,!1)})},onInstallAddModel(){if(!this.addModel.url){this.$store.state.toast.showToast("Link is empty",4,!1);return}let t=this.addModel.url;this.addModel.progress=0,console.log("installing..."),console.log("value ",this.addModel.url),this.modelDownlaodInProgress=!0;const e=n=>{console.log("received something"),n.status&&n.progress<=100?(console.log("Progress",n),this.addModel=n,this.addModel.url=t,this.addModel.progress==100&&(this.modelDownlaodInProgress=!1,console.log("Received succeeded"),qe.off("install_progress",e),console.log("Installed successfully"),this.addModel={},this.$store.state.toast.showToast(`Model: `+this.addModel.model_name+` installed!`,4,!0),this.$store.dispatch("refreshDiskUsage"))):(qe.off("install_progress",e),console.log("Install failed"),this.modelDownlaodInProgress=!1,console.error("Installation failed:",n.error),this.$store.state.toast.showToast(`Model: `+this.addModel.model_name+` @@ -192,69 +192,69 @@ failed to install!`,4,!1),this.$store.dispatch("refreshDiskUsage"))};qe.on("prog was uninstalled!`,4,!0),this.$store.dispatch("refreshDiskUsage")):(console.log("uninstalling failed",s),t.uninstalling=!1,this.showProgress=!1,qe.off("uninstall_progress",n),console.error("Uninstallation failed:",s.error),this.$store.state.toast.showToast(`Model: `+t.model.name+` failed to uninstall!`,4,!1),this.$store.dispatch("refreshDiskUsage"))};qe.on("uninstall_progress",n),this.selected_variant!=null?qe.emit("uninstall_model",{path:"https://huggingface.co/"+t.model.quantizer+"/"+t.model.name+"/resolve/main/"+this.selected_variant.name,type:t.model.type}):qe.emit("uninstall_model",{path:"https://huggingface.co/"+t.model.quantizer+"/"+t.model.name,type:t.model.type})}})},onBindingSelected(t){if(console.log("Binding selected"),!t.binding.installed){this.$store.state.toast.showToast(`Binding is not installed: -`+t.binding.name,4,!1);return}this.mzc_collapsed=!0,this.configFile.binding_name!=t.binding.folder&&(this.update_binding(t.binding.folder),this.binding_changed=!0),this.api_get_req("get_model_status").then(e=>{this.$store.commit("setIsModelOk",e)})},onInstallBinding(t){this.configFile.binding_name!=t.binding.folder?(this.isLoading=!0,t.disclaimer&&this.$store.state.yesNoDialog.askQuestion(t.disclaimer,"Proceed","Cancel"),ae.post("/install_binding",{name:t.binding.folder}).then(e=>{if(e)return this.isLoading=!1,console.log("install_binding",e),e.data.status?(this.$store.state.toast.showToast("Binding installed successfully!",4,!0),this.$store.state.messageBox.showMessage(`It is advised to reboot the application after installing a binding. +`+t.binding.name,4,!1);return}this.mzc_collapsed=!0,this.configFile.binding_name!=t.binding.folder&&(this.update_binding(t.binding.folder),this.binding_changed=!0),this.api_get_req("get_model_status").then(e=>{this.$store.commit("setIsModelOk",e)})},onInstallBinding(t){this.configFile.binding_name!=t.binding.folder?(this.isLoading=!0,t.disclaimer&&this.$store.state.yesNoDialog.askQuestion(t.disclaimer,"Proceed","Cancel"),oe.post("/install_binding",{name:t.binding.folder}).then(e=>{if(e)return this.isLoading=!1,console.log("install_binding",e),e.data.status?(this.$store.state.toast.showToast("Binding installed successfully!",4,!0),this.$store.state.messageBox.showMessage(`It is advised to reboot the application after installing a binding. Page will refresh in 5s.`),setTimeout(()=>{window.location.href="/"},5e3)):this.$store.state.toast.showToast("Could not reinstall binding",4,!1),this.isLoading=!1,e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall binding -`+e.message,4,!1),{status:!1}))):this.update_binding(t.binding.folder)},onUnInstallBinding(t){this.isLoading=!0,ae.post("/unInstall_binding",{name:t.binding.folder}).then(e=>{if(e){if(this.isLoading=!1,console.log("unInstall_binding",e),e.data.status){const n=this.bindingsZoo.findIndex(i=>i.folder==t.binding.folder),s=this.bindingsZoo[n];s?s.installed=!0:s.installed=!1,this.settingsChanged=!0,this.binding_changed=!0,this.$store.state.toast.showToast("Binding uninstalled successfully!",4,!0)}else this.$store.state.toast.showToast("Could not uninstall binding",4,!1);return e.data}this.isLoading=!1,t.isInstalled=False}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not uninstall binding -`+e.message,4,!1),{status:!1}))},onReinstallBinding(t){this.isLoading=!0,ae.post("/reinstall_binding",{name:t.binding.folder}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_binding",e),e.data.status?(this.$store.state.toast.showToast("Binding reinstalled successfully!",4,!0),this.$store.state.messageBox.showMessage("It is advised to reboot the application after installing a binding")):this.$store.state.toast.showToast("Could not reinstall binding",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall binding -`+e.message,4,!1),{status:!1}))},onSettingsBinding(t){try{this.isLoading=!0,ae.get("/get_active_binding_settings").then(e=>{console.log(e),this.isLoading=!1,e&&(console.log("binding setting",e),e.data&&Object.keys(e.data).length>0?this.$store.state.universalForm.showForm(e.data,"Binding settings - "+t.binding.name,"Save changes","Cancel").then(n=>{try{ae.post("/set_active_binding_settings",{client_id:this.$store.state.client_id,settings:n},{headers:this.posts_headers}).then(s=>{s&&s.data?(console.log("binding set with new settings",s.data),this.$store.state.toast.showToast("Binding settings updated successfully!",4,!0),ae.post("/update_binding_settings",{client_id:this.$store.state.client_id}).then(i=>{this.$store.state.toast.showToast("Binding settings committed successfully!",4,!0),window.location.href="/"})):(this.$store.state.toast.showToast(`Did not get binding settings responses. +`+e.message,4,!1),{status:!1}))):this.update_binding(t.binding.folder)},onUnInstallBinding(t){this.isLoading=!0,oe.post("/unInstall_binding",{name:t.binding.folder}).then(e=>{if(e){if(this.isLoading=!1,console.log("unInstall_binding",e),e.data.status){const n=this.bindingsZoo.findIndex(i=>i.folder==t.binding.folder),s=this.bindingsZoo[n];s?s.installed=!0:s.installed=!1,this.settingsChanged=!0,this.binding_changed=!0,this.$store.state.toast.showToast("Binding uninstalled successfully!",4,!0)}else this.$store.state.toast.showToast("Could not uninstall binding",4,!1);return e.data}this.isLoading=!1,t.isInstalled=False}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not uninstall binding +`+e.message,4,!1),{status:!1}))},onReinstallBinding(t){this.isLoading=!0,oe.post("/reinstall_binding",{name:t.binding.folder}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_binding",e),e.data.status?(this.$store.state.toast.showToast("Binding reinstalled successfully!",4,!0),this.$store.state.messageBox.showMessage("It is advised to reboot the application after installing a binding")):this.$store.state.toast.showToast("Could not reinstall binding",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall binding +`+e.message,4,!1),{status:!1}))},onSettingsBinding(t){try{this.isLoading=!0,oe.get("/get_active_binding_settings").then(e=>{console.log(e),this.isLoading=!1,e&&(console.log("binding setting",e),e.data&&Object.keys(e.data).length>0?this.$store.state.universalForm.showForm(e.data,"Binding settings - "+t.binding.name,"Save changes","Cancel").then(n=>{try{oe.post("/set_active_binding_settings",{client_id:this.$store.state.client_id,settings:n},{headers:this.posts_headers}).then(s=>{s&&s.data?(console.log("binding set with new settings",s.data),this.$store.state.toast.showToast("Binding settings updated successfully!",4,!0),oe.post("/update_binding_settings",{client_id:this.$store.state.client_id}).then(i=>{this.$store.state.toast.showToast("Binding settings committed successfully!",4,!0),window.location.href="/"})):(this.$store.state.toast.showToast(`Did not get binding settings responses. `+s,4,!1),this.isLoading=!1)})}catch(s){this.$store.state.toast.showToast(`Did not get binding settings responses. - Endpoint error: `+s.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+e.message,4,!1)}},onReloadBinding(t){console.log("Reloading binding"),this.isLoading=!0,ae.post("/reload_binding",{name:t.binding.folder},{headers:this.posts_headers}).then(e=>{if(e)return this.isLoading=!1,console.log("reload_binding",e),e.data.status?this.$store.state.toast.showToast("Binding reloaded successfully!",4,!0):this.$store.state.toast.showToast("Could not reload binding",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reload binding -`+e.message,4,!1),{status:!1}))},onSettingsPersonality(t){try{this.isLoading=!0,ae.get("/get_active_personality_settings").then(e=>{this.isLoading=!1,e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$store.state.universalForm.showForm(e.data,"Personality settings - "+t.personality.name,"Save changes","Cancel").then(n=>{try{ae.post("/set_active_personality_settings",n).then(s=>{s&&s.data?(console.log("personality set with new settings",s.data),this.$store.state.toast.showToast("Personality settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get Personality settings responses. + Endpoint error: `+s.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+e.message,4,!1)}},onReloadBinding(t){console.log("Reloading binding"),this.isLoading=!0,oe.post("/reload_binding",{name:t.binding.folder},{headers:this.posts_headers}).then(e=>{if(e)return this.isLoading=!1,console.log("reload_binding",e),e.data.status?this.$store.state.toast.showToast("Binding reloaded successfully!",4,!0):this.$store.state.toast.showToast("Could not reload binding",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reload binding +`+e.message,4,!1),{status:!1}))},onSettingsPersonality(t){try{this.isLoading=!0,oe.get("/get_active_personality_settings").then(e=>{this.isLoading=!1,e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$store.state.universalForm.showForm(e.data,"Personality settings - "+t.personality.name,"Save changes","Cancel").then(n=>{try{oe.post("/set_active_personality_settings",n).then(s=>{s&&s.data?(console.log("personality set with new settings",s.data),this.$store.state.toast.showToast("Personality settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get Personality settings responses. `+s,4,!1),this.isLoading=!1)})}catch(s){this.$store.state.toast.showToast(`Did not get Personality settings responses. - Endpoint error: `+s.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Personality has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},onMessageBoxOk(){console.log("OK button clicked")},update_personality_category(t,e){this.personality_category=t,e()},refresh(){console.log("Refreshing"),this.$store.dispatch("refreshConfig").then(()=>{console.log(this.personality_category),this.api_get_req("list_personalities_categories").then(t=>{console.log("cats",t),this.persCatgArr=t,this.personalitiesFiltered=this.$store.state.personalities.filter(e=>e.category===this.personality_category),this.personalitiesFiltered.sort()})})},toggleAccordion(){this.showAccordion=!this.showAccordion},async update_setting(t,e,n){this.isLoading=!0;const s={client_id:this.$store.state.client_id,setting_name:t,setting_value:e};console.log("Updating setting",t,":",e);let i=await ae.post("/update_setting",s,{headers:this.posts_headers});if(i)return this.isLoading=!1,console.log("update_setting",i),i.status?this.$store.state.toast.showToast(`Setting updated successfully. + Endpoint error: `+s.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Personality has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},onMessageBoxOk(){console.log("OK button clicked")},update_personality_category(t,e){this.personality_category=t,e()},refresh(){console.log("Refreshing"),this.$store.dispatch("refreshConfig").then(()=>{console.log(this.personality_category),this.api_get_req("list_personalities_categories").then(t=>{console.log("cats",t),this.persCatgArr=t,this.personalitiesFiltered=this.$store.state.personalities.filter(e=>e.category===this.personality_category),this.personalitiesFiltered.sort()})})},toggleAccordion(){this.showAccordion=!this.showAccordion},async update_setting(t,e,n){this.isLoading=!0;const s={client_id:this.$store.state.client_id,setting_name:t,setting_value:e};console.log("Updating setting",t,":",e);let i=await oe.post("/update_setting",s,{headers:this.posts_headers});if(i)return this.isLoading=!1,console.log("update_setting",i),i.status?this.$store.state.toast.showToast(`Setting updated successfully. `,4,!0):this.$store.state.toast.showToast(`Setting update failed. -Please view the console for more details.`,4,!1),n!==void 0&&n(i),i.data;this.isLoading=!1},async refreshModelsZoo(){this.models_zoo=[],console.log("refreshing models"),this.is_loading_zoo=!0,await this.$store.dispatch("refreshModelsZoo"),console.log("ModelsZoo refreshed"),await this.$store.dispatch("refreshModels"),console.log("Models refreshed"),this.updateModelsZoo(),console.log("Models updated"),this.is_loading_zoo=!1},async updateModelsZoo(){let t=this.$store.state.modelsZoo;if(t.length!=0){console.log(`REFRESHING models using sorting ${this.sort_type}`),t.length>1?(this.sort_type==0?(t.sort((e,n)=>{const s=new Date(e.last_commit_time);return new Date(n.last_commit_time)-s}),console.log("Sorted")):this.sort_type==1?t.sort((e,n)=>n.rank-e.rank):this.sort_type==2?t.sort((e,n)=>e.name.localeCompare(n.name)):this.sort_type==3&&t.sort((e,n)=>e.name.localeCompare(n.name)),console.log("Sorted")):console.log("No sorting needed"),t.forEach(e=>{e.name==this.$store.state.config.model_name?e.selected=!0:e.selected=!1}),console.log("Selected models");for(let e=0;ei.name==n);if(s==-1)for(let i=0;io.name==n),s!=-1)){s=i,console.log(`Found ${n} at index ${s}`);break}}if(s==-1){let i={};i.name=n,i.icon=this.imgBinding,i.isCustomModel=!0,i.isInstalled=!0,t.push(i)}else t[s].isInstalled=!0}console.log("Determined models"),t.sort((e,n)=>e.isInstalled&&!n.isInstalled?-1:!e.isInstalled&&n.isInstalled?1:0),console.log("Done"),this.models_zoo=this.$store.state.modelsZoo}},update_binding(t){this.isLoading=!0,this.$store.state.modelsZoo=[],this.configFile.model_name=null,this.$store.state.config.model_name=null,console.log("updating binding_name"),this.update_setting("binding_name",t,async e=>{console.log("updated binding_name"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.mzc_collapsed=!0;const n=this.bindingsZoo.findIndex(i=>i.folder==t),s=this.bindingsZoo[n];s?s.installed=!0:s.installed=!1,this.settingsChanged=!0,this.isLoading=!1,Le(()=>{ze.replace()}),console.log("updating model"),this.update_model(null).then(()=>{}),Le(()=>{ze.replace()})}),Le(()=>{ze.replace()})},async update_model(t){t||(this.isModelSelected=!1),this.isLoading=!0;let e=await this.update_setting("model_name",t);return this.isLoading=!1,Le(()=>{ze.replace()}),e},async cancelConfiguration(){await this.$store.dispatch("refreshConfig"),this.settingsChanged=!1},applyConfiguration(){this.isLoading=!0,ae.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.configFile},{headers:this.posts_headers}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})})},save_configuration(){this.showConfirmation=!1,ae.post("/save_settings",{},{headers:this.posts_headers}).then(t=>{if(t)return t.status||this.$store.state.messageBox.showMessage("Error: Couldn't save settings!"),t.data}).catch(t=>(console.log(t.message,"save_configuration"),this.$store.state.messageBox.showMessage("Couldn't save settings!"),{status:!1}))},reset_configuration(){this.$store.state.yesNoDialog.askQuestion(`Are you sure? -This will delete all your configurations and get back to default configuration.`).then(t=>{t&&ae.post("/reset_settings",{},{headers:this.posts_headers}).then(e=>{if(e)return e.status?this.$store.state.messageBox.showMessage("Settings have been reset correctly"):this.$store.state.messageBox.showMessage("Couldn't reset settings!"),e.data}).catch(e=>(console.log(e.message,"reset_configuration"),this.$store.state.messageBox.showMessage("Couldn't reset settings!"),{status:!1}))})},async api_get_req(t){try{const e=await ae.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - settings");return}},async api_post_req(t){try{const e=await ae.post("/"+t,{client_id:this.$store.state.client_id});if(e)return e.data}catch(e){console.log(e.message,"api_post_req - settings");return}},closeToast(){this.showToast=!1},async getPersonalitiesArr(){this.isLoading=!0,this.$store.state.personalities=[];const t=await this.api_get_req("get_all_personalities"),e=this.$store.state.config;console.log("recovering all_personalities");const n=Object.keys(t);for(let s=0;s{const c=e.personalities.includes(i+"/"+a.folder);let d={};return d=a,d.category=i,d.language="",d.full_path=i+"/"+a.folder,d.isMounted=c,d});this.$store.state.personalities.length==0?this.$store.state.personalities=o:this.$store.state.personalities=this.$store.state.personalities.concat(o)}this.$store.state.personalities.sort((s,i)=>s.name.localeCompare(i.name)),this.personalitiesFiltered=this.$store.state.personalities.filter(s=>s.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),console.log("per filtered",this.personalitiesFiltered),this.isLoading=!1},async filterPersonalities(){if(!this.searchPersonality){this.personalitiesFiltered=this.$store.state.personalities.filter(n=>n.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),this.searchPersonalityInProgress=!1;return}const t=this.searchPersonality.toLowerCase(),e=this.$store.state.personalities.filter(n=>{if(n.name&&n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t)||n.full_path&&n.full_path.toLowerCase().includes(t))return n});e.length>0?this.personalitiesFiltered=e.sort():(this.personalitiesFiltered=this.$store.state.personalities.filter(n=>n.category===this.configFile.personality_category),this.personalitiesFiltered.sort()),this.searchPersonalityInProgress=!1},async filterModels(){const t=this.searchModel.toLowerCase();this.is_loading_zoo=!0,console.log("filtering models"),console.log(this.models_zoo);const e=this.models_zoo.filter(n=>{if(n.name&&n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t)||n.category&&n.category.toLowerCase().includes(t))return n});this.is_loading_zoo=!1,e.length>0?this.modelsFiltered=e:this.modelsFiltered=[],this.searchModelInProgress=!1},computedFileSize(t){return si(t)},async mount_personality(t){if(!t)return{status:!1,error:"no personality - mount_personality"};try{const e={client_id:this.$store.state.client_id,language:t.language?t.language:"",category:t.category?t.category:"",folder:t.folder?t.folder:""},n=await ae.post("/mount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await ae.post("/unmount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async select_personality(t){if(!t)return{status:!1,error:"no personality - select_personality"};let e=t.language==null?t.full_path:t.full_path+":"+t.language;console.log("pth",e);const n=this.configFile.personalities.findIndex(i=>i===e),s={client_id:this.$store.state.client_id,id:n};try{const i=await ae.post("/select_personality",s,{headers:this.posts_headers});if(i)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),i.data}catch(i){console.log(i.message,"select_personality - settings");return}},async mountPersonality(t){if(this.isLoading=!0,console.log("mount pers",t),t.personality.disclaimer!=""&&this.$store.state.messageBox.showMessage(t.personality.disclaimer),!t)return;if(this.configFile.personalities.includes(t.personality.full_path)){this.isLoading=!1,this.$store.state.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(t.personality);console.log("mount_personality res",e),e&&e.status&&e.active_personality_id>-1&&e.personalities.includes(t.personality.full_path)?(this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality mounted",4,!0),t.isMounted=!0,(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: +Please view the console for more details.`,4,!1),n!==void 0&&n(i),i.data;this.isLoading=!1},async refreshModelsZoo(){this.models_zoo=[],console.log("refreshing models"),this.is_loading_zoo=!0,await this.$store.dispatch("refreshModelsZoo"),console.log("ModelsZoo refreshed"),await this.$store.dispatch("refreshModels"),console.log("Models refreshed"),this.updateModelsZoo(),console.log("Models updated"),this.is_loading_zoo=!1},async updateModelsZoo(){let t=this.$store.state.modelsZoo;if(t.length!=0){console.log(`REFRESHING models using sorting ${this.sort_type}`),t.length>1?(this.sort_type==0?(t.sort((e,n)=>{const s=new Date(e.last_commit_time);return new Date(n.last_commit_time)-s}),console.log("Sorted")):this.sort_type==1?t.sort((e,n)=>n.rank-e.rank):this.sort_type==2?t.sort((e,n)=>e.name.localeCompare(n.name)):this.sort_type==3&&t.sort((e,n)=>e.name.localeCompare(n.name)),console.log("Sorted")):console.log("No sorting needed"),t.forEach(e=>{e.name==this.$store.state.config.model_name?e.selected=!0:e.selected=!1}),console.log("Selected models");for(let e=0;ei.name==n);if(s==-1)for(let i=0;io.name==n),s!=-1)){s=i,console.log(`Found ${n} at index ${s}`);break}}if(s==-1){let i={};i.name=n,i.icon=this.imgBinding,i.isCustomModel=!0,i.isInstalled=!0,t.push(i)}else t[s].isInstalled=!0}console.log("Determined models"),t.sort((e,n)=>e.isInstalled&&!n.isInstalled?-1:!e.isInstalled&&n.isInstalled?1:0),console.log("Done"),this.models_zoo=this.$store.state.modelsZoo}},update_binding(t){this.isLoading=!0,this.$store.state.modelsZoo=[],this.configFile.model_name=null,this.$store.state.config.model_name=null,console.log("updating binding_name"),this.update_setting("binding_name",t,async e=>{console.log("updated binding_name"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.mzc_collapsed=!0;const n=this.bindingsZoo.findIndex(i=>i.folder==t),s=this.bindingsZoo[n];s?s.installed=!0:s.installed=!1,this.settingsChanged=!0,this.isLoading=!1,Le(()=>{ze.replace()}),console.log("updating model"),this.update_model(null).then(()=>{}),Le(()=>{ze.replace()})}),Le(()=>{ze.replace()})},async update_model(t){t||(this.isModelSelected=!1),this.isLoading=!0;let e=await this.update_setting("model_name",t);return this.isLoading=!1,Le(()=>{ze.replace()}),e},async cancelConfiguration(){await this.$store.dispatch("refreshConfig"),this.settingsChanged=!1},applyConfiguration(){this.isLoading=!0,oe.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.configFile},{headers:this.posts_headers}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})})},save_configuration(){this.showConfirmation=!1,oe.post("/save_settings",{},{headers:this.posts_headers}).then(t=>{if(t)return t.status||this.$store.state.messageBox.showMessage("Error: Couldn't save settings!"),t.data}).catch(t=>(console.log(t.message,"save_configuration"),this.$store.state.messageBox.showMessage("Couldn't save settings!"),{status:!1}))},reset_configuration(){this.$store.state.yesNoDialog.askQuestion(`Are you sure? +This will delete all your configurations and get back to default configuration.`).then(t=>{t&&oe.post("/reset_settings",{},{headers:this.posts_headers}).then(e=>{if(e)return e.status?this.$store.state.messageBox.showMessage("Settings have been reset correctly"):this.$store.state.messageBox.showMessage("Couldn't reset settings!"),e.data}).catch(e=>(console.log(e.message,"reset_configuration"),this.$store.state.messageBox.showMessage("Couldn't reset settings!"),{status:!1}))})},async api_get_req(t){try{const e=await oe.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - settings");return}},async api_post_req(t){try{const e=await oe.post("/"+t,{client_id:this.$store.state.client_id});if(e)return e.data}catch(e){console.log(e.message,"api_post_req - settings");return}},closeToast(){this.showToast=!1},async getPersonalitiesArr(){this.isLoading=!0,this.$store.state.personalities=[];const t=await this.api_get_req("get_all_personalities"),e=this.$store.state.config;console.log("recovering all_personalities");const n=Object.keys(t);for(let s=0;s{const c=e.personalities.includes(i+"/"+a.folder);let d={};return d=a,d.category=i,d.language="",d.full_path=i+"/"+a.folder,d.isMounted=c,d});this.$store.state.personalities.length==0?this.$store.state.personalities=o:this.$store.state.personalities=this.$store.state.personalities.concat(o)}this.$store.state.personalities.sort((s,i)=>s.name.localeCompare(i.name)),this.personalitiesFiltered=this.$store.state.personalities.filter(s=>s.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),console.log("per filtered",this.personalitiesFiltered),this.isLoading=!1},async filterPersonalities(){if(!this.searchPersonality){this.personalitiesFiltered=this.$store.state.personalities.filter(n=>n.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),this.searchPersonalityInProgress=!1;return}const t=this.searchPersonality.toLowerCase(),e=this.$store.state.personalities.filter(n=>{if(n.name&&n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t)||n.full_path&&n.full_path.toLowerCase().includes(t))return n});e.length>0?this.personalitiesFiltered=e.sort():(this.personalitiesFiltered=this.$store.state.personalities.filter(n=>n.category===this.configFile.personality_category),this.personalitiesFiltered.sort()),this.searchPersonalityInProgress=!1},async filterModels(){const t=this.searchModel.toLowerCase();this.is_loading_zoo=!0,console.log("filtering models"),console.log(this.models_zoo);const e=this.models_zoo.filter(n=>{if(n.name&&n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t)||n.category&&n.category.toLowerCase().includes(t))return n});this.is_loading_zoo=!1,e.length>0?this.modelsFiltered=e:this.modelsFiltered=[],this.searchModelInProgress=!1},computedFileSize(t){return si(t)},async mount_personality(t){if(!t)return{status:!1,error:"no personality - mount_personality"};try{const e={client_id:this.$store.state.client_id,language:t.language?t.language:"",category:t.category?t.category:"",folder:t.folder?t.folder:""},n=await oe.post("/mount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await oe.post("/unmount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async select_personality(t){if(!t)return{status:!1,error:"no personality - select_personality"};let e=t.language==null?t.full_path:t.full_path+":"+t.language;console.log("pth",e);const n=this.configFile.personalities.findIndex(i=>i===e),s={client_id:this.$store.state.client_id,id:n};try{const i=await oe.post("/select_personality",s,{headers:this.posts_headers});if(i)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),i.data}catch(i){console.log(i.message,"select_personality - settings");return}},async mountPersonality(t){if(this.isLoading=!0,console.log("mount pers",t),t.personality.disclaimer!=""&&this.$store.state.messageBox.showMessage(t.personality.disclaimer),!t)return;if(this.configFile.personalities.includes(t.personality.full_path)){this.isLoading=!1,this.$store.state.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(t.personality);console.log("mount_personality res",e),e&&e.status&&e.active_personality_id>-1&&e.personalities.includes(t.personality.full_path)?(this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality mounted",4,!0),t.isMounted=!0,(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: `+t.personality.name,4,!0),this.$store.dispatch("refreshMountedPersonalities")):(t.isMounted=!1,this.$store.state.toast.showToast(`Could not mount personality Error: `+e.error+` Response: -`+e,4,!1)),this.isLoading=!1},async unmountAll(){await ae.post("/unmount_all_personalities",{client_id:this.$store.state.client_id},{headers:this.posts_headers}),this.$store.dispatch("refreshMountedPersonalities"),this.$store.dispatch("refreshConfig"),this.$store.state.toast.showToast("All personas unmounted",4,!0)},async unmountPersonality(t){if(this.isLoading=!0,!t)return;const e=await this.unmount_personality(t.personality||t);if(e.status){this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality unmounted",4,!0);const n=this.$store.state.personalities.findIndex(a=>a.full_path==t.full_path),s=this.personalitiesFiltered.findIndex(a=>a.full_path==t.full_path),i=this.$refs.personalitiesZoo.findIndex(a=>a.full_path==t.full_path);console.log("ppp",this.$store.state.personalities[n]),this.$store.state.personalities[n].isMounted=!1,s>-1&&(this.personalitiesFiltered[s].isMounted=!1),i>-1&&(this.$refs.personalitiesZoo[i].isMounted=!1),this.$store.dispatch("refreshMountedPersonalities");const r=this.mountedPersArr[this.mountedPersArr.length-1];console.log(r,this.mountedPersArr.length),(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: +`+e,4,!1)),this.isLoading=!1},async unmountAll(){await oe.post("/unmount_all_personalities",{client_id:this.$store.state.client_id},{headers:this.posts_headers}),this.$store.dispatch("refreshMountedPersonalities"),this.$store.dispatch("refreshConfig"),this.$store.state.toast.showToast("All personas unmounted",4,!0)},async unmountPersonality(t){if(this.isLoading=!0,!t)return;const e=await this.unmount_personality(t.personality||t);if(e.status){this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality unmounted",4,!0);const n=this.$store.state.personalities.findIndex(a=>a.full_path==t.full_path),s=this.personalitiesFiltered.findIndex(a=>a.full_path==t.full_path),i=this.$refs.personalitiesZoo.findIndex(a=>a.full_path==t.full_path);console.log("ppp",this.$store.state.personalities[n]),this.$store.state.personalities[n].isMounted=!1,s>-1&&(this.personalitiesFiltered[s].isMounted=!1),i>-1&&(this.$refs.personalitiesZoo[i].isMounted=!1),this.$store.dispatch("refreshMountedPersonalities");const r=this.mountedPersArr[this.mountedPersArr.length-1];console.log(r,this.mountedPersArr.length),(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: `+r.name,4,!0)}else this.$store.state.toast.showToast(`Could not unmount personality -Error: `+e.error,4,!1);this.isLoading=!1},editPersonality(t){t=t.personality,ae.post("/get_personality_config",{client_id:this.$store.state.client_id,category:t.category,name:t.folder}).then(e=>{const n=e.data;console.log("Done"),n.status?(this.$store.state.currentPersonConfig=n.config,this.$store.state.showPersonalityEditor=!0,this.$store.state.personality_editor.showPanel(),this.$store.state.selectedPersonality=t):console.error(n.error)}).catch(e=>{console.error(e)})},copyToCustom(t){t=t.personality,ae.post("/copy_to_custom_personas",{category:t.category,name:t.folder}).then(e=>{e.status?(this.$store.state.messageBox.showMessage(`Personality copied to the custom personalities folder: +Error: `+e.error,4,!1);this.isLoading=!1},editPersonality(t){t=t.personality,oe.post("/get_personality_config",{client_id:this.$store.state.client_id,category:t.category,name:t.folder}).then(e=>{const n=e.data;console.log("Done"),n.status?(this.$store.state.currentPersonConfig=n.config,this.$store.state.showPersonalityEditor=!0,this.$store.state.personality_editor.showPanel(),this.$store.state.selectedPersonality=t):console.error(n.error)}).catch(e=>{console.error(e)})},copyToCustom(t){t=t.personality,oe.post("/copy_to_custom_personas",{category:t.category,name:t.folder}).then(e=>{e.status?(this.$store.state.messageBox.showMessage(`Personality copied to the custom personalities folder: Now it's up to you to modify it, enhance it, and maybe even share it. Feel free to add your name as an author, but please remember to keep the original creator's name as well. You have the freedom to give, sell, or keep the personas you create for yourself. The possibilities are endless, they are now yours to mold and customize as you see fit.`),this.$store.dispatch("refreshPersonalitiesZoo")):this.$store.state.toast.showToast(`Personality couldn't be copied to the custom personalities folder: Verify that the personality is not already copied there.`,4,!1)}).catch(e=>{this.$store.state.toast.showToast(`Personality couldn't be copied to the custom personalities folder: -`,4,!1),console.error(e)})},async remountPersonality(t){await this.unmountPersonality(t),await this.mountPersonality(t)},onPersonalityReinstall(t){console.log("on reinstall ",t),this.isLoading=!0,console.log("Personality path:",t.personality.path),ae.post("/reinstall_personality",{client_id:this.$store.state.client_id,name:t.personality.path},{headers:this.posts_headers}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$store.state.toast.showToast("Personality reinstalled successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall personality -`+e.message,4,!1),{status:!1}))},personalityImgPlacehodler(t){t.target.src=Bs},searchPersonality_func(){clearTimeout(this.searchPersonalityTimer),this.searchPersonality&&(this.searchPersonalityInProgress=!0,setTimeout(this.filterPersonalities,this.searchPersonalityTimerInterval))},searchModel_func(){this.filterModels()}},async mounted(){console.log("Getting voices"),this.getVoices(),console.log("Constructing"),this.load_everything(),this.getSeviceVoices();try{console.log("Loading input devices list");const t=await ae.get("/get_snd_input_devices");this.snd_input_devices=t.data.device_names,this.snd_input_devices_indexes=t.data.device_indexes}catch{console.log("Couldin't list input devices")}try{console.log("Loading output devices list");const t=await ae.get("/get_snd_output_devices");this.snd_output_devices=t.data.device_names,this.snd_output_devices_indexes=t.data.device_indexes}catch{console.log("Couldin't list output devices")}try{console.log("Getting comfyui models");const t=await ae.get("/list_comfyui_models");console.log("res is ",t),t.data.status&&(this.comfyui_models=t.data.models)}catch{console.log("Couldin't list output devices")}this.fetchElevenLabsVoices()},activated(){},computed:{full_template:{get(){return(this.configFile.start_header_id_template+this.configFile.system_message_template+this.configFile.end_header_id_template+" system message"+this.configFile.separator_template+this.configFile.start_user_header_id_template+"user name"+this.configFile.end_user_header_id_template+" User prompt"+this.configFile.separator_template+this.configFile.end_user_message_id_template+this.configFile.separator_template+this.configFile.start_ai_header_id_template+"ai personality"+this.configFile.end_ai_header_id_template+"ai response"+this.configFile.end_ai_message_id_template).replace(` +`,4,!1),console.error(e)})},async remountPersonality(t){await this.unmountPersonality(t),await this.mountPersonality(t)},onPersonalityReinstall(t){console.log("on reinstall ",t),this.isLoading=!0,console.log("Personality path:",t.personality.path),oe.post("/reinstall_personality",{client_id:this.$store.state.client_id,name:t.personality.path},{headers:this.posts_headers}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$store.state.toast.showToast("Personality reinstalled successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall personality +`+e.message,4,!1),{status:!1}))},personalityImgPlacehodler(t){t.target.src=Bs},searchPersonality_func(){clearTimeout(this.searchPersonalityTimer),this.searchPersonality&&(this.searchPersonalityInProgress=!0,setTimeout(this.filterPersonalities,this.searchPersonalityTimerInterval))},searchModel_func(){this.filterModels()}},async mounted(){console.log("Getting voices"),this.getVoices(),console.log("Constructing"),this.load_everything(),this.getSeviceVoices();try{console.log("Loading input devices list");const t=await oe.get("/get_snd_input_devices");this.snd_input_devices=t.data.device_names,this.snd_input_devices_indexes=t.data.device_indexes}catch{console.log("Couldin't list input devices")}try{console.log("Loading output devices list");const t=await oe.get("/get_snd_output_devices");this.snd_output_devices=t.data.device_names,this.snd_output_devices_indexes=t.data.device_indexes}catch{console.log("Couldin't list output devices")}try{console.log("Getting comfyui models");const t=await oe.get("/list_comfyui_models");console.log("res is ",t),t.data.status&&(this.comfyui_models=t.data.models)}catch{console.log("Couldin't list output devices")}this.fetchElevenLabsVoices()},activated(){},computed:{full_template:{get(){return(this.configFile.start_header_id_template+this.configFile.system_message_template+this.configFile.end_header_id_template+" system message"+this.configFile.separator_template+this.configFile.start_user_header_id_template+"user name"+this.configFile.end_user_header_id_template+" User prompt"+this.configFile.separator_template+this.configFile.end_user_message_id_template+this.configFile.separator_template+this.configFile.start_ai_header_id_template+"ai personality"+this.configFile.end_ai_header_id_template+"ai response"+this.configFile.end_ai_message_id_template).replace(` `,"
    ")}},rendered_models_zoo:{get(){return this.searchModel?this.show_only_installed_models?this.modelsFiltered.filter(t=>t.isInstalled===!0):this.modelsFiltered.slice(0,Math.min(this.models_zoo.length,this.models_zoo_initialLoadCount)):(console.log("this.models_zoo"),console.log(this.models_zoo),console.log(this.models_zoo_initialLoadCount),this.show_only_installed_models?this.models_zoo.filter(t=>t.isInstalled===!0):this.models_zoo.slice(0,Math.min(this.models_zoo.length,this.models_zoo_initialLoadCount)))}},imgBinding:{get(){if(!this.isMounted)return Is;try{return this.$refs.bindingZoo[this.$refs.bindingZoo.findIndex(t=>t.binding.folder==this.configFile.binding_name)].$refs.imgElement.src}catch{return Is}}},imgModel:{get(){try{let t=this.$store.state.modelsZoo.findIndex(e=>e.name==this.$store.state.selectedModel);return t>=0?(console.log(`model avatar : ${this.$store.state.modelsZoo[t].icon}`),this.$store.state.modelsZoo[t].icon):Is}catch{console.log("error")}if(!this.isMounted)return Is;try{return this.$refs.bindingZoo[this.$refs.bindingZoo.findIndex(t=>t.binding.folder==this.configFile.binding_name)].$refs.imgElement.src}catch{return Is}}},isReady:{get(){return this.$store.state.ready}},audio_out_voice:{get(){return this.$store.state.config.audio_out_voice},set(t){this.$store.state.config.audio_out_voice=t}},openaiWhisperModels(){return["whisper-1"]},whisperModels(){return["tiny.en","tiny","base.en","base","small.en","small","medium.en","medium","large-v1","large-v2","large-v3","large"]},audioLanguages(){return[{code:"en-US",name:"English (US)"},{code:"en-GB",name:"English (UK)"},{code:"es-ES",name:"Spanish (Spain)"},{code:"es-MX",name:"Spanish (Mexico)"},{code:"fr-FR",name:"French (France)"},{code:"fr-CA",name:"French (Canada)"},{code:"de-DE",name:"German (Germany)"},{code:"it-IT",name:"Italian (Italy)"},{code:"pt-BR",name:"Portuguese (Brazil)"},{code:"pt-PT",name:"Portuguese (Portugal)"},{code:"ru-RU",name:"Russian (Russia)"},{code:"zh-CN",name:"Chinese (China)"},{code:"ja-JP",name:"Japanese (Japan)"},{code:"ar-SA",name:"Arabic (Saudi Arabia)"},{code:"tr-TR",name:"Turkish (Turkey)"},{code:"ms-MY",name:"Malay (Malaysia)"},{code:"ko-KR",name:"Korean (South Korea)"},{code:"nl-NL",name:"Dutch (Netherlands)"},{code:"sv-SE",name:"Swedish (Sweden)"},{code:"da-DK",name:"Danish (Denmark)"},{code:"fi-FI",name:"Finnish (Finland)"},{code:"no-NO",name:"Norwegian (Norway)"},{code:"pl-PL",name:"Polish (Poland)"},{code:"el-GR",name:"Greek (Greece)"},{code:"hu-HU",name:"Hungarian (Hungary)"},{code:"cs-CZ",name:"Czech (Czech Republic)"},{code:"th-TH",name:"Thai (Thailand)"},{code:"hi-IN",name:"Hindi (India)"},{code:"he-IL",name:"Hebrew (Israel)"},{code:"id-ID",name:"Indonesian (Indonesia)"},{code:"vi-VN",name:"Vietnamese (Vietnam)"},{code:"uk-UA",name:"Ukrainian (Ukraine)"},{code:"ro-RO",name:"Romanian (Romania)"},{code:"bg-BG",name:"Bulgarian (Bulgaria)"},{code:"hr-HR",name:"Croatian (Croatia)"},{code:"sr-RS",name:"Serbian (Serbia)"},{code:"sk-SK",name:"Slovak (Slovakia)"},{code:"sl-SI",name:"Slovenian (Slovenia)"},{code:"et-EE",name:"Estonian (Estonia)"},{code:"lv-LV",name:"Latvian (Latvia)"},{code:"lt-LT",name:"Lithuanian (Lithuania)"},{code:"ka-GE",name:"Georgian (Georgia)"},{code:"hy-AM",name:"Armenian (Armenia)"},{code:"az-AZ",name:"Azerbaijani (Azerbaijan)"},{code:"kk-KZ",name:"Kazakh (Kazakhstan)"},{code:"uz-UZ",name:"Uzbek (Uzbekistan)"},{code:"kkj-CM",name:"Kako (Cameroon)"},{code:"my-MM",name:"Burmese (Myanmar)"},{code:"ne-NP",name:"Nepali (Nepal)"},{code:"si-LK",name:"Sinhala (Sri Lanka)"}]},configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},userName:{get(){return this.$store.state.config.user_name},set(t){this.$store.state.config.user_name=t}},user_avatar:{get(){return this.$store.state.config.user_avatar!=""?"/user_infos/"+this.$store.state.config.user_avatar:Bs},set(t){this.$store.state.config.user_avatar=t}},hardware_mode:{get(){return this.$store.state.config.hardware_mode},set(t){this.$store.state.config.hardware_mode=t}},auto_update:{get(){return this.$store.state.config.auto_update},set(t){this.$store.state.config.auto_update=t}},auto_speak:{get(){return this.$store.state.config.auto_speak},set(t){this.$store.state.config.auto_speak=t}},auto_read:{get(){return this.$store.state.config.auto_read},set(t){this.$store.state.config.auto_read=t}},xtts_current_language:{get(){return this.$store.state.config.xtts_current_language},set(t){console.log("Current xtts voice set to ",t),this.$store.state.config.xtts_current_language=t}},xtts_current_voice:{get(){return this.$store.state.config.xtts_current_voice===null||this.$store.state.config.xtts_current_voice===void 0?(console.log("current voice",this.$store.state.config.xtts_current_voice),"main_voice"):this.$store.state.config.xtts_current_voice},set(t){t=="main_voice"||t===void 0?(console.log("Current voice set to None"),this.$store.state.config.xtts_current_voice=null):(console.log("Current voice set to ",t),this.$store.state.config.xtts_current_voice=t)}},audio_pitch:{get(){return this.$store.state.config.audio_pitch},set(t){this.$store.state.config.audio_pitch=t}},audio_in_language:{get(){return this.$store.state.config.audio_in_language},set(t){this.$store.state.config.audio_in_language=t}},use_user_name_in_discussions:{get(){return this.$store.state.config.use_user_name_in_discussions},set(t){this.$store.state.config.use_user_name_in_discussions=t}},discussion_db_name:{get(){return this.$store.state.config.discussion_db_name},set(t){this.$store.state.config.discussion_db_name=t}},personalities:{get(){return this.$store.state.personalities},set(t){this.$store.commit("setPersonalities",t)}},mountedPersArr:{get(){return this.$store.state.mountedPersArr},set(t){this.$store.commit("setMountedPers",t)}},bindingsZoo:{get(){return this.$store.state.bindingsZoo},set(t){this.$store.commit("setbindingsZoo",t)}},modelsArr:{get(){return this.$store.state.modelsArr},set(t){this.$store.commit("setModelsArr",t)}},models:{get(){return this.models_zoo},set(t){this.$store.commit("setModelsZoo",t)}},installed_models:{get(){return this.models_zoo},set(t){this.$store.commit("setModelsZoo",t)}},diskUsage:{get(){return this.$store.state.diskUsage},set(t){this.$store.commit("setDiskUsage",t)}},ramUsage:{get(){return this.$store.state.ramUsage},set(t){this.$store.commit("setRamUsage",t)}},vramUsage:{get(){return this.$store.state.vramUsage},set(t){this.$store.commit("setVramUsage",t)}},disk_available_space(){return this.computedFileSize(this.diskUsage.available_space)},disk_binding_models_usage(){return console.log(`this.diskUsage : ${this.diskUsage}`),this.computedFileSize(this.diskUsage.binding_models_usage)},disk_percent_usage(){return this.diskUsage.percent_usage},disk_total_space(){return this.computedFileSize(this.diskUsage.total_space)},ram_available_space(){return this.computedFileSize(this.ramUsage.available_space)},ram_usage(){return this.computedFileSize(this.ramUsage.ram_usage)},ram_percent_usage(){return this.ramUsage.percent_usage},ram_total_space(){return this.computedFileSize(this.ramUsage.total_space)},model_name(){if(this.isMounted)return this.configFile.model_name},binding_name(){if(!this.isMounted)return null;const t=this.bindingsZoo.findIndex(e=>e.folder===this.configFile.binding_name);return t>-1?this.bindingsZoo[t].name:null},active_pesonality(){if(!this.isMounted)return null;const t=this.$store.state.personalities.findIndex(e=>e.full_path===this.configFile.personalities[this.configFile.active_personality_id]);return t>-1?this.$store.state.personalities[t].name:null},speed_computed(){return si(this.addModel.speed)},total_size_computed(){return si(this.addModel.total_size)},downloaded_size_computed(){return si(this.addModel.downloaded_size)}},watch:{bec_collapsed(){Le(()=>{ze.replace()})},pc_collapsed(){Le(()=>{ze.replace()})},mc_collapsed(){Le(()=>{ze.replace()})},sc_collapsed(){Le(()=>{ze.replace()})},showConfirmation(){Le(()=>{ze.replace()})},mzl_collapsed(){Le(()=>{ze.replace()})},pzl_collapsed(){Le(()=>{ze.replace()})},ezl_collapsed(){Le(()=>{ze.replace()})},bzl_collapsed(){Le(()=>{ze.replace()})},all_collapsed(t){this.collapseAll(t),Le(()=>{ze.replace()})},settingsChanged(t){this.$store.state.settingsChanged=t,Le(()=>{ze.replace()})},isLoading(){Le(()=>{ze.replace()})},searchPersonality(t){t==""&&this.filterPersonalities()},mzdc_collapsed(){Le(()=>{ze.replace()})}},async beforeRouteLeave(t){if(await this.$router.isReady(),this.settingsChanged)return await this.$store.state.yesNoDialog.askQuestion(`Did You forget to apply changes? -You need to apply changes before you leave, or else.`,"Apply configuration","Cancel")&&this.applyConfiguration(),!1}},D=t=>(vs("data-v-6e0a6356"),t=t(),Ss(),t),mat={class:"container flex flex-row shadow-lg p-10 pt-0 overflow-y-scroll w-full background-color scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},gat={class:"sticky top-0 z-10 flex flex-row mb-2 p-3 gap-3 w-full rounded-b-lg panels-color shadow-lg"},bat={key:0,class:"flex gap-3 flex-1 items-center duration-75"},Eat=D(()=>l("i",{"data-feather":"x"},null,-1)),yat=[Eat],vat=D(()=>l("i",{"data-feather":"check"},null,-1)),Sat=[vat],Tat={key:1,class:"flex gap-3 flex-1 items-center"},xat=D(()=>l("i",{"data-feather":"refresh-ccw"},null,-1)),Cat=[xat],wat=D(()=>l("i",{"data-feather":"list"},null,-1)),Rat=[wat],Aat={class:"flex gap-3 flex-1 items-center justify-end"},Nat=D(()=>l("i",{"data-feather":"trash-2"},null,-1)),Oat=[Nat],Mat=D(()=>l("i",{"data-feather":"refresh-ccw"},null,-1)),Iat=[Mat],kat=D(()=>l("i",{"data-feather":"arrow-up-circle"},null,-1)),Dat=D(()=>l("i",{"data-feather":"alert-circle"},null,-1)),Lat=[kat,Dat],Pat={class:"flex gap-3 items-center"},Fat={key:0,class:"flex gap-3 items-center"},Uat=D(()=>l("div",{class:"flex flex-row"},[l("p",{class:"text-green-600 font-bold hover:text-green-300 ml-4 pl-4 mr-4 pr-4"},"Apply changes:"),l("i",{"data-feather":"check"})],-1)),Bat=[Uat],Gat=D(()=>l("div",{class:"flex flex-row"},[l("p",{class:"text-red-600 font-bold hover:text-red-300 ml-4 pl-4 mr-4 pr-4"},"Cancel changes:"),l("i",{"data-feather":"x"})],-1)),Vat=[Gat],zat={key:1,role:"status"},Hat=D(()=>l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),qat=D(()=>l("span",{class:"sr-only"},"Loading...",-1)),$at={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Yat={class:"flex flex-row p-3"},Wat=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Kat=[Wat],jat=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Qat=[jat],Xat=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," System status",-1)),Zat=D(()=>l("div",{class:"mr-2"},"|",-1)),Jat={class:"text-base font-semibold cursor-pointer select-none items-center"},elt={class:"flex gap-2 items-center"},tlt={key:0},nlt=["src"],slt={class:"font-bold font-large text-lg"},ilt={key:1},rlt={class:"flex gap-2 items-center"},olt=["src"],alt={class:"font-bold font-large text-lg"},llt=D(()=>l("i",{"data-feather":"cpu",title:"CPU Ram",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),clt={class:"font-bold font-large text-lg"},dlt=D(()=>l("i",{"data-feather":"hard-drive",title:"Hard drive",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),ult={class:"font-bold font-large text-lg"},plt={class:"mb-2"},_lt=D(()=>l("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},[l("path",{fill:"currentColor",d:"M17 17H7V7h10m4 4V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3H9v2H7c-1.11 0-2 .89-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2m-6 2h-2v-2h2m2-2H9v6h6V9Z"})]),Je(" CPU Ram usage: ")],-1)),hlt={class:"flex flex-col mx-2"},flt=D(()=>l("b",null,"Avaliable ram: ",-1)),mlt=D(()=>l("b",null,"Ram usage: ",-1)),glt={class:"p-2"},blt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Elt={class:"mb-2"},ylt=D(()=>l("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[l("i",{"data-feather":"hard-drive",class:"w-5 h-5"}),Je(" Disk usage: ")],-1)),vlt={class:"flex flex-col mx-2"},Slt=D(()=>l("b",null,"Avaliable disk space: ",-1)),Tlt=D(()=>l("b",null,"Disk usage: ",-1)),xlt={class:"p-2"},Clt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},wlt={class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Rlt=["src"],Alt={class:"flex flex-col mx-2"},Nlt=D(()=>l("b",null,"Model: ",-1)),Olt=D(()=>l("b",null,"Avaliable vram: ",-1)),Mlt=D(()=>l("b",null,"GPU usage: ",-1)),Ilt={class:"p-2"},klt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Dlt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Llt={class:"flex flex-row p-3"},Plt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Flt=[Plt],Ult=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Blt=[Ult],Glt=D(()=>l("div",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Smart routing configurations",-1)),Vlt={class:"flex flex-col mb-2 px-3 pb-2"},zlt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Hlt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_smart_routing",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use Smart Routing:")],-1)),qlt={style:{width:"100%"}},$lt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"restore_model_after_smart_routing",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Restore model after smart routing:")],-1)),Ylt={style:{width:"100%"}},Wlt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"smart_routing_router_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Router Model:")],-1)),Klt={style:{width:"100%"}},jlt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"smart_routing_models_by_power",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Models by Power:")],-1)),Qlt={style:{width:"100%"}},Xlt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Zlt={class:"flex flex-row p-3"},Jlt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),ect=[Jlt],tct=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),nct=[tct],sct=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Main configurations",-1)),ict={class:"flex flex-col mb-2 px-3 pb-2"},rct={class:"expand-to-fit bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},oct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"app_custom_logo",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Application logo:")],-1)),act={for:"logo-upload"},lct=["src"],cct={style:{width:"10%"}},dct=D(()=>l("i",{"data-feather":"x"},null,-1)),uct=[dct],pct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"hardware_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Hardware mode:")],-1)),_ct={class:"text-center items-center"},hct={class:"flex flex-row"},fct=D(()=>l("option",{value:"cpu"},"CPU",-1)),mct=D(()=>l("option",{value:"cpu-noavx"},"CPU (No AVX)",-1)),gct=D(()=>l("option",{value:"nvidia-tensorcores"},"NVIDIA (Tensor Cores)",-1)),bct=D(()=>l("option",{value:"nvidia"},"NVIDIA",-1)),Ect=D(()=>l("option",{value:"amd-noavx"},"AMD (No AVX)",-1)),yct=D(()=>l("option",{value:"amd"},"AMD",-1)),vct=D(()=>l("option",{value:"apple-intel"},"Apple Intel",-1)),Sct=D(()=>l("option",{value:"apple-silicon"},"Apple Silicon",-1)),Tct=[fct,mct,gct,bct,Ect,yct,vct,Sct],xct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"discussion_db_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Database path:")],-1)),Cct={style:{width:"100%"}},wct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"copy_to_clipboard_add_all_details",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Add details to messages copied to clipboard:")],-1)),Rct={class:"flex flex-row"},Act=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_show_browser",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto show browser:")],-1)),Nct={class:"flex flex-row"},Oct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_debug",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate debug mode:")],-1)),Mct={class:"flex flex-row"},Ict=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_show_final_full_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate showing the full prompt in console (for debug):")],-1)),kct={class:"flex flex-row"},Dct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_show_final_full_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Show final full prompt in console:")],-1)),Lct={class:"flex flex-row"},Pct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_show_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Show chunks in console:")],-1)),Fct={class:"flex flex-row"},Uct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_log_file_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Debug file path:")],-1)),Bct={class:"flex flex-row"},Gct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"show_news_panel",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Show news panel:")],-1)),Vct={class:"flex flex-row"},zct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_save",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto save:")],-1)),Hct={class:"flex flex-row"},qct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto update:")],-1)),$ct={class:"flex flex-row"},Yct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto title:")],-1)),Wct={class:"flex flex-row"},Kct={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},jct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start header id template:")],-1)),Qct=D(()=>l("option",{value:"lollms"},"Lollms communication template",-1)),Xct=D(()=>l("option",{value:"lollms_simplified"},"Lollms simplified communication template",-1)),Zct=D(()=>l("option",{value:"bare"},"Bare, useful when in chat mode",-1)),Jct=D(()=>l("option",{value:"llama3"},"LLama3 communication template",-1)),edt=D(()=>l("option",{value:"mistral"},"Mistral communication template",-1)),tdt=[Qct,Xct,Zct,Jct,edt],ndt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start header id template:")],-1)),sdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End header id template:")],-1)),idt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_user_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start user header id template:")],-1)),rdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_user_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End user header id template:")],-1)),odt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_user_message_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End user message id template:")],-1)),adt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_ai_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start ai header id template:")],-1)),ldt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_ai_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End ai header id template:")],-1)),cdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_ai_message_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End ai message id template:")],-1)),ddt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"separator_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Separator template:")],-1)),udt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"system_message_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"System template:")],-1)),pdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"full_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Full template:")],-1)),_dt=["innerHTML"],hdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_continue_message",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"useful for chat models and repote models but can be less useful for instruct ones"},"Use continue message:")],-1)),fdt={style:{width:"100%"}},mdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},gdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"user_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User name:")],-1)),bdt={style:{width:"100%"}},Edt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"user_description",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User description:")],-1)),ydt={style:{width:"100%"}},vdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_user_informations_in_discussion",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use user description in discussion:")],-1)),Sdt={style:{width:"100%"}},Tdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_model_name_in_discussions",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use model name in discussion:")],-1)),xdt={style:{width:"100%"}},Cdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"user_avatar",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User avatar:")],-1)),wdt={for:"avatar-upload"},Rdt=["src"],Adt={style:{width:"10%"}},Ndt=D(()=>l("i",{"data-feather":"x"},null,-1)),Odt=[Ndt],Mdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_user_name_in_discussions",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use User Name in discussions:")],-1)),Idt={class:"flex flex-row"},kdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"max_n_predict",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Maximum number of output tokens space (forces the model to have more space to speak):")],-1)),Ddt={style:{width:"100%"}},Ldt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"max_n_predict",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Minimum number of output tokens space (forces the model to have more space to speak):")],-1)),Pdt={style:{width:"100%"}},Fdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Udt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_code_execution",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on code execution:")],-1)),Bdt={style:{width:"100%"}},Gdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_code_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on code validation (very recommended for security reasons):")],-1)),Vdt={style:{width:"100%"}},zdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_setting_update_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on apply settings validation (very recommended for security reasons):")],-1)),Hdt={style:{width:"100%"}},qdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_open_file_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on open file/folder validation:")],-1)),$dt={style:{width:"100%"}},Ydt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_send_file_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on send file validation:")],-1)),Wdt={style:{width:"100%"}},Kdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},jdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_skills_lib",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate Skills library:")],-1)),Qdt={class:"flex flex-row"},Xdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"discussion_db_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Skills library database name:")],-1)),Zdt={style:{width:"100%"}},Jdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},eut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"pdf_latex_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"PDF LaTeX path:")],-1)),tut={class:"flex flex-row"},nut={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},sut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"positive_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Positive Boost:")],-1)),iut={class:"flex flex-row"},rut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"negative_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Negative Boost:")],-1)),out={class:"flex flex-row"},aut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"fun_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Fun mode:")],-1)),lut={class:"flex flex-row"},cut={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},dut={class:"flex flex-row p-3"},uut=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),put=[uut],_ut=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),hut=[_ut],fut=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Data management settings",-1)),mut={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},gut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_databases",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data Sources:")],-1)),but={style:{width:"100%"}},Eut=["onUpdate:modelValue"],yut=["onClick"],vut=["onClick"],Sut=["onClick"],Tut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG Vectorizer:")],-1)),xut=D(()=>l("option",{value:"semantic"},"Semantic Vectorizer",-1)),Cut=D(()=>l("option",{value:"tfidf"},"TFIDF Vectorizer",-1)),wut=D(()=>l("option",{value:"openai"},"OpenAI Vectorizer",-1)),Rut=[xut,Cut,wut],Aut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_vectorizer_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG Vectorizer model:")],-1)),Nut=["disabled"],Out={key:0,value:"sentence-transformers/bert-base-nli-mean-tokens"},Mut={key:1,value:"bert-base-uncased"},Iut={key:2,value:"bert-base-multilingual-uncased"},kut={key:3,value:"bert-large-uncased"},Dut={key:4,value:"bert-large-uncased-whole-word-masking-finetuned-squad"},Lut={key:5,value:"distilbert-base-uncased"},Put={key:6,value:"roberta-base"},Fut={key:7,value:"roberta-large"},Uut={key:8,value:"xlm-roberta-base"},But={key:9,value:"xlm-roberta-large"},Gut={key:10,value:"albert-base-v2"},Vut={key:11,value:"albert-large-v2"},zut={key:12,value:"albert-xlarge-v2"},Hut={key:13,value:"albert-xxlarge-v2"},qut={key:14,value:"sentence-transformers/all-MiniLM-L6-v2"},$ut={key:15,value:"sentence-transformers/all-MiniLM-L12-v2"},Yut={key:16,value:"sentence-transformers/all-distilroberta-v1"},Wut={key:17,value:"sentence-transformers/all-mpnet-base-v2"},Kut={key:18,value:"text-embedding-ada-002"},jut={key:19,value:"text-embedding-babbage-001"},Qut={key:20,value:"text-embedding-curie-001"},Xut={key:21,value:"text-embedding-davinci-001"},Zut={key:22,disabled:""},Jut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_vectorizer_openai_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Open AI key for open ai embedding method (if not provided I'll use OPENAI_API_KEY environment variable):")],-1)),ept={class:"flex flex-row"},tpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG chunk size:")],-1)),npt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_overlap",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG overlap size:")],-1)),spt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_n_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG number of chunks:")],-1)),ipt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_clean_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Clean chunks:")],-1)),rpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_follow_subfolders",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Follow subfolders:")],-1)),opt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_check_new_files_at_startup",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Check for new files at startup:")],-1)),apt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_preprocess_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Preprocess chunks:")],-1)),lpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_activate_multi_hops",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate multi hops RAG:")],-1)),cpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"contextual_summary",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use contextual summary instead of rag (consumes alot of tokens and may be very slow but efficient, useful for summary and global questions that RAG can't do):")],-1)),dpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_deactivate",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Useful for very big contexts and global tasks that require the whole document"},"Use all the document content (No split):")],-1)),upt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},ppt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Save vectorized database:")],-1)),_pt={class:"flex flex-row"},hpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_visualize_on_vectorization",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"show vectorized data:")],-1)),fpt={class:"flex flex-row"},mpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_build_keys_words",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reformulate prompt before querying database (advised):")],-1)),gpt={class:"flex flex-row"},bpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_force_first_chunk",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Force adding the first chunk of the file to the context:")],-1)),Ept={class:"flex flex-row"},ypt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_put_chunk_informations_into_context",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Put Chunk Information Into Context:")],-1)),vpt={class:"flex flex-row"},Spt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization method:")],-1)),Tpt=D(()=>l("option",{value:"tfidf_vectorizer"},"tfidf Vectorizer",-1)),xpt=D(()=>l("option",{value:"bm25_vectorizer"},"bm25 Vectorizer",-1)),Cpt=D(()=>l("option",{value:"model_embedding"},"Model Embedding",-1)),wpt=D(()=>l("option",{value:"sentense_transformer"},"Sentense Transformer",-1)),Rpt=[Tpt,xpt,Cpt,wpt],Apt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_sentense_transformer_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization model (for Sentense Transformer):")],-1)),Npt={style:{width:"100%"}},Opt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_visualization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data visualization method:")],-1)),Mpt=D(()=>l("option",{value:"PCA"},"PCA",-1)),Ipt=D(()=>l("option",{value:"TSNE"},"TSNE",-1)),kpt=[Mpt,Ipt],Dpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Save the new files to the database (The database wil always grow and continue to be the same over many sessions):")],-1)),Lpt={class:"flex flex-row"},Ppt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization chunk size(tokens):")],-1)),Fpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization overlap size(tokens):")],-1)),Upt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Number of chunks to use for each message:")],-1)),Bpt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Gpt={class:"flex flex-row p-3"},Vpt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),zpt=[Vpt],Hpt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),qpt=[Hpt],$pt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Internet",-1)),Ypt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Wpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_internet_search",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate internet search:")],-1)),Kpt={class:"flex flex-row"},jpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_internet_pages_judgement",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate internet pages judgement:")],-1)),Qpt={class:"flex flex-row"},Xpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_quick_search",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate quick search:")],-1)),Zpt={class:"flex flex-row"},Jpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_activate_search_decision",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate search decision:")],-1)),e_t={class:"flex flex-row"},t_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_vectorization_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet vectorization chunk size:")],-1)),n_t={class:"flex flex-col"},s_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet vectorization overlap size:")],-1)),i_t={class:"flex flex-col"},r_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_vectorization_nb_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet vectorization number of chunks:")],-1)),o_t={class:"flex flex-col"},a_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_nb_search_pages",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet number of search pages:")],-1)),l_t={class:"flex flex-col"},c_t={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},d_t={class:"flex flex-row p-3"},u_t=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),p_t=[u_t],__t=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),h_t=[__t],f_t=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Services Zoo",-1)),m_t={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},g_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_tts_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to speach engine"},"Active TTS Service:")],-1)),b_t={style:{width:"100%"}},E_t=D(()=>l("option",{value:"None"},"None",-1)),y_t=D(()=>l("option",{value:"browser"},"Use Browser TTS (doesn't work in realtime mode)",-1)),v_t=D(()=>l("option",{value:"xtts"},"XTTS",-1)),S_t=D(()=>l("option",{value:"parler-tts"},"Parler-TTS",-1)),T_t=D(()=>l("option",{value:"openai_tts"},"Open AI TTS",-1)),x_t=D(()=>l("option",{value:"eleven_labs_tts"},"ElevenLabs TTS",-1)),C_t=[E_t,y_t,v_t,S_t,T_t,x_t],w_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_stt_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Speach to Text engine"},"Active STT Service:")],-1)),R_t={style:{width:"100%"}},A_t=D(()=>l("option",{value:"None"},"None",-1)),N_t=D(()=>l("option",{value:"whisper"},"Whisper",-1)),O_t=D(()=>l("option",{value:"openai_whisper"},"Open AI Whisper",-1)),M_t=[A_t,N_t,O_t],I_t=D(()=>l("tr",null,null,-1)),k_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_tti_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to image engine"},"Active TTI Service:")],-1)),D_t={style:{width:"100%"}},L_t=D(()=>l("option",{value:"None"},"None",-1)),P_t=D(()=>l("option",{value:"diffusers"},"Diffusers",-1)),F_t=D(()=>l("option",{value:"diffusers_client"},"Diffusers Client",-1)),U_t=D(()=>l("option",{value:"autosd"},"AUTO1111's SD",-1)),B_t=D(()=>l("option",{value:"dall-e"},"Open AI DALL-E",-1)),G_t=D(()=>l("option",{value:"midjourney"},"Midjourney",-1)),V_t=D(()=>l("option",{value:"comfyui"},"Comfyui",-1)),z_t=D(()=>l("option",{value:"fooocus"},"Fooocus",-1)),H_t=[L_t,P_t,F_t,U_t,B_t,G_t,V_t,z_t],q_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_ttm_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to Music engine"},"Active TTM Service:")],-1)),$_t={style:{width:"100%"}},Y_t=D(()=>l("option",{value:"None"},"None",-1)),W_t=D(()=>l("option",{value:"musicgen"},"Music Gen",-1)),K_t=[Y_t,W_t],j_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_ttv_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to speach engine"},"Active TTV Service:")],-1)),Q_t={style:{width:"100%"}},X_t=D(()=>l("option",{value:"None"},"None",-1)),Z_t=D(()=>l("option",{value:"cog_video_x"},"Cog Video X",-1)),J_t=[X_t,Z_t],eht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},tht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_negative_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use negative prompt:")],-1)),nht={class:"flex flex-row"},sht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_ai_generated_negative_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use AI generated negative prompt:")],-1)),iht={class:"flex flex-row"},rht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"negative_prompt_generation_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Negative prompt generation prompt:")],-1)),oht={class:"flex flex-row"},aht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"default_negative_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Default negative prompt:")],-1)),lht={class:"flex flex-row"},cht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},dht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_listening_threshold",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Listening threshold"},"Listening threshold:")],-1)),uht={style:{width:"100%"}},pht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_silence_duration",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Scilence duration"},"Silence duration (s):")],-1)),_ht={style:{width:"100%"}},hht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_sound_threshold_percentage",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"stt_sound_threshold_percentage"},"Minimum sound percentage in recorded segment:")],-1)),fht={style:{width:"100%"}},mht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_gain",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"STT Gain"},"Volume amplification:")],-1)),ght={style:{width:"100%"}},bht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_rate",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Audio Rate"},"audio rate:")],-1)),Eht={style:{width:"100%"}},yht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_channels",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"number of channels"},"number of channels:")],-1)),vht={style:{width:"100%"}},Sht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_buffer_size",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Buffer size"},"Buffer size:")],-1)),Tht={style:{width:"100%"}},xht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_activate_word_detection",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate word detection:")],-1)),Cht={class:"flex flex-row"},wht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_word_detection_file",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Word detection wav file:")],-1)),Rht={class:"flex flex-row"},Aht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Nht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_input_device",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Input device"},"Audio Input device:")],-1)),Oht={style:{width:"100%"}},Mht=["value"],Iht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"tts_output_device",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Input device"},"Audio Output device:")],-1)),kht={style:{width:"100%"}},Dht=["value"],Lht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Pht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"host",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Host:")],-1)),Fht={style:{width:"100%"}},Uht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"lollms_access_keys",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Access keys:")],-1)),Bht={style:{width:"100%"}},Ght=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"port",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Port:")],-1)),Vht={style:{width:"100%"}},zht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"headless_server_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate headless server mode:")],-1)),Hht={style:{width:"100%"}},qht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms server:")],-1)),$ht={style:{width:"100%"}},Yht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_rag_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms RAG server:")],-1)),Wht={style:{width:"100%"}},Kht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_tts_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms TTS server:")],-1)),jht={style:{width:"100%"}},Qht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_stt_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms STT server:")],-1)),Xht={style:{width:"100%"}},Zht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_tti_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms TTI server:")],-1)),Jht={style:{width:"100%"}},eft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_itt_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms ITT server:")],-1)),tft={style:{width:"100%"}},nft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_ttm_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms TTM server:")],-1)),sft={style:{width:"100%"}},ift=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_ollama_emulator",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate ollama server emulator:")],-1)),rft={style:{width:"100%"}},oft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_openai_emulator",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate openai server emulator:")],-1)),aft={style:{width:"100%"}},lft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_mistralai_emulator",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate mistral ai server emulator:")],-1)),cft={style:{width:"100%"}},dft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},uft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_audio_infos",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate audio infos:")],-1)),pft={class:"flex flex-row"},_ft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_auto_send_input",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Send audio input automatically:")],-1)),hft={class:"flex flex-row"},fft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_silenceTimer",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio in silence timer (ms):")],-1)),mft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_in_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Input Audio Language:")],-1)),gft=["value"],bft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Eft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"whisper_activate",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate Whisper at startup:")],-1)),yft={class:"flex flex-row"},vft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"whisper_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Whisper model:")],-1)),Sft={class:"flex flex-row"},Tft=["value"],xft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Cft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_whisper_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"openai whisper key:")],-1)),wft={class:"flex flex-row"},Rft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_whisper_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Open Ai Whisper model:")],-1)),Aft={class:"flex flex-row"},Nft=["value"],Oft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Mft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_speak",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto speak:")],-1)),Ift={class:"flex flex-row"},kft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_pitch",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio pitch:")],-1)),Dft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_out_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Output Audio Voice:")],-1)),Lft=["value"],Pft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Fft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current language:")],-1)),Uft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current language:")],-1)),Bft={class:"flex flex-row"},Gft=["value"],Vft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current voice:")],-1)),zft={class:"flex flex-row"},Hft=["value"],qft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_freq",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Frequency (controls the tone):")],-1)),$ft={class:"flex flex-row"},Yft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_read",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto read:")],-1)),Wft={class:"flex flex-row"},Kft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_stream_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"xtts stream chunk size:")],-1)),jft={class:"flex flex-row"},Qft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_temperature",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Temperature:")],-1)),Xft={class:"flex flex-row"},Zft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_length_penalty",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Length Penalty:")],-1)),Jft={class:"flex flex-row"},emt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_repetition_penalty",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Repetition Penalty:")],-1)),tmt={class:"flex flex-row"},nmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_top_k",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Top K:")],-1)),smt={class:"flex flex-row"},imt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_top_p",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Top P:")],-1)),rmt={class:"flex flex-row"},omt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_speed",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Speed:")],-1)),amt={class:"flex flex-row"},lmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_text_splitting",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable Text Splitting:")],-1)),cmt={class:"flex flex-row"},dmt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},umt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_tts_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Open AI key:")],-1)),pmt={class:"flex flex-row"},_mt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_tts_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"openai tts model:")],-1)),hmt={class:"flex flex-row"},fmt=D(()=>l("option",null," tts-1 ",-1)),mmt=D(()=>l("option",null," tts-2 ",-1)),gmt=[fmt,mmt],bmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_tts_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"openai tts voice:")],-1)),Emt={class:"flex flex-row"},ymt=D(()=>l("option",null," alloy ",-1)),vmt=D(()=>l("option",null," echo ",-1)),Smt=D(()=>l("option",null," fable ",-1)),Tmt=D(()=>l("option",null," nova ",-1)),xmt=D(()=>l("option",null," shimmer ",-1)),Cmt=[ymt,vmt,Smt,Tmt,xmt],wmt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Rmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Eleven Labs key:")],-1)),Amt={class:"flex flex-row"},Nmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_model_id",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Eleven Labs TTS model ID:")],-1)),Omt={class:"flex flex-row"},Mmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_voice_stability",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Voice Stability:")],-1)),Imt={class:"flex flex-row"},kmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_voice_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Voice Boost:")],-1)),Dmt={class:"flex flex-row"},Lmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_voice_id",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Voice ID:")],-1)),Pmt={class:"flex flex-row"},Fmt=["value"],Umt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Bmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable sd service:")],-1)),Gmt={class:"flex flex-row"},Vmt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),zmt=[Vmt],Hmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"install_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install SD service:")],-1)),qmt={class:"flex flex-row"},$mt=D(()=>l("a",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",href:"https://github.com/ParisNeo/stable-diffusion-webui/blob/master/LICENSE.txt",target:"_blank"},"automatic1111's sd licence",-1)),Ymt={class:"flex flex-row"},Wmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"sd_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"sd base url:")],-1)),Kmt={class:"flex flex-row"},jmt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Qmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"install_diffusers_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install Diffusers service:")],-1)),Xmt={class:"flex flex-row"},Zmt=D(()=>l("a",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",href:"https://github.com/huggingface/diffusers?tab=Apache-2.0-1-ov-file#readme",target:"_blank"},"Diffusers licence",-1)),Jmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"diffusers_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Diffusers model:")],-1)),egt={class:"flex flex-row"},tgt=D(()=>l("td",null,null,-1)),ngt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},sgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"diffusers_client_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Diffusers client base url:")],-1)),igt={class:"flex flex-row"},rgt=D(()=>l("td",null,null,-1)),ogt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},agt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"midjourney_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"midjourney key:")],-1)),lgt={class:"flex flex-row"},cgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"midjourney_timeout",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"request timeout(s):")],-1)),dgt={class:"flex flex-row"},ugt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"midjourney_retries",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"number of retries:")],-1)),pgt={class:"flex flex-row"},_gt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},hgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"dall_e_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"dall e key:")],-1)),fgt={class:"flex flex-row"},mgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"dall_e_generation_engine",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"dall e generation engine:")],-1)),ggt={class:"flex flex-row"},bgt=D(()=>l("option",null," dall-e-2 ",-1)),Egt=D(()=>l("option",null," dall-e-3 ",-1)),ygt=[bgt,Egt],vgt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Sgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_comfyui_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable comfyui service:")],-1)),Tgt={class:"flex flex-row"},xgt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),Cgt=[xgt],wgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"comfyui_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Available models (only if local):")],-1)),Rgt={class:"flex flex-row"},Agt=["value"],Ngt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"comfyui_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable comfyui model:")],-1)),Ogt={class:"flex flex-row"},Mgt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),Igt=[Mgt],kgt=D(()=>l("td",{style:{"min-width":"200px"}},null,-1)),Dgt={class:"flex flex-row"},Lgt=D(()=>l("a",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",href:"https://github.com/ParisNeo/ComfyUI/blob/master/LICENSE",target:"_blank"},"comfyui licence",-1)),Pgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"comfyui_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"comfyui base url:")],-1)),Fgt={class:"flex flex-row"},Ugt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Bgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_ollama_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable ollama service:")],-1)),Ggt={class:"flex flex-row"},Vgt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),zgt=[Vgt],Hgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"ollama_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install Ollama service:")],-1)),qgt={class:"flex flex-row"},$gt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"ollama_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"ollama base url:")],-1)),Ygt={class:"flex flex-row"},Wgt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Kgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_vllm_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable vLLM service:")],-1)),jgt={class:"flex flex-row"},Qgt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),Xgt=[Qgt],Zgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install vLLM service:")],-1)),Jgt={class:"flex flex-row"},ebt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"vllm base url:")],-1)),tbt={class:"flex flex-row"},nbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_gpu_memory_utilization",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"gpu memory utilization:")],-1)),sbt={class:"flex flex-col align-bottom"},ibt={class:"relative"},rbt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"vllm_gpu_memory_utilization",class:"text-sm font-medium"}," vllm gpu memory utilization: ")],-1)),obt={class:"absolute right-0"},abt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_max_num_seqs",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"vllm max num seqs:")],-1)),lbt={class:"flex flex-row"},cbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_max_model_len",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"max model len:")],-1)),dbt={class:"flex flex-row"},ubt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_model_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"vllm model path:")],-1)),pbt={class:"flex flex-row"},_bt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},hbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_petals_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable petals service:")],-1)),fbt={class:"flex flex-row"},mbt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),gbt=[mbt],bbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"petals_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install Petals service:")],-1)),Ebt={class:"flex flex-row"},ybt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"petals_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"petals base url:")],-1)),vbt={class:"flex flex-row"},Sbt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Tbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elastic_search_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable elastic search service:")],-1)),xbt={class:"flex flex-row"},Cbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"install_elastic_search_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reinstall Elastic Search service:")],-1)),wbt={class:"flex flex-row"},Rbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elastic_search_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"elastic search base url:")],-1)),Abt={class:"flex flex-row"},Nbt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Obt={class:"flex flex-row p-3"},Mbt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Ibt=[Mbt],kbt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Dbt=[kbt],Lbt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Binding zoo",-1)),Pbt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},Fbt=D(()=>l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),Ubt={key:1,class:"mr-2"},Bbt={key:2,class:"text-base font-semibold cursor-pointer select-none items-center"},Gbt={class:"flex gap-1 items-center"},Vbt=["src"],zbt={class:"font-bold font-large text-lg line-clamp-1"},Hbt={key:0,class:"mb-2"},qbt={for:"binding",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},$bt=D(()=>l("i",{"data-feather":"chevron-up"},null,-1)),Ybt=[$bt],Wbt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Kbt=[Wbt],jbt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Qbt={class:"flex flex-row p-3"},Xbt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Zbt=[Xbt],Jbt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),eEt=[Jbt],tEt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Models zoo",-1)),nEt={class:"flex flex-row items-center"},sEt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},iEt=D(()=>l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),rEt={key:1,class:"text-base text-red-600 flex gap-3 items-center mr-2"},oEt=D(()=>l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),aEt={key:2,class:"mr-2"},lEt={key:3,class:"text-base font-semibold cursor-pointer select-none items-center"},cEt={class:"flex gap-1 items-center"},dEt=["src"],uEt={class:"font-bold font-large text-lg line-clamp-1"},pEt={class:"mx-2 mb-4"},_Et={class:"relative"},hEt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},fEt={key:0},mEt=D(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),gEt=[mEt],bEt={key:1},EEt=D(()=>l("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),yEt=[EEt],vEt=D(()=>l("label",{for:"only_installed"},"Show only installed models",-1)),SEt=D(()=>l("a",{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",target:"_blank",class:"mb-4 font-bold underline text-blue-500 pb-4"},"Hugging face Leaderboard",-1)),TEt={key:0,role:"status",class:"text-center w-full display: flex;align-items: center;"},xEt=D(()=>l("svg",{"aria-hidden":"true",class:"text-center w-full display: flex;align-items: center; h-20 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),CEt=D(()=>l("p",{class:"heartbeat-text"},"Loading models Zoo",-1)),wEt=[xEt,CEt],REt={key:1,class:"mb-2"},AEt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},NEt=D(()=>l("i",{"data-feather":"chevron-up"},null,-1)),OEt=[NEt],MEt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),IEt=[MEt],kEt={class:"mb-2"},DEt={class:"p-2"},LEt={class:"mb-3"},PEt=D(()=>l("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Create a reference from local file path:",-1)),FEt={key:0},UEt={class:"mb-3"},BEt=D(()=>l("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Download from web:",-1)),GEt={key:1,class:"relative flex flex-col items-center justify-center flex-grow h-full"},VEt=D(()=>l("div",{role:"status",class:"justify-center"},null,-1)),zEt={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},HEt={class:"w-full p-2"},qEt={class:"flex justify-between mb-1"},$Et=Na(' Downloading Loading...',1),YEt={class:"text-sm font-medium text-blue-700 dark:text-white"},WEt=["title"],KEt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},jEt={class:"flex justify-between mb-1"},QEt={class:"text-base font-medium text-blue-700 dark:text-white"},XEt={class:"text-sm font-medium text-blue-700 dark:text-white"},ZEt={class:"flex flex-grow"},JEt={class:"flex flex-row flex-grow gap-3"},eyt={class:"p-2 text-center grow"},tyt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},nyt={class:"flex flex-row p-3 items-center"},syt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),iyt=[syt],ryt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),oyt=[ryt],ayt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Personalities zoo",-1)),lyt={key:0,class:"mr-2"},cyt={class:"mr-2 font-bold font-large text-lg line-clamp-1"},dyt={key:1,class:"mr-2"},uyt={key:2,class:"text-base font-semibold cursor-pointer select-none items-center flex flex-row"},pyt={key:0,class:"flex -space-x-4 items-center"},_yt={class:"group items-center flex flex-row"},hyt=["onClick"],fyt=["src","title"],myt=["onClick"],gyt=D(()=>l("span",{class:"hidden group-hover:block -top-2 -right-1 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount personality"},[l("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),byt=[gyt],Eyt=D(()=>l("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)),yyt=[Eyt],vyt={class:"mx-2 mb-4"},Syt=D(()=>l("label",{for:"personality-search",class:"mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"},"Search",-1)),Tyt={class:"relative"},xyt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},Cyt={key:0},wyt=D(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),Ryt=[wyt],Ayt={key:1},Nyt=D(()=>l("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Oyt=[Nyt],Myt={key:0,class:"mx-2 mb-4"},Iyt={for:"persCat",class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},kyt=["selected"],Dyt={key:0,class:"mb-2"},Lyt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Pyt=D(()=>l("i",{"data-feather":"chevron-up"},null,-1)),Fyt=[Pyt],Uyt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Byt=[Uyt],Gyt={class:"flex flex-col mb-2 p-3 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Vyt={class:"flex flex-row"},zyt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Hyt=[zyt],qyt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),$yt=[qyt],Yyt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none"}," Model Configuration",-1)),Wyt={class:"m-2"},Kyt={class:"flex flex-row gap-2 items-center"},jyt=D(()=>l("label",{for:"override-model-parameters",class:"block text-sm font-medium"}," Override personality model parameters ",-1)),Qyt={class:"m-2"},Xyt=D(()=>l("label",{for:"seed",class:"block mb-2 text-sm font-medium"}," Seed: ",-1)),Zyt={class:"m-2"},Jyt={class:"flex flex-col align-bottom"},evt={class:"relative"},tvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"temperature",class:"text-sm font-medium"}," Temperature: ")],-1)),nvt={class:"absolute right-0"},svt={class:"m-2"},ivt={class:"flex flex-col align-bottom"},rvt={class:"relative"},ovt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"predict",class:"text-sm font-medium"}," N Predict: ")],-1)),avt={class:"absolute right-0"},lvt={class:"m-2"},cvt={class:"flex flex-col align-bottom"},dvt={class:"relative"},uvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"top_k",class:"text-sm font-medium"}," Top-K: ")],-1)),pvt={class:"absolute right-0"},_vt={class:"m-2"},hvt={class:"flex flex-col align-bottom"},fvt={class:"relative"},mvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"top_p",class:"text-sm font-medium"}," Top-P: ")],-1)),gvt={class:"absolute right-0"},bvt={class:"m-2"},Evt={class:"flex flex-col align-bottom"},yvt={class:"relative"},vvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"repeat_penalty",class:"text-sm font-medium"}," Repeat penalty: ")],-1)),Svt={class:"absolute right-0"},Tvt={class:"m-2"},xvt={class:"flex flex-col align-bottom"},Cvt={class:"relative"},wvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"repeat_last_n",class:"text-sm font-medium"}," Repeat last N: ")],-1)),Rvt={class:"absolute right-0"};function Avt(t,e,n,s,i,r){const o=tt("StringListManager"),a=tt("Card"),c=tt("BindingEntry"),d=tt("RadioOptions"),u=tt("model-entry"),h=tt("personality-entry"),f=tt("AddModelDialog"),m=tt("ChoiceDialog");return T(),x(Fe,null,[l("div",mat,[l("div",gat,[i.showConfirmation?(T(),x("div",bat,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:e[0]||(e[0]=j(_=>i.showConfirmation=!1,["stop"]))},yat),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:e[1]||(e[1]=j(_=>r.save_configuration(),["stop"]))},Sat)])):G("",!0),i.showConfirmation?G("",!0):(T(),x("div",Tat,[l("button",{title:"Reset configuration",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[2]||(e[2]=_=>r.reset_configuration())},Cat),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Collapse / Expand all panels",type:"button",onClick:e[3]||(e[3]=j(_=>i.all_collapsed=!i.all_collapsed,["stop"]))},Rat)])),l("div",Aat,[l("button",{title:"Clear uploads",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[4]||(e[4]=_=>r.api_get_req("clear_uploads").then(g=>{g.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},Oat),l("button",{title:"Restart program",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[5]||(e[5]=_=>r.api_post_req("restart_program").then(g=>{g.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},Iat),i.has_updates?(T(),x("button",{key:0,title:"Upgrade program ",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[6]||(e[6]=_=>r.api_post_req("update_software").then(g=>{g.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Success!",4,!0)}))},Lat)):G("",!0),l("div",Pat,[i.settingsChanged?(T(),x("div",Fat,[i.isLoading?G("",!0):(T(),x("button",{key:0,class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Apply changes",type:"button",onClick:e[7]||(e[7]=j(_=>r.applyConfiguration(),["stop"]))},Bat)),i.isLoading?G("",!0):(T(),x("button",{key:1,class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Cancel changes",type:"button",onClick:e[8]||(e[8]=j(_=>r.cancelConfiguration(),["stop"]))},Vat))])):G("",!0),i.isLoading?(T(),x("div",zat,[l("p",null,K(i.loading_text),1),Hat,qat])):G("",!0)])])]),l("div",{class:Ge(i.isLoading?"pointer-events-none opacity-30 w-full":"w-full")},[l("div",$at,[l("div",Yat,[l("button",{onClick:e[9]||(e[9]=j(_=>i.sc_collapsed=!i.sc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,Kat,512),[[wt,i.sc_collapsed]]),P(l("div",null,Qat,512),[[wt,!i.sc_collapsed]]),Xat,Zat,l("div",Jat,[l("div",elt,[l("div",null,[r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length==1?(T(),x("div",tlt,[(T(!0),x(Fe,null,Ke(r.vramUsage.gpus,_=>(T(),x("div",{class:"flex gap-2 items-center",key:_},[l("img",{src:i.SVGGPU,width:"25",height:"25"},null,8,nlt),l("p",slt,[l("div",null,K(r.computedFileSize(_.used_vram))+" / "+K(r.computedFileSize(_.total_vram))+" ("+K(_.percentage)+"%) ",1)])]))),128))])):G("",!0),r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length>1?(T(),x("div",ilt,[l("div",rlt,[l("img",{src:i.SVGGPU,width:"25",height:"25"},null,8,olt),l("p",alt,[l("div",null,K(r.vramUsage.gpus.length)+"x ",1)])])])):G("",!0)]),llt,l("p",clt,[l("div",null,K(r.ram_usage)+" / "+K(r.ram_total_space)+" ("+K(r.ram_percent_usage)+"%)",1)]),dlt,l("p",ult,[l("div",null,K(r.disk_binding_models_usage)+" / "+K(r.disk_total_space)+" ("+K(r.disk_percent_usage)+"%)",1)])])])])]),l("div",{class:Ge([{hidden:i.sc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",plt,[_lt,l("div",hlt,[l("div",null,[flt,Je(K(r.ram_available_space),1)]),l("div",null,[mlt,Je(" "+K(r.ram_usage)+" / "+K(r.ram_total_space)+" ("+K(r.ram_percent_usage)+")% ",1)])]),l("div",glt,[l("div",blt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht("width: "+r.ram_percent_usage+"%;")},null,4)])])]),l("div",Elt,[ylt,l("div",vlt,[l("div",null,[Slt,Je(K(r.disk_available_space),1)]),l("div",null,[Tlt,Je(" "+K(r.disk_binding_models_usage)+" / "+K(r.disk_total_space)+" ("+K(r.disk_percent_usage)+"%)",1)])]),l("div",xlt,[l("div",Clt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht("width: "+r.disk_percent_usage+"%;")},null,4)])])]),(T(!0),x(Fe,null,Ke(r.vramUsage.gpus,_=>(T(),x("div",{class:"mb-2",key:_},[l("label",wlt,[l("img",{src:i.SVGGPU,width:"25",height:"25"},null,8,Rlt),Je(" GPU usage: ")]),l("div",Alt,[l("div",null,[Nlt,Je(K(_.gpu_model),1)]),l("div",null,[Olt,Je(K(this.computedFileSize(_.available_space)),1)]),l("div",null,[Mlt,Je(" "+K(this.computedFileSize(_.used_vram))+" / "+K(this.computedFileSize(_.total_vram))+" ("+K(_.percentage)+"%)",1)])]),l("div",Ilt,[l("div",klt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht("width: "+_.percentage+"%;")},null,4)])])]))),128))],2)]),l("div",Dlt,[l("div",Llt,[l("button",{onClick:e[10]||(e[10]=j(_=>i.smartrouterconf_collapsed=!i.smartrouterconf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,Flt,512),[[wt,i.smartrouterconf_collapsed]]),P(l("div",null,Blt,512),[[wt,!i.smartrouterconf_collapsed]]),Glt])]),l("div",{class:Ge([{hidden:i.smartrouterconf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",Vlt,[V(a,{title:"Smart Routing Settings",is_shrunk:!1,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",zlt,[l("tr",null,[Hlt,l("td",qlt,[P(l("input",{type:"checkbox",id:"use_smart_routing","onUpdate:modelValue":e[11]||(e[11]=_=>r.configFile.use_smart_routing=_),onChange:e[12]||(e[12]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_smart_routing]])])]),l("tr",null,[$lt,l("td",Ylt,[P(l("input",{type:"checkbox",id:"restore_model_after_smart_routing","onUpdate:modelValue":e[13]||(e[13]=_=>r.configFile.restore_model_after_smart_routing=_),onChange:e[14]||(e[14]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.restore_model_after_smart_routing]])])]),l("tr",null,[Wlt,l("td",Klt,[P(l("input",{type:"text",id:"smart_routing_router_model","onUpdate:modelValue":e[15]||(e[15]=_=>r.configFile.smart_routing_router_model=_),onChange:e[16]||(e[16]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.smart_routing_router_model]])])]),l("tr",null,[jlt,l("td",Qlt,[V(o,{modelValue:r.configFile.smart_routing_models_by_power,"onUpdate:modelValue":e[17]||(e[17]=_=>r.configFile.smart_routing_models_by_power=_),onChange:e[18]||(e[18]=_=>i.settingsChanged=!0),placeholder:"Enter model name"},null,8,["modelValue"])])])])]),_:1})])],2)]),l("div",Xlt,[l("div",Zlt,[l("button",{onClick:e[19]||(e[19]=j(_=>i.mainconf_collapsed=!i.mainconf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,ect,512),[[wt,i.mainconf_collapsed]]),P(l("div",null,nct,512),[[wt,!i.mainconf_collapsed]]),sct])]),l("div",{class:Ge([{hidden:i.mainconf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",ict,[V(a,{title:"General",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",rct,[l("tr",null,[oct,l("td",null,[l("label",act,[l("img",{src:r.configFile.app_custom_logo!=null&&r.configFile.app_custom_logo!=""?"/user_infos/"+r.configFile.app_custom_logo:i.storeLogo,class:"w-50 h-50 rounded-full",style:{"max-width":"50px","max-height":"50px",cursor:"pointer"}},null,8,lct)]),l("input",{type:"file",id:"logo-upload",style:{display:"none"},onChange:e[20]||(e[20]=(..._)=>r.uploadLogo&&r.uploadLogo(..._))},null,32)]),l("td",cct,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Discard title changes",type:"button",onClick:e[21]||(e[21]=j(_=>r.resetLogo(),["stop"]))},uct)])]),l("tr",null,[pct,l("td",_ct,[l("div",hct,[P(l("select",{id:"hardware_mode",required:"","onUpdate:modelValue":e[22]||(e[22]=_=>r.configFile.hardware_mode=_),onChange:e[23]||(e[23]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},Tct,544),[[Dt,r.configFile.hardware_mode]])])])]),l("tr",null,[xct,l("td",Cct,[P(l("input",{type:"text",id:"discussion_db_name",required:"","onUpdate:modelValue":e[24]||(e[24]=_=>r.configFile.discussion_db_name=_),onChange:e[25]||(e[25]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.discussion_db_name]])])]),l("tr",null,[wct,l("td",null,[l("div",Rct,[P(l("input",{type:"checkbox",id:"copy_to_clipboard_add_all_details",required:"","onUpdate:modelValue":e[26]||(e[26]=_=>r.configFile.copy_to_clipboard_add_all_details=_),onChange:e[27]||(e[27]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.copy_to_clipboard_add_all_details]])])])]),l("tr",null,[Act,l("td",null,[l("div",Nct,[P(l("input",{type:"checkbox",id:"auto_show_browser",required:"","onUpdate:modelValue":e[28]||(e[28]=_=>r.configFile.auto_show_browser=_),onChange:e[29]||(e[29]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_show_browser]])])])]),l("tr",null,[Oct,l("td",null,[l("div",Mct,[P(l("input",{type:"checkbox",id:"activate_debug",required:"","onUpdate:modelValue":e[30]||(e[30]=_=>r.configFile.debug=_),onChange:e[31]||(e[31]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug]])])])]),l("tr",null,[Ict,l("td",null,[l("div",kct,[P(l("input",{type:"checkbox",id:"debug_show_final_full_prompt",required:"","onUpdate:modelValue":e[32]||(e[32]=_=>r.configFile.debug_show_final_full_prompt=_),onChange:e[33]||(e[33]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug_show_final_full_prompt]])])])]),l("tr",null,[Dct,l("td",null,[l("div",Lct,[P(l("input",{type:"checkbox",id:"debug_show_final_full_prompt",required:"","onUpdate:modelValue":e[34]||(e[34]=_=>r.configFile.debug_show_final_full_prompt=_),onChange:e[35]||(e[35]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug_show_final_full_prompt]])])])]),l("tr",null,[Pct,l("td",null,[l("div",Fct,[P(l("input",{type:"checkbox",id:"debug_show_chunks",required:"","onUpdate:modelValue":e[36]||(e[36]=_=>r.configFile.debug_show_chunks=_),onChange:e[37]||(e[37]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug_show_chunks]])])])]),l("tr",null,[Uct,l("td",null,[l("div",Bct,[P(l("input",{type:"text",id:"debug_log_file_path",required:"","onUpdate:modelValue":e[38]||(e[38]=_=>r.configFile.debug_log_file_path=_),onChange:e[39]||(e[39]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.debug_log_file_path]])])])]),l("tr",null,[Gct,l("td",null,[l("div",Vct,[P(l("input",{type:"checkbox",id:"show_news_panel",required:"","onUpdate:modelValue":e[40]||(e[40]=_=>r.configFile.show_news_panel=_),onChange:e[41]||(e[41]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.show_news_panel]])])])]),l("tr",null,[zct,l("td",null,[l("div",Hct,[P(l("input",{type:"checkbox",id:"auto_save",required:"","onUpdate:modelValue":e[42]||(e[42]=_=>r.configFile.auto_save=_),onChange:e[43]||(e[43]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_save]])])])]),l("tr",null,[qct,l("td",null,[l("div",$ct,[P(l("input",{type:"checkbox",id:"auto_update",required:"","onUpdate:modelValue":e[44]||(e[44]=_=>r.configFile.auto_update=_),onChange:e[45]||(e[45]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_update]])])])]),l("tr",null,[Yct,l("td",null,[l("div",Wct,[P(l("input",{type:"checkbox",id:"auto_title",required:"","onUpdate:modelValue":e[46]||(e[46]=_=>r.configFile.auto_title=_),onChange:e[47]||(e[47]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_title]])])])])])]),_:1}),V(a,{title:"Model template",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Kct,[l("tr",null,[jct,l("td",null,[l("select",{onChange:e[48]||(e[48]=(..._)=>r.handleTemplateSelection&&r.handleTemplateSelection(..._))},tdt,32)])]),l("tr",null,[ndt,l("td",null,[P(l("input",{type:"text",id:"start_header_id_template",required:"","onUpdate:modelValue":e[49]||(e[49]=_=>r.configFile.start_header_id_template=_),onChange:e[50]||(e[50]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.start_header_id_template]])])]),l("tr",null,[sdt,l("td",null,[P(l("input",{type:"text",id:"end_header_id_template",required:"","onUpdate:modelValue":e[51]||(e[51]=_=>r.configFile.end_header_id_template=_),onChange:e[52]||(e[52]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_header_id_template]])])]),l("tr",null,[idt,l("td",null,[P(l("input",{type:"text",id:"start_user_header_id_template",required:"","onUpdate:modelValue":e[53]||(e[53]=_=>r.configFile.start_user_header_id_template=_),onChange:e[54]||(e[54]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.start_user_header_id_template]])])]),l("tr",null,[rdt,l("td",null,[P(l("input",{type:"text",id:"end_user_header_id_template",required:"","onUpdate:modelValue":e[55]||(e[55]=_=>r.configFile.end_user_header_id_template=_),onChange:e[56]||(e[56]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_user_header_id_template]])])]),l("tr",null,[odt,l("td",null,[P(l("input",{type:"text",id:"end_user_message_id_template",required:"","onUpdate:modelValue":e[57]||(e[57]=_=>r.configFile.end_user_message_id_template=_),onChange:e[58]||(e[58]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_user_message_id_template]])])]),l("tr",null,[adt,l("td",null,[P(l("input",{type:"text",id:"start_ai_header_id_template",required:"","onUpdate:modelValue":e[59]||(e[59]=_=>r.configFile.start_ai_header_id_template=_),onChange:e[60]||(e[60]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.start_ai_header_id_template]])])]),l("tr",null,[ldt,l("td",null,[P(l("input",{type:"text",id:"end_ai_header_id_template",required:"","onUpdate:modelValue":e[61]||(e[61]=_=>r.configFile.end_ai_header_id_template=_),onChange:e[62]||(e[62]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_ai_header_id_template]])])]),l("tr",null,[cdt,l("td",null,[P(l("input",{type:"text",id:"end_ai_message_id_template",required:"","onUpdate:modelValue":e[63]||(e[63]=_=>r.configFile.end_ai_message_id_template=_),onChange:e[64]||(e[64]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_ai_message_id_template]])])]),l("tr",null,[ddt,l("td",null,[P(l("textarea",{id:"separator_template",required:"","onUpdate:modelValue":e[65]||(e[65]=_=>r.configFile.separator_template=_),onChange:e[66]||(e[66]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.separator_template]])])]),l("tr",null,[udt,l("td",null,[P(l("input",{type:"text",id:"system_message_template",required:"","onUpdate:modelValue":e[67]||(e[67]=_=>r.configFile.system_message_template=_),onChange:e[68]||(e[68]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.system_message_template]])])]),l("tr",null,[pdt,l("td",null,[l("div",{innerHTML:r.full_template},null,8,_dt)])]),l("tr",null,[hdt,l("td",fdt,[P(l("input",{type:"checkbox",id:"use_continue_message",required:"","onUpdate:modelValue":e[69]||(e[69]=_=>r.configFile.use_continue_message=_),onChange:e[70]||(e[70]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_continue_message]])])])])]),_:1}),V(a,{title:"User",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",mdt,[l("tr",null,[gdt,l("td",bdt,[P(l("input",{type:"text",id:"user_name",required:"","onUpdate:modelValue":e[71]||(e[71]=_=>r.configFile.user_name=_),onChange:e[72]||(e[72]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.user_name]])])]),l("tr",null,[Edt,l("td",ydt,[P(l("textarea",{id:"user_description",required:"","onUpdate:modelValue":e[73]||(e[73]=_=>r.configFile.user_description=_),onChange:e[74]||(e[74]=_=>i.settingsChanged=!0),class:"min-h-[500px] w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.user_description]])])]),l("tr",null,[vdt,l("td",Sdt,[P(l("input",{type:"checkbox",id:"use_user_informations_in_discussion",required:"","onUpdate:modelValue":e[75]||(e[75]=_=>r.configFile.use_user_informations_in_discussion=_),onChange:e[76]||(e[76]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_user_informations_in_discussion]])])]),l("tr",null,[Tdt,l("td",xdt,[P(l("input",{type:"checkbox",id:"use_model_name_in_discussions",required:"","onUpdate:modelValue":e[77]||(e[77]=_=>r.configFile.use_model_name_in_discussions=_),onChange:e[78]||(e[78]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_model_name_in_discussions]])])]),l("tr",null,[Cdt,l("td",null,[l("label",wdt,[l("img",{src:r.configFile.user_avatar!=null&&r.configFile.user_avatar!=""?"/user_infos/"+r.configFile.user_avatar:i.storeLogo,class:"w-50 h-50 rounded-full",style:{"max-width":"50px","max-height":"50px",cursor:"pointer"}},null,8,Rdt)]),l("input",{type:"file",id:"avatar-upload",style:{display:"none"},onChange:e[79]||(e[79]=(..._)=>r.uploadAvatar&&r.uploadAvatar(..._))},null,32)]),l("td",Adt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Discard title changes",type:"button",onClick:e[80]||(e[80]=j(_=>r.resetAvatar(),["stop"]))},Odt)])]),l("tr",null,[Mdt,l("td",null,[l("div",Idt,[P(l("input",{type:"checkbox",id:"use_user_name_in_discussions",required:"","onUpdate:modelValue":e[81]||(e[81]=_=>r.configFile.use_user_name_in_discussions=_),onChange:e[82]||(e[82]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_user_name_in_discussions]])])])]),l("tr",null,[kdt,l("td",Ddt,[P(l("input",{type:"number",id:"max_n_predict",required:"","onUpdate:modelValue":e[83]||(e[83]=_=>r.configFile.max_n_predict=_),onChange:e[84]||(e[84]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.max_n_predict]])])]),l("tr",null,[Ldt,l("td",Pdt,[P(l("input",{type:"number",id:"max_n_predict",required:"","onUpdate:modelValue":e[85]||(e[85]=_=>r.configFile.max_n_predict=_),onChange:e[86]||(e[86]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.max_n_predict]])])])])]),_:1}),V(a,{title:"Security settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Fdt,[l("tr",null,[Udt,l("td",Bdt,[P(l("input",{type:"checkbox",id:"turn_on_code_execution",required:"","onUpdate:modelValue":e[87]||(e[87]=_=>r.configFile.turn_on_code_execution=_),onChange:e[88]||(e[88]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_code_execution]])])]),l("tr",null,[Gdt,l("td",Vdt,[P(l("input",{type:"checkbox",id:"turn_on_code_validation",required:"","onUpdate:modelValue":e[89]||(e[89]=_=>r.configFile.turn_on_code_validation=_),onChange:e[90]||(e[90]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_code_validation]])])]),l("tr",null,[zdt,l("td",Hdt,[P(l("input",{type:"checkbox",id:"turn_on_setting_update_validation",required:"","onUpdate:modelValue":e[91]||(e[91]=_=>r.configFile.turn_on_setting_update_validation=_),onChange:e[92]||(e[92]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_setting_update_validation]])])]),l("tr",null,[qdt,l("td",$dt,[P(l("input",{type:"checkbox",id:"turn_on_open_file_validation",required:"","onUpdate:modelValue":e[93]||(e[93]=_=>r.configFile.turn_on_open_file_validation=_),onChange:e[94]||(e[94]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_open_file_validation]])])]),l("tr",null,[Ydt,l("td",Wdt,[P(l("input",{type:"checkbox",id:"turn_on_send_file_validation",required:"","onUpdate:modelValue":e[95]||(e[95]=_=>r.configFile.turn_on_send_file_validation=_),onChange:e[96]||(e[96]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_send_file_validation]])])])])]),_:1}),V(a,{title:"Knowledge database",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Kdt,[l("tr",null,[jdt,l("td",null,[l("div",Qdt,[P(l("input",{type:"checkbox",id:"activate_skills_lib",required:"","onUpdate:modelValue":e[97]||(e[97]=_=>r.configFile.activate_skills_lib=_),onChange:e[98]||(e[98]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_skills_lib]])])])]),l("tr",null,[Xdt,l("td",Zdt,[P(l("input",{type:"text",id:"skills_lib_database_name",required:"","onUpdate:modelValue":e[99]||(e[99]=_=>r.configFile.skills_lib_database_name=_),onChange:e[100]||(e[100]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.skills_lib_database_name]])])])])]),_:1}),V(a,{title:"Latex",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Jdt,[l("tr",null,[eut,l("td",null,[l("div",tut,[P(l("input",{type:"text",id:"pdf_latex_path",required:"","onUpdate:modelValue":e[101]||(e[101]=_=>r.configFile.pdf_latex_path=_),onChange:e[102]||(e[102]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.pdf_latex_path]])])])])])]),_:1}),V(a,{title:"Boost",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",nut,[l("tr",null,[sut,l("td",null,[l("div",iut,[P(l("input",{type:"text",id:"positive_boost",required:"","onUpdate:modelValue":e[103]||(e[103]=_=>r.configFile.positive_boost=_),onChange:e[104]||(e[104]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.positive_boost]])])])]),l("tr",null,[rut,l("td",null,[l("div",out,[P(l("input",{type:"text",id:"negative_boost",required:"","onUpdate:modelValue":e[105]||(e[105]=_=>r.configFile.negative_boost=_),onChange:e[106]||(e[106]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.negative_boost]])])])]),l("tr",null,[aut,l("td",null,[l("div",lut,[P(l("input",{type:"checkbox",id:"fun_mode",required:"","onUpdate:modelValue":e[107]||(e[107]=_=>r.configFile.fun_mode=_),onChange:e[108]||(e[108]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.fun_mode]])])])])])]),_:1})])],2)]),l("div",cut,[l("div",dut,[l("button",{onClick:e[109]||(e[109]=j(_=>i.data_conf_collapsed=!i.data_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,put,512),[[wt,i.data_conf_collapsed]]),P(l("div",null,hut,512),[[wt,!i.data_conf_collapsed]]),fut])]),l("div",{class:Ge([{hidden:i.data_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[V(a,{title:"Data Sources",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",mut,[l("tr",null,[gut,l("td",but,[(T(!0),x(Fe,null,Ke(r.configFile.rag_databases,(_,g)=>(T(),x("div",{key:g,class:"flex items-center mb-2"},[P(l("input",{type:"text","onUpdate:modelValue":b=>r.configFile.rag_databases[g]=b,onChange:e[110]||(e[110]=b=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,40,Eut),[[pe,r.configFile.rag_databases[g]]]),l("button",{onClick:b=>r.vectorize_folder(g),class:"w-500 ml-2 px-2 py-1 bg-green-500 text-white hover:bg-green-300 rounded"},"(Re)Vectorize",8,yut),l("button",{onClick:b=>r.select_folder(g),class:"w-500 ml-2 px-2 py-1 bg-blue-500 text-white hover:bg-green-300 rounded"},"Select Folder",8,vut),l("button",{onClick:b=>r.removeDataSource(g),class:"ml-2 px-2 py-1 bg-red-500 text-white hover:bg-green-300 rounded"},"Remove",8,Sut)]))),128)),l("button",{onClick:e[111]||(e[111]=(..._)=>r.addDataSource&&r.addDataSource(..._)),class:"mt-2 px-2 py-1 bg-blue-500 text-white rounded"},"Add Data Source")])]),l("tr",null,[Tut,l("td",null,[P(l("select",{id:"rag_vectorizer",required:"","onUpdate:modelValue":e[112]||(e[112]=_=>r.configFile.rag_vectorizer=_),onChange:e[113]||(e[113]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Rut,544),[[Dt,r.configFile.rag_vectorizer]])])]),l("tr",null,[Aut,l("td",null,[P(l("select",{id:"rag_vectorizer_model",required:"","onUpdate:modelValue":e[114]||(e[114]=_=>r.configFile.rag_vectorizer_model=_),onChange:e[115]||(e[115]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",disabled:r.configFile.rag_vectorizer==="tfidf"},[r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Out,"sentence-transformers/bert-base-nli-mean-tokens")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Mut,"bert-base-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Iut,"bert-base-multilingual-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",kut,"bert-large-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Dut,"bert-large-uncased-whole-word-masking-finetuned-squad")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Lut,"distilbert-base-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Put,"roberta-base")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Fut,"roberta-large")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Uut,"xlm-roberta-base")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",But,"xlm-roberta-large")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Gut,"albert-base-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Vut,"albert-large-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",zut,"albert-xlarge-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Hut,"albert-xxlarge-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",qut,"sentence-transformers/all-MiniLM-L6-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",$ut,"sentence-transformers/all-MiniLM-L12-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Yut,"sentence-transformers/all-distilroberta-v1")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Wut,"sentence-transformers/all-mpnet-base-v2")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",Kut,"text-embedding-ada-002")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",jut,"text-embedding-babbage-001")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",Qut,"text-embedding-curie-001")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",Xut,"text-embedding-davinci-001")):G("",!0),r.configFile.rag_vectorizer==="tfidf"?(T(),x("option",Zut,"No models available for TFIDF")):G("",!0)],40,Nut),[[Dt,r.configFile.rag_vectorizer_model]])])]),l("tr",null,[Jut,l("td",null,[l("div",ept,[P(l("input",{type:"text",id:"rag_vectorizer_openai_key",required:"","onUpdate:modelValue":e[116]||(e[116]=_=>r.configFile.rag_vectorizer_openai_key=_),onChange:e[117]||(e[117]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_vectorizer_openai_key]])])])]),l("tr",null,[tpt,l("td",null,[P(l("input",{id:"rag_chunk_size","onUpdate:modelValue":e[118]||(e[118]=_=>r.configFile.rag_chunk_size=_),onChange:e[119]||(e[119]=_=>i.settingsChanged=!0),type:"range",min:"2",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.rag_chunk_size]]),P(l("input",{"onUpdate:modelValue":e[120]||(e[120]=_=>r.configFile.rag_chunk_size=_),type:"number",onChange:e[121]||(e[121]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_chunk_size]])])]),l("tr",null,[npt,l("td",null,[P(l("input",{id:"rag_overlap","onUpdate:modelValue":e[122]||(e[122]=_=>r.configFile.rag_overlap=_),onChange:e[123]||(e[123]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.rag_overlap]]),P(l("input",{"onUpdate:modelValue":e[124]||(e[124]=_=>r.configFile.rag_overlap=_),type:"number",onChange:e[125]||(e[125]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_overlap]])])]),l("tr",null,[spt,l("td",null,[P(l("input",{id:"rag_n_chunks","onUpdate:modelValue":e[126]||(e[126]=_=>r.configFile.rag_n_chunks=_),onChange:e[127]||(e[127]=_=>i.settingsChanged=!0),type:"range",min:"2",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.rag_n_chunks]]),P(l("input",{"onUpdate:modelValue":e[128]||(e[128]=_=>r.configFile.rag_n_chunks=_),type:"number",onChange:e[129]||(e[129]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_n_chunks]])])]),l("tr",null,[ipt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[130]||(e[130]=_=>r.configFile.rag_clean_chunks=_),type:"checkbox",onChange:e[131]||(e[131]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_clean_chunks]])])]),l("tr",null,[rpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[132]||(e[132]=_=>r.configFile.rag_follow_subfolders=_),type:"checkbox",onChange:e[133]||(e[133]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_follow_subfolders]])])]),l("tr",null,[opt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[134]||(e[134]=_=>r.configFile.rag_check_new_files_at_startup=_),type:"checkbox",onChange:e[135]||(e[135]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_check_new_files_at_startup]])])]),l("tr",null,[apt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[136]||(e[136]=_=>r.configFile.rag_preprocess_chunks=_),type:"checkbox",onChange:e[137]||(e[137]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_preprocess_chunks]])])]),l("tr",null,[lpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[138]||(e[138]=_=>r.configFile.rag_activate_multi_hops=_),type:"checkbox",onChange:e[139]||(e[139]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_activate_multi_hops]])])]),l("tr",null,[cpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[140]||(e[140]=_=>r.configFile.contextual_summary=_),type:"checkbox",onChange:e[141]||(e[141]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.contextual_summary]])])]),l("tr",null,[dpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[142]||(e[142]=_=>r.configFile.rag_deactivate=_),type:"checkbox",onChange:e[143]||(e[143]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_deactivate]])])])])]),_:1}),V(a,{title:"Data Vectorization",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",upt,[l("tr",null,[ppt,l("td",null,[l("div",_pt,[P(l("input",{type:"checkbox",id:"data_vectorization_save_db",required:"","onUpdate:modelValue":e[144]||(e[144]=_=>r.configFile.data_vectorization_save_db=_),onChange:e[145]||(e[145]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_save_db]])])])]),l("tr",null,[hpt,l("td",null,[l("div",fpt,[P(l("input",{type:"checkbox",id:"data_vectorization_visualize_on_vectorization",required:"","onUpdate:modelValue":e[146]||(e[146]=_=>r.configFile.data_vectorization_visualize_on_vectorization=_),onChange:e[147]||(e[147]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_visualize_on_vectorization]])])])]),l("tr",null,[mpt,l("td",null,[l("div",gpt,[P(l("input",{type:"checkbox",id:"data_vectorization_build_keys_words",required:"","onUpdate:modelValue":e[148]||(e[148]=_=>r.configFile.data_vectorization_build_keys_words=_),onChange:e[149]||(e[149]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_build_keys_words]])])])]),l("tr",null,[bpt,l("td",null,[l("div",Ept,[P(l("input",{type:"checkbox",id:"data_vectorization_force_first_chunk",required:"","onUpdate:modelValue":e[150]||(e[150]=_=>r.configFile.data_vectorization_force_first_chunk=_),onChange:e[151]||(e[151]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_force_first_chunk]])])])]),l("tr",null,[ypt,l("td",null,[l("div",vpt,[P(l("input",{type:"checkbox",id:"data_vectorization_put_chunk_informations_into_context",required:"","onUpdate:modelValue":e[152]||(e[152]=_=>r.configFile.data_vectorization_put_chunk_informations_into_context=_),onChange:e[153]||(e[153]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_put_chunk_informations_into_context]])])])]),l("tr",null,[Spt,l("td",null,[P(l("select",{id:"data_vectorization_method",required:"","onUpdate:modelValue":e[154]||(e[154]=_=>r.configFile.data_vectorization_method=_),onChange:e[155]||(e[155]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Rpt,544),[[Dt,r.configFile.data_vectorization_method]])])]),l("tr",null,[Apt,l("td",Npt,[P(l("input",{type:"text",id:"data_vectorization_sentense_transformer_model",required:"","onUpdate:modelValue":e[156]||(e[156]=_=>r.configFile.data_vectorization_sentense_transformer_model=_),onChange:e[157]||(e[157]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_sentense_transformer_model]])])]),l("tr",null,[Opt,l("td",null,[P(l("select",{id:"data_visualization_method",required:"","onUpdate:modelValue":e[158]||(e[158]=_=>r.configFile.data_visualization_method=_),onChange:e[159]||(e[159]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},kpt,544),[[Dt,r.configFile.data_visualization_method]])])]),l("tr",null,[Dpt,l("td",null,[l("div",Lpt,[P(l("input",{type:"checkbox",id:"data_vectorization_save_db",required:"","onUpdate:modelValue":e[160]||(e[160]=_=>r.configFile.data_vectorization_save_db=_),onChange:e[161]||(e[161]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_save_db]])])])]),l("tr",null,[Ppt,l("td",null,[P(l("input",{id:"data_vectorization_chunk_size","onUpdate:modelValue":e[162]||(e[162]=_=>r.configFile.data_vectorization_chunk_size=_),onChange:e[163]||(e[163]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.data_vectorization_chunk_size]]),P(l("input",{"onUpdate:modelValue":e[164]||(e[164]=_=>r.configFile.data_vectorization_chunk_size=_),type:"number",onChange:e[165]||(e[165]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_chunk_size]])])]),l("tr",null,[Fpt,l("td",null,[P(l("input",{id:"data_vectorization_overlap_size","onUpdate:modelValue":e[166]||(e[166]=_=>r.configFile.data_vectorization_overlap_size=_),onChange:e[167]||(e[167]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.data_vectorization_overlap_size]]),P(l("input",{"onUpdate:modelValue":e[168]||(e[168]=_=>r.configFile.data_vectorization_overlap_size=_),type:"number",onChange:e[169]||(e[169]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_overlap_size]])])]),l("tr",null,[Upt,l("td",null,[P(l("input",{id:"data_vectorization_nb_chunks","onUpdate:modelValue":e[170]||(e[170]=_=>r.configFile.data_vectorization_nb_chunks=_),onChange:e[171]||(e[171]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"1000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.data_vectorization_nb_chunks]]),P(l("input",{"onUpdate:modelValue":e[172]||(e[172]=_=>r.configFile.data_vectorization_nb_chunks=_),type:"number",onChange:e[173]||(e[173]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_nb_chunks]])])])])]),_:1})],2)]),l("div",Bpt,[l("div",Gpt,[l("button",{onClick:e[174]||(e[174]=j(_=>i.internet_conf_collapsed=!i.internet_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,zpt,512),[[wt,i.internet_conf_collapsed]]),P(l("div",null,qpt,512),[[wt,!i.internet_conf_collapsed]]),$pt])]),l("div",{class:Ge([{hidden:i.internet_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[V(a,{title:"Internet search",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Ypt,[l("tr",null,[Wpt,l("td",null,[l("div",Kpt,[P(l("input",{type:"checkbox",id:"fun_mode",required:"","onUpdate:modelValue":e[175]||(e[175]=_=>r.configFile.activate_internet_search=_),onChange:e[176]||(e[176]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_internet_search]])])])]),l("tr",null,[jpt,l("td",null,[l("div",Qpt,[P(l("input",{type:"checkbox",id:"activate_internet_pages_judgement",required:"","onUpdate:modelValue":e[177]||(e[177]=_=>r.configFile.activate_internet_pages_judgement=_),onChange:e[178]||(e[178]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_internet_pages_judgement]])])])]),l("tr",null,[Xpt,l("td",null,[l("div",Zpt,[P(l("input",{type:"checkbox",id:"internet_quick_search",required:"","onUpdate:modelValue":e[179]||(e[179]=_=>r.configFile.internet_quick_search=_),onChange:e[180]||(e[180]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.internet_quick_search]])])])]),l("tr",null,[Jpt,l("td",null,[l("div",e_t,[P(l("input",{type:"checkbox",id:"internet_activate_search_decision",required:"","onUpdate:modelValue":e[181]||(e[181]=_=>r.configFile.internet_activate_search_decision=_),onChange:e[182]||(e[182]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.internet_activate_search_decision]])])])]),l("tr",null,[t_t,l("td",null,[l("div",n_t,[P(l("input",{id:"internet_vectorization_chunk_size","onUpdate:modelValue":e[183]||(e[183]=_=>r.configFile.internet_vectorization_chunk_size=_),onChange:e[184]||(e[184]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_vectorization_chunk_size]]),P(l("input",{"onUpdate:modelValue":e[185]||(e[185]=_=>r.configFile.internet_vectorization_chunk_size=_),type:"number",onChange:e[186]||(e[186]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_vectorization_chunk_size]])])])]),l("tr",null,[s_t,l("td",null,[l("div",i_t,[P(l("input",{id:"internet_vectorization_overlap_size","onUpdate:modelValue":e[187]||(e[187]=_=>r.configFile.internet_vectorization_overlap_size=_),onChange:e[188]||(e[188]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"1000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_vectorization_overlap_size]]),P(l("input",{"onUpdate:modelValue":e[189]||(e[189]=_=>r.configFile.internet_vectorization_overlap_size=_),type:"number",onChange:e[190]||(e[190]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_vectorization_overlap_size]])])])]),l("tr",null,[r_t,l("td",null,[l("div",o_t,[P(l("input",{id:"internet_vectorization_nb_chunks","onUpdate:modelValue":e[191]||(e[191]=_=>r.configFile.internet_vectorization_nb_chunks=_),onChange:e[192]||(e[192]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_vectorization_nb_chunks]]),P(l("input",{"onUpdate:modelValue":e[193]||(e[193]=_=>r.configFile.internet_vectorization_nb_chunks=_),type:"number",onChange:e[194]||(e[194]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_vectorization_nb_chunks]])])])]),l("tr",null,[a_t,l("td",null,[l("div",l_t,[P(l("input",{id:"internet_nb_search_pages","onUpdate:modelValue":e[195]||(e[195]=_=>r.configFile.internet_nb_search_pages=_),onChange:e[196]||(e[196]=_=>i.settingsChanged=!0),type:"range",min:"1",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_nb_search_pages]]),P(l("input",{"onUpdate:modelValue":e[197]||(e[197]=_=>r.configFile.internet_nb_search_pages=_),type:"number",onChange:e[198]||(e[198]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_nb_search_pages]])])])])])]),_:1})],2)]),l("div",c_t,[l("div",d_t,[l("button",{onClick:e[199]||(e[199]=j(_=>i.servers_conf_collapsed=!i.servers_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,p_t,512),[[wt,i.servers_conf_collapsed]]),P(l("div",null,h_t,512),[[wt,!i.servers_conf_collapsed]]),f_t])]),l("div",{class:Ge([{hidden:i.servers_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[V(a,{title:"Default services selection",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",m_t,[l("tr",null,[g_t,l("td",b_t,[P(l("select",{id:"active_tts_service",required:"","onUpdate:modelValue":e[200]||(e[200]=_=>r.configFile.active_tts_service=_),onChange:e[201]||(e[201]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},C_t,544),[[Dt,r.configFile.active_tts_service]])])]),l("tr",null,[w_t,l("td",R_t,[P(l("select",{id:"active_stt_service",required:"","onUpdate:modelValue":e[202]||(e[202]=_=>r.configFile.active_stt_service=_),onChange:e[203]||(e[203]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},M_t,544),[[Dt,r.configFile.active_stt_service]])])]),I_t,l("tr",null,[k_t,l("td",D_t,[P(l("select",{id:"active_tti_service",required:"","onUpdate:modelValue":e[204]||(e[204]=_=>r.configFile.active_tti_service=_),onChange:e[205]||(e[205]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},H_t,544),[[Dt,r.configFile.active_tti_service]])])]),l("tr",null,[q_t,l("td",$_t,[P(l("select",{id:"active_ttm_service",required:"","onUpdate:modelValue":e[206]||(e[206]=_=>r.configFile.active_ttm_service=_),onChange:e[207]||(e[207]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},K_t,544),[[Dt,r.configFile.active_ttm_service]])])]),l("tr",null,[j_t,l("td",Q_t,[P(l("select",{id:"active_ttv_service",required:"","onUpdate:modelValue":e[208]||(e[208]=_=>r.configFile.active_ttv_service=_),onChange:e[209]||(e[209]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},J_t,544),[[Dt,r.configFile.active_ttv_service]])])])])]),_:1}),V(a,{title:"TTI settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",eht,[l("tr",null,[tht,l("td",null,[l("div",nht,[P(l("input",{type:"checkbox",id:"use_negative_prompt",required:"","onUpdate:modelValue":e[210]||(e[210]=_=>r.configFile.use_negative_prompt=_),onChange:e[211]||(e[211]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_negative_prompt]])])])]),l("tr",null,[sht,l("td",null,[l("div",iht,[P(l("input",{type:"checkbox",id:"use_ai_generated_negative_prompt",required:"","onUpdate:modelValue":e[212]||(e[212]=_=>r.configFile.use_ai_generated_negative_prompt=_),onChange:e[213]||(e[213]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_ai_generated_negative_prompt]])])])]),l("tr",null,[rht,l("td",null,[l("div",oht,[P(l("input",{type:"text",id:"negative_prompt_generation_prompt",required:"","onUpdate:modelValue":e[214]||(e[214]=_=>r.configFile.negative_prompt_generation_prompt=_),onChange:e[215]||(e[215]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.negative_prompt_generation_prompt]])])])]),l("tr",null,[aht,l("td",null,[l("div",lht,[P(l("input",{type:"text",id:"default_negative_prompt",required:"","onUpdate:modelValue":e[216]||(e[216]=_=>r.configFile.default_negative_prompt=_),onChange:e[217]||(e[217]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.default_negative_prompt]])])])])])]),_:1}),V(a,{title:"Full Audio settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",cht,[l("tr",null,[dht,l("td",uht,[P(l("input",{type:"number",step:"1",id:"stt_listening_threshold",required:"","onUpdate:modelValue":e[218]||(e[218]=_=>r.configFile.stt_listening_threshold=_),onChange:e[219]||(e[219]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_listening_threshold]])])]),l("tr",null,[pht,l("td",_ht,[P(l("input",{type:"number",step:"1",id:"stt_silence_duration",required:"","onUpdate:modelValue":e[220]||(e[220]=_=>r.configFile.stt_silence_duration=_),onChange:e[221]||(e[221]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_silence_duration]])])]),l("tr",null,[hht,l("td",fht,[P(l("input",{type:"number",step:"1",id:"stt_sound_threshold_percentage",required:"","onUpdate:modelValue":e[222]||(e[222]=_=>r.configFile.stt_sound_threshold_percentage=_),onChange:e[223]||(e[223]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_sound_threshold_percentage]])])]),l("tr",null,[mht,l("td",ght,[P(l("input",{type:"number",step:"1",id:"stt_gain",required:"","onUpdate:modelValue":e[224]||(e[224]=_=>r.configFile.stt_gain=_),onChange:e[225]||(e[225]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_gain]])])]),l("tr",null,[bht,l("td",Eht,[P(l("input",{type:"number",step:"1",id:"stt_rate",required:"","onUpdate:modelValue":e[226]||(e[226]=_=>r.configFile.stt_rate=_),onChange:e[227]||(e[227]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_rate]])])]),l("tr",null,[yht,l("td",vht,[P(l("input",{type:"number",step:"1",id:"stt_channels",required:"","onUpdate:modelValue":e[228]||(e[228]=_=>r.configFile.stt_channels=_),onChange:e[229]||(e[229]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_channels]])])]),l("tr",null,[Sht,l("td",Tht,[P(l("input",{type:"number",step:"1",id:"stt_buffer_size",required:"","onUpdate:modelValue":e[230]||(e[230]=_=>r.configFile.stt_buffer_size=_),onChange:e[231]||(e[231]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_buffer_size]])])]),l("tr",null,[xht,l("td",null,[l("div",Cht,[P(l("input",{type:"checkbox",id:"stt_activate_word_detection",required:"","onUpdate:modelValue":e[232]||(e[232]=_=>r.configFile.stt_activate_word_detection=_),onChange:e[233]||(e[233]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.stt_activate_word_detection]])])])]),l("tr",null,[wht,l("td",null,[l("div",Rht,[P(l("input",{type:"text",id:"stt_word_detection_file",required:"","onUpdate:modelValue":e[234]||(e[234]=_=>r.configFile.stt_word_detection_file=_),onChange:e[235]||(e[235]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_word_detection_file]])])])])])]),_:1}),V(a,{title:"Audio devices settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Aht,[l("tr",null,[Nht,l("td",Oht,[P(l("select",{id:"stt_input_device",required:"","onUpdate:modelValue":e[236]||(e[236]=_=>r.configFile.stt_input_device=_),onChange:e[237]||(e[237]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.snd_input_devices,(_,g)=>(T(),x("option",{key:_,value:i.snd_input_devices_indexes[g]},K(_),9,Mht))),128))],544),[[Dt,r.configFile.stt_input_device]])])]),l("tr",null,[Iht,l("td",kht,[P(l("select",{id:"tts_output_device",required:"","onUpdate:modelValue":e[238]||(e[238]=_=>r.configFile.tts_output_device=_),onChange:e[239]||(e[239]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.snd_output_devices,(_,g)=>(T(),x("option",{key:_,value:i.snd_output_devices_indexes[g]},K(_),9,Dht))),128))],544),[[Dt,r.configFile.tts_output_device]])])])])]),_:1}),V(a,{title:"Lollms service",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Lht,[l("tr",null,[Pht,l("td",Fht,[P(l("input",{type:"text",id:"host",required:"","onUpdate:modelValue":e[240]||(e[240]=_=>r.configFile.host=_),onChange:e[241]||(e[241]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.host]])])]),l("tr",null,[Uht,l("td",Bht,[V(o,{modelValue:r.configFile.lollms_access_keys,"onUpdate:modelValue":e[242]||(e[242]=_=>r.configFile.lollms_access_keys=_),onChange:e[243]||(e[243]=_=>i.settingsChanged=!0),placeholder:"Enter access key"},null,8,["modelValue"])])]),l("tr",null,[Ght,l("td",Vht,[P(l("input",{type:"number",step:"1",id:"port",required:"","onUpdate:modelValue":e[244]||(e[244]=_=>r.configFile.port=_),onChange:e[245]||(e[245]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.port]])])]),l("tr",null,[zht,l("td",Hht,[P(l("input",{type:"checkbox",id:"headless_server_mode",required:"","onUpdate:modelValue":e[246]||(e[246]=_=>r.configFile.headless_server_mode=_),onChange:e[247]||(e[247]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.headless_server_mode]])])]),l("tr",null,[qht,l("td",$ht,[P(l("input",{type:"checkbox",id:"activate_lollms_server",required:"","onUpdate:modelValue":e[248]||(e[248]=_=>r.configFile.activate_lollms_server=_),onChange:e[249]||(e[249]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_server]])])]),l("tr",null,[Yht,l("td",Wht,[P(l("input",{type:"checkbox",id:"activate_lollms_rag_server",required:"","onUpdate:modelValue":e[250]||(e[250]=_=>r.configFile.activate_lollms_rag_server=_),onChange:e[251]||(e[251]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_rag_server]])])]),l("tr",null,[Kht,l("td",jht,[P(l("input",{type:"checkbox",id:"activate_lollms_tts_server",required:"","onUpdate:modelValue":e[252]||(e[252]=_=>r.configFile.activate_lollms_tts_server=_),onChange:e[253]||(e[253]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_tts_server]])])]),l("tr",null,[Qht,l("td",Xht,[P(l("input",{type:"checkbox",id:"activate_lollms_stt_server",required:"","onUpdate:modelValue":e[254]||(e[254]=_=>r.configFile.activate_lollms_stt_server=_),onChange:e[255]||(e[255]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_stt_server]])])]),l("tr",null,[Zht,l("td",Jht,[P(l("input",{type:"checkbox",id:"activate_lollms_tti_server",required:"","onUpdate:modelValue":e[256]||(e[256]=_=>r.configFile.activate_lollms_tti_server=_),onChange:e[257]||(e[257]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_tti_server]])])]),l("tr",null,[eft,l("td",tft,[P(l("input",{type:"checkbox",id:"activate_lollms_itt_server",required:"","onUpdate:modelValue":e[258]||(e[258]=_=>r.configFile.activate_lollms_itt_server=_),onChange:e[259]||(e[259]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_itt_server]])])]),l("tr",null,[nft,l("td",sft,[P(l("input",{type:"checkbox",id:"activate_lollms_ttm_server",required:"","onUpdate:modelValue":e[260]||(e[260]=_=>r.configFile.activate_lollms_ttm_server=_),onChange:e[261]||(e[261]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_ttm_server]])])]),l("tr",null,[ift,l("td",rft,[P(l("input",{type:"checkbox",id:"activate_ollama_emulator",required:"","onUpdate:modelValue":e[262]||(e[262]=_=>r.configFile.activate_ollama_emulator=_),onChange:e[263]||(e[263]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_ollama_emulator]])])]),l("tr",null,[oft,l("td",aft,[P(l("input",{type:"checkbox",id:"activate_openai_emulator",required:"","onUpdate:modelValue":e[264]||(e[264]=_=>r.configFile.activate_openai_emulator=_),onChange:e[265]||(e[265]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_openai_emulator]])])]),l("tr",null,[lft,l("td",cft,[P(l("input",{type:"checkbox",id:"activate_mistralai_emulator",required:"","onUpdate:modelValue":e[266]||(e[266]=_=>r.configFile.activate_mistralai_emulator=_),onChange:e[267]||(e[267]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_mistralai_emulator]])])])])]),_:1}),V(a,{title:"STT services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Browser Audio STT",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",dft,[l("tr",null,[uft,l("td",null,[l("div",pft,[P(l("input",{type:"checkbox",id:"activate_audio_infos",required:"","onUpdate:modelValue":e[268]||(e[268]=_=>r.configFile.activate_audio_infos=_),onChange:e[269]||(e[269]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_audio_infos]])])])]),l("tr",null,[_ft,l("td",null,[l("div",hft,[P(l("input",{type:"checkbox",id:"audio_auto_send_input",required:"","onUpdate:modelValue":e[270]||(e[270]=_=>r.configFile.audio_auto_send_input=_),onChange:e[271]||(e[271]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.audio_auto_send_input]])])])]),l("tr",null,[fft,l("td",null,[P(l("input",{id:"audio_silenceTimer","onUpdate:modelValue":e[272]||(e[272]=_=>r.configFile.audio_silenceTimer=_),onChange:e[273]||(e[273]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"10000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.audio_silenceTimer]]),P(l("input",{"onUpdate:modelValue":e[274]||(e[274]=_=>r.configFile.audio_silenceTimer=_),onChange:e[275]||(e[275]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.audio_silenceTimer]])])]),l("tr",null,[mft,l("td",null,[P(l("select",{id:"audio_in_language","onUpdate:modelValue":e[276]||(e[276]=_=>r.configFile.audio_in_language=_),onChange:e[277]||(e[277]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(r.audioLanguages,_=>(T(),x("option",{key:_.code,value:_.code},K(_.name),9,gft))),128))],544),[[Dt,r.configFile.audio_in_language]])])])])]),_:1}),V(a,{title:"Whisper audio transcription",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",bft,[l("tr",null,[Eft,l("td",null,[l("div",yft,[P(l("input",{type:"checkbox",id:"whisper_activate",required:"","onUpdate:modelValue":e[278]||(e[278]=_=>r.configFile.whisper_activate=_),onChange:e[279]||(e[279]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.whisper_activate]])])])]),l("tr",null,[vft,l("td",null,[l("div",Sft,[P(l("select",{id:"whisper_model","onUpdate:modelValue":e[280]||(e[280]=_=>r.configFile.whisper_model=_),onChange:e[281]||(e[281]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(r.whisperModels,_=>(T(),x("option",{key:_,value:_},K(_),9,Tft))),128))],544),[[Dt,r.configFile.whisper_model]])])])])])]),_:1}),V(a,{title:"Open AI Whisper audio transcription",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",xft,[l("tr",null,[Cft,l("td",null,[l("div",wft,[P(l("input",{type:"text",id:"openai_whisper_key",required:"","onUpdate:modelValue":e[282]||(e[282]=_=>r.configFile.openai_whisper_key=_),onChange:e[283]||(e[283]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.openai_whisper_key]])])])]),l("tr",null,[Rft,l("td",null,[l("div",Aft,[P(l("select",{id:"openai_whisper_model","onUpdate:modelValue":e[284]||(e[284]=_=>r.configFile.openai_whisper_model=_),onChange:e[285]||(e[285]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(r.openaiWhisperModels,_=>(T(),x("option",{key:_,value:_},K(_),9,Nft))),128))],544),[[Dt,r.configFile.openai_whisper_model]])])])])])]),_:1})]),_:1}),V(a,{title:"TTS services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Browser Audio TTS",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Oft,[l("tr",null,[Mft,l("td",null,[l("div",Ift,[P(l("input",{type:"checkbox",id:"auto_speak",required:"","onUpdate:modelValue":e[286]||(e[286]=_=>r.configFile.auto_speak=_),onChange:e[287]||(e[287]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_speak]])])])]),l("tr",null,[kft,l("td",null,[P(l("input",{id:"audio_pitch","onUpdate:modelValue":e[288]||(e[288]=_=>r.configFile.audio_pitch=_),onChange:e[289]||(e[289]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"10",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.audio_pitch]]),P(l("input",{"onUpdate:modelValue":e[290]||(e[290]=_=>r.configFile.audio_pitch=_),onChange:e[291]||(e[291]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.audio_pitch]])])]),l("tr",null,[Dft,l("td",null,[P(l("select",{id:"audio_out_voice","onUpdate:modelValue":e[292]||(e[292]=_=>r.configFile.audio_out_voice=_),onChange:e[293]||(e[293]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.audioVoices,_=>(T(),x("option",{key:_.name,value:_.name},K(_.name),9,Lft))),128))],544),[[Dt,r.configFile.audio_out_voice]])])])])]),_:1}),V(a,{title:"XTTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Pft,[l("tr",null,[Fft,l("td",null,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[294]||(e[294]=(..._)=>r.reinstallXTTSService&&r.reinstallXTTSService(..._))},"install xtts service")])]),l("tr",null,[Uft,l("td",null,[l("div",Bft,[P(l("select",{"onUpdate:modelValue":e[295]||(e[295]=_=>r.xtts_current_language=_),onChange:e[296]||(e[296]=_=>i.settingsChanged=!0)},[(T(!0),x(Fe,null,Ke(i.voice_languages,(_,g)=>(T(),x("option",{key:g,value:_},K(g),9,Gft))),128))],544),[[Dt,r.xtts_current_language]])])])]),l("tr",null,[Vft,l("td",null,[l("div",zft,[P(l("select",{"onUpdate:modelValue":e[297]||(e[297]=_=>r.xtts_current_voice=_),onChange:e[298]||(e[298]=_=>i.settingsChanged=!0)},[(T(!0),x(Fe,null,Ke(i.voices,_=>(T(),x("option",{key:_,value:_},K(_),9,Hft))),128))],544),[[Dt,r.xtts_current_voice]])])])]),l("tr",null,[qft,l("td",null,[l("div",$ft,[P(l("input",{type:"number",id:"xtts_freq",required:"","onUpdate:modelValue":e[299]||(e[299]=_=>r.configFile.xtts_freq=_),onChange:e[300]||(e[300]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.01"},null,544),[[pe,r.configFile.xtts_freq,void 0,{number:!0}]])])])]),l("tr",null,[Yft,l("td",null,[l("div",Wft,[P(l("input",{type:"checkbox",id:"auto_read",required:"","onUpdate:modelValue":e[301]||(e[301]=_=>r.configFile.auto_read=_),onChange:e[302]||(e[302]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_read]])])])]),l("tr",null,[Kft,l("td",null,[l("div",jft,[P(l("input",{type:"text",id:"xtts_stream_chunk_size",required:"","onUpdate:modelValue":e[303]||(e[303]=_=>r.configFile.xtts_stream_chunk_size=_),onChange:e[304]||(e[304]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.xtts_stream_chunk_size]])])])]),l("tr",null,[Qft,l("td",null,[l("div",Xft,[P(l("input",{type:"number",id:"xtts_temperature",required:"","onUpdate:modelValue":e[305]||(e[305]=_=>r.configFile.xtts_temperature=_),onChange:e[306]||(e[306]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.01"},null,544),[[pe,r.configFile.xtts_temperature,void 0,{number:!0}]])])])]),l("tr",null,[Zft,l("td",null,[l("div",Jft,[P(l("input",{type:"number",id:"xtts_length_penalty",required:"","onUpdate:modelValue":e[307]||(e[307]=_=>r.configFile.xtts_length_penalty=_),onChange:e[308]||(e[308]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1"},null,544),[[pe,r.configFile.xtts_length_penalty,void 0,{number:!0}]])])])]),l("tr",null,[emt,l("td",null,[l("div",tmt,[P(l("input",{type:"number",id:"xtts_repetition_penalty",required:"","onUpdate:modelValue":e[309]||(e[309]=_=>r.configFile.xtts_repetition_penalty=_),onChange:e[310]||(e[310]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1"},null,544),[[pe,r.configFile.xtts_repetition_penalty,void 0,{number:!0}]])])])]),l("tr",null,[nmt,l("td",null,[l("div",smt,[P(l("input",{type:"number",id:"xtts_top_k",required:"","onUpdate:modelValue":e[311]||(e[311]=_=>r.configFile.xtts_top_k=_),onChange:e[312]||(e[312]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.xtts_top_k,void 0,{number:!0}]])])])]),l("tr",null,[imt,l("td",null,[l("div",rmt,[P(l("input",{type:"number",id:"xtts_top_p",required:"","onUpdate:modelValue":e[313]||(e[313]=_=>r.configFile.xtts_top_p=_),onChange:e[314]||(e[314]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.xtts_top_p,void 0,{number:!0}]])])])]),l("tr",null,[omt,l("td",null,[l("div",amt,[P(l("input",{type:"number",id:"xtts_speed",required:"","onUpdate:modelValue":e[315]||(e[315]=_=>r.configFile.xtts_speed=_),onChange:e[316]||(e[316]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1"},null,544),[[pe,r.configFile.xtts_speed,void 0,{number:!0}]])])])]),l("tr",null,[lmt,l("td",null,[l("div",cmt,[P(l("input",{type:"checkbox",id:"enable_text_splitting","onUpdate:modelValue":e[317]||(e[317]=_=>r.configFile.enable_text_splitting=_),onChange:e[318]||(e[318]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_text_splitting]])])])])])]),_:1}),V(a,{title:"Open AI TTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",dmt,[l("tr",null,[umt,l("td",null,[l("div",pmt,[P(l("input",{type:"text",id:"openai_tts_key",required:"","onUpdate:modelValue":e[319]||(e[319]=_=>r.configFile.openai_tts_key=_),onChange:e[320]||(e[320]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.openai_tts_key]])])])]),l("tr",null,[_mt,l("td",null,[l("div",hmt,[P(l("select",{"onUpdate:modelValue":e[321]||(e[321]=_=>r.configFile.openai_tts_model=_),onChange:e[322]||(e[322]=_=>i.settingsChanged=!0)},gmt,544),[[Dt,r.configFile.openai_tts_model]])])])]),l("tr",null,[bmt,l("td",null,[l("div",Emt,[P(l("select",{"onUpdate:modelValue":e[323]||(e[323]=_=>r.configFile.openai_tts_voice=_),onChange:e[324]||(e[324]=_=>i.settingsChanged=!0)},Cmt,544),[[Dt,r.configFile.openai_tts_voice]])])])])])]),_:1}),V(a,{title:"Eleven Labs TTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",wmt,[l("tr",null,[Rmt,l("td",null,[l("div",Amt,[P(l("input",{type:"text",id:"elevenlabs_tts_key",required:"","onUpdate:modelValue":e[325]||(e[325]=_=>r.configFile.elevenlabs_tts_key=_),onChange:e[326]||(e[326]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.elevenlabs_tts_key]])])])]),l("tr",null,[Nmt,l("td",null,[l("div",Omt,[P(l("input",{type:"text",id:"elevenlabs_tts_model_id",required:"","onUpdate:modelValue":e[327]||(e[327]=_=>r.configFile.elevenlabs_tts_model_id=_),onChange:e[328]||(e[328]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.elevenlabs_tts_model_id]])])])]),l("tr",null,[Mmt,l("td",null,[l("div",Imt,[P(l("input",{type:"number",id:"elevenlabs_tts_voice_stability",required:"","onUpdate:modelValue":e[329]||(e[329]=_=>r.configFile.elevenlabs_tts_voice_stability=_),onChange:e[330]||(e[330]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1",min:"0",max:"1"},null,544),[[pe,r.configFile.elevenlabs_tts_voice_stability]])])])]),l("tr",null,[kmt,l("td",null,[l("div",Dmt,[P(l("input",{type:"number",id:"elevenlabs_tts_voice_boost",required:"","onUpdate:modelValue":e[331]||(e[331]=_=>r.configFile.elevenlabs_tts_voice_boost=_),onChange:e[332]||(e[332]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1",min:"0",max:"1"},null,544),[[pe,r.configFile.elevenlabs_tts_voice_boost]])])])]),l("tr",null,[Lmt,l("td",null,[l("div",Pmt,[P(l("select",{"onUpdate:modelValue":e[333]||(e[333]=_=>r.configFile.elevenlabs_tts_voice_id=_),onChange:e[334]||(e[334]=_=>i.settingsChanged=!0)},[(T(!0),x(Fe,null,Ke(i.voices,_=>(T(),x("option",{key:_.voice_id,value:_.voice_id},K(_.name),9,Fmt))),128))],544),[[Dt,r.configFile.elevenlabs_tts_voice_id]])])])])])]),_:1})]),_:1}),V(a,{title:"TTI services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Stable diffusion service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Umt,[l("tr",null,[Bmt,l("td",null,[l("div",Gmt,[P(l("input",{type:"checkbox",id:"enable_sd_service",required:"","onUpdate:modelValue":e[335]||(e[335]=_=>r.configFile.enable_sd_service=_),onChange:e[336]||(e[336]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_sd_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[337]||(e[337]=_=>this.$store.state.messageBox.showMessage("Activates Stable diffusion service. The service will be automatically loaded at startup alowing you to use the stable diffusion endpoint to generate images"))},zmt)])]),l("tr",null,[Hmt,l("td",null,[l("div",qmt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[338]||(e[338]=(..._)=>r.reinstallSDService&&r.reinstallSDService(..._))},"install sd service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[339]||(e[339]=(..._)=>r.upgradeSDService&&r.upgradeSDService(..._))},"upgrade sd service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[340]||(e[340]=(..._)=>r.startSDService&&r.startSDService(..._))},"start sd service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[341]||(e[341]=(..._)=>r.showSD&&r.showSD(..._))},"show sd ui"),$mt])]),l("td",null,[l("div",Ymt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[342]||(e[342]=(..._)=>r.reinstallSDService&&r.reinstallSDService(..._))},"install sd service")])])]),l("tr",null,[Wmt,l("td",null,[l("div",Kmt,[P(l("input",{type:"text",id:"sd_base_url",required:"","onUpdate:modelValue":e[343]||(e[343]=_=>r.configFile.sd_base_url=_),onChange:e[344]||(e[344]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.sd_base_url]])])])])])]),_:1}),V(a,{title:"Diffusers service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",jmt,[l("tr",null,[Qmt,l("td",null,[l("div",Xmt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[345]||(e[345]=(..._)=>r.reinstallDiffusersService&&r.reinstallDiffusersService(..._))},"install diffusers service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[346]||(e[346]=(..._)=>r.upgradeDiffusersService&&r.upgradeDiffusersService(..._))},"upgrade diffusers service"),Zmt])])]),l("tr",null,[Jmt,l("td",null,[l("div",egt,[P(l("input",{type:"text",id:"diffusers_model",required:"","onUpdate:modelValue":e[347]||(e[347]=_=>r.configFile.diffusers_model=_),onChange:e[348]||(e[348]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.diffusers_model]])])]),tgt])])]),_:1}),V(a,{title:"Diffusers client service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",ngt,[l("tr",null,[sgt,l("td",null,[l("div",igt,[P(l("input",{type:"text",id:"diffusers_client_base_url",required:"","onUpdate:modelValue":e[349]||(e[349]=_=>r.configFile.diffusers_client_base_url=_),onChange:e[350]||(e[350]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.diffusers_client_base_url]])])]),rgt])])]),_:1}),V(a,{title:"Midjourney",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",ogt,[l("tr",null,[agt,l("td",null,[l("div",lgt,[P(l("input",{type:"text",id:"midjourney_key",required:"","onUpdate:modelValue":e[351]||(e[351]=_=>r.configFile.midjourney_key=_),onChange:e[352]||(e[352]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.midjourney_key]])])])]),l("tr",null,[cgt,l("td",null,[l("div",dgt,[P(l("input",{type:"number",min:"10",max:"2048",id:"midjourney_timeout",required:"","onUpdate:modelValue":e[353]||(e[353]=_=>r.configFile.midjourney_timeout=_),onChange:e[354]||(e[354]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.midjourney_timeout]])])])]),l("tr",null,[ugt,l("td",null,[l("div",pgt,[P(l("input",{type:"number",min:"0",max:"2048",id:"midjourney_retries",required:"","onUpdate:modelValue":e[355]||(e[355]=_=>r.configFile.midjourney_retries=_),onChange:e[356]||(e[356]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.midjourney_retries]])])])])])]),_:1}),V(a,{title:"Dall-E",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",_gt,[l("tr",null,[hgt,l("td",null,[l("div",fgt,[P(l("input",{type:"text",id:"dall_e_key",required:"","onUpdate:modelValue":e[357]||(e[357]=_=>r.configFile.dall_e_key=_),onChange:e[358]||(e[358]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.dall_e_key]])])])]),l("tr",null,[mgt,l("td",null,[l("div",ggt,[P(l("select",{"onUpdate:modelValue":e[359]||(e[359]=_=>r.configFile.dall_e_generation_engine=_),onChange:e[360]||(e[360]=_=>i.settingsChanged=!0)},ygt,544),[[Dt,r.configFile.dall_e_generation_engine]])])])])])]),_:1}),V(a,{title:"ComfyUI service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",vgt,[l("tr",null,[Sgt,l("td",null,[l("div",Tgt,[P(l("input",{type:"checkbox",id:"enable_comfyui_service",required:"","onUpdate:modelValue":e[361]||(e[361]=_=>r.configFile.enable_comfyui_service=_),onChange:e[362]||(e[362]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_comfyui_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[363]||(e[363]=_=>this.$store.state.messageBox.showMessage("Activates Stable diffusion service. The service will be automatically loaded at startup alowing you to use the stable diffusion endpoint to generate images"))},Cgt)])]),l("tr",null,[wgt,l("td",null,[l("div",Rgt,[P(l("select",{id:"comfyui_model",required:"","onUpdate:modelValue":e[364]||(e[364]=_=>r.configFile.comfyui_model=_),onChange:e[365]||(e[365]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.comfyui_models,(_,g)=>(T(),x("option",{key:_,value:_},K(_),9,Agt))),128))],544),[[Dt,r.configFile.comfyui_model]])])])]),l("tr",null,[Ngt,l("td",null,[l("div",Ogt,[P(l("input",{type:"text",id:"comfyui_model",required:"","onUpdate:modelValue":e[366]||(e[366]=_=>r.configFile.comfyui_model=_),onChange:e[367]||(e[367]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.comfyui_model]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[368]||(e[368]=_=>this.$store.state.messageBox.showMessage("Activates Stable diffusion service. The service will be automatically loaded at startup alowing you to use the stable diffusion endpoint to generate images"))},Igt)])]),l("tr",null,[kgt,l("td",null,[l("div",Dgt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[369]||(e[369]=(..._)=>r.reinstallComfyUIService&&r.reinstallComfyUIService(..._))},"install comfyui service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[370]||(e[370]=(..._)=>r.upgradeComfyUIService&&r.upgradeComfyUIService(..._))},"upgrade comfyui service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[371]||(e[371]=(..._)=>r.startComfyUIService&&r.startComfyUIService(..._))},"start comfyui service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[372]||(e[372]=(..._)=>r.showComfyui&&r.showComfyui(..._))},"show comfyui"),Lgt])])]),l("tr",null,[Pgt,l("td",null,[l("div",Fgt,[P(l("input",{type:"text",id:"comfyui_base_url",required:"","onUpdate:modelValue":e[373]||(e[373]=_=>r.configFile.comfyui_base_url=_),onChange:e[374]||(e[374]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.comfyui_base_url]])])])])])]),_:1})]),_:1}),V(a,{title:"TTT services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Ollama service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Ugt,[l("tr",null,[Bgt,l("td",null,[l("div",Ggt,[P(l("input",{type:"checkbox",id:"enable_ollama_service",required:"","onUpdate:modelValue":e[375]||(e[375]=_=>r.configFile.enable_ollama_service=_),onChange:e[376]||(e[376]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_ollama_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[377]||(e[377]=_=>this.$store.state.messageBox.showMessage(`Activates ollama service. The service will be automatically loaded at startup alowing you to use the ollama binding. +You need to apply changes before you leave, or else.`,"Apply configuration","Cancel")&&this.applyConfiguration(),!1}},D=t=>(vs("data-v-c8653825"),t=t(),Ss(),t),mat={class:"container flex flex-row shadow-lg p-10 pt-0 overflow-y-scroll w-full background-color scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},gat={class:"sticky top-0 z-10 flex flex-row mb-2 p-3 gap-3 w-full rounded-b-lg panels-color shadow-lg"},bat={key:0,class:"flex gap-3 flex-1 items-center duration-75"},Eat=D(()=>l("i",{"data-feather":"x"},null,-1)),yat=[Eat],vat=D(()=>l("i",{"data-feather":"check"},null,-1)),Sat=[vat],Tat={key:1,class:"flex gap-3 flex-1 items-center"},xat=D(()=>l("i",{"data-feather":"refresh-ccw"},null,-1)),Cat=[xat],wat=D(()=>l("i",{"data-feather":"list"},null,-1)),Rat=[wat],Aat={class:"flex gap-3 flex-1 items-center justify-end"},Nat=D(()=>l("i",{"data-feather":"trash-2"},null,-1)),Oat=[Nat],Mat=D(()=>l("i",{"data-feather":"refresh-ccw"},null,-1)),Iat=[Mat],kat=D(()=>l("i",{"data-feather":"arrow-up-circle"},null,-1)),Dat=D(()=>l("i",{"data-feather":"alert-circle"},null,-1)),Lat=[kat,Dat],Pat={class:"flex gap-3 items-center"},Fat={key:0,class:"flex gap-3 items-center"},Uat=D(()=>l("div",{class:"flex flex-row"},[l("p",{class:"text-green-600 font-bold hover:text-green-300 ml-4 pl-4 mr-4 pr-4"},"Apply changes:"),l("i",{"data-feather":"check"})],-1)),Bat=[Uat],Gat=D(()=>l("div",{class:"flex flex-row"},[l("p",{class:"text-red-600 font-bold hover:text-red-300 ml-4 pl-4 mr-4 pr-4"},"Cancel changes:"),l("i",{"data-feather":"x"})],-1)),Vat=[Gat],zat={key:1,role:"status"},Hat=D(()=>l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),qat=D(()=>l("span",{class:"sr-only"},"Loading...",-1)),$at={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Yat={class:"flex flex-row p-3"},Wat=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Kat=[Wat],jat=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Qat=[jat],Xat=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," System status",-1)),Zat=D(()=>l("div",{class:"mr-2"},"|",-1)),Jat={class:"text-base font-semibold cursor-pointer select-none items-center"},elt={class:"flex gap-2 items-center"},tlt={key:0},nlt=["src"],slt={class:"font-bold font-large text-lg"},ilt={key:1},rlt={class:"flex gap-2 items-center"},olt=["src"],alt={class:"font-bold font-large text-lg"},llt=D(()=>l("i",{"data-feather":"cpu",title:"CPU Ram",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),clt={class:"font-bold font-large text-lg"},dlt=D(()=>l("i",{"data-feather":"hard-drive",title:"Hard drive",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),ult={class:"font-bold font-large text-lg"},plt={class:"mb-2"},_lt=D(()=>l("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},[l("path",{fill:"currentColor",d:"M17 17H7V7h10m4 4V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3H9v2H7c-1.11 0-2 .89-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2m-6 2h-2v-2h2m2-2H9v6h6V9Z"})]),Je(" CPU Ram usage: ")],-1)),hlt={class:"flex flex-col mx-2"},flt=D(()=>l("b",null,"Avaliable ram: ",-1)),mlt=D(()=>l("b",null,"Ram usage: ",-1)),glt={class:"p-2"},blt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Elt={class:"mb-2"},ylt=D(()=>l("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[l("i",{"data-feather":"hard-drive",class:"w-5 h-5"}),Je(" Disk usage: ")],-1)),vlt={class:"flex flex-col mx-2"},Slt=D(()=>l("b",null,"Avaliable disk space: ",-1)),Tlt=D(()=>l("b",null,"Disk usage: ",-1)),xlt={class:"p-2"},Clt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},wlt={class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Rlt=["src"],Alt={class:"flex flex-col mx-2"},Nlt=D(()=>l("b",null,"Model: ",-1)),Olt=D(()=>l("b",null,"Avaliable vram: ",-1)),Mlt=D(()=>l("b",null,"GPU usage: ",-1)),Ilt={class:"p-2"},klt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Dlt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Llt={class:"flex flex-row p-3"},Plt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Flt=[Plt],Ult=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Blt=[Ult],Glt=D(()=>l("div",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Smart routing configurations",-1)),Vlt={class:"flex flex-col mb-2 px-3 pb-2"},zlt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Hlt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_smart_routing",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use Smart Routing:")],-1)),qlt={style:{width:"100%"}},$lt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"restore_model_after_smart_routing",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Restore model after smart routing:")],-1)),Ylt={style:{width:"100%"}},Wlt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"smart_routing_router_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Router Model:")],-1)),Klt={style:{width:"100%"}},jlt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"smart_routing_models_by_power",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Models by Power:")],-1)),Qlt={style:{width:"100%"}},Xlt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Zlt={class:"flex flex-row p-3"},Jlt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),ect=[Jlt],tct=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),nct=[tct],sct=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Main configurations",-1)),ict={class:"flex flex-col mb-2 px-3 pb-2"},rct={class:"expand-to-fit bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},oct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"app_custom_logo",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Application logo:")],-1)),act={for:"logo-upload"},lct=["src"],cct={style:{width:"10%"}},dct=D(()=>l("i",{"data-feather":"x"},null,-1)),uct=[dct],pct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"hardware_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Hardware mode:")],-1)),_ct={class:"text-center items-center"},hct={class:"flex flex-row"},fct=D(()=>l("option",{value:"cpu"},"CPU",-1)),mct=D(()=>l("option",{value:"cpu-noavx"},"CPU (No AVX)",-1)),gct=D(()=>l("option",{value:"nvidia-tensorcores"},"NVIDIA (Tensor Cores)",-1)),bct=D(()=>l("option",{value:"nvidia"},"NVIDIA",-1)),Ect=D(()=>l("option",{value:"amd-noavx"},"AMD (No AVX)",-1)),yct=D(()=>l("option",{value:"amd"},"AMD",-1)),vct=D(()=>l("option",{value:"apple-intel"},"Apple Intel",-1)),Sct=D(()=>l("option",{value:"apple-silicon"},"Apple Silicon",-1)),Tct=[fct,mct,gct,bct,Ect,yct,vct,Sct],xct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"discussion_db_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Database path:")],-1)),Cct={style:{width:"100%"}},wct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"copy_to_clipboard_add_all_details",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Add details to messages copied to clipboard:")],-1)),Rct={class:"flex flex-row"},Act=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_show_browser",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto show browser:")],-1)),Nct={class:"flex flex-row"},Oct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_debug",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate debug mode:")],-1)),Mct={class:"flex flex-row"},Ict=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_show_final_full_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate showing the full prompt in console (for debug):")],-1)),kct={class:"flex flex-row"},Dct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_show_final_full_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Show final full prompt in console:")],-1)),Lct={class:"flex flex-row"},Pct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_show_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Show chunks in console:")],-1)),Fct={class:"flex flex-row"},Uct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"debug_log_file_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Debug file path:")],-1)),Bct={class:"flex flex-row"},Gct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"show_news_panel",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Show news panel:")],-1)),Vct={class:"flex flex-row"},zct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_save",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto save:")],-1)),Hct={class:"flex flex-row"},qct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto update:")],-1)),$ct={class:"flex flex-row"},Yct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto title:")],-1)),Wct={class:"flex flex-row"},Kct={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},jct=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start header id template:")],-1)),Qct=D(()=>l("option",{value:"lollms"},"Lollms communication template",-1)),Xct=D(()=>l("option",{value:"lollms_simplified"},"Lollms simplified communication template",-1)),Zct=D(()=>l("option",{value:"bare"},"Bare, useful when in chat mode",-1)),Jct=D(()=>l("option",{value:"llama3"},"LLama3 communication template",-1)),edt=D(()=>l("option",{value:"mistral"},"Mistral communication template",-1)),tdt=[Qct,Xct,Zct,Jct,edt],ndt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start header id template:")],-1)),sdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End header id template:")],-1)),idt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_user_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start user header id template:")],-1)),rdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_user_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End user header id template:")],-1)),odt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_user_message_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End user message id template:")],-1)),adt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"start_ai_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Start ai header id template:")],-1)),ldt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_ai_header_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End ai header id template:")],-1)),cdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"end_ai_message_id_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"End ai message id template:")],-1)),ddt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"separator_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Separator template:")],-1)),udt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"system_message_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"System template:")],-1)),pdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"full_template",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Full template:")],-1)),_dt=["innerHTML"],hdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_continue_message",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"useful for chat models and repote models but can be less useful for instruct ones"},"Use continue message:")],-1)),fdt={style:{width:"100%"}},mdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},gdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"user_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User name:")],-1)),bdt={style:{width:"100%"}},Edt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"user_description",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User description:")],-1)),ydt={style:{width:"100%"}},vdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_user_informations_in_discussion",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use user description in discussion:")],-1)),Sdt={style:{width:"100%"}},Tdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_model_name_in_discussions",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use model name in discussion:")],-1)),xdt={style:{width:"100%"}},Cdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"user_avatar",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User avatar:")],-1)),wdt={for:"avatar-upload"},Rdt=["src"],Adt={style:{width:"10%"}},Ndt=D(()=>l("i",{"data-feather":"x"},null,-1)),Odt=[Ndt],Mdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_user_name_in_discussions",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use User Name in discussions:")],-1)),Idt={class:"flex flex-row"},kdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"max_n_predict",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Maximum number of output tokens space (forces the model to have more space to speak):")],-1)),Ddt={style:{width:"100%"}},Ldt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"max_n_predict",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Minimum number of output tokens space (forces the model to have more space to speak):")],-1)),Pdt={style:{width:"100%"}},Fdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Udt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_code_execution",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on code execution:")],-1)),Bdt={style:{width:"100%"}},Gdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_code_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on code validation (very recommended for security reasons):")],-1)),Vdt={style:{width:"100%"}},zdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_setting_update_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on apply settings validation (very recommended for security reasons):")],-1)),Hdt={style:{width:"100%"}},qdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_open_file_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on open file/folder validation:")],-1)),$dt={style:{width:"100%"}},Ydt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"turn_on_send_file_validation",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"turn on send file validation:")],-1)),Wdt={style:{width:"100%"}},Kdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},jdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_skills_lib",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate Skills library:")],-1)),Qdt={class:"flex flex-row"},Xdt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"discussion_db_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Skills library database name:")],-1)),Zdt={style:{width:"100%"}},Jdt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},eut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"pdf_latex_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"PDF LaTeX path:")],-1)),tut={class:"flex flex-row"},nut={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},sut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"positive_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Positive Boost:")],-1)),iut={class:"flex flex-row"},rut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"negative_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Negative Boost:")],-1)),out={class:"flex flex-row"},aut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"fun_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Fun mode:")],-1)),lut={class:"flex flex-row"},cut={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},dut={class:"flex flex-row p-3"},uut=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),put=[uut],_ut=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),hut=[_ut],fut=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Data management settings",-1)),mut={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},gut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_databases",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data Sources:")],-1)),but={style:{width:"100%"}},Eut=["onUpdate:modelValue"],yut=["onClick"],vut=["onClick"],Sut=["onClick"],Tut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG Vectorizer:")],-1)),xut=D(()=>l("option",{value:"semantic"},"Semantic Vectorizer",-1)),Cut=D(()=>l("option",{value:"tfidf"},"TFIDF Vectorizer",-1)),wut=D(()=>l("option",{value:"openai"},"OpenAI Vectorizer",-1)),Rut=[xut,Cut,wut],Aut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_vectorizer_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG Vectorizer model:")],-1)),Nut=["disabled"],Out={key:0,value:"sentence-transformers/bert-base-nli-mean-tokens"},Mut={key:1,value:"bert-base-uncased"},Iut={key:2,value:"bert-base-multilingual-uncased"},kut={key:3,value:"bert-large-uncased"},Dut={key:4,value:"bert-large-uncased-whole-word-masking-finetuned-squad"},Lut={key:5,value:"distilbert-base-uncased"},Put={key:6,value:"roberta-base"},Fut={key:7,value:"roberta-large"},Uut={key:8,value:"xlm-roberta-base"},But={key:9,value:"xlm-roberta-large"},Gut={key:10,value:"albert-base-v2"},Vut={key:11,value:"albert-large-v2"},zut={key:12,value:"albert-xlarge-v2"},Hut={key:13,value:"albert-xxlarge-v2"},qut={key:14,value:"sentence-transformers/all-MiniLM-L6-v2"},$ut={key:15,value:"sentence-transformers/all-MiniLM-L12-v2"},Yut={key:16,value:"sentence-transformers/all-distilroberta-v1"},Wut={key:17,value:"sentence-transformers/all-mpnet-base-v2"},Kut={key:18,value:"text-embedding-ada-002"},jut={key:19,value:"text-embedding-babbage-001"},Qut={key:20,value:"text-embedding-curie-001"},Xut={key:21,value:"text-embedding-davinci-001"},Zut={key:22,disabled:""},Jut=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_vectorizer_openai_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Open AI key for open ai embedding method (if not provided I'll use OPENAI_API_KEY environment variable):")],-1)),ept={class:"flex flex-row"},tpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG chunk size:")],-1)),npt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_overlap",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG overlap size:")],-1)),spt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_n_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"RAG number of chunks:")],-1)),ipt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_clean_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Clean chunks:")],-1)),rpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_follow_subfolders",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Follow subfolders:")],-1)),opt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_check_new_files_at_startup",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Check for new files at startup:")],-1)),apt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_preprocess_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Preprocess chunks:")],-1)),lpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_activate_multi_hops",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate multi hops RAG:")],-1)),cpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"contextual_summary",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use contextual summary instead of rag (consumes alot of tokens and may be very slow but efficient, useful for summary and global questions that RAG can't do):")],-1)),dpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"rag_deactivate",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Useful for very big contexts and global tasks that require the whole document"},"Use all the document content (No split):")],-1)),upt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},ppt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Save vectorized database:")],-1)),_pt={class:"flex flex-row"},hpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_visualize_on_vectorization",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"show vectorized data:")],-1)),fpt={class:"flex flex-row"},mpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_build_keys_words",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reformulate prompt before querying database (advised):")],-1)),gpt={class:"flex flex-row"},bpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_force_first_chunk",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Force adding the first chunk of the file to the context:")],-1)),Ept={class:"flex flex-row"},ypt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_put_chunk_informations_into_context",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Put Chunk Information Into Context:")],-1)),vpt={class:"flex flex-row"},Spt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization method:")],-1)),Tpt=D(()=>l("option",{value:"tfidf_vectorizer"},"tfidf Vectorizer",-1)),xpt=D(()=>l("option",{value:"bm25_vectorizer"},"bm25 Vectorizer",-1)),Cpt=D(()=>l("option",{value:"model_embedding"},"Model Embedding",-1)),wpt=D(()=>l("option",{value:"sentense_transformer"},"Sentense Transformer",-1)),Rpt=[Tpt,xpt,Cpt,wpt],Apt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_sentense_transformer_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization model (for Sentense Transformer):")],-1)),Npt={style:{width:"100%"}},Opt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_visualization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data visualization method:")],-1)),Mpt=D(()=>l("option",{value:"PCA"},"PCA",-1)),Ipt=D(()=>l("option",{value:"TSNE"},"TSNE",-1)),kpt=[Mpt,Ipt],Dpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Save the new files to the database (The database wil always grow and continue to be the same over many sessions):")],-1)),Lpt={class:"flex flex-row"},Ppt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization chunk size(tokens):")],-1)),Fpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization overlap size(tokens):")],-1)),Upt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Number of chunks to use for each message:")],-1)),Bpt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Gpt={class:"flex flex-row p-3"},Vpt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),zpt=[Vpt],Hpt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),qpt=[Hpt],$pt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Internet",-1)),Ypt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Wpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_internet_search",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate internet search:")],-1)),Kpt={class:"flex flex-row"},jpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_internet_pages_judgement",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate internet pages judgement:")],-1)),Qpt={class:"flex flex-row"},Xpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_quick_search",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate quick search:")],-1)),Zpt={class:"flex flex-row"},Jpt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_activate_search_decision",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate search decision:")],-1)),e_t={class:"flex flex-row"},t_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_vectorization_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet vectorization chunk size:")],-1)),n_t={class:"flex flex-col"},s_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet vectorization overlap size:")],-1)),i_t={class:"flex flex-col"},r_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_vectorization_nb_chunks",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet vectorization number of chunks:")],-1)),o_t={class:"flex flex-col"},a_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"internet_nb_search_pages",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Internet number of search pages:")],-1)),l_t={class:"flex flex-col"},c_t={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},d_t={class:"flex flex-row p-3"},u_t=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),p_t=[u_t],__t=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),h_t=[__t],f_t=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Services Zoo",-1)),m_t={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},g_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_tts_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to speach engine"},"Active TTS Service:")],-1)),b_t={style:{width:"100%"}},E_t=D(()=>l("option",{value:"None"},"None",-1)),y_t=D(()=>l("option",{value:"browser"},"Use Browser TTS (doesn't work in realtime mode)",-1)),v_t=D(()=>l("option",{value:"xtts"},"XTTS",-1)),S_t=D(()=>l("option",{value:"parler-tts"},"Parler-TTS",-1)),T_t=D(()=>l("option",{value:"openai_tts"},"Open AI TTS",-1)),x_t=D(()=>l("option",{value:"eleven_labs_tts"},"ElevenLabs TTS",-1)),C_t=D(()=>l("option",{value:"fish_tts"},"Fish TTS",-1)),w_t=[E_t,y_t,v_t,S_t,T_t,x_t,C_t],R_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_stt_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Speach to Text engine"},"Active STT Service:")],-1)),A_t={style:{width:"100%"}},N_t=D(()=>l("option",{value:"None"},"None",-1)),O_t=D(()=>l("option",{value:"whisper"},"Whisper",-1)),M_t=D(()=>l("option",{value:"openai_whisper"},"Open AI Whisper",-1)),I_t=[N_t,O_t,M_t],k_t=D(()=>l("tr",null,null,-1)),D_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_tti_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to image engine"},"Active TTI Service:")],-1)),L_t={style:{width:"100%"}},P_t=D(()=>l("option",{value:"None"},"None",-1)),F_t=D(()=>l("option",{value:"diffusers"},"Diffusers",-1)),U_t=D(()=>l("option",{value:"diffusers_client"},"Diffusers Client",-1)),B_t=D(()=>l("option",{value:"autosd"},"AUTO1111's SD",-1)),G_t=D(()=>l("option",{value:"dall-e"},"Open AI DALL-E",-1)),V_t=D(()=>l("option",{value:"midjourney"},"Midjourney",-1)),z_t=D(()=>l("option",{value:"comfyui"},"Comfyui",-1)),H_t=D(()=>l("option",{value:"fooocus"},"Fooocus",-1)),q_t=[P_t,F_t,U_t,B_t,G_t,V_t,z_t,H_t],$_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_ttm_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to Music engine"},"Active TTM Service:")],-1)),Y_t={style:{width:"100%"}},W_t=D(()=>l("option",{value:"None"},"None",-1)),K_t=D(()=>l("option",{value:"musicgen"},"Music Gen",-1)),j_t=[W_t,K_t],Q_t=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"active_ttv_service",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Default Text to speach engine"},"Active TTV Service:")],-1)),X_t={style:{width:"100%"}},Z_t=D(()=>l("option",{value:"None"},"None",-1)),J_t=D(()=>l("option",{value:"cog_video_x"},"Cog Video X",-1)),eht=[Z_t,J_t],tht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},nht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_negative_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use negative prompt:")],-1)),sht={class:"flex flex-row"},iht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"use_ai_generated_negative_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use AI generated negative prompt:")],-1)),rht={class:"flex flex-row"},oht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"negative_prompt_generation_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Negative prompt generation prompt:")],-1)),aht={class:"flex flex-row"},lht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"default_negative_prompt",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Default negative prompt:")],-1)),cht={class:"flex flex-row"},dht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},uht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_listening_threshold",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Listening threshold"},"Listening threshold:")],-1)),pht={style:{width:"100%"}},_ht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_silence_duration",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Scilence duration"},"Silence duration (s):")],-1)),hht={style:{width:"100%"}},fht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_sound_threshold_percentage",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"stt_sound_threshold_percentage"},"Minimum sound percentage in recorded segment:")],-1)),mht={style:{width:"100%"}},ght=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_gain",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"STT Gain"},"Volume amplification:")],-1)),bht={style:{width:"100%"}},Eht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_rate",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Audio Rate"},"audio rate:")],-1)),yht={style:{width:"100%"}},vht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_channels",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"number of channels"},"number of channels:")],-1)),Sht={style:{width:"100%"}},Tht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_buffer_size",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Buffer size"},"Buffer size:")],-1)),xht={style:{width:"100%"}},Cht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_activate_word_detection",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate word detection:")],-1)),wht={class:"flex flex-row"},Rht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_word_detection_file",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Word detection wav file:")],-1)),Aht={class:"flex flex-row"},Nht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Oht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"stt_input_device",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Input device"},"Audio Input device:")],-1)),Mht={style:{width:"100%"}},Iht=["value"],kht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"tts_output_device",class:"text-sm font-bold",style:{"margin-right":"1rem"},title:"Input device"},"Audio Output device:")],-1)),Dht={style:{width:"100%"}},Lht=["value"],Pht={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Fht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"host",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Host:")],-1)),Uht={style:{width:"100%"}},Bht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"lollms_access_keys",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Access keys:")],-1)),Ght={style:{width:"100%"}},Vht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"port",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Port:")],-1)),zht={style:{width:"100%"}},Hht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"headless_server_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate headless server mode:")],-1)),qht={style:{width:"100%"}},$ht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms server:")],-1)),Yht={style:{width:"100%"}},Wht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_rag_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms RAG server:")],-1)),Kht={style:{width:"100%"}},jht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_tts_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms TTS server:")],-1)),Qht={style:{width:"100%"}},Xht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_stt_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms STT server:")],-1)),Zht={style:{width:"100%"}},Jht=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_tti_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms TTI server:")],-1)),eft={style:{width:"100%"}},tft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_itt_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms ITT server:")],-1)),nft={style:{width:"100%"}},sft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_lollms_ttm_server",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate lollms TTM server:")],-1)),ift={style:{width:"100%"}},rft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_ollama_emulator",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate ollama server emulator:")],-1)),oft={style:{width:"100%"}},aft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_openai_emulator",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate openai server emulator:")],-1)),lft={style:{width:"100%"}},cft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_mistralai_emulator",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate mistral ai server emulator:")],-1)),dft={style:{width:"100%"}},uft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},pft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"activate_audio_infos",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate audio infos:")],-1)),_ft={class:"flex flex-row"},hft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_auto_send_input",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Send audio input automatically:")],-1)),fft={class:"flex flex-row"},mft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_silenceTimer",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio in silence timer (ms):")],-1)),gft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_in_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Input Audio Language:")],-1)),bft=["value"],Eft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},yft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"whisper_activate",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate Whisper at startup:")],-1)),vft={class:"flex flex-row"},Sft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}})],-1)),Tft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"whisper_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Whisper model:")],-1)),xft={class:"flex flex-row"},Cft=["value"],wft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Rft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_whisper_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"openai whisper key:")],-1)),Aft={class:"flex flex-row"},Nft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_whisper_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Open Ai Whisper model:")],-1)),Oft={class:"flex flex-row"},Mft=["value"],Ift={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},kft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_speak",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto speak:")],-1)),Dft={class:"flex flex-row"},Lft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_pitch",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio pitch:")],-1)),Pft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"audio_out_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Output Audio Voice:")],-1)),Fft=["value"],Uft={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Bft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current language:")],-1)),Gft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current language:")],-1)),Vft={class:"flex flex-row"},zft=["value"],Hft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_current_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current voice:")],-1)),qft={class:"flex flex-row"},$ft=["value"],Yft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_freq",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Frequency (controls the tone):")],-1)),Wft={class:"flex flex-row"},Kft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"auto_read",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto read:")],-1)),jft={class:"flex flex-row"},Qft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_stream_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"xtts stream chunk size:")],-1)),Xft={class:"flex flex-row"},Zft=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_temperature",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Temperature:")],-1)),Jft={class:"flex flex-row"},emt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_length_penalty",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Length Penalty:")],-1)),tmt={class:"flex flex-row"},nmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_repetition_penalty",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Repetition Penalty:")],-1)),smt={class:"flex flex-row"},imt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_top_k",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Top K:")],-1)),rmt={class:"flex flex-row"},omt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_top_p",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Top P:")],-1)),amt={class:"flex flex-row"},lmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"xtts_speed",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Speed:")],-1)),cmt={class:"flex flex-row"},dmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_text_splitting",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable Text Splitting:")],-1)),umt={class:"flex flex-row"},pmt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},_mt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_tts_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Open AI key:")],-1)),hmt={class:"flex flex-row"},fmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_tts_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"openai tts model:")],-1)),mmt={class:"flex flex-row"},gmt=D(()=>l("option",null," tts-1 ",-1)),bmt=D(()=>l("option",null," tts-2 ",-1)),Emt=[gmt,bmt],ymt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"openai_tts_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"openai tts voice:")],-1)),vmt={class:"flex flex-row"},Smt=D(()=>l("option",null," alloy ",-1)),Tmt=D(()=>l("option",null," echo ",-1)),xmt=D(()=>l("option",null," fable ",-1)),Cmt=D(()=>l("option",null," nova ",-1)),wmt=D(()=>l("option",null," shimmer ",-1)),Rmt=[Smt,Tmt,xmt,Cmt,wmt],Amt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Nmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Eleven Labs key:")],-1)),Omt={class:"flex flex-row"},Mmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_model_id",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Eleven Labs TTS model ID:")],-1)),Imt={class:"flex flex-row"},kmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_voice_stability",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Voice Stability:")],-1)),Dmt={class:"flex flex-row"},Lmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_voice_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Voice Boost:")],-1)),Pmt={class:"flex flex-row"},Fmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elevenlabs_tts_voice_id",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Voice ID:")],-1)),Umt={class:"flex flex-row"},Bmt=["value"],Gmt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Vmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"fish_tts_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Fish TTS key:")],-1)),zmt={class:"flex flex-row"},Hmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"fish_tts_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Fish TTS voice:")],-1)),qmt={class:"flex flex-row"},$mt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Ymt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable sd service:")],-1)),Wmt={class:"flex flex-row"},Kmt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),jmt=[Kmt],Qmt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"install_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install SD service:")],-1)),Xmt={class:"flex flex-row"},Zmt=D(()=>l("a",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",href:"https://github.com/ParisNeo/stable-diffusion-webui/blob/master/LICENSE.txt",target:"_blank"},"automatic1111's sd licence",-1)),Jmt={class:"flex flex-row"},egt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"sd_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"sd base url:")],-1)),tgt={class:"flex flex-row"},ngt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},sgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"install_diffusers_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install Diffusers service:")],-1)),igt={class:"flex flex-row"},rgt=D(()=>l("a",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",href:"https://github.com/huggingface/diffusers?tab=Apache-2.0-1-ov-file#readme",target:"_blank"},"Diffusers licence",-1)),ogt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"diffusers_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Diffusers model:")],-1)),agt={class:"flex flex-row"},lgt=D(()=>l("td",null,null,-1)),cgt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},dgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"diffusers_client_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Diffusers client base url:")],-1)),ugt={class:"flex flex-row"},pgt=D(()=>l("td",null,null,-1)),_gt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},hgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"midjourney_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"midjourney key:")],-1)),fgt={class:"flex flex-row"},mgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"midjourney_timeout",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"request timeout(s):")],-1)),ggt={class:"flex flex-row"},bgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"midjourney_retries",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"number of retries:")],-1)),Egt={class:"flex flex-row"},ygt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},vgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"dall_e_key",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"dall e key:")],-1)),Sgt={class:"flex flex-row"},Tgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"dall_e_generation_engine",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"dall e generation engine:")],-1)),xgt={class:"flex flex-row"},Cgt=D(()=>l("option",null," dall-e-2 ",-1)),wgt=D(()=>l("option",null," dall-e-3 ",-1)),Rgt=[Cgt,wgt],Agt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Ngt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_comfyui_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable comfyui service:")],-1)),Ogt={class:"flex flex-row"},Mgt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),Igt=[Mgt],kgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"comfyui_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Available models (only if local):")],-1)),Dgt={class:"flex flex-row"},Lgt=["value"],Pgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"comfyui_model",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable comfyui model:")],-1)),Fgt={class:"flex flex-row"},Ugt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),Bgt=[Ugt],Ggt=D(()=>l("td",{style:{"min-width":"200px"}},null,-1)),Vgt={class:"flex flex-row"},zgt=D(()=>l("a",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",href:"https://github.com/ParisNeo/ComfyUI/blob/master/LICENSE",target:"_blank"},"comfyui licence",-1)),Hgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"comfyui_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"comfyui base url:")],-1)),qgt={class:"flex flex-row"},$gt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Ygt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_ollama_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable ollama service:")],-1)),Wgt={class:"flex flex-row"},Kgt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),jgt=[Kgt],Qgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"ollama_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install Ollama service:")],-1)),Xgt={class:"flex flex-row"},Zgt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"ollama_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"ollama base url:")],-1)),Jgt={class:"flex flex-row"},ebt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},tbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_vllm_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable vLLM service:")],-1)),nbt={class:"flex flex-row"},sbt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),ibt=[sbt],rbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install vLLM service:")],-1)),obt={class:"flex flex-row"},abt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"vllm base url:")],-1)),lbt={class:"flex flex-row"},cbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_gpu_memory_utilization",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"gpu memory utilization:")],-1)),dbt={class:"flex flex-col align-bottom"},ubt={class:"relative"},pbt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"vllm_gpu_memory_utilization",class:"text-sm font-medium"}," vllm gpu memory utilization: ")],-1)),_bt={class:"absolute right-0"},hbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_max_num_seqs",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"vllm max num seqs:")],-1)),fbt={class:"flex flex-row"},mbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_max_model_len",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"max model len:")],-1)),gbt={class:"flex flex-row"},bbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"vllm_model_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"vllm model path:")],-1)),Ebt={class:"flex flex-row"},ybt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},vbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"enable_petals_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable petals service:")],-1)),Sbt={class:"flex flex-row"},Tbt=D(()=>l("i",{"data-feather":"help-circle",class:"w-5 h-5"},null,-1)),xbt=[Tbt],Cbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"petals_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Install Petals service:")],-1)),wbt={class:"flex flex-row"},Rbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"petals_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"petals base url:")],-1)),Abt={class:"flex flex-row"},Nbt={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Obt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elastic_search_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable elastic search service:")],-1)),Mbt={class:"flex flex-row"},Ibt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"install_elastic_search_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reinstall Elastic Search service:")],-1)),kbt={class:"flex flex-row"},Dbt=D(()=>l("td",{style:{"min-width":"200px"}},[l("label",{for:"elastic_search_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"elastic search base url:")],-1)),Lbt={class:"flex flex-row"},Pbt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Fbt={class:"flex flex-row p-3"},Ubt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Bbt=[Ubt],Gbt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Vbt=[Gbt],zbt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Binding zoo",-1)),Hbt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},qbt=D(()=>l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),$bt={key:1,class:"mr-2"},Ybt={key:2,class:"text-base font-semibold cursor-pointer select-none items-center"},Wbt={class:"flex gap-1 items-center"},Kbt=["src"],jbt={class:"font-bold font-large text-lg line-clamp-1"},Qbt={key:0,class:"mb-2"},Xbt={for:"binding",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Zbt=D(()=>l("i",{"data-feather":"chevron-up"},null,-1)),Jbt=[Zbt],eEt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),tEt=[eEt],nEt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},sEt={class:"flex flex-row p-3"},iEt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),rEt=[iEt],oEt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),aEt=[oEt],lEt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Models zoo",-1)),cEt={class:"flex flex-row items-center"},dEt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},uEt=D(()=>l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),pEt={key:1,class:"text-base text-red-600 flex gap-3 items-center mr-2"},_Et=D(()=>l("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),hEt={key:2,class:"mr-2"},fEt={key:3,class:"text-base font-semibold cursor-pointer select-none items-center"},mEt={class:"flex gap-1 items-center"},gEt=["src"],bEt={class:"font-bold font-large text-lg line-clamp-1"},EEt={class:"mx-2 mb-4"},yEt={class:"relative"},vEt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},SEt={key:0},TEt=D(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),xEt=[TEt],CEt={key:1},wEt=D(()=>l("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),REt=[wEt],AEt=D(()=>l("label",{for:"only_installed"},"Show only installed models",-1)),NEt=D(()=>l("a",{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",target:"_blank",class:"mb-4 font-bold underline text-blue-500 pb-4"},"Hugging face Leaderboard",-1)),OEt={key:0,role:"status",class:"text-center w-full display: flex;align-items: center;"},MEt=D(()=>l("svg",{"aria-hidden":"true",class:"text-center w-full display: flex;align-items: center; h-20 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),IEt=D(()=>l("p",{class:"heartbeat-text"},"Loading models Zoo",-1)),kEt=[MEt,IEt],DEt={key:1,class:"mb-2"},LEt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},PEt=D(()=>l("i",{"data-feather":"chevron-up"},null,-1)),FEt=[PEt],UEt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),BEt=[UEt],GEt={class:"mb-2"},VEt={class:"p-2"},zEt={class:"mb-3"},HEt=D(()=>l("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Create a reference from local file path:",-1)),qEt={key:0},$Et={class:"mb-3"},YEt=D(()=>l("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Download from web:",-1)),WEt={key:1,class:"relative flex flex-col items-center justify-center flex-grow h-full"},KEt=D(()=>l("div",{role:"status",class:"justify-center"},null,-1)),jEt={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},QEt={class:"w-full p-2"},XEt={class:"flex justify-between mb-1"},ZEt=Na(' Downloading Loading...',1),JEt={class:"text-sm font-medium text-blue-700 dark:text-white"},eyt=["title"],tyt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},nyt={class:"flex justify-between mb-1"},syt={class:"text-base font-medium text-blue-700 dark:text-white"},iyt={class:"text-sm font-medium text-blue-700 dark:text-white"},ryt={class:"flex flex-grow"},oyt={class:"flex flex-row flex-grow gap-3"},ayt={class:"p-2 text-center grow"},lyt={class:"flex flex-col mb-2 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},cyt={class:"flex flex-row p-3 items-center"},dyt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),uyt=[dyt],pyt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),_yt=[pyt],hyt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Personalities zoo",-1)),fyt={key:0,class:"mr-2"},myt={class:"mr-2 font-bold font-large text-lg line-clamp-1"},gyt={key:1,class:"mr-2"},byt={key:2,class:"text-base font-semibold cursor-pointer select-none items-center flex flex-row"},Eyt={key:0,class:"flex -space-x-4 items-center"},yyt={class:"group items-center flex flex-row"},vyt=["onClick"],Syt=["src","title"],Tyt=["onClick"],xyt=D(()=>l("span",{class:"hidden group-hover:block -top-2 -right-1 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount personality"},[l("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),Cyt=[xyt],wyt=D(()=>l("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)),Ryt=[wyt],Ayt={class:"mx-2 mb-4"},Nyt=D(()=>l("label",{for:"personality-search",class:"mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"},"Search",-1)),Oyt={class:"relative"},Myt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},Iyt={key:0},kyt=D(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),Dyt=[kyt],Lyt={key:1},Pyt=D(()=>l("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Fyt=[Pyt],Uyt={key:0,class:"mx-2 mb-4"},Byt={for:"persCat",class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},Gyt=["selected"],Vyt={key:0,class:"mb-2"},zyt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Hyt=D(()=>l("i",{"data-feather":"chevron-up"},null,-1)),qyt=[Hyt],$yt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Yyt=[$yt],Wyt={class:"flex flex-col mb-2 p-3 rounded-lg panels-color hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Kyt={class:"flex flex-row"},jyt=D(()=>l("i",{"data-feather":"chevron-right"},null,-1)),Qyt=[jyt],Xyt=D(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Zyt=[Xyt],Jyt=D(()=>l("p",{class:"text-lg font-semibold cursor-pointer select-none"}," Model Configuration",-1)),evt={class:"m-2"},tvt={class:"flex flex-row gap-2 items-center"},nvt=D(()=>l("label",{for:"override-model-parameters",class:"block text-sm font-medium"}," Override personality model parameters ",-1)),svt={class:"m-2"},ivt=D(()=>l("label",{for:"seed",class:"block mb-2 text-sm font-medium"}," Seed: ",-1)),rvt={class:"m-2"},ovt={class:"flex flex-col align-bottom"},avt={class:"relative"},lvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"temperature",class:"text-sm font-medium"}," Temperature: ")],-1)),cvt={class:"absolute right-0"},dvt={class:"m-2"},uvt={class:"flex flex-col align-bottom"},pvt={class:"relative"},_vt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"predict",class:"text-sm font-medium"}," N Predict: ")],-1)),hvt={class:"absolute right-0"},fvt={class:"m-2"},mvt={class:"flex flex-col align-bottom"},gvt={class:"relative"},bvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"top_k",class:"text-sm font-medium"}," Top-K: ")],-1)),Evt={class:"absolute right-0"},yvt={class:"m-2"},vvt={class:"flex flex-col align-bottom"},Svt={class:"relative"},Tvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"top_p",class:"text-sm font-medium"}," Top-P: ")],-1)),xvt={class:"absolute right-0"},Cvt={class:"m-2"},wvt={class:"flex flex-col align-bottom"},Rvt={class:"relative"},Avt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"repeat_penalty",class:"text-sm font-medium"}," Repeat penalty: ")],-1)),Nvt={class:"absolute right-0"},Ovt={class:"m-2"},Mvt={class:"flex flex-col align-bottom"},Ivt={class:"relative"},kvt=D(()=>l("p",{class:"absolute left-0 mt-6"},[l("label",{for:"repeat_last_n",class:"text-sm font-medium"}," Repeat last N: ")],-1)),Dvt={class:"absolute right-0"};function Lvt(t,e,n,s,i,r){const o=tt("StringListManager"),a=tt("Card"),c=tt("BindingEntry"),d=tt("RadioOptions"),u=tt("model-entry"),h=tt("personality-entry"),f=tt("AddModelDialog"),m=tt("ChoiceDialog");return T(),x(Fe,null,[l("div",mat,[l("div",gat,[i.showConfirmation?(T(),x("div",bat,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:e[0]||(e[0]=j(_=>i.showConfirmation=!1,["stop"]))},yat),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:e[1]||(e[1]=j(_=>r.save_configuration(),["stop"]))},Sat)])):G("",!0),i.showConfirmation?G("",!0):(T(),x("div",Tat,[l("button",{title:"Reset configuration",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[2]||(e[2]=_=>r.reset_configuration())},Cat),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Collapse / Expand all panels",type:"button",onClick:e[3]||(e[3]=j(_=>i.all_collapsed=!i.all_collapsed,["stop"]))},Rat)])),l("div",Aat,[l("button",{title:"Clear uploads",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[4]||(e[4]=_=>r.api_get_req("clear_uploads").then(g=>{g.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},Oat),l("button",{title:"Restart program",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[5]||(e[5]=_=>r.api_post_req("restart_program").then(g=>{g.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},Iat),i.has_updates?(T(),x("button",{key:0,title:"Upgrade program ",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[6]||(e[6]=_=>r.api_post_req("update_software").then(g=>{g.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Success!",4,!0)}))},Lat)):G("",!0),l("div",Pat,[i.settingsChanged?(T(),x("div",Fat,[i.isLoading?G("",!0):(T(),x("button",{key:0,class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Apply changes",type:"button",onClick:e[7]||(e[7]=j(_=>r.applyConfiguration(),["stop"]))},Bat)),i.isLoading?G("",!0):(T(),x("button",{key:1,class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Cancel changes",type:"button",onClick:e[8]||(e[8]=j(_=>r.cancelConfiguration(),["stop"]))},Vat))])):G("",!0),i.isLoading?(T(),x("div",zat,[l("p",null,K(i.loading_text),1),Hat,qat])):G("",!0)])])]),l("div",{class:Ge(i.isLoading?"pointer-events-none opacity-30 w-full":"w-full")},[l("div",$at,[l("div",Yat,[l("button",{onClick:e[9]||(e[9]=j(_=>i.sc_collapsed=!i.sc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,Kat,512),[[wt,i.sc_collapsed]]),P(l("div",null,Qat,512),[[wt,!i.sc_collapsed]]),Xat,Zat,l("div",Jat,[l("div",elt,[l("div",null,[r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length==1?(T(),x("div",tlt,[(T(!0),x(Fe,null,Ke(r.vramUsage.gpus,_=>(T(),x("div",{class:"flex gap-2 items-center",key:_},[l("img",{src:i.SVGGPU,width:"25",height:"25"},null,8,nlt),l("p",slt,[l("div",null,K(r.computedFileSize(_.used_vram))+" / "+K(r.computedFileSize(_.total_vram))+" ("+K(_.percentage)+"%) ",1)])]))),128))])):G("",!0),r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length>1?(T(),x("div",ilt,[l("div",rlt,[l("img",{src:i.SVGGPU,width:"25",height:"25"},null,8,olt),l("p",alt,[l("div",null,K(r.vramUsage.gpus.length)+"x ",1)])])])):G("",!0)]),llt,l("p",clt,[l("div",null,K(r.ram_usage)+" / "+K(r.ram_total_space)+" ("+K(r.ram_percent_usage)+"%)",1)]),dlt,l("p",ult,[l("div",null,K(r.disk_binding_models_usage)+" / "+K(r.disk_total_space)+" ("+K(r.disk_percent_usage)+"%)",1)])])])])]),l("div",{class:Ge([{hidden:i.sc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",plt,[_lt,l("div",hlt,[l("div",null,[flt,Je(K(r.ram_available_space),1)]),l("div",null,[mlt,Je(" "+K(r.ram_usage)+" / "+K(r.ram_total_space)+" ("+K(r.ram_percent_usage)+")% ",1)])]),l("div",glt,[l("div",blt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht("width: "+r.ram_percent_usage+"%;")},null,4)])])]),l("div",Elt,[ylt,l("div",vlt,[l("div",null,[Slt,Je(K(r.disk_available_space),1)]),l("div",null,[Tlt,Je(" "+K(r.disk_binding_models_usage)+" / "+K(r.disk_total_space)+" ("+K(r.disk_percent_usage)+"%)",1)])]),l("div",xlt,[l("div",Clt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht("width: "+r.disk_percent_usage+"%;")},null,4)])])]),(T(!0),x(Fe,null,Ke(r.vramUsage.gpus,_=>(T(),x("div",{class:"mb-2",key:_},[l("label",wlt,[l("img",{src:i.SVGGPU,width:"25",height:"25"},null,8,Rlt),Je(" GPU usage: ")]),l("div",Alt,[l("div",null,[Nlt,Je(K(_.gpu_model),1)]),l("div",null,[Olt,Je(K(this.computedFileSize(_.available_space)),1)]),l("div",null,[Mlt,Je(" "+K(this.computedFileSize(_.used_vram))+" / "+K(this.computedFileSize(_.total_vram))+" ("+K(_.percentage)+"%)",1)])]),l("div",Ilt,[l("div",klt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht("width: "+_.percentage+"%;")},null,4)])])]))),128))],2)]),l("div",Dlt,[l("div",Llt,[l("button",{onClick:e[10]||(e[10]=j(_=>i.smartrouterconf_collapsed=!i.smartrouterconf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,Flt,512),[[wt,i.smartrouterconf_collapsed]]),P(l("div",null,Blt,512),[[wt,!i.smartrouterconf_collapsed]]),Glt])]),l("div",{class:Ge([{hidden:i.smartrouterconf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",Vlt,[V(a,{title:"Smart Routing Settings",is_shrunk:!1,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",zlt,[l("tr",null,[Hlt,l("td",qlt,[P(l("input",{type:"checkbox",id:"use_smart_routing","onUpdate:modelValue":e[11]||(e[11]=_=>r.configFile.use_smart_routing=_),onChange:e[12]||(e[12]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_smart_routing]])])]),l("tr",null,[$lt,l("td",Ylt,[P(l("input",{type:"checkbox",id:"restore_model_after_smart_routing","onUpdate:modelValue":e[13]||(e[13]=_=>r.configFile.restore_model_after_smart_routing=_),onChange:e[14]||(e[14]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.restore_model_after_smart_routing]])])]),l("tr",null,[Wlt,l("td",Klt,[P(l("input",{type:"text",id:"smart_routing_router_model","onUpdate:modelValue":e[15]||(e[15]=_=>r.configFile.smart_routing_router_model=_),onChange:e[16]||(e[16]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.smart_routing_router_model]])])]),l("tr",null,[jlt,l("td",Qlt,[V(o,{modelValue:r.configFile.smart_routing_models_by_power,"onUpdate:modelValue":e[17]||(e[17]=_=>r.configFile.smart_routing_models_by_power=_),onChange:e[18]||(e[18]=_=>i.settingsChanged=!0),placeholder:"Enter model name"},null,8,["modelValue"])])])])]),_:1})])],2)]),l("div",Xlt,[l("div",Zlt,[l("button",{onClick:e[19]||(e[19]=j(_=>i.mainconf_collapsed=!i.mainconf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,ect,512),[[wt,i.mainconf_collapsed]]),P(l("div",null,nct,512),[[wt,!i.mainconf_collapsed]]),sct])]),l("div",{class:Ge([{hidden:i.mainconf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",ict,[V(a,{title:"General",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",rct,[l("tr",null,[oct,l("td",null,[l("label",act,[l("img",{src:r.configFile.app_custom_logo!=null&&r.configFile.app_custom_logo!=""?"/user_infos/"+r.configFile.app_custom_logo:i.storeLogo,class:"w-50 h-50 rounded-full",style:{"max-width":"50px","max-height":"50px",cursor:"pointer"}},null,8,lct)]),l("input",{type:"file",id:"logo-upload",style:{display:"none"},onChange:e[20]||(e[20]=(..._)=>r.uploadLogo&&r.uploadLogo(..._))},null,32)]),l("td",cct,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Discard title changes",type:"button",onClick:e[21]||(e[21]=j(_=>r.resetLogo(),["stop"]))},uct)])]),l("tr",null,[pct,l("td",_ct,[l("div",hct,[P(l("select",{id:"hardware_mode",required:"","onUpdate:modelValue":e[22]||(e[22]=_=>r.configFile.hardware_mode=_),onChange:e[23]||(e[23]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},Tct,544),[[Dt,r.configFile.hardware_mode]])])])]),l("tr",null,[xct,l("td",Cct,[P(l("input",{type:"text",id:"discussion_db_name",required:"","onUpdate:modelValue":e[24]||(e[24]=_=>r.configFile.discussion_db_name=_),onChange:e[25]||(e[25]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.discussion_db_name]])])]),l("tr",null,[wct,l("td",null,[l("div",Rct,[P(l("input",{type:"checkbox",id:"copy_to_clipboard_add_all_details",required:"","onUpdate:modelValue":e[26]||(e[26]=_=>r.configFile.copy_to_clipboard_add_all_details=_),onChange:e[27]||(e[27]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.copy_to_clipboard_add_all_details]])])])]),l("tr",null,[Act,l("td",null,[l("div",Nct,[P(l("input",{type:"checkbox",id:"auto_show_browser",required:"","onUpdate:modelValue":e[28]||(e[28]=_=>r.configFile.auto_show_browser=_),onChange:e[29]||(e[29]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_show_browser]])])])]),l("tr",null,[Oct,l("td",null,[l("div",Mct,[P(l("input",{type:"checkbox",id:"activate_debug",required:"","onUpdate:modelValue":e[30]||(e[30]=_=>r.configFile.debug=_),onChange:e[31]||(e[31]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug]])])])]),l("tr",null,[Ict,l("td",null,[l("div",kct,[P(l("input",{type:"checkbox",id:"debug_show_final_full_prompt",required:"","onUpdate:modelValue":e[32]||(e[32]=_=>r.configFile.debug_show_final_full_prompt=_),onChange:e[33]||(e[33]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug_show_final_full_prompt]])])])]),l("tr",null,[Dct,l("td",null,[l("div",Lct,[P(l("input",{type:"checkbox",id:"debug_show_final_full_prompt",required:"","onUpdate:modelValue":e[34]||(e[34]=_=>r.configFile.debug_show_final_full_prompt=_),onChange:e[35]||(e[35]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug_show_final_full_prompt]])])])]),l("tr",null,[Pct,l("td",null,[l("div",Fct,[P(l("input",{type:"checkbox",id:"debug_show_chunks",required:"","onUpdate:modelValue":e[36]||(e[36]=_=>r.configFile.debug_show_chunks=_),onChange:e[37]||(e[37]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.debug_show_chunks]])])])]),l("tr",null,[Uct,l("td",null,[l("div",Bct,[P(l("input",{type:"text",id:"debug_log_file_path",required:"","onUpdate:modelValue":e[38]||(e[38]=_=>r.configFile.debug_log_file_path=_),onChange:e[39]||(e[39]=_=>i.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.debug_log_file_path]])])])]),l("tr",null,[Gct,l("td",null,[l("div",Vct,[P(l("input",{type:"checkbox",id:"show_news_panel",required:"","onUpdate:modelValue":e[40]||(e[40]=_=>r.configFile.show_news_panel=_),onChange:e[41]||(e[41]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.show_news_panel]])])])]),l("tr",null,[zct,l("td",null,[l("div",Hct,[P(l("input",{type:"checkbox",id:"auto_save",required:"","onUpdate:modelValue":e[42]||(e[42]=_=>r.configFile.auto_save=_),onChange:e[43]||(e[43]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_save]])])])]),l("tr",null,[qct,l("td",null,[l("div",$ct,[P(l("input",{type:"checkbox",id:"auto_update",required:"","onUpdate:modelValue":e[44]||(e[44]=_=>r.configFile.auto_update=_),onChange:e[45]||(e[45]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_update]])])])]),l("tr",null,[Yct,l("td",null,[l("div",Wct,[P(l("input",{type:"checkbox",id:"auto_title",required:"","onUpdate:modelValue":e[46]||(e[46]=_=>r.configFile.auto_title=_),onChange:e[47]||(e[47]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_title]])])])])])]),_:1}),V(a,{title:"Model template",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Kct,[l("tr",null,[jct,l("td",null,[l("select",{onChange:e[48]||(e[48]=(..._)=>r.handleTemplateSelection&&r.handleTemplateSelection(..._))},tdt,32)])]),l("tr",null,[ndt,l("td",null,[P(l("input",{type:"text",id:"start_header_id_template",required:"","onUpdate:modelValue":e[49]||(e[49]=_=>r.configFile.start_header_id_template=_),onChange:e[50]||(e[50]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.start_header_id_template]])])]),l("tr",null,[sdt,l("td",null,[P(l("input",{type:"text",id:"end_header_id_template",required:"","onUpdate:modelValue":e[51]||(e[51]=_=>r.configFile.end_header_id_template=_),onChange:e[52]||(e[52]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_header_id_template]])])]),l("tr",null,[idt,l("td",null,[P(l("input",{type:"text",id:"start_user_header_id_template",required:"","onUpdate:modelValue":e[53]||(e[53]=_=>r.configFile.start_user_header_id_template=_),onChange:e[54]||(e[54]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.start_user_header_id_template]])])]),l("tr",null,[rdt,l("td",null,[P(l("input",{type:"text",id:"end_user_header_id_template",required:"","onUpdate:modelValue":e[55]||(e[55]=_=>r.configFile.end_user_header_id_template=_),onChange:e[56]||(e[56]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_user_header_id_template]])])]),l("tr",null,[odt,l("td",null,[P(l("input",{type:"text",id:"end_user_message_id_template",required:"","onUpdate:modelValue":e[57]||(e[57]=_=>r.configFile.end_user_message_id_template=_),onChange:e[58]||(e[58]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_user_message_id_template]])])]),l("tr",null,[adt,l("td",null,[P(l("input",{type:"text",id:"start_ai_header_id_template",required:"","onUpdate:modelValue":e[59]||(e[59]=_=>r.configFile.start_ai_header_id_template=_),onChange:e[60]||(e[60]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.start_ai_header_id_template]])])]),l("tr",null,[ldt,l("td",null,[P(l("input",{type:"text",id:"end_ai_header_id_template",required:"","onUpdate:modelValue":e[61]||(e[61]=_=>r.configFile.end_ai_header_id_template=_),onChange:e[62]||(e[62]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_ai_header_id_template]])])]),l("tr",null,[cdt,l("td",null,[P(l("input",{type:"text",id:"end_ai_message_id_template",required:"","onUpdate:modelValue":e[63]||(e[63]=_=>r.configFile.end_ai_message_id_template=_),onChange:e[64]||(e[64]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.end_ai_message_id_template]])])]),l("tr",null,[ddt,l("td",null,[P(l("textarea",{id:"separator_template",required:"","onUpdate:modelValue":e[65]||(e[65]=_=>r.configFile.separator_template=_),onChange:e[66]||(e[66]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.separator_template]])])]),l("tr",null,[udt,l("td",null,[P(l("input",{type:"text",id:"system_message_template",required:"","onUpdate:modelValue":e[67]||(e[67]=_=>r.configFile.system_message_template=_),onChange:e[68]||(e[68]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.system_message_template]])])]),l("tr",null,[pdt,l("td",null,[l("div",{innerHTML:r.full_template},null,8,_dt)])]),l("tr",null,[hdt,l("td",fdt,[P(l("input",{type:"checkbox",id:"use_continue_message",required:"","onUpdate:modelValue":e[69]||(e[69]=_=>r.configFile.use_continue_message=_),onChange:e[70]||(e[70]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_continue_message]])])])])]),_:1}),V(a,{title:"User",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",mdt,[l("tr",null,[gdt,l("td",bdt,[P(l("input",{type:"text",id:"user_name",required:"","onUpdate:modelValue":e[71]||(e[71]=_=>r.configFile.user_name=_),onChange:e[72]||(e[72]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.user_name]])])]),l("tr",null,[Edt,l("td",ydt,[P(l("textarea",{id:"user_description",required:"","onUpdate:modelValue":e[73]||(e[73]=_=>r.configFile.user_description=_),onChange:e[74]||(e[74]=_=>i.settingsChanged=!0),class:"min-h-[500px] w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.user_description]])])]),l("tr",null,[vdt,l("td",Sdt,[P(l("input",{type:"checkbox",id:"use_user_informations_in_discussion",required:"","onUpdate:modelValue":e[75]||(e[75]=_=>r.configFile.use_user_informations_in_discussion=_),onChange:e[76]||(e[76]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_user_informations_in_discussion]])])]),l("tr",null,[Tdt,l("td",xdt,[P(l("input",{type:"checkbox",id:"use_model_name_in_discussions",required:"","onUpdate:modelValue":e[77]||(e[77]=_=>r.configFile.use_model_name_in_discussions=_),onChange:e[78]||(e[78]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_model_name_in_discussions]])])]),l("tr",null,[Cdt,l("td",null,[l("label",wdt,[l("img",{src:r.configFile.user_avatar!=null&&r.configFile.user_avatar!=""?"/user_infos/"+r.configFile.user_avatar:i.storeLogo,class:"w-50 h-50 rounded-full",style:{"max-width":"50px","max-height":"50px",cursor:"pointer"}},null,8,Rdt)]),l("input",{type:"file",id:"avatar-upload",style:{display:"none"},onChange:e[79]||(e[79]=(..._)=>r.uploadAvatar&&r.uploadAvatar(..._))},null,32)]),l("td",Adt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Discard title changes",type:"button",onClick:e[80]||(e[80]=j(_=>r.resetAvatar(),["stop"]))},Odt)])]),l("tr",null,[Mdt,l("td",null,[l("div",Idt,[P(l("input",{type:"checkbox",id:"use_user_name_in_discussions",required:"","onUpdate:modelValue":e[81]||(e[81]=_=>r.configFile.use_user_name_in_discussions=_),onChange:e[82]||(e[82]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_user_name_in_discussions]])])])]),l("tr",null,[kdt,l("td",Ddt,[P(l("input",{type:"number",id:"max_n_predict",required:"","onUpdate:modelValue":e[83]||(e[83]=_=>r.configFile.max_n_predict=_),onChange:e[84]||(e[84]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.max_n_predict]])])]),l("tr",null,[Ldt,l("td",Pdt,[P(l("input",{type:"number",id:"max_n_predict",required:"","onUpdate:modelValue":e[85]||(e[85]=_=>r.configFile.max_n_predict=_),onChange:e[86]||(e[86]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.max_n_predict]])])])])]),_:1}),V(a,{title:"Security settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Fdt,[l("tr",null,[Udt,l("td",Bdt,[P(l("input",{type:"checkbox",id:"turn_on_code_execution",required:"","onUpdate:modelValue":e[87]||(e[87]=_=>r.configFile.turn_on_code_execution=_),onChange:e[88]||(e[88]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_code_execution]])])]),l("tr",null,[Gdt,l("td",Vdt,[P(l("input",{type:"checkbox",id:"turn_on_code_validation",required:"","onUpdate:modelValue":e[89]||(e[89]=_=>r.configFile.turn_on_code_validation=_),onChange:e[90]||(e[90]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_code_validation]])])]),l("tr",null,[zdt,l("td",Hdt,[P(l("input",{type:"checkbox",id:"turn_on_setting_update_validation",required:"","onUpdate:modelValue":e[91]||(e[91]=_=>r.configFile.turn_on_setting_update_validation=_),onChange:e[92]||(e[92]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_setting_update_validation]])])]),l("tr",null,[qdt,l("td",$dt,[P(l("input",{type:"checkbox",id:"turn_on_open_file_validation",required:"","onUpdate:modelValue":e[93]||(e[93]=_=>r.configFile.turn_on_open_file_validation=_),onChange:e[94]||(e[94]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_open_file_validation]])])]),l("tr",null,[Ydt,l("td",Wdt,[P(l("input",{type:"checkbox",id:"turn_on_send_file_validation",required:"","onUpdate:modelValue":e[95]||(e[95]=_=>r.configFile.turn_on_send_file_validation=_),onChange:e[96]||(e[96]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.turn_on_send_file_validation]])])])])]),_:1}),V(a,{title:"Knowledge database",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Kdt,[l("tr",null,[jdt,l("td",null,[l("div",Qdt,[P(l("input",{type:"checkbox",id:"activate_skills_lib",required:"","onUpdate:modelValue":e[97]||(e[97]=_=>r.configFile.activate_skills_lib=_),onChange:e[98]||(e[98]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_skills_lib]])])])]),l("tr",null,[Xdt,l("td",Zdt,[P(l("input",{type:"text",id:"skills_lib_database_name",required:"","onUpdate:modelValue":e[99]||(e[99]=_=>r.configFile.skills_lib_database_name=_),onChange:e[100]||(e[100]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.skills_lib_database_name]])])])])]),_:1}),V(a,{title:"Latex",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Jdt,[l("tr",null,[eut,l("td",null,[l("div",tut,[P(l("input",{type:"text",id:"pdf_latex_path",required:"","onUpdate:modelValue":e[101]||(e[101]=_=>r.configFile.pdf_latex_path=_),onChange:e[102]||(e[102]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.pdf_latex_path]])])])])])]),_:1}),V(a,{title:"Boost",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",nut,[l("tr",null,[sut,l("td",null,[l("div",iut,[P(l("input",{type:"text",id:"positive_boost",required:"","onUpdate:modelValue":e[103]||(e[103]=_=>r.configFile.positive_boost=_),onChange:e[104]||(e[104]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.positive_boost]])])])]),l("tr",null,[rut,l("td",null,[l("div",out,[P(l("input",{type:"text",id:"negative_boost",required:"","onUpdate:modelValue":e[105]||(e[105]=_=>r.configFile.negative_boost=_),onChange:e[106]||(e[106]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.negative_boost]])])])]),l("tr",null,[aut,l("td",null,[l("div",lut,[P(l("input",{type:"checkbox",id:"fun_mode",required:"","onUpdate:modelValue":e[107]||(e[107]=_=>r.configFile.fun_mode=_),onChange:e[108]||(e[108]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.fun_mode]])])])])])]),_:1})])],2)]),l("div",cut,[l("div",dut,[l("button",{onClick:e[109]||(e[109]=j(_=>i.data_conf_collapsed=!i.data_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,put,512),[[wt,i.data_conf_collapsed]]),P(l("div",null,hut,512),[[wt,!i.data_conf_collapsed]]),fut])]),l("div",{class:Ge([{hidden:i.data_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[V(a,{title:"Data Sources",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",mut,[l("tr",null,[gut,l("td",but,[(T(!0),x(Fe,null,Ke(r.configFile.rag_databases,(_,g)=>(T(),x("div",{key:g,class:"flex items-center mb-2"},[P(l("input",{type:"text","onUpdate:modelValue":b=>r.configFile.rag_databases[g]=b,onChange:e[110]||(e[110]=b=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,40,Eut),[[pe,r.configFile.rag_databases[g]]]),l("button",{onClick:b=>r.vectorize_folder(g),class:"w-500 ml-2 px-2 py-1 bg-green-500 text-white hover:bg-green-300 rounded"},"(Re)Vectorize",8,yut),l("button",{onClick:b=>r.select_folder(g),class:"w-500 ml-2 px-2 py-1 bg-blue-500 text-white hover:bg-green-300 rounded"},"Select Folder",8,vut),l("button",{onClick:b=>r.removeDataSource(g),class:"ml-2 px-2 py-1 bg-red-500 text-white hover:bg-green-300 rounded"},"Remove",8,Sut)]))),128)),l("button",{onClick:e[111]||(e[111]=(..._)=>r.addDataSource&&r.addDataSource(..._)),class:"mt-2 px-2 py-1 bg-blue-500 text-white rounded"},"Add Data Source")])]),l("tr",null,[Tut,l("td",null,[P(l("select",{id:"rag_vectorizer",required:"","onUpdate:modelValue":e[112]||(e[112]=_=>r.configFile.rag_vectorizer=_),onChange:e[113]||(e[113]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Rut,544),[[Dt,r.configFile.rag_vectorizer]])])]),l("tr",null,[Aut,l("td",null,[P(l("select",{id:"rag_vectorizer_model",required:"","onUpdate:modelValue":e[114]||(e[114]=_=>r.configFile.rag_vectorizer_model=_),onChange:e[115]||(e[115]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",disabled:r.configFile.rag_vectorizer==="tfidf"},[r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Out,"sentence-transformers/bert-base-nli-mean-tokens")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Mut,"bert-base-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Iut,"bert-base-multilingual-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",kut,"bert-large-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Dut,"bert-large-uncased-whole-word-masking-finetuned-squad")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Lut,"distilbert-base-uncased")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Put,"roberta-base")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Fut,"roberta-large")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Uut,"xlm-roberta-base")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",But,"xlm-roberta-large")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Gut,"albert-base-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Vut,"albert-large-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",zut,"albert-xlarge-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Hut,"albert-xxlarge-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",qut,"sentence-transformers/all-MiniLM-L6-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",$ut,"sentence-transformers/all-MiniLM-L12-v2")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Yut,"sentence-transformers/all-distilroberta-v1")):G("",!0),r.configFile.rag_vectorizer==="semantic"?(T(),x("option",Wut,"sentence-transformers/all-mpnet-base-v2")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",Kut,"text-embedding-ada-002")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",jut,"text-embedding-babbage-001")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",Qut,"text-embedding-curie-001")):G("",!0),r.configFile.rag_vectorizer==="openai"?(T(),x("option",Xut,"text-embedding-davinci-001")):G("",!0),r.configFile.rag_vectorizer==="tfidf"?(T(),x("option",Zut,"No models available for TFIDF")):G("",!0)],40,Nut),[[Dt,r.configFile.rag_vectorizer_model]])])]),l("tr",null,[Jut,l("td",null,[l("div",ept,[P(l("input",{type:"text",id:"rag_vectorizer_openai_key",required:"","onUpdate:modelValue":e[116]||(e[116]=_=>r.configFile.rag_vectorizer_openai_key=_),onChange:e[117]||(e[117]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_vectorizer_openai_key]])])])]),l("tr",null,[tpt,l("td",null,[P(l("input",{id:"rag_chunk_size","onUpdate:modelValue":e[118]||(e[118]=_=>r.configFile.rag_chunk_size=_),onChange:e[119]||(e[119]=_=>i.settingsChanged=!0),type:"range",min:"2",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.rag_chunk_size]]),P(l("input",{"onUpdate:modelValue":e[120]||(e[120]=_=>r.configFile.rag_chunk_size=_),type:"number",onChange:e[121]||(e[121]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_chunk_size]])])]),l("tr",null,[npt,l("td",null,[P(l("input",{id:"rag_overlap","onUpdate:modelValue":e[122]||(e[122]=_=>r.configFile.rag_overlap=_),onChange:e[123]||(e[123]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.rag_overlap]]),P(l("input",{"onUpdate:modelValue":e[124]||(e[124]=_=>r.configFile.rag_overlap=_),type:"number",onChange:e[125]||(e[125]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_overlap]])])]),l("tr",null,[spt,l("td",null,[P(l("input",{id:"rag_n_chunks","onUpdate:modelValue":e[126]||(e[126]=_=>r.configFile.rag_n_chunks=_),onChange:e[127]||(e[127]=_=>i.settingsChanged=!0),type:"range",min:"2",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.rag_n_chunks]]),P(l("input",{"onUpdate:modelValue":e[128]||(e[128]=_=>r.configFile.rag_n_chunks=_),type:"number",onChange:e[129]||(e[129]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.rag_n_chunks]])])]),l("tr",null,[ipt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[130]||(e[130]=_=>r.configFile.rag_clean_chunks=_),type:"checkbox",onChange:e[131]||(e[131]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_clean_chunks]])])]),l("tr",null,[rpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[132]||(e[132]=_=>r.configFile.rag_follow_subfolders=_),type:"checkbox",onChange:e[133]||(e[133]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_follow_subfolders]])])]),l("tr",null,[opt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[134]||(e[134]=_=>r.configFile.rag_check_new_files_at_startup=_),type:"checkbox",onChange:e[135]||(e[135]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_check_new_files_at_startup]])])]),l("tr",null,[apt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[136]||(e[136]=_=>r.configFile.rag_preprocess_chunks=_),type:"checkbox",onChange:e[137]||(e[137]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_preprocess_chunks]])])]),l("tr",null,[lpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[138]||(e[138]=_=>r.configFile.rag_activate_multi_hops=_),type:"checkbox",onChange:e[139]||(e[139]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_activate_multi_hops]])])]),l("tr",null,[cpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[140]||(e[140]=_=>r.configFile.contextual_summary=_),type:"checkbox",onChange:e[141]||(e[141]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.contextual_summary]])])]),l("tr",null,[dpt,l("td",null,[P(l("input",{"onUpdate:modelValue":e[142]||(e[142]=_=>r.configFile.rag_deactivate=_),type:"checkbox",onChange:e[143]||(e[143]=_=>i.settingsChanged=!0),class:"w-5 mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.rag_deactivate]])])])])]),_:1}),V(a,{title:"Data Vectorization",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",upt,[l("tr",null,[ppt,l("td",null,[l("div",_pt,[P(l("input",{type:"checkbox",id:"data_vectorization_save_db",required:"","onUpdate:modelValue":e[144]||(e[144]=_=>r.configFile.data_vectorization_save_db=_),onChange:e[145]||(e[145]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_save_db]])])])]),l("tr",null,[hpt,l("td",null,[l("div",fpt,[P(l("input",{type:"checkbox",id:"data_vectorization_visualize_on_vectorization",required:"","onUpdate:modelValue":e[146]||(e[146]=_=>r.configFile.data_vectorization_visualize_on_vectorization=_),onChange:e[147]||(e[147]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_visualize_on_vectorization]])])])]),l("tr",null,[mpt,l("td",null,[l("div",gpt,[P(l("input",{type:"checkbox",id:"data_vectorization_build_keys_words",required:"","onUpdate:modelValue":e[148]||(e[148]=_=>r.configFile.data_vectorization_build_keys_words=_),onChange:e[149]||(e[149]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_build_keys_words]])])])]),l("tr",null,[bpt,l("td",null,[l("div",Ept,[P(l("input",{type:"checkbox",id:"data_vectorization_force_first_chunk",required:"","onUpdate:modelValue":e[150]||(e[150]=_=>r.configFile.data_vectorization_force_first_chunk=_),onChange:e[151]||(e[151]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_force_first_chunk]])])])]),l("tr",null,[ypt,l("td",null,[l("div",vpt,[P(l("input",{type:"checkbox",id:"data_vectorization_put_chunk_informations_into_context",required:"","onUpdate:modelValue":e[152]||(e[152]=_=>r.configFile.data_vectorization_put_chunk_informations_into_context=_),onChange:e[153]||(e[153]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_put_chunk_informations_into_context]])])])]),l("tr",null,[Spt,l("td",null,[P(l("select",{id:"data_vectorization_method",required:"","onUpdate:modelValue":e[154]||(e[154]=_=>r.configFile.data_vectorization_method=_),onChange:e[155]||(e[155]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Rpt,544),[[Dt,r.configFile.data_vectorization_method]])])]),l("tr",null,[Apt,l("td",Npt,[P(l("input",{type:"text",id:"data_vectorization_sentense_transformer_model",required:"","onUpdate:modelValue":e[156]||(e[156]=_=>r.configFile.data_vectorization_sentense_transformer_model=_),onChange:e[157]||(e[157]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_sentense_transformer_model]])])]),l("tr",null,[Opt,l("td",null,[P(l("select",{id:"data_visualization_method",required:"","onUpdate:modelValue":e[158]||(e[158]=_=>r.configFile.data_visualization_method=_),onChange:e[159]||(e[159]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},kpt,544),[[Dt,r.configFile.data_visualization_method]])])]),l("tr",null,[Dpt,l("td",null,[l("div",Lpt,[P(l("input",{type:"checkbox",id:"data_vectorization_save_db",required:"","onUpdate:modelValue":e[160]||(e[160]=_=>r.configFile.data_vectorization_save_db=_),onChange:e[161]||(e[161]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.data_vectorization_save_db]])])])]),l("tr",null,[Ppt,l("td",null,[P(l("input",{id:"data_vectorization_chunk_size","onUpdate:modelValue":e[162]||(e[162]=_=>r.configFile.data_vectorization_chunk_size=_),onChange:e[163]||(e[163]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.data_vectorization_chunk_size]]),P(l("input",{"onUpdate:modelValue":e[164]||(e[164]=_=>r.configFile.data_vectorization_chunk_size=_),type:"number",onChange:e[165]||(e[165]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_chunk_size]])])]),l("tr",null,[Fpt,l("td",null,[P(l("input",{id:"data_vectorization_overlap_size","onUpdate:modelValue":e[166]||(e[166]=_=>r.configFile.data_vectorization_overlap_size=_),onChange:e[167]||(e[167]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.data_vectorization_overlap_size]]),P(l("input",{"onUpdate:modelValue":e[168]||(e[168]=_=>r.configFile.data_vectorization_overlap_size=_),type:"number",onChange:e[169]||(e[169]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_overlap_size]])])]),l("tr",null,[Upt,l("td",null,[P(l("input",{id:"data_vectorization_nb_chunks","onUpdate:modelValue":e[170]||(e[170]=_=>r.configFile.data_vectorization_nb_chunks=_),onChange:e[171]||(e[171]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"1000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.data_vectorization_nb_chunks]]),P(l("input",{"onUpdate:modelValue":e[172]||(e[172]=_=>r.configFile.data_vectorization_nb_chunks=_),type:"number",onChange:e[173]||(e[173]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.data_vectorization_nb_chunks]])])])])]),_:1})],2)]),l("div",Bpt,[l("div",Gpt,[l("button",{onClick:e[174]||(e[174]=j(_=>i.internet_conf_collapsed=!i.internet_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,zpt,512),[[wt,i.internet_conf_collapsed]]),P(l("div",null,qpt,512),[[wt,!i.internet_conf_collapsed]]),$pt])]),l("div",{class:Ge([{hidden:i.internet_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[V(a,{title:"Internet search",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Ypt,[l("tr",null,[Wpt,l("td",null,[l("div",Kpt,[P(l("input",{type:"checkbox",id:"fun_mode",required:"","onUpdate:modelValue":e[175]||(e[175]=_=>r.configFile.activate_internet_search=_),onChange:e[176]||(e[176]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_internet_search]])])])]),l("tr",null,[jpt,l("td",null,[l("div",Qpt,[P(l("input",{type:"checkbox",id:"activate_internet_pages_judgement",required:"","onUpdate:modelValue":e[177]||(e[177]=_=>r.configFile.activate_internet_pages_judgement=_),onChange:e[178]||(e[178]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_internet_pages_judgement]])])])]),l("tr",null,[Xpt,l("td",null,[l("div",Zpt,[P(l("input",{type:"checkbox",id:"internet_quick_search",required:"","onUpdate:modelValue":e[179]||(e[179]=_=>r.configFile.internet_quick_search=_),onChange:e[180]||(e[180]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.internet_quick_search]])])])]),l("tr",null,[Jpt,l("td",null,[l("div",e_t,[P(l("input",{type:"checkbox",id:"internet_activate_search_decision",required:"","onUpdate:modelValue":e[181]||(e[181]=_=>r.configFile.internet_activate_search_decision=_),onChange:e[182]||(e[182]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.internet_activate_search_decision]])])])]),l("tr",null,[t_t,l("td",null,[l("div",n_t,[P(l("input",{id:"internet_vectorization_chunk_size","onUpdate:modelValue":e[183]||(e[183]=_=>r.configFile.internet_vectorization_chunk_size=_),onChange:e[184]||(e[184]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_vectorization_chunk_size]]),P(l("input",{"onUpdate:modelValue":e[185]||(e[185]=_=>r.configFile.internet_vectorization_chunk_size=_),type:"number",onChange:e[186]||(e[186]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_vectorization_chunk_size]])])])]),l("tr",null,[s_t,l("td",null,[l("div",i_t,[P(l("input",{id:"internet_vectorization_overlap_size","onUpdate:modelValue":e[187]||(e[187]=_=>r.configFile.internet_vectorization_overlap_size=_),onChange:e[188]||(e[188]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"1000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_vectorization_overlap_size]]),P(l("input",{"onUpdate:modelValue":e[189]||(e[189]=_=>r.configFile.internet_vectorization_overlap_size=_),type:"number",onChange:e[190]||(e[190]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_vectorization_overlap_size]])])])]),l("tr",null,[r_t,l("td",null,[l("div",o_t,[P(l("input",{id:"internet_vectorization_nb_chunks","onUpdate:modelValue":e[191]||(e[191]=_=>r.configFile.internet_vectorization_nb_chunks=_),onChange:e[192]||(e[192]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_vectorization_nb_chunks]]),P(l("input",{"onUpdate:modelValue":e[193]||(e[193]=_=>r.configFile.internet_vectorization_nb_chunks=_),type:"number",onChange:e[194]||(e[194]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_vectorization_nb_chunks]])])])]),l("tr",null,[a_t,l("td",null,[l("div",l_t,[P(l("input",{id:"internet_nb_search_pages","onUpdate:modelValue":e[195]||(e[195]=_=>r.configFile.internet_nb_search_pages=_),onChange:e[196]||(e[196]=_=>i.settingsChanged=!0),type:"range",min:"1",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.internet_nb_search_pages]]),P(l("input",{"onUpdate:modelValue":e[197]||(e[197]=_=>r.configFile.internet_nb_search_pages=_),type:"number",onChange:e[198]||(e[198]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.internet_nb_search_pages]])])])])])]),_:1})],2)]),l("div",c_t,[l("div",d_t,[l("button",{onClick:e[199]||(e[199]=j(_=>i.servers_conf_collapsed=!i.servers_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,p_t,512),[[wt,i.servers_conf_collapsed]]),P(l("div",null,h_t,512),[[wt,!i.servers_conf_collapsed]]),f_t])]),l("div",{class:Ge([{hidden:i.servers_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[V(a,{title:"Default services selection",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",m_t,[l("tr",null,[g_t,l("td",b_t,[P(l("select",{id:"active_tts_service",required:"","onUpdate:modelValue":e[200]||(e[200]=_=>r.configFile.active_tts_service=_),onChange:e[201]||(e[201]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},w_t,544),[[Dt,r.configFile.active_tts_service]])])]),l("tr",null,[R_t,l("td",A_t,[P(l("select",{id:"active_stt_service",required:"","onUpdate:modelValue":e[202]||(e[202]=_=>r.configFile.active_stt_service=_),onChange:e[203]||(e[203]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},I_t,544),[[Dt,r.configFile.active_stt_service]])])]),k_t,l("tr",null,[D_t,l("td",L_t,[P(l("select",{id:"active_tti_service",required:"","onUpdate:modelValue":e[204]||(e[204]=_=>r.configFile.active_tti_service=_),onChange:e[205]||(e[205]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},q_t,544),[[Dt,r.configFile.active_tti_service]])])]),l("tr",null,[$_t,l("td",Y_t,[P(l("select",{id:"active_ttm_service",required:"","onUpdate:modelValue":e[206]||(e[206]=_=>r.configFile.active_ttm_service=_),onChange:e[207]||(e[207]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},j_t,544),[[Dt,r.configFile.active_ttm_service]])])]),l("tr",null,[Q_t,l("td",X_t,[P(l("select",{id:"active_ttv_service",required:"","onUpdate:modelValue":e[208]||(e[208]=_=>r.configFile.active_ttv_service=_),onChange:e[209]||(e[209]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},eht,544),[[Dt,r.configFile.active_ttv_service]])])])])]),_:1}),V(a,{title:"TTI settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",tht,[l("tr",null,[nht,l("td",null,[l("div",sht,[P(l("input",{type:"checkbox",id:"use_negative_prompt",required:"","onUpdate:modelValue":e[210]||(e[210]=_=>r.configFile.use_negative_prompt=_),onChange:e[211]||(e[211]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_negative_prompt]])])])]),l("tr",null,[iht,l("td",null,[l("div",rht,[P(l("input",{type:"checkbox",id:"use_ai_generated_negative_prompt",required:"","onUpdate:modelValue":e[212]||(e[212]=_=>r.configFile.use_ai_generated_negative_prompt=_),onChange:e[213]||(e[213]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.use_ai_generated_negative_prompt]])])])]),l("tr",null,[oht,l("td",null,[l("div",aht,[P(l("input",{type:"text",id:"negative_prompt_generation_prompt",required:"","onUpdate:modelValue":e[214]||(e[214]=_=>r.configFile.negative_prompt_generation_prompt=_),onChange:e[215]||(e[215]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.negative_prompt_generation_prompt]])])])]),l("tr",null,[lht,l("td",null,[l("div",cht,[P(l("input",{type:"text",id:"default_negative_prompt",required:"","onUpdate:modelValue":e[216]||(e[216]=_=>r.configFile.default_negative_prompt=_),onChange:e[217]||(e[217]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.default_negative_prompt]])])])])])]),_:1}),V(a,{title:"Full Audio settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",dht,[l("tr",null,[uht,l("td",pht,[P(l("input",{type:"number",step:"1",id:"stt_listening_threshold",required:"","onUpdate:modelValue":e[218]||(e[218]=_=>r.configFile.stt_listening_threshold=_),onChange:e[219]||(e[219]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_listening_threshold]])])]),l("tr",null,[_ht,l("td",hht,[P(l("input",{type:"number",step:"1",id:"stt_silence_duration",required:"","onUpdate:modelValue":e[220]||(e[220]=_=>r.configFile.stt_silence_duration=_),onChange:e[221]||(e[221]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_silence_duration]])])]),l("tr",null,[fht,l("td",mht,[P(l("input",{type:"number",step:"1",id:"stt_sound_threshold_percentage",required:"","onUpdate:modelValue":e[222]||(e[222]=_=>r.configFile.stt_sound_threshold_percentage=_),onChange:e[223]||(e[223]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_sound_threshold_percentage]])])]),l("tr",null,[ght,l("td",bht,[P(l("input",{type:"number",step:"1",id:"stt_gain",required:"","onUpdate:modelValue":e[224]||(e[224]=_=>r.configFile.stt_gain=_),onChange:e[225]||(e[225]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_gain]])])]),l("tr",null,[Eht,l("td",yht,[P(l("input",{type:"number",step:"1",id:"stt_rate",required:"","onUpdate:modelValue":e[226]||(e[226]=_=>r.configFile.stt_rate=_),onChange:e[227]||(e[227]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_rate]])])]),l("tr",null,[vht,l("td",Sht,[P(l("input",{type:"number",step:"1",id:"stt_channels",required:"","onUpdate:modelValue":e[228]||(e[228]=_=>r.configFile.stt_channels=_),onChange:e[229]||(e[229]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_channels]])])]),l("tr",null,[Tht,l("td",xht,[P(l("input",{type:"number",step:"1",id:"stt_buffer_size",required:"","onUpdate:modelValue":e[230]||(e[230]=_=>r.configFile.stt_buffer_size=_),onChange:e[231]||(e[231]=_=>i.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_buffer_size]])])]),l("tr",null,[Cht,l("td",null,[l("div",wht,[P(l("input",{type:"checkbox",id:"stt_activate_word_detection",required:"","onUpdate:modelValue":e[232]||(e[232]=_=>r.configFile.stt_activate_word_detection=_),onChange:e[233]||(e[233]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.stt_activate_word_detection]])])])]),l("tr",null,[Rht,l("td",null,[l("div",Aht,[P(l("input",{type:"text",id:"stt_word_detection_file",required:"","onUpdate:modelValue":e[234]||(e[234]=_=>r.configFile.stt_word_detection_file=_),onChange:e[235]||(e[235]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.stt_word_detection_file]])])])])])]),_:1}),V(a,{title:"Audio devices settings",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Nht,[l("tr",null,[Oht,l("td",Mht,[P(l("select",{id:"stt_input_device",required:"","onUpdate:modelValue":e[236]||(e[236]=_=>r.configFile.stt_input_device=_),onChange:e[237]||(e[237]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.snd_input_devices,(_,g)=>(T(),x("option",{key:_,value:i.snd_input_devices_indexes[g]},K(_),9,Iht))),128))],544),[[Dt,r.configFile.stt_input_device]])])]),l("tr",null,[kht,l("td",Dht,[P(l("select",{id:"tts_output_device",required:"","onUpdate:modelValue":e[238]||(e[238]=_=>r.configFile.tts_output_device=_),onChange:e[239]||(e[239]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.snd_output_devices,(_,g)=>(T(),x("option",{key:_,value:i.snd_output_devices_indexes[g]},K(_),9,Lht))),128))],544),[[Dt,r.configFile.tts_output_device]])])])])]),_:1}),V(a,{title:"Lollms service",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Pht,[l("tr",null,[Fht,l("td",Uht,[P(l("input",{type:"text",id:"host",required:"","onUpdate:modelValue":e[240]||(e[240]=_=>r.configFile.host=_),onChange:e[241]||(e[241]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.host]])])]),l("tr",null,[Bht,l("td",Ght,[V(o,{modelValue:r.configFile.lollms_access_keys,"onUpdate:modelValue":e[242]||(e[242]=_=>r.configFile.lollms_access_keys=_),onChange:e[243]||(e[243]=_=>i.settingsChanged=!0),placeholder:"Enter access key"},null,8,["modelValue"])])]),l("tr",null,[Vht,l("td",zht,[P(l("input",{type:"number",step:"1",id:"port",required:"","onUpdate:modelValue":e[244]||(e[244]=_=>r.configFile.port=_),onChange:e[245]||(e[245]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.port]])])]),l("tr",null,[Hht,l("td",qht,[P(l("input",{type:"checkbox",id:"headless_server_mode",required:"","onUpdate:modelValue":e[246]||(e[246]=_=>r.configFile.headless_server_mode=_),onChange:e[247]||(e[247]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.headless_server_mode]])])]),l("tr",null,[$ht,l("td",Yht,[P(l("input",{type:"checkbox",id:"activate_lollms_server",required:"","onUpdate:modelValue":e[248]||(e[248]=_=>r.configFile.activate_lollms_server=_),onChange:e[249]||(e[249]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_server]])])]),l("tr",null,[Wht,l("td",Kht,[P(l("input",{type:"checkbox",id:"activate_lollms_rag_server",required:"","onUpdate:modelValue":e[250]||(e[250]=_=>r.configFile.activate_lollms_rag_server=_),onChange:e[251]||(e[251]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_rag_server]])])]),l("tr",null,[jht,l("td",Qht,[P(l("input",{type:"checkbox",id:"activate_lollms_tts_server",required:"","onUpdate:modelValue":e[252]||(e[252]=_=>r.configFile.activate_lollms_tts_server=_),onChange:e[253]||(e[253]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_tts_server]])])]),l("tr",null,[Xht,l("td",Zht,[P(l("input",{type:"checkbox",id:"activate_lollms_stt_server",required:"","onUpdate:modelValue":e[254]||(e[254]=_=>r.configFile.activate_lollms_stt_server=_),onChange:e[255]||(e[255]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_stt_server]])])]),l("tr",null,[Jht,l("td",eft,[P(l("input",{type:"checkbox",id:"activate_lollms_tti_server",required:"","onUpdate:modelValue":e[256]||(e[256]=_=>r.configFile.activate_lollms_tti_server=_),onChange:e[257]||(e[257]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_tti_server]])])]),l("tr",null,[tft,l("td",nft,[P(l("input",{type:"checkbox",id:"activate_lollms_itt_server",required:"","onUpdate:modelValue":e[258]||(e[258]=_=>r.configFile.activate_lollms_itt_server=_),onChange:e[259]||(e[259]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_itt_server]])])]),l("tr",null,[sft,l("td",ift,[P(l("input",{type:"checkbox",id:"activate_lollms_ttm_server",required:"","onUpdate:modelValue":e[260]||(e[260]=_=>r.configFile.activate_lollms_ttm_server=_),onChange:e[261]||(e[261]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_lollms_ttm_server]])])]),l("tr",null,[rft,l("td",oft,[P(l("input",{type:"checkbox",id:"activate_ollama_emulator",required:"","onUpdate:modelValue":e[262]||(e[262]=_=>r.configFile.activate_ollama_emulator=_),onChange:e[263]||(e[263]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_ollama_emulator]])])]),l("tr",null,[aft,l("td",lft,[P(l("input",{type:"checkbox",id:"activate_openai_emulator",required:"","onUpdate:modelValue":e[264]||(e[264]=_=>r.configFile.activate_openai_emulator=_),onChange:e[265]||(e[265]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_openai_emulator]])])]),l("tr",null,[cft,l("td",dft,[P(l("input",{type:"checkbox",id:"activate_mistralai_emulator",required:"","onUpdate:modelValue":e[266]||(e[266]=_=>r.configFile.activate_mistralai_emulator=_),onChange:e[267]||(e[267]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_mistralai_emulator]])])])])]),_:1}),V(a,{title:"STT services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Browser Audio STT",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",uft,[l("tr",null,[pft,l("td",null,[l("div",_ft,[P(l("input",{type:"checkbox",id:"activate_audio_infos",required:"","onUpdate:modelValue":e[268]||(e[268]=_=>r.configFile.activate_audio_infos=_),onChange:e[269]||(e[269]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.activate_audio_infos]])])])]),l("tr",null,[hft,l("td",null,[l("div",fft,[P(l("input",{type:"checkbox",id:"audio_auto_send_input",required:"","onUpdate:modelValue":e[270]||(e[270]=_=>r.configFile.audio_auto_send_input=_),onChange:e[271]||(e[271]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.audio_auto_send_input]])])])]),l("tr",null,[mft,l("td",null,[P(l("input",{id:"audio_silenceTimer","onUpdate:modelValue":e[272]||(e[272]=_=>r.configFile.audio_silenceTimer=_),onChange:e[273]||(e[273]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"10000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.audio_silenceTimer]]),P(l("input",{"onUpdate:modelValue":e[274]||(e[274]=_=>r.configFile.audio_silenceTimer=_),onChange:e[275]||(e[275]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.audio_silenceTimer]])])]),l("tr",null,[gft,l("td",null,[P(l("select",{id:"audio_in_language","onUpdate:modelValue":e[276]||(e[276]=_=>r.configFile.audio_in_language=_),onChange:e[277]||(e[277]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(r.audioLanguages,_=>(T(),x("option",{key:_.code,value:_.code},K(_.name),9,bft))),128))],544),[[Dt,r.configFile.audio_in_language]])])])])]),_:1}),V(a,{title:"Whisper audio transcription",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Eft,[l("tr",null,[yft,l("td",null,[l("div",vft,[P(l("input",{type:"checkbox",id:"whisper_activate",required:"","onUpdate:modelValue":e[278]||(e[278]=_=>r.configFile.whisper_activate=_),onChange:e[279]||(e[279]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.whisper_activate]])])])]),l("tr",null,[Sft,l("td",null,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[280]||(e[280]=(..._)=>r.reinstallWhisperService&&r.reinstallWhisperService(..._))},"install whisper")])]),l("tr",null,[Tft,l("td",null,[l("div",xft,[P(l("select",{id:"whisper_model","onUpdate:modelValue":e[281]||(e[281]=_=>r.configFile.whisper_model=_),onChange:e[282]||(e[282]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(r.whisperModels,_=>(T(),x("option",{key:_,value:_},K(_),9,Cft))),128))],544),[[Dt,r.configFile.whisper_model]])])])])])]),_:1}),V(a,{title:"Open AI Whisper audio transcription",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",wft,[l("tr",null,[Rft,l("td",null,[l("div",Aft,[P(l("input",{type:"text",id:"openai_whisper_key",required:"","onUpdate:modelValue":e[283]||(e[283]=_=>r.configFile.openai_whisper_key=_),onChange:e[284]||(e[284]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.openai_whisper_key]])])])]),l("tr",null,[Nft,l("td",null,[l("div",Oft,[P(l("select",{id:"openai_whisper_model","onUpdate:modelValue":e[285]||(e[285]=_=>r.configFile.openai_whisper_model=_),onChange:e[286]||(e[286]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(r.openaiWhisperModels,_=>(T(),x("option",{key:_,value:_},K(_),9,Mft))),128))],544),[[Dt,r.configFile.openai_whisper_model]])])])])])]),_:1})]),_:1}),V(a,{title:"TTS services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Browser Audio TTS",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Ift,[l("tr",null,[kft,l("td",null,[l("div",Dft,[P(l("input",{type:"checkbox",id:"auto_speak",required:"","onUpdate:modelValue":e[287]||(e[287]=_=>r.configFile.auto_speak=_),onChange:e[288]||(e[288]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_speak]])])])]),l("tr",null,[Lft,l("td",null,[P(l("input",{id:"audio_pitch","onUpdate:modelValue":e[289]||(e[289]=_=>r.configFile.audio_pitch=_),onChange:e[290]||(e[290]=_=>i.settingsChanged=!0),type:"range",min:"0",max:"10",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.audio_pitch]]),P(l("input",{"onUpdate:modelValue":e[291]||(e[291]=_=>r.configFile.audio_pitch=_),onChange:e[292]||(e[292]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.audio_pitch]])])]),l("tr",null,[Pft,l("td",null,[P(l("select",{id:"audio_out_voice","onUpdate:modelValue":e[293]||(e[293]=_=>r.configFile.audio_out_voice=_),onChange:e[294]||(e[294]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.audioVoices,_=>(T(),x("option",{key:_.name,value:_.name},K(_.name),9,Fft))),128))],544),[[Dt,r.configFile.audio_out_voice]])])])])]),_:1}),V(a,{title:"XTTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Uft,[l("tr",null,[Bft,l("td",null,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[295]||(e[295]=(..._)=>r.reinstallXTTSService&&r.reinstallXTTSService(..._))},"install xtts service")])]),l("tr",null,[Gft,l("td",null,[l("div",Vft,[P(l("select",{"onUpdate:modelValue":e[296]||(e[296]=_=>r.xtts_current_language=_),onChange:e[297]||(e[297]=_=>i.settingsChanged=!0)},[(T(!0),x(Fe,null,Ke(i.voice_languages,(_,g)=>(T(),x("option",{key:g,value:_},K(g),9,zft))),128))],544),[[Dt,r.xtts_current_language]])])])]),l("tr",null,[Hft,l("td",null,[l("div",qft,[P(l("select",{"onUpdate:modelValue":e[298]||(e[298]=_=>r.xtts_current_voice=_),onChange:e[299]||(e[299]=_=>i.settingsChanged=!0)},[(T(!0),x(Fe,null,Ke(i.voices,_=>(T(),x("option",{key:_,value:_},K(_),9,$ft))),128))],544),[[Dt,r.xtts_current_voice]])])])]),l("tr",null,[Yft,l("td",null,[l("div",Wft,[P(l("input",{type:"number",id:"xtts_freq",required:"","onUpdate:modelValue":e[300]||(e[300]=_=>r.configFile.xtts_freq=_),onChange:e[301]||(e[301]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.01"},null,544),[[pe,r.configFile.xtts_freq,void 0,{number:!0}]])])])]),l("tr",null,[Kft,l("td",null,[l("div",jft,[P(l("input",{type:"checkbox",id:"auto_read",required:"","onUpdate:modelValue":e[302]||(e[302]=_=>r.configFile.auto_read=_),onChange:e[303]||(e[303]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.auto_read]])])])]),l("tr",null,[Qft,l("td",null,[l("div",Xft,[P(l("input",{type:"text",id:"xtts_stream_chunk_size",required:"","onUpdate:modelValue":e[304]||(e[304]=_=>r.configFile.xtts_stream_chunk_size=_),onChange:e[305]||(e[305]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.xtts_stream_chunk_size]])])])]),l("tr",null,[Zft,l("td",null,[l("div",Jft,[P(l("input",{type:"number",id:"xtts_temperature",required:"","onUpdate:modelValue":e[306]||(e[306]=_=>r.configFile.xtts_temperature=_),onChange:e[307]||(e[307]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.01"},null,544),[[pe,r.configFile.xtts_temperature,void 0,{number:!0}]])])])]),l("tr",null,[emt,l("td",null,[l("div",tmt,[P(l("input",{type:"number",id:"xtts_length_penalty",required:"","onUpdate:modelValue":e[308]||(e[308]=_=>r.configFile.xtts_length_penalty=_),onChange:e[309]||(e[309]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1"},null,544),[[pe,r.configFile.xtts_length_penalty,void 0,{number:!0}]])])])]),l("tr",null,[nmt,l("td",null,[l("div",smt,[P(l("input",{type:"number",id:"xtts_repetition_penalty",required:"","onUpdate:modelValue":e[310]||(e[310]=_=>r.configFile.xtts_repetition_penalty=_),onChange:e[311]||(e[311]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1"},null,544),[[pe,r.configFile.xtts_repetition_penalty,void 0,{number:!0}]])])])]),l("tr",null,[imt,l("td",null,[l("div",rmt,[P(l("input",{type:"number",id:"xtts_top_k",required:"","onUpdate:modelValue":e[312]||(e[312]=_=>r.configFile.xtts_top_k=_),onChange:e[313]||(e[313]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.xtts_top_k,void 0,{number:!0}]])])])]),l("tr",null,[omt,l("td",null,[l("div",amt,[P(l("input",{type:"number",id:"xtts_top_p",required:"","onUpdate:modelValue":e[314]||(e[314]=_=>r.configFile.xtts_top_p=_),onChange:e[315]||(e[315]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.xtts_top_p,void 0,{number:!0}]])])])]),l("tr",null,[lmt,l("td",null,[l("div",cmt,[P(l("input",{type:"number",id:"xtts_speed",required:"","onUpdate:modelValue":e[316]||(e[316]=_=>r.configFile.xtts_speed=_),onChange:e[317]||(e[317]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1"},null,544),[[pe,r.configFile.xtts_speed,void 0,{number:!0}]])])])]),l("tr",null,[dmt,l("td",null,[l("div",umt,[P(l("input",{type:"checkbox",id:"enable_text_splitting","onUpdate:modelValue":e[318]||(e[318]=_=>r.configFile.enable_text_splitting=_),onChange:e[319]||(e[319]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_text_splitting]])])])])])]),_:1}),V(a,{title:"Open AI TTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",pmt,[l("tr",null,[_mt,l("td",null,[l("div",hmt,[P(l("input",{type:"text",id:"openai_tts_key",required:"","onUpdate:modelValue":e[320]||(e[320]=_=>r.configFile.openai_tts_key=_),onChange:e[321]||(e[321]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.openai_tts_key]])])])]),l("tr",null,[fmt,l("td",null,[l("div",mmt,[P(l("select",{"onUpdate:modelValue":e[322]||(e[322]=_=>r.configFile.openai_tts_model=_),onChange:e[323]||(e[323]=_=>i.settingsChanged=!0)},Emt,544),[[Dt,r.configFile.openai_tts_model]])])])]),l("tr",null,[ymt,l("td",null,[l("div",vmt,[P(l("select",{"onUpdate:modelValue":e[324]||(e[324]=_=>r.configFile.openai_tts_voice=_),onChange:e[325]||(e[325]=_=>i.settingsChanged=!0)},Rmt,544),[[Dt,r.configFile.openai_tts_voice]])])])])])]),_:1}),V(a,{title:"Eleven Labs TTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Amt,[l("tr",null,[Nmt,l("td",null,[l("div",Omt,[P(l("input",{type:"text",id:"elevenlabs_tts_key",required:"","onUpdate:modelValue":e[326]||(e[326]=_=>r.configFile.elevenlabs_tts_key=_),onChange:e[327]||(e[327]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.elevenlabs_tts_key]])])])]),l("tr",null,[Mmt,l("td",null,[l("div",Imt,[P(l("input",{type:"text",id:"elevenlabs_tts_model_id",required:"","onUpdate:modelValue":e[328]||(e[328]=_=>r.configFile.elevenlabs_tts_model_id=_),onChange:e[329]||(e[329]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.elevenlabs_tts_model_id]])])])]),l("tr",null,[kmt,l("td",null,[l("div",Dmt,[P(l("input",{type:"number",id:"elevenlabs_tts_voice_stability",required:"","onUpdate:modelValue":e[330]||(e[330]=_=>r.configFile.elevenlabs_tts_voice_stability=_),onChange:e[331]||(e[331]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1",min:"0",max:"1"},null,544),[[pe,r.configFile.elevenlabs_tts_voice_stability]])])])]),l("tr",null,[Lmt,l("td",null,[l("div",Pmt,[P(l("input",{type:"number",id:"elevenlabs_tts_voice_boost",required:"","onUpdate:modelValue":e[332]||(e[332]=_=>r.configFile.elevenlabs_tts_voice_boost=_),onChange:e[333]||(e[333]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",step:"0.1",min:"0",max:"1"},null,544),[[pe,r.configFile.elevenlabs_tts_voice_boost]])])])]),l("tr",null,[Fmt,l("td",null,[l("div",Umt,[P(l("select",{"onUpdate:modelValue":e[334]||(e[334]=_=>r.configFile.elevenlabs_tts_voice_id=_),onChange:e[335]||(e[335]=_=>i.settingsChanged=!0)},[(T(!0),x(Fe,null,Ke(i.voices,_=>(T(),x("option",{key:_.voice_id,value:_.voice_id},K(_.name),9,Bmt))),128))],544),[[Dt,r.configFile.elevenlabs_tts_voice_id]])])])])])]),_:1}),V(a,{title:"Fish TTS service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Gmt,[l("tr",null,[Vmt,l("td",null,[l("div",zmt,[P(l("input",{type:"text",id:"fish_tts_key",required:"","onUpdate:modelValue":e[336]||(e[336]=_=>r.configFile.fish_tts_key=_),onChange:e[337]||(e[337]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.fish_tts_key]])])])]),l("tr",null,[Hmt,l("td",null,[l("div",qmt,[P(l("input",{type:"text",id:"fish_tts_voice",required:"","onUpdate:modelValue":e[338]||(e[338]=_=>r.configFile.fish_tts_voice=_),onChange:e[339]||(e[339]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.fish_tts_voice]])])])])])]),_:1})]),_:1}),V(a,{title:"TTI services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Stable diffusion service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",$mt,[l("tr",null,[Ymt,l("td",null,[l("div",Wmt,[P(l("input",{type:"checkbox",id:"enable_sd_service",required:"","onUpdate:modelValue":e[340]||(e[340]=_=>r.configFile.enable_sd_service=_),onChange:e[341]||(e[341]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_sd_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[342]||(e[342]=_=>this.$store.state.messageBox.showMessage("Activates Stable diffusion service. The service will be automatically loaded at startup alowing you to use the stable diffusion endpoint to generate images"))},jmt)])]),l("tr",null,[Qmt,l("td",null,[l("div",Xmt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[343]||(e[343]=(..._)=>r.reinstallSDService&&r.reinstallSDService(..._))},"install sd service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[344]||(e[344]=(..._)=>r.upgradeSDService&&r.upgradeSDService(..._))},"upgrade sd service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[345]||(e[345]=(..._)=>r.startSDService&&r.startSDService(..._))},"start sd service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[346]||(e[346]=(..._)=>r.showSD&&r.showSD(..._))},"show sd ui"),Zmt])]),l("td",null,[l("div",Jmt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[347]||(e[347]=(..._)=>r.reinstallSDService&&r.reinstallSDService(..._))},"install sd service")])])]),l("tr",null,[egt,l("td",null,[l("div",tgt,[P(l("input",{type:"text",id:"sd_base_url",required:"","onUpdate:modelValue":e[348]||(e[348]=_=>r.configFile.sd_base_url=_),onChange:e[349]||(e[349]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.sd_base_url]])])])])])]),_:1}),V(a,{title:"Diffusers service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",ngt,[l("tr",null,[sgt,l("td",null,[l("div",igt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[350]||(e[350]=(..._)=>r.reinstallDiffusersService&&r.reinstallDiffusersService(..._))},"install diffusers service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[351]||(e[351]=(..._)=>r.upgradeDiffusersService&&r.upgradeDiffusersService(..._))},"upgrade diffusers service"),rgt])])]),l("tr",null,[ogt,l("td",null,[l("div",agt,[P(l("input",{type:"text",id:"diffusers_model",required:"","onUpdate:modelValue":e[352]||(e[352]=_=>r.configFile.diffusers_model=_),onChange:e[353]||(e[353]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.diffusers_model]])])]),lgt])])]),_:1}),V(a,{title:"Diffusers client service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",cgt,[l("tr",null,[dgt,l("td",null,[l("div",ugt,[P(l("input",{type:"text",id:"diffusers_client_base_url",required:"","onUpdate:modelValue":e[354]||(e[354]=_=>r.configFile.diffusers_client_base_url=_),onChange:e[355]||(e[355]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.diffusers_client_base_url]])])]),pgt])])]),_:1}),V(a,{title:"Midjourney",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",_gt,[l("tr",null,[hgt,l("td",null,[l("div",fgt,[P(l("input",{type:"text",id:"midjourney_key",required:"","onUpdate:modelValue":e[356]||(e[356]=_=>r.configFile.midjourney_key=_),onChange:e[357]||(e[357]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.midjourney_key]])])])]),l("tr",null,[mgt,l("td",null,[l("div",ggt,[P(l("input",{type:"number",min:"10",max:"2048",id:"midjourney_timeout",required:"","onUpdate:modelValue":e[358]||(e[358]=_=>r.configFile.midjourney_timeout=_),onChange:e[359]||(e[359]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.midjourney_timeout]])])])]),l("tr",null,[bgt,l("td",null,[l("div",Egt,[P(l("input",{type:"number",min:"0",max:"2048",id:"midjourney_retries",required:"","onUpdate:modelValue":e[360]||(e[360]=_=>r.configFile.midjourney_retries=_),onChange:e[361]||(e[361]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.midjourney_retries]])])])])])]),_:1}),V(a,{title:"Dall-E",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",ygt,[l("tr",null,[vgt,l("td",null,[l("div",Sgt,[P(l("input",{type:"text",id:"dall_e_key",required:"","onUpdate:modelValue":e[362]||(e[362]=_=>r.configFile.dall_e_key=_),onChange:e[363]||(e[363]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.dall_e_key]])])])]),l("tr",null,[Tgt,l("td",null,[l("div",xgt,[P(l("select",{"onUpdate:modelValue":e[364]||(e[364]=_=>r.configFile.dall_e_generation_engine=_),onChange:e[365]||(e[365]=_=>i.settingsChanged=!0)},Rgt,544),[[Dt,r.configFile.dall_e_generation_engine]])])])])])]),_:1}),V(a,{title:"ComfyUI service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Agt,[l("tr",null,[Ngt,l("td",null,[l("div",Ogt,[P(l("input",{type:"checkbox",id:"enable_comfyui_service",required:"","onUpdate:modelValue":e[366]||(e[366]=_=>r.configFile.enable_comfyui_service=_),onChange:e[367]||(e[367]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_comfyui_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[368]||(e[368]=_=>this.$store.state.messageBox.showMessage("Activates Stable diffusion service. The service will be automatically loaded at startup alowing you to use the stable diffusion endpoint to generate images"))},Igt)])]),l("tr",null,[kgt,l("td",null,[l("div",Dgt,[P(l("select",{id:"comfyui_model",required:"","onUpdate:modelValue":e[369]||(e[369]=_=>r.configFile.comfyui_model=_),onChange:e[370]||(e[370]=_=>i.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(T(!0),x(Fe,null,Ke(i.comfyui_models,(_,g)=>(T(),x("option",{key:_,value:_},K(_),9,Lgt))),128))],544),[[Dt,r.configFile.comfyui_model]])])])]),l("tr",null,[Pgt,l("td",null,[l("div",Fgt,[P(l("input",{type:"text",id:"comfyui_model",required:"","onUpdate:modelValue":e[371]||(e[371]=_=>r.configFile.comfyui_model=_),onChange:e[372]||(e[372]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.comfyui_model]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[373]||(e[373]=_=>this.$store.state.messageBox.showMessage("Activates Stable diffusion service. The service will be automatically loaded at startup alowing you to use the stable diffusion endpoint to generate images"))},Bgt)])]),l("tr",null,[Ggt,l("td",null,[l("div",Vgt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[374]||(e[374]=(..._)=>r.reinstallComfyUIService&&r.reinstallComfyUIService(..._))},"install comfyui service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[375]||(e[375]=(..._)=>r.upgradeComfyUIService&&r.upgradeComfyUIService(..._))},"upgrade comfyui service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[376]||(e[376]=(..._)=>r.startComfyUIService&&r.startComfyUIService(..._))},"start comfyui service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[377]||(e[377]=(..._)=>r.showComfyui&&r.showComfyui(..._))},"show comfyui"),zgt])])]),l("tr",null,[Hgt,l("td",null,[l("div",qgt,[P(l("input",{type:"text",id:"comfyui_base_url",required:"","onUpdate:modelValue":e[378]||(e[378]=_=>r.configFile.comfyui_base_url=_),onChange:e[379]||(e[379]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.comfyui_base_url]])])])])])]),_:1})]),_:1}),V(a,{title:"TTT services",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Ollama service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",$gt,[l("tr",null,[Ygt,l("td",null,[l("div",Wgt,[P(l("input",{type:"checkbox",id:"enable_ollama_service",required:"","onUpdate:modelValue":e[380]||(e[380]=_=>r.configFile.enable_ollama_service=_),onChange:e[381]||(e[381]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_ollama_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[382]||(e[382]=_=>this.$store.state.messageBox.showMessage(`Activates ollama service. The service will be automatically loaded at startup alowing you to use the ollama binding. If you are using windows, this uses wsl which requires you to have it installed or at least activated. If You are using windows, this will install wsl so you need to activate it. -Here is how you can do that`))},zgt)])]),l("tr",null,[Hgt,l("td",null,[l("div",qgt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[378]||(e[378]=(..._)=>r.reinstallOLLAMAService&&r.reinstallOLLAMAService(..._))},"install ollama service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[379]||(e[379]=(..._)=>r.startollamaService&&r.startollamaService(..._))},"start ollama service")])])]),l("tr",null,[$gt,l("td",null,[l("div",Ygt,[P(l("input",{type:"text",id:"ollama_base_url",required:"","onUpdate:modelValue":e[380]||(e[380]=_=>r.configFile.ollama_base_url=_),onChange:e[381]||(e[381]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.ollama_base_url]])])])])])]),_:1}),V(a,{title:"vLLM service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Wgt,[l("tr",null,[Kgt,l("td",null,[l("div",jgt,[P(l("input",{type:"checkbox",id:"enable_vllm_service",required:"","onUpdate:modelValue":e[382]||(e[382]=_=>r.configFile.enable_vllm_service=_),onChange:e[383]||(e[383]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_vllm_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[384]||(e[384]=_=>this.$store.state.messageBox.showMessage(`Activates vllm service. The service will be automatically loaded at startup alowing you to use the elf binding. +Here is how you can do that`))},jgt)])]),l("tr",null,[Qgt,l("td",null,[l("div",Xgt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[383]||(e[383]=(..._)=>r.reinstallOLLAMAService&&r.reinstallOLLAMAService(..._))},"install ollama service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[384]||(e[384]=(..._)=>r.startollamaService&&r.startollamaService(..._))},"start ollama service")])])]),l("tr",null,[Zgt,l("td",null,[l("div",Jgt,[P(l("input",{type:"text",id:"ollama_base_url",required:"","onUpdate:modelValue":e[385]||(e[385]=_=>r.configFile.ollama_base_url=_),onChange:e[386]||(e[386]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.ollama_base_url]])])])])])]),_:1}),V(a,{title:"vLLM service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",ebt,[l("tr",null,[tbt,l("td",null,[l("div",nbt,[P(l("input",{type:"checkbox",id:"enable_vllm_service",required:"","onUpdate:modelValue":e[387]||(e[387]=_=>r.configFile.enable_vllm_service=_),onChange:e[388]||(e[388]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_vllm_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[389]||(e[389]=_=>this.$store.state.messageBox.showMessage(`Activates vllm service. The service will be automatically loaded at startup alowing you to use the elf binding. If you are using windows, this uses wsl which requires you to have it installed or at least activated. If You are using windows, this will install wsl so you need to activate it. -Here is how you can do that`))},Xgt)])]),l("tr",null,[Zgt,l("td",null,[l("div",Jgt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[385]||(e[385]=(..._)=>r.reinstallvLLMService&&r.reinstallvLLMService(..._))},"install vLLM service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[386]||(e[386]=(..._)=>r.startvLLMService&&r.startvLLMService(..._))},"start vllm service")])])]),l("tr",null,[ebt,l("td",null,[l("div",tbt,[P(l("input",{type:"text",id:"vllm_url",required:"","onUpdate:modelValue":e[387]||(e[387]=_=>r.configFile.vllm_url=_),onChange:e[388]||(e[388]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_url]])])])]),l("tr",null,[nbt,l("td",null,[l("div",sbt,[l("div",ibt,[rbt,l("p",obt,[P(l("input",{type:"text",id:"temp-val","onUpdate:modelValue":e[389]||(e[389]=_=>r.configFile.vllm_gpu_memory_utilization=_),onChange:e[390]||(e[390]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.vllm_gpu_memory_utilization]])])]),P(l("input",{id:"vllm_gpu_memory_utilization",onChange:e[391]||(e[391]=_=>i.settingsChanged=!0),type:"range","onUpdate:modelValue":e[392]||(e[392]=_=>r.configFile.vllm_gpu_memory_utilization=_),min:"0.10",max:"1",step:"0.01",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.vllm_gpu_memory_utilization]])])])]),l("tr",null,[abt,l("td",null,[l("div",lbt,[P(l("input",{type:"number",id:"vllm_max_num_seqs",min:"64",max:"2048",required:"","onUpdate:modelValue":e[393]||(e[393]=_=>r.configFile.vllm_max_num_seqs=_),onChange:e[394]||(e[394]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_max_num_seqs]])])])]),l("tr",null,[cbt,l("td",null,[l("div",dbt,[P(l("input",{type:"number",id:"vllm_max_model_len",min:"2048",max:"1000000",required:"","onUpdate:modelValue":e[395]||(e[395]=_=>r.configFile.vllm_max_model_len=_),onChange:e[396]||(e[396]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_max_model_len]])])])]),l("tr",null,[ubt,l("td",null,[l("div",pbt,[P(l("input",{type:"text",id:"vllm_model_path",required:"","onUpdate:modelValue":e[397]||(e[397]=_=>r.configFile.vllm_model_path=_),onChange:e[398]||(e[398]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_model_path]])])])])])]),_:1}),V(a,{title:"Petals service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",_bt,[l("tr",null,[hbt,l("td",null,[l("div",fbt,[P(l("input",{type:"checkbox",id:"enable_petals_service",required:"","onUpdate:modelValue":e[399]||(e[399]=_=>r.configFile.enable_petals_service=_),onChange:e[400]||(e[400]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_petals_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[401]||(e[401]=_=>this.$store.state.messageBox.showMessage(`Activates Petals service. The service will be automatically loaded at startup alowing you to use the petals endpoint to generate text in a distributed network. +Here is how you can do that`))},ibt)])]),l("tr",null,[rbt,l("td",null,[l("div",obt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[390]||(e[390]=(..._)=>r.reinstallvLLMService&&r.reinstallvLLMService(..._))},"install vLLM service"),l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[391]||(e[391]=(..._)=>r.startvLLMService&&r.startvLLMService(..._))},"start vllm service")])])]),l("tr",null,[abt,l("td",null,[l("div",lbt,[P(l("input",{type:"text",id:"vllm_url",required:"","onUpdate:modelValue":e[392]||(e[392]=_=>r.configFile.vllm_url=_),onChange:e[393]||(e[393]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_url]])])])]),l("tr",null,[cbt,l("td",null,[l("div",dbt,[l("div",ubt,[pbt,l("p",_bt,[P(l("input",{type:"text",id:"temp-val","onUpdate:modelValue":e[394]||(e[394]=_=>r.configFile.vllm_gpu_memory_utilization=_),onChange:e[395]||(e[395]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.vllm_gpu_memory_utilization]])])]),P(l("input",{id:"vllm_gpu_memory_utilization",onChange:e[396]||(e[396]=_=>i.settingsChanged=!0),type:"range","onUpdate:modelValue":e[397]||(e[397]=_=>r.configFile.vllm_gpu_memory_utilization=_),min:"0.10",max:"1",step:"0.01",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.vllm_gpu_memory_utilization]])])])]),l("tr",null,[hbt,l("td",null,[l("div",fbt,[P(l("input",{type:"number",id:"vllm_max_num_seqs",min:"64",max:"2048",required:"","onUpdate:modelValue":e[398]||(e[398]=_=>r.configFile.vllm_max_num_seqs=_),onChange:e[399]||(e[399]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_max_num_seqs]])])])]),l("tr",null,[mbt,l("td",null,[l("div",gbt,[P(l("input",{type:"number",id:"vllm_max_model_len",min:"2048",max:"1000000",required:"","onUpdate:modelValue":e[400]||(e[400]=_=>r.configFile.vllm_max_model_len=_),onChange:e[401]||(e[401]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_max_model_len]])])])]),l("tr",null,[bbt,l("td",null,[l("div",Ebt,[P(l("input",{type:"text",id:"vllm_model_path",required:"","onUpdate:modelValue":e[402]||(e[402]=_=>r.configFile.vllm_model_path=_),onChange:e[403]||(e[403]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.vllm_model_path]])])])])])]),_:1}),V(a,{title:"Petals service",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",ybt,[l("tr",null,[vbt,l("td",null,[l("div",Sbt,[P(l("input",{type:"checkbox",id:"enable_petals_service",required:"","onUpdate:modelValue":e[404]||(e[404]=_=>r.configFile.enable_petals_service=_),onChange:e[405]||(e[405]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.enable_petals_service]])])]),l("td",null,[l("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary",onClick:e[406]||(e[406]=_=>this.$store.state.messageBox.showMessage(`Activates Petals service. The service will be automatically loaded at startup alowing you to use the petals endpoint to generate text in a distributed network. If You are using windows, this will install wsl so you need to activate it. -Here is how you can do that`))},gbt)])]),l("tr",null,[bbt,l("td",null,[l("div",Ebt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[402]||(e[402]=(..._)=>r.reinstallPetalsService&&r.reinstallPetalsService(..._))},"install petals service")])])]),l("tr",null,[ybt,l("td",null,[l("div",vbt,[P(l("input",{type:"text",id:"petals_base_url",required:"","onUpdate:modelValue":e[403]||(e[403]=_=>r.configFile.petals_base_url=_),onChange:e[404]||(e[404]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.petals_base_url]])])])])])]),_:1})]),_:1}),V(a,{title:"Misc",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Elastic search Service (under construction)",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Sbt,[l("tr",null,[Tbt,l("td",null,[l("div",xbt,[P(l("input",{type:"checkbox",id:"elastic_search_service",required:"","onUpdate:modelValue":e[405]||(e[405]=_=>r.configFile.elastic_search_service=_),onChange:e[406]||(e[406]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.elastic_search_service]])])])]),l("tr",null,[Cbt,l("td",null,[l("div",wbt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[407]||(e[407]=(..._)=>r.reinstallElasticSearchService&&r.reinstallElasticSearchService(..._))},"install ElasticSearch service")])])]),l("tr",null,[Rbt,l("td",null,[l("div",Abt,[P(l("input",{type:"text",id:"elastic_search_url",required:"","onUpdate:modelValue":e[408]||(e[408]=_=>r.configFile.elastic_search_url=_),onChange:e[409]||(e[409]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.elastic_search_url]])])])])])]),_:1})]),_:1})],2)]),l("div",Nbt,[l("div",Obt,[l("button",{onClick:e[410]||(e[410]=j(_=>i.bzc_collapsed=!i.bzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,Ibt,512),[[wt,i.bzc_collapsed]]),P(l("div",null,Dbt,512),[[wt,!i.bzc_collapsed]]),Lbt,r.configFile.binding_name?G("",!0):(T(),x("div",Pbt,[Fbt,Je(" No binding selected! ")])),r.configFile.binding_name?(T(),x("div",Ubt,"|")):G("",!0),r.configFile.binding_name?(T(),x("div",Bbt,[l("div",Gbt,[l("img",{src:r.imgBinding,class:"w-8 h-8 rounded-full object-fill text-blue-700"},null,8,Vbt),l("p",zbt,K(r.binding_name),1)])])):G("",!0)])]),l("div",{class:Ge([{hidden:i.bzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[r.bindingsZoo&&r.bindingsZoo.length>0?(T(),x("div",Hbt,[l("label",qbt," Bindings: ("+K(r.bindingsZoo.length)+") ",1),l("div",{class:Ge(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",i.bzl_collapsed?"":"max-h-96"])},[V(ii,{name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(r.bindingsZoo,(_,g)=>(T(),dt(c,{ref_for:!0,ref:"bindingZoo",key:"index-"+g+"-"+_.folder,binding:_,"on-selected":r.onBindingSelected,"on-reinstall":r.onReinstallBinding,"on-unInstall":r.onUnInstallBinding,"on-install":r.onInstallBinding,"on-settings":r.onSettingsBinding,"on-reload-binding":r.onReloadBinding,selected:_.folder===r.configFile.binding_name},null,8,["binding","on-selected","on-reinstall","on-unInstall","on-install","on-settings","on-reload-binding","selected"]))),128))]),_:1})],2)])):G("",!0),i.bzl_collapsed?(T(),x("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[411]||(e[411]=_=>i.bzl_collapsed=!i.bzl_collapsed)},Ybt)):(T(),x("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[412]||(e[412]=_=>i.bzl_collapsed=!i.bzl_collapsed)},Kbt))],2)]),l("div",jbt,[l("div",Qbt,[l("button",{onClick:e[413]||(e[413]=j(_=>r.modelsZooToggleCollapse(),["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[P(l("div",null,Zbt,512),[[wt,i.mzc_collapsed]]),P(l("div",null,eEt,512),[[wt,!i.mzc_collapsed]]),tEt,l("div",nEt,[r.configFile.binding_name?G("",!0):(T(),x("div",sEt,[iEt,Je(" Select binding first! ")])),!r.configFile.model_name&&r.configFile.binding_name?(T(),x("div",rEt,[oEt,Je(" No model selected! ")])):G("",!0),r.configFile.model_name?(T(),x("div",aEt,"|")):G("",!0),r.configFile.model_name?(T(),x("div",lEt,[l("div",cEt,[l("img",{src:r.imgModel,class:"w-8 h-8 rounded-lg object-fill"},null,8,dEt),l("p",uEt,K(r.configFile.model_name),1)])])):G("",!0)])])]),l("div",{class:Ge([{hidden:i.mzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",pEt,[l("div",_Et,[l("div",hEt,[i.searchModelInProgress?(T(),x("div",fEt,gEt)):G("",!0),i.searchModelInProgress?G("",!0):(T(),x("div",bEt,yEt))]),P(l("input",{type:"search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search models...",required:"","onUpdate:modelValue":e[414]||(e[414]=_=>i.searchModel=_),onKeyup:e[415]||(e[415]=zs((..._)=>r.searchModel_func&&r.searchModel_func(..._),["enter"]))},null,544),[[pe,i.searchModel]]),i.searchModel?(T(),x("button",{key:0,onClick:e[416]||(e[416]=j(_=>i.searchModel="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):G("",!0)])]),l("div",null,[P(l("input",{"onUpdate:modelValue":e[417]||(e[417]=_=>i.show_only_installed_models=_),class:"m-2 p-2",type:"checkbox",ref:"only_installed"},null,512),[[$e,i.show_only_installed_models]]),vEt]),l("div",null,[V(d,{radioOptions:i.sortOptions,onRadioSelected:r.handleRadioSelected},null,8,["radioOptions","onRadioSelected"])]),SEt,i.is_loading_zoo?(T(),x("div",TEt,wEt)):G("",!0),i.models_zoo&&i.models_zoo.length>0?(T(),x("div",REt,[l("label",AEt," Models: ("+K(i.models_zoo.length)+") ",1),l("div",{class:Ge(["overflow-y-auto p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",i.mzl_collapsed?"":"max-h-96"])},[V(ii,{name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(r.rendered_models_zoo,(_,g)=>(T(),dt(u,{ref_for:!0,ref:"modelZoo",key:"index-"+g+"-"+_.name,model:_,"is-installed":_.isInstalled,"on-install":r.onInstall,"on-uninstall":r.onUninstall,"on-selected":r.onModelSelected,selected:_.name===r.configFile.model_name,model_type:_.model_type,"on-copy":r.onCopy,"on-copy-link":r.onCopyLink,"on-cancel-install":r.onCancelInstall},null,8,["model","is-installed","on-install","on-uninstall","on-selected","selected","model_type","on-copy","on-copy-link","on-cancel-install"]))),128)),l("button",{ref:"load_more_models",class:"relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",onClick:e[418]||(e[418]=(..._)=>r.load_more_models&&r.load_more_models(..._))},"Load more models",512)]),_:1})],2)])):G("",!0),i.mzl_collapsed?(T(),x("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[419]||(e[419]=(..._)=>r.open_mzl&&r.open_mzl(..._))},OEt)):(T(),x("button",{key:3,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[420]||(e[420]=(..._)=>r.open_mzl&&r.open_mzl(..._))},IEt)),l("div",kEt,[l("div",DEt,[l("div",null,[l("div",LEt,[PEt,P(l("input",{type:"text","onUpdate:modelValue":e[421]||(e[421]=_=>i.reference_path=_),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter Path ...",required:""},null,512),[[pe,i.reference_path]])]),l("button",{type:"button",onClick:e[422]||(e[422]=j(_=>r.onCreateReference(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Add reference")]),i.modelDownlaodInProgress?G("",!0):(T(),x("div",FEt,[l("div",UEt,[BEt,P(l("input",{type:"text","onUpdate:modelValue":e[423]||(e[423]=_=>i.addModel.url=_),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter URL ...",required:""},null,512),[[pe,i.addModel.url]])]),l("button",{type:"button",onClick:e[424]||(e[424]=j(_=>r.onInstallAddModel(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Download")])),i.modelDownlaodInProgress?(T(),x("div",GEt,[VEt,l("div",zEt,[l("div",HEt,[l("div",qEt,[$Et,l("span",YEt,K(Math.floor(i.addModel.progress))+"%",1)]),l("div",{class:"mx-1 opacity-80 line-clamp-1",title:i.addModel.url},K(i.addModel.url),9,WEt),l("div",KEt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht({width:i.addModel.progress+"%"})},null,4)]),l("div",jEt,[l("span",QEt,"Download speed: "+K(r.speed_computed)+"/s",1),l("span",XEt,K(r.downloaded_size_computed)+"/"+K(r.total_size_computed),1)])])]),l("div",ZEt,[l("div",JEt,[l("div",eyt,[l("button",{onClick:e[425]||(e[425]=j((..._)=>r.onCancelInstall&&r.onCancelInstall(..._),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])):G("",!0)])])],2)]),l("div",tyt,[l("div",nyt,[l("button",{onClick:e[428]||(e[428]=j(_=>i.pzc_collapsed=!i.pzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[P(l("div",null,iyt,512),[[wt,i.pzc_collapsed]]),P(l("div",null,oyt,512),[[wt,!i.pzc_collapsed]]),ayt,r.configFile.personalities?(T(),x("div",lyt,"|")):G("",!0),l("div",cyt,K(r.active_pesonality),1),r.configFile.personalities?(T(),x("div",dyt,"|")):G("",!0),r.configFile.personalities?(T(),x("div",uyt,[r.mountedPersArr.length>0?(T(),x("div",pyt,[(T(!0),x(Fe,null,Ke(r.mountedPersArr,(_,g)=>(T(),x("div",{class:"relative hover:-translate-y-2 duration-300 hover:z-10 shrink-0",key:g+"-"+_.name,ref_for:!0,ref:"mountedPersonalities"},[l("div",_yt,[l("button",{onClick:j(b=>r.onPersonalitySelected(_),["stop"])},[l("img",{src:i.bUrl+_.avatar,onError:e[426]||(e[426]=(...b)=>r.personalityImgPlacehodler&&r.personalityImgPlacehodler(...b)),class:Ge(["w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 group-hover:border-secondary",r.configFile.active_personality_id==r.configFile.personalities.indexOf(_.full_path)?"border-secondary":"border-transparent z-0"]),title:_.name},null,42,fyt)],8,hyt),l("button",{onClick:j(b=>r.unmountPersonality(_),["stop"])},byt,8,myt)])]))),128))])):G("",!0)])):G("",!0),l("button",{onClick:e[427]||(e[427]=j(_=>r.unmountAll(),["stop"])),class:"bg-bg-light hover:border-green-200 ml-5 dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount All"},yyt)])]),l("div",{class:Ge([{hidden:i.pzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",vyt,[Syt,l("div",Tyt,[l("div",xyt,[i.searchPersonalityInProgress?(T(),x("div",Cyt,Ryt)):G("",!0),i.searchPersonalityInProgress?G("",!0):(T(),x("div",Ayt,Oyt))]),P(l("input",{type:"search",id:"personality-search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search personality...",required:"","onUpdate:modelValue":e[429]||(e[429]=_=>i.searchPersonality=_),onKeyup:e[430]||(e[430]=j((..._)=>r.searchPersonality_func&&r.searchPersonality_func(..._),["stop"]))},null,544),[[pe,i.searchPersonality]]),i.searchPersonality?(T(),x("button",{key:0,onClick:e[431]||(e[431]=j(_=>i.searchPersonality="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):G("",!0)])]),i.searchPersonality?G("",!0):(T(),x("div",Myt,[l("label",Iyt," Personalities Category: ("+K(i.persCatgArr.length)+") ",1),l("select",{id:"persCat",onChange:e[432]||(e[432]=_=>r.update_personality_category(_.target.value,r.refresh)),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(T(!0),x(Fe,null,Ke(i.persCatgArr,(_,g)=>(T(),x("option",{key:g,selected:_==this.configFile.personality_category},K(_),9,kyt))),128))],32)])),l("div",null,[i.personalitiesFiltered.length>0?(T(),x("div",Dyt,[l("label",Lyt,K(i.searchPersonality?"Search results":"Personalities")+": ("+K(i.personalitiesFiltered.length)+") ",1),l("div",{class:Ge(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",i.pzl_collapsed?"":"max-h-96"])},[V(ii,{name:"bounce"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(i.personalitiesFiltered,(_,g)=>(T(),dt(h,{ref_for:!0,ref:"personalitiesZoo",key:"index-"+g+"-"+_.name,personality:_,select_language:!0,full_path:_.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(b=>b===_.full_path||b===_.full_path+":"+_.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-edit":r.editPersonality,"on-copy-to-custom":r.copyToCustom,"on-reinstall":r.onPersonalityReinstall,"on-settings":r.onSettingsPersonality,"on-copy-personality-name":r.onCopyPersonalityName,"on-copy-to_custom":r.onCopyToCustom,"on-open-folder":r.handleOpenFolder},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-edit","on-copy-to-custom","on-reinstall","on-settings","on-copy-personality-name","on-copy-to_custom","on-open-folder"]))),128))]),_:1})],2)])):G("",!0)]),i.pzl_collapsed?(T(),x("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[433]||(e[433]=_=>i.pzl_collapsed=!i.pzl_collapsed)},Fyt)):(T(),x("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[434]||(e[434]=_=>i.pzl_collapsed=!i.pzl_collapsed)},Byt))],2)]),l("div",Gyt,[l("div",Vyt,[l("button",{onClick:e[435]||(e[435]=j(_=>i.mc_collapsed=!i.mc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[P(l("div",null,Hyt,512),[[wt,i.mc_collapsed]]),P(l("div",null,$yt,512),[[wt,!i.mc_collapsed]]),Yyt])]),l("div",{class:Ge([{hidden:i.mc_collapsed},"flex flex-col mb-2 p-2"])},[l("div",Wyt,[l("div",Kyt,[P(l("input",{id:"override-model-parameters",type:"checkbox",class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500",onClick:e[436]||(e[436]=j(()=>{},["stop"])),"onUpdate:modelValue":e[437]||(e[437]=_=>r.configFile.override_personality_model_parameters=_),onChange:e[438]||(e[438]=_=>r.update_setting("override_personality_model_parameters",r.configFile.override_personality_model_parameters))},null,544),[[$e,r.configFile.override_personality_model_parameters]]),jyt])]),l("div",{class:Ge(r.configFile.override_personality_model_parameters?"":"pointer-events-none opacity-30")},[l("div",Qyt,[Xyt,P(l("input",{type:"text",id:"seed","onUpdate:modelValue":e[439]||(e[439]=_=>r.configFile.seed=_),class:"bg-gray-50 border border-gray-300 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,512),[[pe,r.configFile.seed]])]),l("div",Zyt,[l("div",Jyt,[l("div",evt,[tvt,l("p",nvt,[P(l("input",{type:"text",id:"temp-val","onUpdate:modelValue":e[440]||(e[440]=_=>r.configFile.temperature=_),onChange:e[441]||(e[441]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.temperature]])])]),P(l("input",{id:"temperature",onChange:e[442]||(e[442]=_=>i.settingsChanged=!0),type:"range","onUpdate:modelValue":e[443]||(e[443]=_=>r.configFile.temperature=_),min:"0",max:"5",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.temperature]])])]),l("div",svt,[l("div",ivt,[l("div",rvt,[ovt,l("p",avt,[P(l("input",{type:"text",id:"predict-val","onUpdate:modelValue":e[444]||(e[444]=_=>r.configFile.n_predict=_),onChange:e[445]||(e[445]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.n_predict]])])]),P(l("input",{id:"predict",type:"range",onChange:e[446]||(e[446]=_=>i.settingsChanged=!0),"onUpdate:modelValue":e[447]||(e[447]=_=>r.configFile.n_predict=_),min:"0",max:"2048",step:"32",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.n_predict]])])]),l("div",lvt,[l("div",cvt,[l("div",dvt,[uvt,l("p",pvt,[P(l("input",{type:"text",id:"top_k-val","onUpdate:modelValue":e[448]||(e[448]=_=>r.configFile.top_k=_),onChange:e[449]||(e[449]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_k]])])]),P(l("input",{id:"top_k",type:"range",onChange:e[450]||(e[450]=_=>i.settingsChanged=!0),"onUpdate:modelValue":e[451]||(e[451]=_=>r.configFile.top_k=_),min:"0",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_k]])])]),l("div",_vt,[l("div",hvt,[l("div",fvt,[mvt,l("p",gvt,[P(l("input",{type:"text",id:"top_p-val","onUpdate:modelValue":e[452]||(e[452]=_=>r.configFile.top_p=_),onChange:e[453]||(e[453]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_p]])])]),P(l("input",{id:"top_p",type:"range","onUpdate:modelValue":e[454]||(e[454]=_=>r.configFile.top_p=_),min:"0",max:"1",step:"0.01",onChange:e[455]||(e[455]=_=>i.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_p]])])]),l("div",bvt,[l("div",Evt,[l("div",yvt,[vvt,l("p",Svt,[P(l("input",{type:"text",id:"repeat_penalty-val","onUpdate:modelValue":e[456]||(e[456]=_=>r.configFile.repeat_penalty=_),onChange:e[457]||(e[457]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_penalty]])])]),P(l("input",{id:"repeat_penalty",onChange:e[458]||(e[458]=_=>i.settingsChanged=!0),type:"range","onUpdate:modelValue":e[459]||(e[459]=_=>r.configFile.repeat_penalty=_),min:"0",max:"2",step:"0.01",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_penalty]])])]),l("div",Tvt,[l("div",xvt,[l("div",Cvt,[wvt,l("p",Rvt,[P(l("input",{type:"text",id:"repeat_last_n-val","onUpdate:modelValue":e[460]||(e[460]=_=>r.configFile.repeat_last_n=_),onChange:e[461]||(e[461]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_last_n]])])]),P(l("input",{id:"repeat_last_n",type:"range","onUpdate:modelValue":e[462]||(e[462]=_=>r.configFile.repeat_last_n=_),min:"0",max:"100",step:"1",onChange:e[463]||(e[463]=_=>i.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_last_n]])])])],2)],2)])],2)]),V(f,{ref:"addmodeldialog"},null,512),V(m,{class:"z-20",show:i.variantSelectionDialogVisible,choices:i.variant_choices,onChoiceSelected:r.onVariantChoiceSelected,onCloseDialog:r.oncloseVariantChoiceDialog,onChoiceValidated:r.onvalidateVariantChoice},null,8,["show","choices","onChoiceSelected","onCloseDialog","onChoiceValidated"])],64)}const Nvt=ot(fat,[["render",Avt],["__scopeId","data-v-6e0a6356"]]),Ovt={components:{ClipBoardTextInput:gE,Card:ju},data(){return{dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDataset:""}},methods:{submitForm(){const t={model_name:this.selectedModel,dataset_file:this.selectedDataset,max_length:this.max_length,batch_size:this.batch_size,lr:this.lr,num_epochs:this.num_epochs,output_dir:this.selectedFolder};ae.post("/start_training",t).then(e=>{})},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(t){var n;console.log("here");const e=(n=t.target.files[0])==null?void 0:n.path;console.log(e),e&&(this.selectedFolder=e)},selectDataset(t){const e=t.target.files;e.length>0&&(this.selectedDataset=e[0])}},computed:{selectedModel:{get(){return this.$store.state.selectedModel}},models:{get(){return this.$store.state.modelsArr}}},watch:{model_name(t){console.log("watching model_name",t),this.$refs.clipboardInput.inputValue=t}}},Mvt={key:0,class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},Ivt={class:"mb-4"},kvt=l("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),Dvt=["value"],Lvt={class:"mb-4"},Pvt=l("label",{for:"dataset_path",class:"text-sm"},"Dataset:",-1),Fvt={class:"mb-4"},Uvt=l("label",{for:"lr",class:"text-sm"},"Learning Rate:",-1),Bvt={class:"mb-4"},Gvt=l("label",{for:"num_epochs",class:"text-sm"},"Number of Epochs:",-1),Vvt={class:"mb-4"},zvt=l("label",{for:"max_length",class:"text-sm"},"Max Length:",-1),Hvt={class:"mb-4"},qvt=l("label",{for:"batch_size",class:"text-sm"},"Batch Size:",-1),$vt={class:"mb-4"},Yvt=l("label",{for:"output_dir",class:"text-sm"},"Output Directory:",-1),Wvt=l("button",{class:"bg-blue-500 text-white px-4 py-2 rounded"},"Start training",-1),Kvt={key:1};function jvt(t,e,n,s,i,r){const o=tt("Card"),a=tt("ClipBoardTextInput");return r.selectedModel!==null&&r.selectedModel.toLowerCase().includes("gptq")?(T(),x("div",Mvt,[l("form",{onSubmit:e[2]||(e[2]=j((...c)=>r.submitForm&&r.submitForm(...c),["prevent"])),class:""},[V(o,{title:"Training configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[V(o,{title:"Model",class:"",isHorizontal:!1},{default:Ie(()=>[l("div",Ivt,[kvt,P(l("select",{"onUpdate:modelValue":e[0]||(e[0]=c=>r.selectedModel=c),onChange:e[1]||(e[1]=(...c)=>t.setModel&&t.setModel(...c)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(T(!0),x(Fe,null,Ke(r.models,c=>(T(),x("option",{key:c,value:c},K(c),9,Dvt))),128))],544),[[Dt,r.selectedModel]])])]),_:1}),V(o,{title:"Data",isHorizontal:!1},{default:Ie(()=>[l("div",Lvt,[Pvt,V(a,{id:"model_path",inputType:"file",value:i.dataset_path,onchange:"selectDataset()"},null,8,["value"])])]),_:1}),V(o,{title:"Training",isHorizontal:!1},{default:Ie(()=>[l("div",Fvt,[Uvt,V(a,{id:"model_path",inputType:"integer",value:i.lr},null,8,["value"])]),l("div",Bvt,[Gvt,V(a,{id:"model_path",inputType:"integer",value:i.num_epochs},null,8,["value"])]),l("div",Vvt,[zvt,V(a,{id:"model_path",inputType:"integer",value:i.max_length},null,8,["value"])]),l("div",Hvt,[qvt,V(a,{id:"model_path",inputType:"integer",value:i.batch_size},null,8,["value"])])]),_:1}),V(o,{title:"Output",isHorizontal:!1},{default:Ie(()=>[l("div",$vt,[Yvt,V(a,{id:"model_path",inputType:"text",value:t.output_dir},null,8,["value"])])]),_:1})]),_:1}),V(o,{disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[Wvt]),_:1})],32)])):(T(),x("div",Kvt,[V(o,{title:"Info",class:"",isHorizontal:!1},{default:Ie(()=>[Je(" Only GPTQ models are supported for QLora fine tuning. Please select a GPTQ compatible binding. ")]),_:1})]))}const Qvt=ot(Ovt,[["render",jvt]]),Xvt={components:{ClipBoardTextInput:gE,Card:ju},data(){return{model_name:"jondurbin/airoboros-7b-gpt4",tokenizer_name:"jondurbin/airoboros-7b-gpt4",dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDatasetPath:""}},methods:{submitForm(){this.model_name,this.tokenizer_name,this.selectedDatasetPath,this.max_length,this.batch_size,this.lr,this.num_epochs,this.selectedFolder},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(t){var n;console.log("here");const e=(n=t.target.files[0])==null?void 0:n.path;console.log(e),e&&(this.selectedFolder=e)},selectDatasetPath(t){const e=t.target.files;e.length>0&&(this.selectedDatasetPath=e[0].webkitRelativePath)}}},Zvt={class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},Jvt={class:"mb-4"},eSt=l("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),tSt={class:"mb-4"},nSt=l("label",{for:"tokenizer_name",class:"text-sm"},"Tokenizer Name:",-1),sSt=l("button",{type:"submit",class:"bg-blue-500 text-white px-4 py-2 rounded"},"Quantize LLM",-1);function iSt(t,e,n,s,i,r){const o=tt("ClipBoardTextInput"),a=tt("Card");return T(),x("div",Zvt,[l("form",{onSubmit:e[0]||(e[0]=j((...c)=>r.submitForm&&r.submitForm(...c),["prevent"])),class:"max-w-md mx-auto"},[V(a,{title:"Quantizing configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[V(a,{title:"Model",class:"",isHorizontal:!1},{default:Ie(()=>[l("div",Jvt,[eSt,V(o,{id:"model_path",inputType:"text",value:i.model_name},null,8,["value"])]),l("div",tSt,[nSt,V(o,{id:"model_path",inputType:"text",value:i.tokenizer_name},null,8,["value"])])]),_:1})]),_:1}),V(a,{disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[sSt]),_:1})],32)])}const rSt=ot(Xvt,[["render",iSt]]),aN="/assets/strawberry-20d9a7ba.png",oSt={name:"Discussion",emits:["delete","select","openFolder","editTitle","makeTitle","checked"],props:{id:Number,title:String,selected:Boolean,loading:Boolean,isCheckbox:Boolean,checkBoxValue:Boolean},setup(){},data(){return{showConfirmation:!1,editTitleMode:!1,makeTitleMode:!1,deleteMode:!1,openFolder:!1,editTitle:!1,newTitle:String,checkBoxValue_local:!1}},methods:{cancel(){this.editTitleMode=!1,this.makeTitleMode=!1,this.deleteMode=!1,this.showConfirmation=!1},deleteEvent(){this.showConfirmation=!1,this.$emit("delete")},selectEvent(){this.$emit("select")},openFolderEvent(){this.$emit("openFolder",{id:this.id})},editTitleEvent(){this.editTitle=!1,this.editTitleMode=!1,this.makeTitleMode=!1,this.deleteMode=!1,this.showConfirmation=!1,this.$emit("editTitle",{title:this.newTitle,id:this.id})},makeTitleEvent(){this.$emit("makeTitle",{id:this.id}),this.showConfirmation=!1},chnageTitle(t){this.newTitle=t},checkedChangeEvent(t,e){this.$emit("checked",t,e)}},mounted(){this.newTitle=this.title,Le(()=>{ze.replace()})},watch:{showConfirmation(){Le(()=>{ze.replace()})},editTitleMode(t){this.showConfirmation=t,this.editTitle=t,t&&Le(()=>{try{this.$refs.titleBox.focus()}catch{}})},deleteMode(t){this.showConfirmation=t,t&&Le(()=>{this.$refs.titleBox.focus()})},makeTitleMode(t){this.showConfirmation=t},checkBoxValue(t,e){this.checkBoxValue_local=t}}},aSt=["id"],lSt={class:"flex flex-row items-center gap-2"},cSt={key:0},dSt={class:"flex flex-row items-center w-full"},uSt=["title"],pSt=["value"],_St={class:"flex items-center flex-1 max-h-6"},hSt={key:0,class:"flex gap-3 flex-1 items-center justify-end duration-75"},fSt=l("i",{"data-feather":"x"},null,-1),mSt=[fSt],gSt=l("i",{"data-feather":"check"},null,-1),bSt=[gSt],ESt={key:1,class:"flex gap-3 flex-1 items-center justify-end invisible group-hover:visible duration-75"},ySt=l("i",{"data-feather":"folder"},null,-1),vSt=[ySt],SSt=l("i",{"data-feather":"type"},null,-1),TSt=[SSt],xSt=l("i",{"data-feather":"edit-2"},null,-1),CSt=[xSt],wSt=l("i",{"data-feather":"trash"},null,-1),RSt=[wSt];function ASt(t,e,n,s,i,r){return T(),x("div",{class:Ge([n.selected?"discussion-hilighted shadow-md min-w-[23rem] max-w-[23rem]":"discussion min-w-[23rem] max-w-[23rem]","m-1 py-2 flex flex-row sm:flex-row flex-wrap flex-shrink: 0 item-center shadow-sm hover:shadow-md rounded-md duration-75 group cursor-pointer"]),id:"dis-"+n.id,onClick:e[13]||(e[13]=j(o=>r.selectEvent(),["stop"]))},[l("div",lSt,[n.isCheckbox?(T(),x("div",cSt,[P(l("input",{type:"checkbox",class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500",onClick:e[0]||(e[0]=j(()=>{},["stop"])),"onUpdate:modelValue":e[1]||(e[1]=o=>i.checkBoxValue_local=o),onInput:e[2]||(e[2]=o=>r.checkedChangeEvent(o,n.id))},null,544),[[$e,i.checkBoxValue_local]])])):G("",!0),n.selected?(T(),x("div",{key:1,class:Ge(["min-h-full w-2 rounded-xl self-stretch",n.loading?"animate-bounce bg-accent ":" bg-secondary "])},null,2)):G("",!0),n.selected?G("",!0):(T(),x("div",{key:2,class:Ge(["w-2",n.loading?"min-h-full w-2 rounded-xl self-stretch animate-bounce bg-accent ":" "])},null,2))]),l("div",dSt,[i.editTitle?G("",!0):(T(),x("p",{key:0,title:n.title,class:"line-clamp-1 w-4/6 ml-1 -mx-5"},K(n.title?n.title==="untitled"?"New discussion":n.title:"New discussion"),9,uSt)),i.editTitle?(T(),x("input",{key:1,type:"text",id:"title-box",ref:"titleBox",class:"bg-bg-light dark:bg-bg-dark rounded-md border-0 w-full -m-1 p-1",value:n.title,required:"",onKeydown:[e[3]||(e[3]=zs(j(o=>r.editTitleEvent(),["exact"]),["enter"])),e[4]||(e[4]=zs(j(o=>i.editTitleMode=!1,["exact"]),["esc"]))],onInput:e[5]||(e[5]=o=>r.chnageTitle(o.target.value)),onClick:e[6]||(e[6]=j(()=>{},["stop"]))},null,40,pSt)):G("",!0),l("div",_St,[i.showConfirmation?(T(),x("div",hSt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Discard title changes",type:"button",onClick:e[7]||(e[7]=j(o=>r.cancel(),["stop"]))},mSt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm title changes",type:"button",onClick:e[8]||(e[8]=j(o=>i.editTitleMode?r.editTitleEvent():i.deleteMode?r.deleteEvent():r.makeTitleEvent(),["stop"]))},bSt)])):G("",!0),i.showConfirmation?G("",!0):(T(),x("div",ESt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Open folder",type:"button",onClick:e[9]||(e[9]=j(o=>r.openFolderEvent(),["stop"]))},vSt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Make a title",type:"button",onClick:e[10]||(e[10]=j(o=>i.makeTitleMode=!0,["stop"]))},TSt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Edit title",type:"button",onClick:e[11]||(e[11]=j(o=>i.editTitleMode=!0,["stop"]))},CSt),l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Remove discussion",type:"button",onClick:e[12]||(e[12]=j(o=>i.deleteMode=!0,["stop"]))},RSt)]))])])],10,aSt)}const OE=ot(oSt,[["render",ASt]]),NSt={data(){return{show:!1,prompt:"",inputText:""}},methods:{showPanel(){this.show=!0},ok(){this.show=!1,this.$emit("ok",this.inputText)},cancel(){this.show=!1,this.inputText=""}},props:{promptText:{type:String,required:!0}},watch:{promptText(t){this.prompt=t}}},OSt={key:0,class:"fixed top-0 left-0 w-full h-full flex justify-center items-center bg-black bg-opacity-50"},MSt={class:"bg-white p-8 rounded"},ISt={class:"text-xl font-bold mb-4"};function kSt(t,e,n,s,i,r){return T(),x("div",null,[i.show?(T(),x("div",OSt,[l("div",MSt,[l("h2",ISt,K(n.promptText),1),P(l("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=o=>i.inputText=o),class:"border border-gray-300 px-4 py-2 rounded mb-4"},null,512),[[pe,i.inputText]]),l("button",{onClick:e[1]||(e[1]=(...o)=>r.ok&&r.ok(...o)),class:"bg-blue-500 text-white px-4 py-2 rounded mr-2"},"OK"),l("button",{onClick:e[2]||(e[2]=(...o)=>r.cancel&&r.cancel(...o)),class:"bg-gray-500 text-white px-4 py-2 rounded"},"Cancel")])])):G("",!0)])}const lN=ot(NSt,[["render",kSt]]),DSt={data(){return{id:0,loading:!1,isCheckbox:!1,isVisible:!1,categories:[],titles:[],content:"",searchQuery:""}},components:{Discussion:OE,MarkdownRenderer:Yu},props:{host:{type:String,required:!1,default:"http://localhost:9600"}},methods:{showSkillsLibrary(){this.isVisible=!0,this.fetchTitles()},closeComponent(){this.isVisible=!1},fetchCategories(){ae.post("/get_skills_library_categories",{client_id:this.$store.state.client_id}).then(t=>{this.categories=t.data.categories}).catch(t=>{console.error("Error fetching categories:",t)})},fetchTitles(){console.log("Fetching categories"),ae.post("/get_skills_library_titles",{client_id:this.$store.state.client_id}).then(t=>{this.titles=t.data.titles,console.log("titles recovered")}).catch(t=>{console.error("Error fetching titles:",t)})},fetchContent(t){ae.post("/get_skills_library_content",{client_id:this.$store.state.client_id,skill_id:t}).then(e=>{const n=e.data.contents[0];this.id=n.id,this.content=n.content}).catch(e=>{console.error("Error fetching content:",e)})},deleteCategory(t){console.log("Delete category")},editCategory(t){console.log("Edit category")},checkUncheckCategory(t){console.log("Unchecked category")},deleteSkill(t){console.log("Delete skill ",t),ae.post("/delete_skill",{client_id:this.$store.state.client_id,skill_id:t}).then(()=>{this.fetchTitles()})},editTitle(t){ae.post("/edit_skill_title",{client_id:this.$store.state.client_id,skill_id:t,title:t}).then(()=>{this.fetchTitles()}),console.log("Edit title")},makeTitle(t){console.log("Make title")},checkUncheckTitle(t){},searchSkills(){}}},LSt={id:"leftPanel",class:"flex flex-row h-full flex-grow shadow-lg rounded"},PSt={class:"min-w-[23rem] max-w-[23rem] z-10 top-0 bg-bg-light-tone dark:bg-bg-dark-tone shadow-md overflow-y-scroll no-scrollbar"},FSt={class:"search p-4"},USt={classclass:"absolute flex flex-col no-scrollbar shadow-lg min-w-[24rem] max-w-[24rem] bg-bg-light-tone dark:bg-bg-dark-tone top-20 left-20 bottom-20 right-20 bg-bg-light shadow-lg rounded"},BSt=l("h2",{class:"text-xl font-bold m-4"},"Titles",-1),GSt={class:"z-0 flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},VSt=l("h2",{class:"text-xl font-bold m-4"},"Content",-1);function zSt(t,e,n,s,i,r){const o=tt("Discussion"),a=tt("MarkdownRenderer");return T(),x("div",{class:Ge([{hidden:!i.isVisible},"absolute flex flex-col no-scrollbar shadow-lg bg-bg-light dark:bg-bg-dark top-20 left-20 bottom-20 right-20 shadow-lg rounded"])},[l("div",LSt,[l("div",PSt,[l("div",FSt,[P(l("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=c=>i.searchQuery=c),placeholder:"Search skills",class:"border border-gray-300 rounded px-2 py-1 mr-2"},null,512),[[pe,i.searchQuery]]),l("button",{onClick:e[1]||(e[1]=(...c)=>r.searchSkills&&r.searchSkills(...c)),class:"bg-blue-500 text-white rounded px-4 py-1"},"Search")]),l("div",USt,[BSt,i.titles.length>0?(T(),dt(ii,{key:0,name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(i.titles,c=>(T(),dt(o,{key:c.id,id:c.id,title:c.title,selected:r.fetchContent(c.id),loading:i.loading,isCheckbox:i.isCheckbox,checkBoxValue:!1,onSelect:d=>r.fetchContent(c.id),onDelete:d=>r.deleteSkill(c.id),onEditTitle:r.editTitle,onMakeTitle:r.makeTitle,onChecked:r.checkUncheckTitle},null,8,["id","title","selected","loading","isCheckbox","onSelect","onDelete","onEditTitle","onMakeTitle","onChecked"]))),128))]),_:1})):G("",!0)])]),l("div",GSt,[VSt,V(a,{host:n.host,"markdown-text":i.content,message_id:i.id,discussion_id:i.id,client_id:this.$store.state.client_id},null,8,["host","markdown-text","message_id","discussion_id","client_id"])])]),l("button",{onClick:e[2]||(e[2]=(...c)=>r.closeComponent&&r.closeComponent(...c)),class:"absolute top-2 right-2 bg-red-500 text-white rounded px-2 py-1 hover:bg-red-300"},"Close")],2)}const cN=ot(DSt,[["render",zSt]]),HSt={props:{htmlContent:{type:String,required:!0}}},qSt=["innerHTML"];function $St(t,e,n,s,i,r){return T(),x("div",{class:"w-full h-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",innerHTML:n.htmlContent},null,8,qSt)}const YSt=ot(HSt,[["render",$St]]);const WSt={name:"JsonTreeView",props:{data:{type:[Object,Array],required:!0},depth:{type:Number,default:0}},data(){return{collapsedKeys:new Set}},methods:{isObject(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)},isArray(t){return Array.isArray(t)},toggleCollapse(t){this.collapsedKeys.has(t)?this.collapsedKeys.delete(t):this.collapsedKeys.add(t)},isCollapsed(t){return this.collapsedKeys.has(t)},getValueType(t){return typeof t=="string"?"string":typeof t=="number"?"number":typeof t=="boolean"?"boolean":t===null?"null":""},formatValue(t){return typeof t=="string"?`"${t}"`:String(t)}}},KSt={class:"json-tree-view"},jSt=["onClick"],QSt={key:0,class:"toggle-icon"},XSt={class:"key"},ZSt={key:0,class:"json-nested"};function JSt(t,e,n,s,i,r){const o=tt("json-tree-view",!0);return T(),x("div",KSt,[(T(!0),x(Fe,null,Ke(n.data,(a,c)=>(T(),x("div",{key:c,class:"json-item"},[l("div",{class:"json-key",onClick:d=>r.toggleCollapse(c)},[r.isObject(a)||r.isArray(a)?(T(),x("span",QSt,[l("i",{class:Ge(r.isCollapsed(c)?"fas fa-chevron-right":"fas fa-chevron-down")},null,2)])):G("",!0),l("span",XSt,K(c)+":",1),!r.isObject(a)&&!r.isArray(a)?(T(),x("span",{key:1,class:Ge(["value",r.getValueType(a)])},K(r.formatValue(a)),3)):G("",!0)],8,jSt),(r.isObject(a)||r.isArray(a))&&!r.isCollapsed(c)?(T(),x("div",ZSt,[V(o,{data:a,depth:n.depth+1},null,8,["data","depth"])])):G("",!0)]))),128))])}const e0t=ot(WSt,[["render",JSt],["__scopeId","data-v-40406ec6"]]);const t0t={components:{JsonTreeView:e0t},props:{jsonData:{type:[Object,Array,String],default:null},jsonFormText:{type:String,default:"JSON Viewer"}},data(){return{collapsed:!0}},computed:{isContentPresent(){return this.jsonData!==null&&(typeof this.jsonData!="string"||this.jsonData.trim()!=="")},parsedJsonData(){if(typeof this.jsonData=="string")try{return JSON.parse(this.jsonData)}catch(t){return console.error("Error parsing JSON string:",t),{error:"Invalid JSON string"}}return this.jsonData}},methods:{toggleCollapsible(){this.collapsed=!this.collapsed}}},n0t={key:0,class:"json-viewer"},s0t={class:"toggle-icon"},i0t={class:"json-content panels-color"};function r0t(t,e,n,s,i,r){const o=tt("json-tree-view");return r.isContentPresent?(T(),x("div",n0t,[l("div",{class:"collapsible-section",onClick:e[0]||(e[0]=(...a)=>r.toggleCollapsible&&r.toggleCollapsible(...a))},[l("span",s0t,[l("i",{class:Ge(i.collapsed?"fas fa-chevron-right":"fas fa-chevron-down")},null,2)]),Je(" "+K(n.jsonFormText),1)]),P(l("div",i0t,[V(o,{data:r.parsedJsonData,depth:0},null,8,["data"])],512),[[wt,!i.collapsed]])])):G("",!0)}const o0t=ot(t0t,[["render",r0t],["__scopeId","data-v-83fc9727"]]);const a0t={props:{done:{type:Boolean,default:!1},text:{type:String,default:""},status:{type:Boolean,default:!1},step_type:{type:String,default:"start_end"},description:{type:String,default:""}},mounted(){this.amounted()},methods:{amounted(){console.log("Component mounted with the following properties:"),console.log("done:",this.done),console.log("text:",this.text),console.log("status:",this.status),console.log("step_type:",this.step_type),console.log("description:",this.description)}},watch:{done(t){typeof t!="boolean"&&console.error("Invalid type for done. Expected Boolean.")},status(t){typeof t!="boolean"&&console.error("Invalid type for status. Expected Boolean."),this.done&&!t&&console.error("Task completed with errors.")}}},Ju=t=>(vs("data-v-78f415f6"),t=t(),Ss(),t),l0t={class:"step-container"},c0t={class:"step-icon"},d0t={key:0},u0t={key:0},p0t=Ju(()=>l("i",{"data-feather":"circle",class:"feather-icon text-gray-600 dark:text-gray-300"},null,-1)),_0t=[p0t],h0t={key:1},f0t=Ju(()=>l("i",{"data-feather":"check-circle",class:"feather-icon text-green-600 dark:text-green-400"},null,-1)),m0t=[f0t],g0t={key:2},b0t=Ju(()=>l("i",{"data-feather":"x-circle",class:"feather-icon text-red-600 dark:text-red-400"},null,-1)),E0t=[b0t],y0t={key:1},v0t=Ju(()=>l("div",{class:"spinner"},null,-1)),S0t=[v0t],T0t={class:"step-content"},x0t={key:0,class:"step-description"};function C0t(t,e,n,s,i,r){return T(),x("div",l0t,[l("div",{class:Ge(["step-wrapper transition-all duration-300 ease-in-out",{"bg-green-100 dark:bg-green-900":n.done&&n.status,"bg-red-100 dark:bg-red-900":n.done&&!n.status,"bg-gray-100 dark:bg-gray-800":!n.done}])},[l("div",c0t,[n.step_type==="start_end"?(T(),x("div",d0t,[n.done?n.done&&n.status?(T(),x("div",h0t,m0t)):(T(),x("div",g0t,E0t)):(T(),x("div",u0t,_0t))])):G("",!0),n.done?G("",!0):(T(),x("div",y0t,S0t))]),l("div",T0t,[l("h3",{class:Ge(["step-text",{"text-green-600 dark:text-green-400":n.done&&n.status,"text-red-600 dark:text-red-400":n.done&&!n.status,"text-gray-800 dark:text-gray-200":!n.done}])},K(n.text||"No text provided"),3),n.description?(T(),x("p",x0t,K(n.description||"No description provided"),1)):G("",!0)])],2)])}const w0t=ot(a0t,[["render",C0t],["__scopeId","data-v-78f415f6"]]),R0t="/assets/process-61f7a21b.svg",A0t="/assets/ok-a0b56451.svg",N0t="/assets/failed-183609e7.svg",dN="/assets/send_globe-305330b9.svg";const O0t="/",M0t={name:"Message",emits:["copy","delete","rankUp","rankDown","updateMessage","resendMessage","continueMessage"],components:{MarkdownRenderer:Yu,Step:w0t,RenderHTMLJS:YSt,JsonViewer:o0t,DynamicUIRenderer:oN,ToolbarButton:bE,DropdownMenu:rN},props:{host:{type:String,required:!1,default:"http://localhost:9600"},message:Object,avatar:{default:""}},data(){return{ui_componentKey:0,isSynthesizingVoice:!1,cpp_block:$2,html5_block:Y2,LaTeX_block:W2,json_block:q2,javascript_block:H2,process_svg:R0t,ok_svg:A0t,failed_svg:N0t,loading_svg:j2,sendGlobe:dN,code_block:V2,python_block:z2,bash_block:K2,audio_url:null,audio:null,msg:null,isSpeaking:!1,speechSynthesis:null,voices:[],expanded:!1,showConfirmation:!1,editMsgMode_:!1,deleteMsgMode:!1,mdRenderHeight:Number}},mounted(){if("speechSynthesis"in window?(this.speechSynthesis=window.speechSynthesis,this.voices=this.speechSynthesis.getVoices(),this.voices.length===0?this.speechSynthesis.addEventListener("voiceschanged",this.onVoicesChanged):console.log("No voices found")):console.error("Speech synthesis is not supported in this browser."),Le(()=>{ze.replace(),this.mdRenderHeight=this.$refs.mdRender.$el.offsetHeight}),console.log("Checking metadata"),console.log(this.message),Object.prototype.hasOwnProperty.call(this.message,"metadata")&&this.message.metadata!=null){console.log("Metadata found!"),Array.isArray(this.message.metadata)||(this.message.metadata=[]),console.log(typeof this.message.metadata),console.log(this.message.metadata);for(let t of this.message.metadata)Object.prototype.hasOwnProperty.call(t,"audio_url")&&t.audio_url!=null&&(this.audio_url=t.audio_url,console.log("Audio URL:",this.audio_url))}},methods:{computeTimeDiff(t,e){let n=e.getTime()-t.getTime();const s=Math.floor(n/(1e3*60*60));n-=s*(1e3*60*60);const i=Math.floor(n/(1e3*60));n-=i*(1e3*60);const r=Math.floor(n/1e3);return n-=r*1e3,[s,i,r]},insertTab(t){const e=t.target,n=e.selectionStart,s=e.selectionEnd,i=t.shiftKey;if(n===s)if(i){if(e.value.substring(n-4,n)==" "){const r=e.value.substring(0,n-4),o=e.value.substring(s),a=r+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n-4})}}else{const r=e.value.substring(0,n),o=e.value.substring(s),a=r+" "+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n+4})}else{const o=e.value.substring(n,s).split(` +Here is how you can do that`))},xbt)])]),l("tr",null,[Cbt,l("td",null,[l("div",wbt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[407]||(e[407]=(..._)=>r.reinstallPetalsService&&r.reinstallPetalsService(..._))},"install petals service")])])]),l("tr",null,[Rbt,l("td",null,[l("div",Abt,[P(l("input",{type:"text",id:"petals_base_url",required:"","onUpdate:modelValue":e[408]||(e[408]=_=>r.configFile.petals_base_url=_),onChange:e[409]||(e[409]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.petals_base_url]])])])])])]),_:1})]),_:1}),V(a,{title:"Misc",is_shrunk:!0,is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[V(a,{title:"Elastic search Service (under construction)",is_subcard:!0,class:"pb-2 m-2"},{default:Ie(()=>[l("table",Nbt,[l("tr",null,[Obt,l("td",null,[l("div",Mbt,[P(l("input",{type:"checkbox",id:"elastic_search_service",required:"","onUpdate:modelValue":e[410]||(e[410]=_=>r.configFile.elastic_search_service=_),onChange:e[411]||(e[411]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[$e,r.configFile.elastic_search_service]])])])]),l("tr",null,[Ibt,l("td",null,[l("div",kbt,[l("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[412]||(e[412]=(..._)=>r.reinstallElasticSearchService&&r.reinstallElasticSearchService(..._))},"install ElasticSearch service")])])]),l("tr",null,[Dbt,l("td",null,[l("div",Lbt,[P(l("input",{type:"text",id:"elastic_search_url",required:"","onUpdate:modelValue":e[413]||(e[413]=_=>r.configFile.elastic_search_url=_),onChange:e[414]||(e[414]=_=>i.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[pe,r.configFile.elastic_search_url]])])])])])]),_:1})]),_:1})],2)]),l("div",Pbt,[l("div",Fbt,[l("button",{onClick:e[415]||(e[415]=j(_=>i.bzc_collapsed=!i.bzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[P(l("div",null,Bbt,512),[[wt,i.bzc_collapsed]]),P(l("div",null,Vbt,512),[[wt,!i.bzc_collapsed]]),zbt,r.configFile.binding_name?G("",!0):(T(),x("div",Hbt,[qbt,Je(" No binding selected! ")])),r.configFile.binding_name?(T(),x("div",$bt,"|")):G("",!0),r.configFile.binding_name?(T(),x("div",Ybt,[l("div",Wbt,[l("img",{src:r.imgBinding,class:"w-8 h-8 rounded-full object-fill text-blue-700"},null,8,Kbt),l("p",jbt,K(r.binding_name),1)])])):G("",!0)])]),l("div",{class:Ge([{hidden:i.bzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[r.bindingsZoo&&r.bindingsZoo.length>0?(T(),x("div",Qbt,[l("label",Xbt," Bindings: ("+K(r.bindingsZoo.length)+") ",1),l("div",{class:Ge(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",i.bzl_collapsed?"":"max-h-96"])},[V(ii,{name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(r.bindingsZoo,(_,g)=>(T(),dt(c,{ref_for:!0,ref:"bindingZoo",key:"index-"+g+"-"+_.folder,binding:_,"on-selected":r.onBindingSelected,"on-reinstall":r.onReinstallBinding,"on-unInstall":r.onUnInstallBinding,"on-install":r.onInstallBinding,"on-settings":r.onSettingsBinding,"on-reload-binding":r.onReloadBinding,selected:_.folder===r.configFile.binding_name},null,8,["binding","on-selected","on-reinstall","on-unInstall","on-install","on-settings","on-reload-binding","selected"]))),128))]),_:1})],2)])):G("",!0),i.bzl_collapsed?(T(),x("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[416]||(e[416]=_=>i.bzl_collapsed=!i.bzl_collapsed)},Jbt)):(T(),x("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[417]||(e[417]=_=>i.bzl_collapsed=!i.bzl_collapsed)},tEt))],2)]),l("div",nEt,[l("div",sEt,[l("button",{onClick:e[418]||(e[418]=j(_=>r.modelsZooToggleCollapse(),["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[P(l("div",null,rEt,512),[[wt,i.mzc_collapsed]]),P(l("div",null,aEt,512),[[wt,!i.mzc_collapsed]]),lEt,l("div",cEt,[r.configFile.binding_name?G("",!0):(T(),x("div",dEt,[uEt,Je(" Select binding first! ")])),!r.configFile.model_name&&r.configFile.binding_name?(T(),x("div",pEt,[_Et,Je(" No model selected! ")])):G("",!0),r.configFile.model_name?(T(),x("div",hEt,"|")):G("",!0),r.configFile.model_name?(T(),x("div",fEt,[l("div",mEt,[l("img",{src:r.imgModel,class:"w-8 h-8 rounded-lg object-fill"},null,8,gEt),l("p",bEt,K(r.configFile.model_name),1)])])):G("",!0)])])]),l("div",{class:Ge([{hidden:i.mzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",EEt,[l("div",yEt,[l("div",vEt,[i.searchModelInProgress?(T(),x("div",SEt,xEt)):G("",!0),i.searchModelInProgress?G("",!0):(T(),x("div",CEt,REt))]),P(l("input",{type:"search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search models...",required:"","onUpdate:modelValue":e[419]||(e[419]=_=>i.searchModel=_),onKeyup:e[420]||(e[420]=zs((..._)=>r.searchModel_func&&r.searchModel_func(..._),["enter"]))},null,544),[[pe,i.searchModel]]),i.searchModel?(T(),x("button",{key:0,onClick:e[421]||(e[421]=j(_=>i.searchModel="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):G("",!0)])]),l("div",null,[P(l("input",{"onUpdate:modelValue":e[422]||(e[422]=_=>i.show_only_installed_models=_),class:"m-2 p-2",type:"checkbox",ref:"only_installed"},null,512),[[$e,i.show_only_installed_models]]),AEt]),l("div",null,[V(d,{radioOptions:i.sortOptions,onRadioSelected:r.handleRadioSelected},null,8,["radioOptions","onRadioSelected"])]),NEt,i.is_loading_zoo?(T(),x("div",OEt,kEt)):G("",!0),i.models_zoo&&i.models_zoo.length>0?(T(),x("div",DEt,[l("label",LEt," Models: ("+K(i.models_zoo.length)+") ",1),l("div",{class:Ge(["overflow-y-auto p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",i.mzl_collapsed?"":"max-h-96"])},[V(ii,{name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(r.rendered_models_zoo,(_,g)=>(T(),dt(u,{ref_for:!0,ref:"modelZoo",key:"index-"+g+"-"+_.name,model:_,"is-installed":_.isInstalled,"on-install":r.onInstall,"on-uninstall":r.onUninstall,"on-selected":r.onModelSelected,selected:_.name===r.configFile.model_name,model_type:_.model_type,"on-copy":r.onCopy,"on-copy-link":r.onCopyLink,"on-cancel-install":r.onCancelInstall},null,8,["model","is-installed","on-install","on-uninstall","on-selected","selected","model_type","on-copy","on-copy-link","on-cancel-install"]))),128)),l("button",{ref:"load_more_models",class:"relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",onClick:e[423]||(e[423]=(..._)=>r.load_more_models&&r.load_more_models(..._))},"Load more models",512)]),_:1})],2)])):G("",!0),i.mzl_collapsed?(T(),x("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[424]||(e[424]=(..._)=>r.open_mzl&&r.open_mzl(..._))},FEt)):(T(),x("button",{key:3,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[425]||(e[425]=(..._)=>r.open_mzl&&r.open_mzl(..._))},BEt)),l("div",GEt,[l("div",VEt,[l("div",null,[l("div",zEt,[HEt,P(l("input",{type:"text","onUpdate:modelValue":e[426]||(e[426]=_=>i.reference_path=_),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter Path ...",required:""},null,512),[[pe,i.reference_path]])]),l("button",{type:"button",onClick:e[427]||(e[427]=j(_=>r.onCreateReference(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Add reference")]),i.modelDownlaodInProgress?G("",!0):(T(),x("div",qEt,[l("div",$Et,[YEt,P(l("input",{type:"text","onUpdate:modelValue":e[428]||(e[428]=_=>i.addModel.url=_),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter URL ...",required:""},null,512),[[pe,i.addModel.url]])]),l("button",{type:"button",onClick:e[429]||(e[429]=j(_=>r.onInstallAddModel(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Download")])),i.modelDownlaodInProgress?(T(),x("div",WEt,[KEt,l("div",jEt,[l("div",QEt,[l("div",XEt,[ZEt,l("span",JEt,K(Math.floor(i.addModel.progress))+"%",1)]),l("div",{class:"mx-1 opacity-80 line-clamp-1",title:i.addModel.url},K(i.addModel.url),9,eyt),l("div",tyt,[l("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Ht({width:i.addModel.progress+"%"})},null,4)]),l("div",nyt,[l("span",syt,"Download speed: "+K(r.speed_computed)+"/s",1),l("span",iyt,K(r.downloaded_size_computed)+"/"+K(r.total_size_computed),1)])])]),l("div",ryt,[l("div",oyt,[l("div",ayt,[l("button",{onClick:e[430]||(e[430]=j((..._)=>r.onCancelInstall&&r.onCancelInstall(..._),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])):G("",!0)])])],2)]),l("div",lyt,[l("div",cyt,[l("button",{onClick:e[433]||(e[433]=j(_=>i.pzc_collapsed=!i.pzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[P(l("div",null,uyt,512),[[wt,i.pzc_collapsed]]),P(l("div",null,_yt,512),[[wt,!i.pzc_collapsed]]),hyt,r.configFile.personalities?(T(),x("div",fyt,"|")):G("",!0),l("div",myt,K(r.active_pesonality),1),r.configFile.personalities?(T(),x("div",gyt,"|")):G("",!0),r.configFile.personalities?(T(),x("div",byt,[r.mountedPersArr.length>0?(T(),x("div",Eyt,[(T(!0),x(Fe,null,Ke(r.mountedPersArr,(_,g)=>(T(),x("div",{class:"relative hover:-translate-y-2 duration-300 hover:z-10 shrink-0",key:g+"-"+_.name,ref_for:!0,ref:"mountedPersonalities"},[l("div",yyt,[l("button",{onClick:j(b=>r.onPersonalitySelected(_),["stop"])},[l("img",{src:i.bUrl+_.avatar,onError:e[431]||(e[431]=(...b)=>r.personalityImgPlacehodler&&r.personalityImgPlacehodler(...b)),class:Ge(["w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 group-hover:border-secondary",r.configFile.active_personality_id==r.configFile.personalities.indexOf(_.full_path)?"border-secondary":"border-transparent z-0"]),title:_.name},null,42,Syt)],8,vyt),l("button",{onClick:j(b=>r.unmountPersonality(_),["stop"])},Cyt,8,Tyt)])]))),128))])):G("",!0)])):G("",!0),l("button",{onClick:e[432]||(e[432]=j(_=>r.unmountAll(),["stop"])),class:"bg-bg-light hover:border-green-200 ml-5 dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount All"},Ryt)])]),l("div",{class:Ge([{hidden:i.pzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[l("div",Ayt,[Nyt,l("div",Oyt,[l("div",Myt,[i.searchPersonalityInProgress?(T(),x("div",Iyt,Dyt)):G("",!0),i.searchPersonalityInProgress?G("",!0):(T(),x("div",Lyt,Fyt))]),P(l("input",{type:"search",id:"personality-search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search personality...",required:"","onUpdate:modelValue":e[434]||(e[434]=_=>i.searchPersonality=_),onKeyup:e[435]||(e[435]=j((..._)=>r.searchPersonality_func&&r.searchPersonality_func(..._),["stop"]))},null,544),[[pe,i.searchPersonality]]),i.searchPersonality?(T(),x("button",{key:0,onClick:e[436]||(e[436]=j(_=>i.searchPersonality="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):G("",!0)])]),i.searchPersonality?G("",!0):(T(),x("div",Uyt,[l("label",Byt," Personalities Category: ("+K(i.persCatgArr.length)+") ",1),l("select",{id:"persCat",onChange:e[437]||(e[437]=_=>r.update_personality_category(_.target.value,r.refresh)),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(T(!0),x(Fe,null,Ke(i.persCatgArr,(_,g)=>(T(),x("option",{key:g,selected:_==this.configFile.personality_category},K(_),9,Gyt))),128))],32)])),l("div",null,[i.personalitiesFiltered.length>0?(T(),x("div",Vyt,[l("label",zyt,K(i.searchPersonality?"Search results":"Personalities")+": ("+K(i.personalitiesFiltered.length)+") ",1),l("div",{class:Ge(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",i.pzl_collapsed?"":"max-h-96"])},[V(ii,{name:"bounce"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(i.personalitiesFiltered,(_,g)=>(T(),dt(h,{ref_for:!0,ref:"personalitiesZoo",key:"index-"+g+"-"+_.name,personality:_,select_language:!0,full_path:_.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(b=>b===_.full_path||b===_.full_path+":"+_.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-edit":r.editPersonality,"on-copy-to-custom":r.copyToCustom,"on-reinstall":r.onPersonalityReinstall,"on-settings":r.onSettingsPersonality,"on-copy-personality-name":r.onCopyPersonalityName,"on-copy-to_custom":r.onCopyToCustom,"on-open-folder":r.handleOpenFolder},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-edit","on-copy-to-custom","on-reinstall","on-settings","on-copy-personality-name","on-copy-to_custom","on-open-folder"]))),128))]),_:1})],2)])):G("",!0)]),i.pzl_collapsed?(T(),x("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[438]||(e[438]=_=>i.pzl_collapsed=!i.pzl_collapsed)},qyt)):(T(),x("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[439]||(e[439]=_=>i.pzl_collapsed=!i.pzl_collapsed)},Yyt))],2)]),l("div",Wyt,[l("div",Kyt,[l("button",{onClick:e[440]||(e[440]=j(_=>i.mc_collapsed=!i.mc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[P(l("div",null,Qyt,512),[[wt,i.mc_collapsed]]),P(l("div",null,Zyt,512),[[wt,!i.mc_collapsed]]),Jyt])]),l("div",{class:Ge([{hidden:i.mc_collapsed},"flex flex-col mb-2 p-2"])},[l("div",evt,[l("div",tvt,[P(l("input",{id:"override-model-parameters",type:"checkbox",class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500",onClick:e[441]||(e[441]=j(()=>{},["stop"])),"onUpdate:modelValue":e[442]||(e[442]=_=>r.configFile.override_personality_model_parameters=_),onChange:e[443]||(e[443]=_=>r.update_setting("override_personality_model_parameters",r.configFile.override_personality_model_parameters))},null,544),[[$e,r.configFile.override_personality_model_parameters]]),nvt])]),l("div",{class:Ge(r.configFile.override_personality_model_parameters?"":"pointer-events-none opacity-30")},[l("div",svt,[ivt,P(l("input",{type:"text",id:"seed","onUpdate:modelValue":e[444]||(e[444]=_=>r.configFile.seed=_),class:"bg-gray-50 border border-gray-300 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,512),[[pe,r.configFile.seed]])]),l("div",rvt,[l("div",ovt,[l("div",avt,[lvt,l("p",cvt,[P(l("input",{type:"text",id:"temp-val","onUpdate:modelValue":e[445]||(e[445]=_=>r.configFile.temperature=_),onChange:e[446]||(e[446]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.temperature]])])]),P(l("input",{id:"temperature",onChange:e[447]||(e[447]=_=>i.settingsChanged=!0),type:"range","onUpdate:modelValue":e[448]||(e[448]=_=>r.configFile.temperature=_),min:"0",max:"5",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.temperature]])])]),l("div",dvt,[l("div",uvt,[l("div",pvt,[_vt,l("p",hvt,[P(l("input",{type:"text",id:"predict-val","onUpdate:modelValue":e[449]||(e[449]=_=>r.configFile.n_predict=_),onChange:e[450]||(e[450]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.n_predict]])])]),P(l("input",{id:"predict",type:"range",onChange:e[451]||(e[451]=_=>i.settingsChanged=!0),"onUpdate:modelValue":e[452]||(e[452]=_=>r.configFile.n_predict=_),min:"0",max:"2048",step:"32",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.n_predict]])])]),l("div",fvt,[l("div",mvt,[l("div",gvt,[bvt,l("p",Evt,[P(l("input",{type:"text",id:"top_k-val","onUpdate:modelValue":e[453]||(e[453]=_=>r.configFile.top_k=_),onChange:e[454]||(e[454]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_k]])])]),P(l("input",{id:"top_k",type:"range",onChange:e[455]||(e[455]=_=>i.settingsChanged=!0),"onUpdate:modelValue":e[456]||(e[456]=_=>r.configFile.top_k=_),min:"0",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_k]])])]),l("div",yvt,[l("div",vvt,[l("div",Svt,[Tvt,l("p",xvt,[P(l("input",{type:"text",id:"top_p-val","onUpdate:modelValue":e[457]||(e[457]=_=>r.configFile.top_p=_),onChange:e[458]||(e[458]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_p]])])]),P(l("input",{id:"top_p",type:"range","onUpdate:modelValue":e[459]||(e[459]=_=>r.configFile.top_p=_),min:"0",max:"1",step:"0.01",onChange:e[460]||(e[460]=_=>i.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.top_p]])])]),l("div",Cvt,[l("div",wvt,[l("div",Rvt,[Avt,l("p",Nvt,[P(l("input",{type:"text",id:"repeat_penalty-val","onUpdate:modelValue":e[461]||(e[461]=_=>r.configFile.repeat_penalty=_),onChange:e[462]||(e[462]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_penalty]])])]),P(l("input",{id:"repeat_penalty",onChange:e[463]||(e[463]=_=>i.settingsChanged=!0),type:"range","onUpdate:modelValue":e[464]||(e[464]=_=>r.configFile.repeat_penalty=_),min:"0",max:"2",step:"0.01",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_penalty]])])]),l("div",Ovt,[l("div",Mvt,[l("div",Ivt,[kvt,l("p",Dvt,[P(l("input",{type:"text",id:"repeat_last_n-val","onUpdate:modelValue":e[465]||(e[465]=_=>r.configFile.repeat_last_n=_),onChange:e[466]||(e[466]=_=>i.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_last_n]])])]),P(l("input",{id:"repeat_last_n",type:"range","onUpdate:modelValue":e[467]||(e[467]=_=>r.configFile.repeat_last_n=_),min:"0",max:"100",step:"1",onChange:e[468]||(e[468]=_=>i.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[pe,r.configFile.repeat_last_n]])])])],2)],2)])],2)]),V(f,{ref:"addmodeldialog"},null,512),V(m,{class:"z-20",show:i.variantSelectionDialogVisible,choices:i.variant_choices,onChoiceSelected:r.onVariantChoiceSelected,onCloseDialog:r.oncloseVariantChoiceDialog,onChoiceValidated:r.onvalidateVariantChoice},null,8,["show","choices","onChoiceSelected","onCloseDialog","onChoiceValidated"])],64)}const Pvt=ot(fat,[["render",Lvt],["__scopeId","data-v-c8653825"]]),Fvt={components:{ClipBoardTextInput:gE,Card:ju},data(){return{dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDataset:""}},methods:{submitForm(){const t={model_name:this.selectedModel,dataset_file:this.selectedDataset,max_length:this.max_length,batch_size:this.batch_size,lr:this.lr,num_epochs:this.num_epochs,output_dir:this.selectedFolder};oe.post("/start_training",t).then(e=>{})},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(t){var n;console.log("here");const e=(n=t.target.files[0])==null?void 0:n.path;console.log(e),e&&(this.selectedFolder=e)},selectDataset(t){const e=t.target.files;e.length>0&&(this.selectedDataset=e[0])}},computed:{selectedModel:{get(){return this.$store.state.selectedModel}},models:{get(){return this.$store.state.modelsArr}}},watch:{model_name(t){console.log("watching model_name",t),this.$refs.clipboardInput.inputValue=t}}},Uvt={key:0,class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},Bvt={class:"mb-4"},Gvt=l("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),Vvt=["value"],zvt={class:"mb-4"},Hvt=l("label",{for:"dataset_path",class:"text-sm"},"Dataset:",-1),qvt={class:"mb-4"},$vt=l("label",{for:"lr",class:"text-sm"},"Learning Rate:",-1),Yvt={class:"mb-4"},Wvt=l("label",{for:"num_epochs",class:"text-sm"},"Number of Epochs:",-1),Kvt={class:"mb-4"},jvt=l("label",{for:"max_length",class:"text-sm"},"Max Length:",-1),Qvt={class:"mb-4"},Xvt=l("label",{for:"batch_size",class:"text-sm"},"Batch Size:",-1),Zvt={class:"mb-4"},Jvt=l("label",{for:"output_dir",class:"text-sm"},"Output Directory:",-1),eSt=l("button",{class:"bg-blue-500 text-white px-4 py-2 rounded"},"Start training",-1),tSt={key:1};function nSt(t,e,n,s,i,r){const o=tt("Card"),a=tt("ClipBoardTextInput");return r.selectedModel!==null&&r.selectedModel.toLowerCase().includes("gptq")?(T(),x("div",Uvt,[l("form",{onSubmit:e[2]||(e[2]=j((...c)=>r.submitForm&&r.submitForm(...c),["prevent"])),class:""},[V(o,{title:"Training configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[V(o,{title:"Model",class:"",isHorizontal:!1},{default:Ie(()=>[l("div",Bvt,[Gvt,P(l("select",{"onUpdate:modelValue":e[0]||(e[0]=c=>r.selectedModel=c),onChange:e[1]||(e[1]=(...c)=>t.setModel&&t.setModel(...c)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(T(!0),x(Fe,null,Ke(r.models,c=>(T(),x("option",{key:c,value:c},K(c),9,Vvt))),128))],544),[[Dt,r.selectedModel]])])]),_:1}),V(o,{title:"Data",isHorizontal:!1},{default:Ie(()=>[l("div",zvt,[Hvt,V(a,{id:"model_path",inputType:"file",value:i.dataset_path,onchange:"selectDataset()"},null,8,["value"])])]),_:1}),V(o,{title:"Training",isHorizontal:!1},{default:Ie(()=>[l("div",qvt,[$vt,V(a,{id:"model_path",inputType:"integer",value:i.lr},null,8,["value"])]),l("div",Yvt,[Wvt,V(a,{id:"model_path",inputType:"integer",value:i.num_epochs},null,8,["value"])]),l("div",Kvt,[jvt,V(a,{id:"model_path",inputType:"integer",value:i.max_length},null,8,["value"])]),l("div",Qvt,[Xvt,V(a,{id:"model_path",inputType:"integer",value:i.batch_size},null,8,["value"])])]),_:1}),V(o,{title:"Output",isHorizontal:!1},{default:Ie(()=>[l("div",Zvt,[Jvt,V(a,{id:"model_path",inputType:"text",value:t.output_dir},null,8,["value"])])]),_:1})]),_:1}),V(o,{disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[eSt]),_:1})],32)])):(T(),x("div",tSt,[V(o,{title:"Info",class:"",isHorizontal:!1},{default:Ie(()=>[Je(" Only GPTQ models are supported for QLora fine tuning. Please select a GPTQ compatible binding. ")]),_:1})]))}const sSt=ot(Fvt,[["render",nSt]]),iSt={components:{ClipBoardTextInput:gE,Card:ju},data(){return{model_name:"jondurbin/airoboros-7b-gpt4",tokenizer_name:"jondurbin/airoboros-7b-gpt4",dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDatasetPath:""}},methods:{submitForm(){this.model_name,this.tokenizer_name,this.selectedDatasetPath,this.max_length,this.batch_size,this.lr,this.num_epochs,this.selectedFolder},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(t){var n;console.log("here");const e=(n=t.target.files[0])==null?void 0:n.path;console.log(e),e&&(this.selectedFolder=e)},selectDatasetPath(t){const e=t.target.files;e.length>0&&(this.selectedDatasetPath=e[0].webkitRelativePath)}}},rSt={class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},oSt={class:"mb-4"},aSt=l("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),lSt={class:"mb-4"},cSt=l("label",{for:"tokenizer_name",class:"text-sm"},"Tokenizer Name:",-1),dSt=l("button",{type:"submit",class:"bg-blue-500 text-white px-4 py-2 rounded"},"Quantize LLM",-1);function uSt(t,e,n,s,i,r){const o=tt("ClipBoardTextInput"),a=tt("Card");return T(),x("div",rSt,[l("form",{onSubmit:e[0]||(e[0]=j((...c)=>r.submitForm&&r.submitForm(...c),["prevent"])),class:"max-w-md mx-auto"},[V(a,{title:"Quantizing configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[V(a,{title:"Model",class:"",isHorizontal:!1},{default:Ie(()=>[l("div",oSt,[aSt,V(o,{id:"model_path",inputType:"text",value:i.model_name},null,8,["value"])]),l("div",lSt,[cSt,V(o,{id:"model_path",inputType:"text",value:i.tokenizer_name},null,8,["value"])])]),_:1})]),_:1}),V(a,{disableHoverAnimation:!0,disableFocus:!0},{default:Ie(()=>[dSt]),_:1})],32)])}const pSt=ot(iSt,[["render",uSt]]),aN="/assets/strawberry-20d9a7ba.png",_St={name:"Discussion",emits:["delete","select","openFolder","editTitle","makeTitle","checked"],props:{id:Number,title:String,selected:Boolean,loading:Boolean,isCheckbox:Boolean,checkBoxValue:Boolean},setup(){},data(){return{showConfirmation:!1,editTitleMode:!1,makeTitleMode:!1,deleteMode:!1,openFolder:!1,editTitle:!1,newTitle:String,checkBoxValue_local:!1}},methods:{cancel(){this.editTitleMode=!1,this.makeTitleMode=!1,this.deleteMode=!1,this.showConfirmation=!1},deleteEvent(){this.showConfirmation=!1,this.$emit("delete")},selectEvent(){this.$emit("select")},openFolderEvent(){this.$emit("openFolder",{id:this.id})},editTitleEvent(){this.editTitle=!1,this.editTitleMode=!1,this.makeTitleMode=!1,this.deleteMode=!1,this.showConfirmation=!1,this.$emit("editTitle",{title:this.newTitle,id:this.id})},makeTitleEvent(){this.$emit("makeTitle",{id:this.id}),this.showConfirmation=!1},chnageTitle(t){this.newTitle=t},checkedChangeEvent(t,e){this.$emit("checked",t,e)}},mounted(){this.newTitle=this.title,Le(()=>{ze.replace()})},watch:{showConfirmation(){Le(()=>{ze.replace()})},editTitleMode(t){this.showConfirmation=t,this.editTitle=t,t&&Le(()=>{try{this.$refs.titleBox.focus()}catch{}})},deleteMode(t){this.showConfirmation=t,t&&Le(()=>{this.$refs.titleBox.focus()})},makeTitleMode(t){this.showConfirmation=t},checkBoxValue(t,e){this.checkBoxValue_local=t}}},hSt=["id"],fSt={class:"flex flex-row items-center gap-2"},mSt={key:0},gSt={class:"flex flex-row items-center w-full"},bSt=["title"],ESt=["value"],ySt={class:"flex items-center flex-1 max-h-6"},vSt={key:0,class:"flex gap-3 flex-1 items-center justify-end duration-75"},SSt=l("i",{"data-feather":"x"},null,-1),TSt=[SSt],xSt=l("i",{"data-feather":"check"},null,-1),CSt=[xSt],wSt={key:1,class:"flex gap-3 flex-1 items-center justify-end invisible group-hover:visible duration-75"},RSt=l("i",{"data-feather":"folder"},null,-1),ASt=[RSt],NSt=l("i",{"data-feather":"type"},null,-1),OSt=[NSt],MSt=l("i",{"data-feather":"edit-2"},null,-1),ISt=[MSt],kSt=l("i",{"data-feather":"trash"},null,-1),DSt=[kSt];function LSt(t,e,n,s,i,r){return T(),x("div",{class:Ge([n.selected?"discussion-hilighted shadow-md min-w-[23rem] max-w-[23rem]":"discussion min-w-[23rem] max-w-[23rem]","m-1 py-2 flex flex-row sm:flex-row flex-wrap flex-shrink: 0 item-center shadow-sm hover:shadow-md rounded-md duration-75 group cursor-pointer"]),id:"dis-"+n.id,onClick:e[13]||(e[13]=j(o=>r.selectEvent(),["stop"]))},[l("div",fSt,[n.isCheckbox?(T(),x("div",mSt,[P(l("input",{type:"checkbox",class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500",onClick:e[0]||(e[0]=j(()=>{},["stop"])),"onUpdate:modelValue":e[1]||(e[1]=o=>i.checkBoxValue_local=o),onInput:e[2]||(e[2]=o=>r.checkedChangeEvent(o,n.id))},null,544),[[$e,i.checkBoxValue_local]])])):G("",!0),n.selected?(T(),x("div",{key:1,class:Ge(["min-h-full w-2 rounded-xl self-stretch",n.loading?"animate-bounce bg-accent ":" bg-secondary "])},null,2)):G("",!0),n.selected?G("",!0):(T(),x("div",{key:2,class:Ge(["w-2",n.loading?"min-h-full w-2 rounded-xl self-stretch animate-bounce bg-accent ":" "])},null,2))]),l("div",gSt,[i.editTitle?G("",!0):(T(),x("p",{key:0,title:n.title,class:"line-clamp-1 w-4/6 ml-1 -mx-5"},K(n.title?n.title==="untitled"?"New discussion":n.title:"New discussion"),9,bSt)),i.editTitle?(T(),x("input",{key:1,type:"text",id:"title-box",ref:"titleBox",class:"bg-bg-light dark:bg-bg-dark rounded-md border-0 w-full -m-1 p-1",value:n.title,required:"",onKeydown:[e[3]||(e[3]=zs(j(o=>r.editTitleEvent(),["exact"]),["enter"])),e[4]||(e[4]=zs(j(o=>i.editTitleMode=!1,["exact"]),["esc"]))],onInput:e[5]||(e[5]=o=>r.chnageTitle(o.target.value)),onClick:e[6]||(e[6]=j(()=>{},["stop"]))},null,40,ESt)):G("",!0),l("div",ySt,[i.showConfirmation?(T(),x("div",vSt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Discard title changes",type:"button",onClick:e[7]||(e[7]=j(o=>r.cancel(),["stop"]))},TSt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm title changes",type:"button",onClick:e[8]||(e[8]=j(o=>i.editTitleMode?r.editTitleEvent():i.deleteMode?r.deleteEvent():r.makeTitleEvent(),["stop"]))},CSt)])):G("",!0),i.showConfirmation?G("",!0):(T(),x("div",wSt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Open folder",type:"button",onClick:e[9]||(e[9]=j(o=>r.openFolderEvent(),["stop"]))},ASt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Make a title",type:"button",onClick:e[10]||(e[10]=j(o=>i.makeTitleMode=!0,["stop"]))},OSt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Edit title",type:"button",onClick:e[11]||(e[11]=j(o=>i.editTitleMode=!0,["stop"]))},ISt),l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Remove discussion",type:"button",onClick:e[12]||(e[12]=j(o=>i.deleteMode=!0,["stop"]))},DSt)]))])])],10,hSt)}const OE=ot(_St,[["render",LSt]]),PSt={data(){return{show:!1,prompt:"",inputText:""}},methods:{showPanel(){this.show=!0},ok(){this.show=!1,this.$emit("ok",this.inputText)},cancel(){this.show=!1,this.inputText=""}},props:{promptText:{type:String,required:!0}},watch:{promptText(t){this.prompt=t}}},FSt={key:0,class:"fixed top-0 left-0 w-full h-full flex justify-center items-center bg-black bg-opacity-50"},USt={class:"bg-white p-8 rounded"},BSt={class:"text-xl font-bold mb-4"};function GSt(t,e,n,s,i,r){return T(),x("div",null,[i.show?(T(),x("div",FSt,[l("div",USt,[l("h2",BSt,K(n.promptText),1),P(l("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=o=>i.inputText=o),class:"border border-gray-300 px-4 py-2 rounded mb-4"},null,512),[[pe,i.inputText]]),l("button",{onClick:e[1]||(e[1]=(...o)=>r.ok&&r.ok(...o)),class:"bg-blue-500 text-white px-4 py-2 rounded mr-2"},"OK"),l("button",{onClick:e[2]||(e[2]=(...o)=>r.cancel&&r.cancel(...o)),class:"bg-gray-500 text-white px-4 py-2 rounded"},"Cancel")])])):G("",!0)])}const lN=ot(PSt,[["render",GSt]]),VSt={data(){return{id:0,loading:!1,isCheckbox:!1,isVisible:!1,categories:[],titles:[],content:"",searchQuery:""}},components:{Discussion:OE,MarkdownRenderer:Yu},props:{host:{type:String,required:!1,default:"http://localhost:9600"}},methods:{showSkillsLibrary(){this.isVisible=!0,this.fetchTitles()},closeComponent(){this.isVisible=!1},fetchCategories(){oe.post("/get_skills_library_categories",{client_id:this.$store.state.client_id}).then(t=>{this.categories=t.data.categories}).catch(t=>{console.error("Error fetching categories:",t)})},fetchTitles(){console.log("Fetching categories"),oe.post("/get_skills_library_titles",{client_id:this.$store.state.client_id}).then(t=>{this.titles=t.data.titles,console.log("titles recovered")}).catch(t=>{console.error("Error fetching titles:",t)})},fetchContent(t){oe.post("/get_skills_library_content",{client_id:this.$store.state.client_id,skill_id:t}).then(e=>{const n=e.data.contents[0];this.id=n.id,this.content=n.content}).catch(e=>{console.error("Error fetching content:",e)})},deleteCategory(t){console.log("Delete category")},editCategory(t){console.log("Edit category")},checkUncheckCategory(t){console.log("Unchecked category")},deleteSkill(t){console.log("Delete skill ",t),oe.post("/delete_skill",{client_id:this.$store.state.client_id,skill_id:t}).then(()=>{this.fetchTitles()})},editTitle(t){oe.post("/edit_skill_title",{client_id:this.$store.state.client_id,skill_id:t,title:t}).then(()=>{this.fetchTitles()}),console.log("Edit title")},makeTitle(t){console.log("Make title")},checkUncheckTitle(t){},searchSkills(){}}},zSt={id:"leftPanel",class:"flex flex-row h-full flex-grow shadow-lg rounded"},HSt={class:"min-w-[23rem] max-w-[23rem] z-10 top-0 bg-bg-light-tone dark:bg-bg-dark-tone shadow-md overflow-y-scroll no-scrollbar"},qSt={class:"search p-4"},$St={classclass:"absolute flex flex-col no-scrollbar shadow-lg min-w-[24rem] max-w-[24rem] bg-bg-light-tone dark:bg-bg-dark-tone top-20 left-20 bottom-20 right-20 bg-bg-light shadow-lg rounded"},YSt=l("h2",{class:"text-xl font-bold m-4"},"Titles",-1),WSt={class:"z-0 flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},KSt=l("h2",{class:"text-xl font-bold m-4"},"Content",-1);function jSt(t,e,n,s,i,r){const o=tt("Discussion"),a=tt("MarkdownRenderer");return T(),x("div",{class:Ge([{hidden:!i.isVisible},"absolute flex flex-col no-scrollbar shadow-lg bg-bg-light dark:bg-bg-dark top-20 left-20 bottom-20 right-20 shadow-lg rounded"])},[l("div",zSt,[l("div",HSt,[l("div",qSt,[P(l("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=c=>i.searchQuery=c),placeholder:"Search skills",class:"border border-gray-300 rounded px-2 py-1 mr-2"},null,512),[[pe,i.searchQuery]]),l("button",{onClick:e[1]||(e[1]=(...c)=>r.searchSkills&&r.searchSkills(...c)),class:"bg-blue-500 text-white rounded px-4 py-1"},"Search")]),l("div",$St,[YSt,i.titles.length>0?(T(),dt(ii,{key:0,name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(i.titles,c=>(T(),dt(o,{key:c.id,id:c.id,title:c.title,selected:r.fetchContent(c.id),loading:i.loading,isCheckbox:i.isCheckbox,checkBoxValue:!1,onSelect:d=>r.fetchContent(c.id),onDelete:d=>r.deleteSkill(c.id),onEditTitle:r.editTitle,onMakeTitle:r.makeTitle,onChecked:r.checkUncheckTitle},null,8,["id","title","selected","loading","isCheckbox","onSelect","onDelete","onEditTitle","onMakeTitle","onChecked"]))),128))]),_:1})):G("",!0)])]),l("div",WSt,[KSt,V(a,{host:n.host,"markdown-text":i.content,message_id:i.id,discussion_id:i.id,client_id:this.$store.state.client_id},null,8,["host","markdown-text","message_id","discussion_id","client_id"])])]),l("button",{onClick:e[2]||(e[2]=(...c)=>r.closeComponent&&r.closeComponent(...c)),class:"absolute top-2 right-2 bg-red-500 text-white rounded px-2 py-1 hover:bg-red-300"},"Close")],2)}const cN=ot(VSt,[["render",jSt]]),QSt={props:{htmlContent:{type:String,required:!0}}},XSt=["innerHTML"];function ZSt(t,e,n,s,i,r){return T(),x("div",{class:"w-full h-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",innerHTML:n.htmlContent},null,8,XSt)}const JSt=ot(QSt,[["render",ZSt]]);const e0t={name:"JsonTreeView",props:{data:{type:[Object,Array],required:!0},depth:{type:Number,default:0}},data(){return{collapsedKeys:new Set}},methods:{isObject(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)},isArray(t){return Array.isArray(t)},toggleCollapse(t){this.collapsedKeys.has(t)?this.collapsedKeys.delete(t):this.collapsedKeys.add(t)},isCollapsed(t){return this.collapsedKeys.has(t)},getValueType(t){return typeof t=="string"?"string":typeof t=="number"?"number":typeof t=="boolean"?"boolean":t===null?"null":""},formatValue(t){return typeof t=="string"?`"${t}"`:String(t)}}},t0t={class:"json-tree-view"},n0t=["onClick"],s0t={key:0,class:"toggle-icon"},i0t={class:"key"},r0t={key:0,class:"json-nested"};function o0t(t,e,n,s,i,r){const o=tt("json-tree-view",!0);return T(),x("div",t0t,[(T(!0),x(Fe,null,Ke(n.data,(a,c)=>(T(),x("div",{key:c,class:"json-item"},[l("div",{class:"json-key",onClick:d=>r.toggleCollapse(c)},[r.isObject(a)||r.isArray(a)?(T(),x("span",s0t,[l("i",{class:Ge(r.isCollapsed(c)?"fas fa-chevron-right":"fas fa-chevron-down")},null,2)])):G("",!0),l("span",i0t,K(c)+":",1),!r.isObject(a)&&!r.isArray(a)?(T(),x("span",{key:1,class:Ge(["value",r.getValueType(a)])},K(r.formatValue(a)),3)):G("",!0)],8,n0t),(r.isObject(a)||r.isArray(a))&&!r.isCollapsed(c)?(T(),x("div",r0t,[V(o,{data:a,depth:n.depth+1},null,8,["data","depth"])])):G("",!0)]))),128))])}const a0t=ot(e0t,[["render",o0t],["__scopeId","data-v-40406ec6"]]);const l0t={components:{JsonTreeView:a0t},props:{jsonData:{type:[Object,Array,String],default:null},jsonFormText:{type:String,default:"JSON Viewer"}},data(){return{collapsed:!0}},computed:{isContentPresent(){return this.jsonData!==null&&(typeof this.jsonData!="string"||this.jsonData.trim()!=="")},parsedJsonData(){if(typeof this.jsonData=="string")try{return JSON.parse(this.jsonData)}catch(t){return console.error("Error parsing JSON string:",t),{error:"Invalid JSON string"}}return this.jsonData}},methods:{toggleCollapsible(){this.collapsed=!this.collapsed}}},c0t={key:0,class:"json-viewer"},d0t={class:"toggle-icon"},u0t={class:"json-content panels-color"};function p0t(t,e,n,s,i,r){const o=tt("json-tree-view");return r.isContentPresent?(T(),x("div",c0t,[l("div",{class:"collapsible-section",onClick:e[0]||(e[0]=(...a)=>r.toggleCollapsible&&r.toggleCollapsible(...a))},[l("span",d0t,[l("i",{class:Ge(i.collapsed?"fas fa-chevron-right":"fas fa-chevron-down")},null,2)]),Je(" "+K(n.jsonFormText),1)]),P(l("div",u0t,[V(o,{data:r.parsedJsonData,depth:0},null,8,["data"])],512),[[wt,!i.collapsed]])])):G("",!0)}const _0t=ot(l0t,[["render",p0t],["__scopeId","data-v-83fc9727"]]);const h0t={props:{done:{type:Boolean,default:!1},text:{type:String,default:""},status:{type:Boolean,default:!1},step_type:{type:String,default:"start_end"},description:{type:String,default:""}},mounted(){this.amounted()},methods:{amounted(){console.log("Component mounted with the following properties:"),console.log("done:",this.done),console.log("text:",this.text),console.log("status:",this.status),console.log("step_type:",this.step_type),console.log("description:",this.description)}},watch:{done(t){typeof t!="boolean"&&console.error("Invalid type for done. Expected Boolean.")},status(t){typeof t!="boolean"&&console.error("Invalid type for status. Expected Boolean."),this.done&&!t&&console.error("Task completed with errors.")}}},Ju=t=>(vs("data-v-78f415f6"),t=t(),Ss(),t),f0t={class:"step-container"},m0t={class:"step-icon"},g0t={key:0},b0t={key:0},E0t=Ju(()=>l("i",{"data-feather":"circle",class:"feather-icon text-gray-600 dark:text-gray-300"},null,-1)),y0t=[E0t],v0t={key:1},S0t=Ju(()=>l("i",{"data-feather":"check-circle",class:"feather-icon text-green-600 dark:text-green-400"},null,-1)),T0t=[S0t],x0t={key:2},C0t=Ju(()=>l("i",{"data-feather":"x-circle",class:"feather-icon text-red-600 dark:text-red-400"},null,-1)),w0t=[C0t],R0t={key:1},A0t=Ju(()=>l("div",{class:"spinner"},null,-1)),N0t=[A0t],O0t={class:"step-content"},M0t={key:0,class:"step-description"};function I0t(t,e,n,s,i,r){return T(),x("div",f0t,[l("div",{class:Ge(["step-wrapper transition-all duration-300 ease-in-out",{"bg-green-100 dark:bg-green-900":n.done&&n.status,"bg-red-100 dark:bg-red-900":n.done&&!n.status,"bg-gray-100 dark:bg-gray-800":!n.done}])},[l("div",m0t,[n.step_type==="start_end"?(T(),x("div",g0t,[n.done?n.done&&n.status?(T(),x("div",v0t,T0t)):(T(),x("div",x0t,w0t)):(T(),x("div",b0t,y0t))])):G("",!0),n.done?G("",!0):(T(),x("div",R0t,N0t))]),l("div",O0t,[l("h3",{class:Ge(["step-text",{"text-green-600 dark:text-green-400":n.done&&n.status,"text-red-600 dark:text-red-400":n.done&&!n.status,"text-gray-800 dark:text-gray-200":!n.done}])},K(n.text||"No text provided"),3),n.description?(T(),x("p",M0t,K(n.description||"No description provided"),1)):G("",!0)])],2)])}const k0t=ot(h0t,[["render",I0t],["__scopeId","data-v-78f415f6"]]),D0t="/assets/process-61f7a21b.svg",L0t="/assets/ok-a0b56451.svg",P0t="/assets/failed-183609e7.svg",dN="/assets/send_globe-305330b9.svg";const F0t="/",U0t={name:"Message",emits:["copy","delete","rankUp","rankDown","updateMessage","resendMessage","continueMessage"],components:{MarkdownRenderer:Yu,Step:k0t,RenderHTMLJS:JSt,JsonViewer:_0t,DynamicUIRenderer:oN,ToolbarButton:bE,DropdownMenu:rN},props:{host:{type:String,required:!1,default:"http://localhost:9600"},message:Object,avatar:{default:""}},data(){return{ui_componentKey:0,isSynthesizingVoice:!1,cpp_block:$2,html5_block:Y2,LaTeX_block:W2,json_block:q2,javascript_block:H2,process_svg:D0t,ok_svg:L0t,failed_svg:P0t,loading_svg:j2,sendGlobe:dN,code_block:V2,python_block:z2,bash_block:K2,audio_url:null,audio:null,msg:null,isSpeaking:!1,speechSynthesis:null,voices:[],expanded:!1,showConfirmation:!1,editMsgMode_:!1,deleteMsgMode:!1,mdRenderHeight:Number}},mounted(){if("speechSynthesis"in window?(this.speechSynthesis=window.speechSynthesis,this.voices=this.speechSynthesis.getVoices(),this.voices.length===0?this.speechSynthesis.addEventListener("voiceschanged",this.onVoicesChanged):console.log("No voices found")):console.error("Speech synthesis is not supported in this browser."),Le(()=>{ze.replace(),this.mdRenderHeight=this.$refs.mdRender.$el.offsetHeight}),console.log("Checking metadata"),console.log(this.message),Object.prototype.hasOwnProperty.call(this.message,"metadata")&&this.message.metadata!=null){console.log("Metadata found!"),Array.isArray(this.message.metadata)||(this.message.metadata=[]),console.log(typeof this.message.metadata),console.log(this.message.metadata);for(let t of this.message.metadata)Object.prototype.hasOwnProperty.call(t,"audio_url")&&t.audio_url!=null&&(this.audio_url=t.audio_url,console.log("Audio URL:",this.audio_url))}},methods:{computeTimeDiff(t,e){let n=e.getTime()-t.getTime();const s=Math.floor(n/(1e3*60*60));n-=s*(1e3*60*60);const i=Math.floor(n/(1e3*60));n-=i*(1e3*60);const r=Math.floor(n/1e3);return n-=r*1e3,[s,i,r]},insertTab(t){const e=t.target,n=e.selectionStart,s=e.selectionEnd,i=t.shiftKey;if(n===s)if(i){if(e.value.substring(n-4,n)==" "){const r=e.value.substring(0,n-4),o=e.value.substring(s),a=r+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n-4})}}else{const r=e.value.substring(0,n),o=e.value.substring(s),a=r+" "+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=n+4})}else{const o=e.value.substring(n,s).split(` `).map(u=>u.trim()===""?u:i?u.startsWith(" ")?u.substring(4):u:" "+u),a=e.value.substring(0,n),c=e.value.substring(s),d=a+o.join(` -`)+c;this.message.content=d,this.$nextTick(()=>{e.selectionStart=n,e.selectionEnd=s+o.length*4})}t.preventDefault()},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){this.isSynthesizingVoice?(this.isSynthesizingVoice=!1,this.$refs.audio_player.pause()):(this.isSynthesizingVoice=!0,ae.post("./text2wav",{text:this.message.content}).then(t=>{this.isSynthesizingVoice=!1;let e=t.data.url;console.log(e),this.audio_url=e,this.message.metadata||(this.message.metadata=[]);let n=!1;for(let s of this.message.metadata)Object.prototype.hasOwnProperty.call(s,"audio_url")&&(s.audio_url=this.audio_url,n=!0);n||this.message.metadata.push({audio_url:this.audio_url}),this.$emit("updateMessage",this.message.id,this.message.content,this.audio_url)}).catch(t=>{this.$store.state.toast.showToast(`Error: ${t}`,4,!1),this.isSynthesizingVoice=!1}))},async speak(){if(this.$store.state.config.active_tts_service!="browser"&&this.$store.state.config.active_tts_service!="None")this.isSpeaking?(this.isSpeaking=!0,ae.post("./stop",{text:this.message.content}).then(t=>{this.isSpeaking=!1}).catch(t=>{this.$store.state.toast.showToast(`Error: ${t}`,4,!1),this.isSpeaking=!1})):(this.isSpeaking=!0,ae.post("./text2Audio",{client_id:this.$store.state.client_id,text:this.message.content}).then(t=>{this.isSpeaking=!1}).catch(t=>{this.$store.state.toast.showToast(`Error: ${t}`,4,!1),this.isSpeaking=!1}));else{if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let t=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.message.content,this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(i=>i.name===this.$store.state.config.audio_out_voice)[0]);const n=i=>{let r=this.message.content.substring(i,i+e);const o=[".","!","?",` +`)+c;this.message.content=d,this.$nextTick(()=>{e.selectionStart=n,e.selectionEnd=s+o.length*4})}t.preventDefault()},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){this.isSynthesizingVoice?(this.isSynthesizingVoice=!1,this.$refs.audio_player.pause()):(this.isSynthesizingVoice=!0,oe.post("./text2wav",{text:this.message.content}).then(t=>{this.isSynthesizingVoice=!1;let e=t.data.url;console.log(e),this.audio_url=e,this.message.metadata||(this.message.metadata=[]);let n=!1;for(let s of this.message.metadata)Object.prototype.hasOwnProperty.call(s,"audio_url")&&(s.audio_url=this.audio_url,n=!0);n||this.message.metadata.push({audio_url:this.audio_url}),this.$emit("updateMessage",this.message.id,this.message.content,this.audio_url)}).catch(t=>{this.$store.state.toast.showToast(`Error: ${t}`,4,!1),this.isSynthesizingVoice=!1}))},async speak(){if(this.$store.state.config.active_tts_service!="browser"&&this.$store.state.config.active_tts_service!="None")this.isSpeaking?(this.isSpeaking=!0,oe.post("./stop",{text:this.message.content}).then(t=>{this.isSpeaking=!1}).catch(t=>{this.$store.state.toast.showToast(`Error: ${t}`,4,!1),this.isSpeaking=!1})):(this.isSpeaking=!0,oe.post("./text2Audio",{client_id:this.$store.state.client_id,text:this.message.content}).then(t=>{this.isSpeaking=!1}).catch(t=>{this.$store.state.toast.showToast(`Error: ${t}`,4,!1),this.isSpeaking=!1}));else{if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let t=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.message.content,this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(i=>i.name===this.$store.state.config.audio_out_voice)[0]);const n=i=>{let r=this.message.content.substring(i,i+e);const o=[".","!","?",` `];let a=-1;return o.forEach(c=>{const d=r.lastIndexOf(c);d>a&&(a=d)}),a==-1&&(a=r.length),console.log(a),a+i+1},s=()=>{if(this.message.status_message=="Done"||this.message.content.includes(".")||this.message.content.includes("?")||this.message.content.includes("!")){const i=n(t),r=this.message.content.substring(t,i);this.msg.text=r,t=i+1,this.msg.onend=o=>{t{s()},1):(this.isSpeaking=!1,console.log("voice off :",this.message.content.length," ",i))},this.speechSynthesis.speak(this.msg)}else setTimeout(()=>{s()},1)};console.log("Speaking chunk"),s()}},toggleModel(){this.expanded=!this.expanded},addBlock(t){let e=this.$refs.mdTextarea.selectionStart,n=this.$refs.mdTextarea.selectionEnd;e==n?speechSynthesis==0||this.message.content[e-1]==` `?(this.message.content=this.message.content.slice(0,e)+"```"+t+"\n\n```\n"+this.message.content.slice(e),e=e+4+t.length):(this.message.content=this.message.content.slice(0,e)+"\n```"+t+"\n\n```\n"+this.message.content.slice(e),e=e+3+t.length):speechSynthesis==0||this.message.content[e-1]==` `?(this.message.content=this.message.content.slice(0,e)+"```"+t+` `+this.message.content.slice(e,n)+"\n```\n"+this.message.content.slice(n),e=e+4+t.length):(this.message.content=this.message.content.slice(0,e)+"\n```"+t+` -`+this.message.content.slice(e,n)+"\n```\n"+this.message.content.slice(n),p=p+3+t.length),this.$refs.mdTextarea.focus(),this.$refs.mdTextarea.selectionStart=this.$refs.mdTextarea.selectionEnd=p},copyContentToClipboard(){this.$emit("copy",this)},deleteMsg(){this.$emit("delete",this.message.id),this.deleteMsgMode=!1},rankUp(){this.$emit("rankUp",this.message.id)},rankDown(){this.$emit("rankDown",this.message.id)},updateMessage(){this.$emit("updateMessage",this.message.id,this.message.content,this.audio_url),this.editMsgMode=!1},resendMessage(t){this.$emit("resendMessage",this.message.id,this.message.content,t)},continueMessage(){this.$emit("continueMessage",this.message.id,this.message.content)},getImgUrl(){return this.avatar?O0t+this.avatar:(console.log("No avatar found"),Bs)},defaultImg(t){t.target.src=Bs},parseDate(t){let e=new Date(Date.parse(t)),s=Math.floor((new Date-e)/1e3);return s<=1?"just now":s<20?s+" seconds ago":s<40?"half a minute ago":s<60?"less than a minute ago":s<=90?"one minute ago":s<=3540?Math.round(s/60)+" minutes ago":s<=5400?"1 hour ago":s<=86400?Math.round(s/3600)+" hours ago":s<=129600?"1 day ago":s<604800?Math.round(s/86400)+" days ago":s<=777600?"1 week ago":t},prettyDate(t){let e=new Date((t||"").replace(/-/g,"/").replace(/[TZ]/g," ")),n=(new Date().getTime()-e.getTime())/1e3,s=Math.floor(n/86400);if(!(isNaN(s)||s<0||s>=31))return s==0&&(n<60&&"just now"||n<120&&"1 minute ago"||n<3600&&Math.floor(n/60)+" minutes ago"||n<7200&&"1 hour ago"||n<86400&&Math.floor(n/3600)+" hours ago")||s==1&&"Yesterday"||s<7&&s+" days ago"||s<31&&Math.ceil(s/7)+" weeks ago"},checkForFullSentence(){if(this.message.content.trim().split(" ").length>3){this.speak();return}}},watch:{audio_url(t){t&&(this.$refs.audio_player.src=t)},"message.content":function(t){this.$store.state.config.auto_speak&&(this.$store.state.config.xtts_enable&&this.$store.state.config.xtts_use_streaming_mode||this.isSpeaking||this.checkForFullSentence())},"message.ui":function(t){console.log("ui changed to",t),this.ui_componentKey++},showConfirmation(){Le(()=>{ze.replace()})},deleteMsgMode(){Le(()=>{ze.replace()})}},computed:{editMsgMode:{get(){return this.message.hasOwnProperty("open")?this.editMsgMode_||this.message.open:this.editMsgMode_},set(t){this.message.open=t,this.editMsgMode_=t,Le(()=>{ze.replace()})}},isTalking:{get(){return this.isSpeaking}},created_at(){return this.prettyDate(this.message.created_at)},created_at_parsed(){return new Date(Date.parse(this.message.created_at)).toLocaleString()},finished_generating_at_parsed(){return new Date(Date.parse(this.message.finished_generating_at)).toLocaleString()},time_spent(){const t=new Date(Date.parse(this.message.started_generating_at)),e=new Date(Date.parse(this.message.finished_generating_at));if(e.getTime()===t.getTime()||!t.getTime()||!e.getTime())return;let[s,i,r]=this.computeTimeDiff(t,e);function o(c){return c<10&&(c="0"+c),c}return o(s)+"h:"+o(i)+"m:"+o(r)+"s"},warmup_duration(){const t=new Date(Date.parse(this.message.created_at)),e=new Date(Date.parse(this.message.started_generating_at));if(console.log("Computing the warmup duration, ",t," -> ",e),e.getTime()===t.getTime())return 0;if(!t.getTime()||!e.getTime())return;let s,i,r;[s,i,r]=this.computeTimeDiff(t,e);function o(c){return c<10&&(c="0"+c),c}return o(s)+"h:"+o(i)+"m:"+o(r)+"s"},generation_rate(){const t=new Date(Date.parse(this.message.started_generating_at)),e=new Date(Date.parse(this.message.finished_generating_at)),n=this.message.nb_tokens;if(e.getTime()===t.getTime()||!n||!t.getTime()||!e.getTime())return;let i=e.getTime()-t.getTime();const r=Math.floor(i/1e3),o=n/r;return Math.round(o)+" t/s"}}},I0t={class:"relative w-full group rounded-lg m-2 shadow-lg message hover:border-primary dark:hover:border-primary hover:border-solid hover:border-2 border-2 border-transparent flex flex-col flex-grow flex-wrap overflow-visible p-4 pb-2"},k0t={class:"flex flex-row gap-2"},D0t={class:"flex-shrink-0"},L0t={class:"group/avatar"},P0t=["src","data-popover-target"],F0t={class:"flex flex-col w-full flex-grow-0"},U0t={class:"flex flex-row flex-grow items-start"},B0t={class:"flex flex-col mb-2"},G0t={class:"drop-shadow-sm text-lg text-opacity-95 font-bold grow"},V0t=["title"],z0t=l("div",{class:"flex-grow"},null,-1),H0t={class:"overflow-x-auto w-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},q0t={class:"flex w-full cursor-pointer rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-800 dark:bg-gray-900 mb-3.5 max-w-full"},$0t={class:"grid min-w-80 select-none grid-cols-[50px,1fr] items-center gap-3 p-3 bg-gray-50 dark:bg-gray-800 rounded-lg shadow-sm hover:shadow-md transition-all duration-300"},Y0t={class:"relative grid aspect-square place-content-center overflow-hidden rounded-full bg-gradient-to-br from-blue-400 to-purple-500"},W0t={key:0,class:"w-8 h-8 text-white animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},K0t=l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),j0t=l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),Q0t=[K0t,j0t],X0t={key:1,class:"w-8 h-8 text-red-500",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Z0t=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"},null,-1),J0t=[Z0t],eTt={key:2,class:"w-8 h-8 text-green-500",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},tTt=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1),nTt=[tTt],sTt={class:"leading-5"},iTt=l("dd",{class:"text-lg font-semibold text-gray-800 dark:text-gray-200"},"Processing Info",-1),rTt={class:"flex items-center gap-1 truncate whitespace-nowrap text-sm text-gray-500 dark:text-gray-400"},oTt={class:"content px-5 pb-5 pt-4"},aTt={class:"list-none"},lTt=l("div",{class:"flex flex-col items-start w-full"},null,-1),cTt={class:"flex flex-col items-start w-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},dTt={key:1},uTt=["src"],pTt={class:"flex-row justify-end mx-2"},_Tt={class:"invisible group-hover:visible flex flex-row"},hTt={key:0},fTt={key:1},mTt={key:2},gTt={key:3},bTt={key:4,class:"flex items-center duration-75"},ETt=l("i",{"data-feather":"x"},null,-1),yTt=[ETt],vTt=l("i",{"data-feather":"check"},null,-1),STt=[vTt],TTt=l("i",{"data-feather":"trash"},null,-1),xTt=[TTt],CTt=l("i",{"data-feather":"thumbs-up"},null,-1),wTt=[CTt],RTt={class:"flex flex-row items-center"},ATt=l("i",{"data-feather":"thumbs-down"},null,-1),NTt=[ATt],OTt={class:"flex flex-row items-center"},MTt=l("i",{"data-feather":"volume-2"},null,-1),ITt=[MTt],kTt={key:6,class:"flex flex-row items-center"},DTt=l("i",{"data-feather":"voicemail"},null,-1),LTt=[DTt],PTt=["src"],FTt={class:"text-sm text-gray-400 mt-2"},UTt={class:"flex flex-row items-center gap-2"},BTt={key:0},GTt={class:"font-thin"},VTt={key:1},zTt={class:"font-thin"},HTt={key:2},qTt={class:"font-thin"},$Tt={key:3},YTt=["title"],WTt={key:4},KTt=["title"],jTt={key:5},QTt=["title"],XTt={key:6},ZTt=["title"];function JTt(t,e,n,s,i,r){var _;const o=tt("Step"),a=tt("RenderHTMLJS"),c=tt("MarkdownRenderer"),d=tt("JsonViewer"),u=tt("DynamicUIRenderer"),h=tt("ToolbarButton"),f=tt("DropdownSubmenu"),m=tt("DropdownMenu");return T(),x("div",I0t,[l("div",k0t,[l("div",D0t,[l("div",L0t,[l("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=g=>r.defaultImg(g)),"data-popover-target":"avatar"+n.message.id,"data-popover-placement":"bottom",class:"w-10 h-10 rounded-full object-fill text-red-700"},null,40,P0t)])]),l("div",F0t,[l("div",U0t,[l("div",B0t,[l("div",G0t,K(n.message.sender)+" ",1),n.message.created_at?(T(),x("div",{key:0,class:"text-sm text-gray-400 font-thin",title:"Created at: "+r.created_at_parsed},K(r.created_at),9,V0t)):G("",!0)]),z0t]),l("div",H0t,[P(l("details",q0t,[l("summary",$0t,[l("div",Y0t,[n.message.status_message!=="Done"&&n.message.status_message!=="Generation canceled"?(T(),x("svg",W0t,Q0t)):G("",!0),n.message.status_message==="Generation canceled"?(T(),x("svg",X0t,J0t)):G("",!0),n.message.status_message==="Done"?(T(),x("svg",eTt,nTt)):G("",!0)]),l("dl",sTt,[iTt,l("dt",rTt,[l("span",{class:Ge(["inline-block w-2 h-2 rounded-full",{"bg-blue-500 animate-pulse":n.message.status_message!=="Done"&&n.message.status_message!=="Generation canceled","bg-red-500":n.message.status_message==="Generation canceled","bg-green-500":n.message.status_message==="Done"}])},null,2),Je(" "+K(n.message===void 0?"":n.message.status_message),1)])])]),l("div",oTt,[l("ol",aTt,[(T(!0),x(Fe,null,Ke(n.message.steps,(g,b)=>(T(),x("div",{key:"step-"+n.message.id+"-"+b,class:"group border-l pb-6 last:!border-transparent last:pb-0 dark:border-gray-800",style:Ht({backgroundColor:g.done?"transparent":"inherit"})},[V(o,{done:g.done,text:g.text,status:g.status,step_type:g.step_type},null,8,["done","text","status","step_type"])],4))),128))])])],512),[[wt,n.message!=null&&n.message.steps!=null&&n.message.steps.length>0]]),lTt,l("div",cTt,[(T(!0),x(Fe,null,Ke(n.message.html_js_s,(g,b)=>(T(),x("div",{key:"htmljs-"+n.message.id+"-"+b,class:"htmljs font-bold",style:Ht({backgroundColor:t.step.done?"transparent":"inherit"})},[V(a,{htmlContent:g},null,8,["htmlContent"])],4))),128))]),r.editMsgMode?G("",!0):(T(),dt(c,{key:0,ref:"mdRender",host:n.host,"markdown-text":n.message.content,message_id:n.message.id,discussion_id:n.message.discussion_id,client_id:this.$store.state.client_id},null,8,["host","markdown-text","message_id","discussion_id","client_id"])),l("div",null,[n.message.open?P((T(),x("textarea",{key:0,ref:"mdTextarea",onKeydown:e[1]||(e[1]=zs(j((...g)=>r.insertTab&&r.insertTab(...g),["prevent"]),["tab"])),class:"block min-h-[500px] p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,placeholder:"Enter message here...","onUpdate:modelValue":e[2]||(e[2]=g=>n.message.content=g)},`\r - `,544)),[[pe,n.message.content]]):G("",!0)]),n.message.metadata!==null?(T(),x("div",dTt,[(T(!0),x(Fe,null,Ke(((_=n.message.metadata)==null?void 0:_.filter(g=>g!=null&&g.hasOwnProperty("title")&&g.hasOwnProperty("content")))||[],(g,b)=>(T(),x("div",{key:"json-"+n.message.id+"-"+b,class:"json font-bold"},[(T(),dt(d,{jsonFormText:g.title,jsonData:g.content,key:"msgjson-"+n.message.id},null,8,["jsonFormText","jsonData"]))]))),128))])):G("",!0),n.message.ui?(T(),dt(u,{ref:"ui",class:"w-full",ui:n.message.ui,key:"msgui-"+n.message.id},null,8,["ui"])):G("",!0),i.audio_url!=null?(T(),x("audio",{controls:"",key:i.audio_url},[l("source",{src:i.audio_url,type:"audio/wav",ref:"audio_player"},null,8,uTt),Je(" Your browser does not support the audio element. ")])):G("",!0)]),l("div",pTt,[l("div",_Tt,[r.editMsgMode?(T(),x("div",hTt,[V(h,{onClick:e[3]||(e[3]=j(g=>r.editMsgMode=!1,["stop"])),title:"Cancel edit",icon:"x"}),V(h,{onClick:j(r.updateMessage,["stop"]),title:"Update message",icon:"check"},null,8,["onClick"]),V(m,{title:"Add Block"},{default:Ie(()=>[V(f,{title:"Programming Languages",icon:"code"},{default:Ie(()=>[V(h,{onClick:e[4]||(e[4]=j(g=>r.addBlock("python"),["stop"])),title:"Python",icon:"python"}),V(h,{onClick:e[5]||(e[5]=j(g=>r.addBlock("javascript"),["stop"])),title:"JavaScript",icon:"js"}),V(h,{onClick:e[6]||(e[6]=j(g=>r.addBlock("typescript"),["stop"])),title:"TypeScript",icon:"typescript"}),V(h,{onClick:e[7]||(e[7]=j(g=>r.addBlock("java"),["stop"])),title:"Java",icon:"java"}),V(h,{onClick:e[8]||(e[8]=j(g=>r.addBlock("c++"),["stop"])),title:"C++",icon:"cplusplus"}),V(h,{onClick:e[9]||(e[9]=j(g=>r.addBlock("csharp"),["stop"])),title:"C#",icon:"csharp"}),V(h,{onClick:e[10]||(e[10]=j(g=>r.addBlock("go"),["stop"])),title:"Go",icon:"go"}),V(h,{onClick:e[11]||(e[11]=j(g=>r.addBlock("rust"),["stop"])),title:"Rust",icon:"rust"}),V(h,{onClick:e[12]||(e[12]=j(g=>r.addBlock("swift"),["stop"])),title:"Swift",icon:"swift"}),V(h,{onClick:e[13]||(e[13]=j(g=>r.addBlock("kotlin"),["stop"])),title:"Kotlin",icon:"kotlin"}),V(h,{onClick:e[14]||(e[14]=j(g=>r.addBlock("r"),["stop"])),title:"R",icon:"r-project"})]),_:1}),V(f,{title:"Web Technologies",icon:"web"},{default:Ie(()=>[V(h,{onClick:e[15]||(e[15]=j(g=>r.addBlock("html"),["stop"])),title:"HTML",icon:"html5"}),V(h,{onClick:e[16]||(e[16]=j(g=>r.addBlock("css"),["stop"])),title:"CSS",icon:"css3"}),V(h,{onClick:e[17]||(e[17]=j(g=>r.addBlock("vue"),["stop"])),title:"Vue.js",icon:"vuejs"}),V(h,{onClick:e[18]||(e[18]=j(g=>r.addBlock("react"),["stop"])),title:"React",icon:"react"}),V(h,{onClick:e[19]||(e[19]=j(g=>r.addBlock("angular"),["stop"])),title:"Angular",icon:"angular"})]),_:1}),V(f,{title:"Markup and Data",icon:"file-code"},{default:Ie(()=>[V(h,{onClick:e[20]||(e[20]=j(g=>r.addBlock("xml"),["stop"])),title:"XML",icon:"xml"}),V(h,{onClick:e[21]||(e[21]=j(g=>r.addBlock("json"),["stop"])),title:"JSON",icon:"json"}),V(h,{onClick:e[22]||(e[22]=j(g=>r.addBlock("yaml"),["stop"])),title:"YAML",icon:"yaml"}),V(h,{onClick:e[23]||(e[23]=j(g=>r.addBlock("markdown"),["stop"])),title:"Markdown",icon:"markdown"}),V(h,{onClick:e[24]||(e[24]=j(g=>r.addBlock("latex"),["stop"])),title:"LaTeX",icon:"latex"})]),_:1}),V(f,{title:"Scripting and Shell",icon:"terminal"},{default:Ie(()=>[V(h,{onClick:e[25]||(e[25]=j(g=>r.addBlock("bash"),["stop"])),title:"Bash",icon:"bash"}),V(h,{onClick:e[26]||(e[26]=j(g=>r.addBlock("powershell"),["stop"])),title:"PowerShell",icon:"powershell"}),V(h,{onClick:e[27]||(e[27]=j(g=>r.addBlock("perl"),["stop"])),title:"Perl",icon:"perl"})]),_:1}),V(f,{title:"Diagramming",icon:"sitemap"},{default:Ie(()=>[V(h,{onClick:e[28]||(e[28]=j(g=>r.addBlock("mermaid"),["stop"])),title:"Mermaid",icon:"mermaid"}),V(h,{onClick:e[29]||(e[29]=j(g=>r.addBlock("graphviz"),["stop"])),title:"Graphviz",icon:"graphviz"}),V(h,{onClick:e[30]||(e[30]=j(g=>r.addBlock("plantuml"),["stop"])),title:"PlantUML",icon:"plantuml"})]),_:1}),V(f,{title:"Database",icon:"database"},{default:Ie(()=>[V(h,{onClick:e[31]||(e[31]=j(g=>r.addBlock("sql"),["stop"])),title:"SQL",icon:"sql"}),V(h,{onClick:e[32]||(e[32]=j(g=>r.addBlock("mongodb"),["stop"])),title:"MongoDB",icon:"mongodb"})]),_:1}),V(h,{onClick:e[33]||(e[33]=j(g=>r.addBlock(""),["stop"])),title:"Generic Block",icon:"code"})]),_:1})])):(T(),x("div",fTt,[V(h,{onClick:e[34]||(e[34]=j(g=>r.editMsgMode=!0,["stop"])),title:"Edit message",icon:"edit"})])),V(h,{onClick:r.copyContentToClipboard,title:"Copy message to clipboard",icon:"copy"},null,8,["onClick"]),!r.editMsgMode&&n.message.sender!==t.$store.state.mountedPers.name?(T(),x("div",mTt,[V(h,{onClick:e[35]||(e[35]=j(g=>r.resendMessage("full_context"),["stop"])),title:"Resend message with full context",icon:"send"}),V(h,{onClick:e[36]||(e[36]=j(g=>r.resendMessage("full_context_with_internet"),["stop"])),title:"Resend message with internet search",icon:"globe"}),V(h,{onClick:e[37]||(e[37]=j(g=>r.resendMessage("simple_question"),["stop"])),title:"Resend message without context",icon:"sendSimple"})])):G("",!0),!r.editMsgMode&&n.message.sender===t.$store.state.mountedPers.name?(T(),x("div",gTt,[V(h,{onClick:r.continueMessage,title:"Continue message",icon:"fastForward"},null,8,["onClick"])])):G("",!0),i.deleteMsgMode?(T(),x("div",bTt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"Cancel removal",type:"button",onClick:e[38]||(e[38]=j(g=>i.deleteMsgMode=!1,["stop"]))},yTt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer",title:"Confirm removal",type:"button",onClick:e[39]||(e[39]=j(g=>r.deleteMsg(),["stop"]))},STt)])):G("",!0),!r.editMsgMode&&!i.deleteMsgMode?(T(),x("div",{key:5,class:"text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"Remove message",onClick:e[40]||(e[40]=g=>i.deleteMsgMode=!0)},xTt)):G("",!0),l("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer",title:"Upvote",onClick:e[41]||(e[41]=j(g=>r.rankUp(),["stop"]))},wTt),l("div",RTt,[l("div",{class:"text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"Downvote",onClick:e[42]||(e[42]=j(g=>r.rankDown(),["stop"]))},NTt),n.message.rank!=0?(T(),x("div",{key:0,class:Ge(["rounded-full px-2 text-sm flex items-center justify-center font-bold cursor-pointer",n.message.rank>0?"bg-secondary":"bg-red-600"]),title:"Rank"},K(n.message.rank),3)):G("",!0)]),l("div",OTt,[this.$store.state.config.active_tts_service!="None"?(T(),x("div",{key:0,class:Ge(["text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",{"text-red-500":r.isTalking}]),title:"speak",onClick:e[43]||(e[43]=j(g=>r.speak(),["stop"]))},ITt,2)):G("",!0)]),this.$store.state.config.xtts_enable&&!this.$store.state.config.xtts_use_streaming_mode?(T(),x("div",kTt,[i.isSynthesizingVoice?(T(),x("img",{key:1,src:i.loading_svg},null,8,PTt)):(T(),x("div",{key:0,class:"text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"generate_audio",onClick:e[44]||(e[44]=j(g=>r.read(),["stop"]))},LTt))])):G("",!0)])]),l("div",FTt,[l("div",UTt,[n.message.binding?(T(),x("p",BTt,[Je("Binding: "),l("span",GTt,K(n.message.binding),1)])):G("",!0),n.message.model?(T(),x("p",VTt,[Je("Model: "),l("span",zTt,K(n.message.model),1)])):G("",!0),n.message.seed?(T(),x("p",HTt,[Je("Seed: "),l("span",qTt,K(n.message.seed),1)])):G("",!0),n.message.nb_tokens?(T(),x("p",$Tt,[Je("Number of tokens: "),l("span",{class:"font-thin",title:"Number of Tokens: "+n.message.nb_tokens},K(n.message.nb_tokens),9,YTt)])):G("",!0),r.warmup_duration?(T(),x("p",WTt,[Je("Warmup duration: "),l("span",{class:"font-thin",title:"Warmup duration: "+r.warmup_duration},K(r.warmup_duration),9,KTt)])):G("",!0),r.time_spent?(T(),x("p",jTt,[Je("Generation duration: "),l("span",{class:"font-thin",title:"Finished generating: "+r.time_spent},K(r.time_spent),9,QTt)])):G("",!0),r.generation_rate?(T(),x("p",XTt,[Je("Rate: "),l("span",{class:"font-thin",title:"Generation rate: "+r.generation_rate},K(r.generation_rate),9,ZTt)])):G("",!0)])])])])])}const uN=ot(M0t,[["render",JTt]]),ext="/";ae.defaults.baseURL="/";const txt={name:"MountedPersonalities",props:{onShowPersList:Function,onReady:Function},components:{Toast:Zl,UniversalForm:nc},data(){return{bUrl:ext,isMounted:!1,show:!1}},async mounted(){await this.constructor(),this.isMounted=!0},async activated(){this.isMounted&&await this.constructor()},computed:{configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},mountedPers:{get(){return this.$store.state.mountedPers},set(t){this.$store.commit("setMountedPers",t)}},personalities:{get(){return this.$store.state.personalities},set(t){this.$store.commit("setPersonalities",t)}},mountedPersArr:{get(){return this.$store.state.mountedPersArr},set(t){this.$store.commit("setMountedPers",t)}}},methods:{async handleOnTalk(){const t=this.mountedPers;console.log("pers:",t),this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating);let e=await ae.get("/get_generation_status",{});if(e)if(e.data.status)console.log("Already generating");else{const n=this.$store.state.config.personalities.findIndex(i=>i===t.full_path),s={client_id:this.$store.state.client_id,id:n};e=await ae.post("/select_personality",s),console.log("Generating message from ",e.data.status),qe.emit("generate_msg_from",{id:-1})}},async remount_personality(){const t=this.mountedPers;if(console.log("Remounting personality ",t),!t)return{status:!1,error:"no personality - mount_personality"};try{console.log("before");const e={client_id:this.$store.state.client_id,category:t.category,folder:t.folder,language:t.language};console.log("after");const n=await ae.post("/remount_personality",e);if(console.log("Remounting personality executed:",n),n)return console.log("Remounting personality res"),this.$store.state.toast.showToast("Personality remounted",4,!0),n.data;console.log("failed remount_personality")}catch(e){console.log(e.message,"remount_personality - settings");return}},onSettingsPersonality(t){try{ae.get("/get_active_personality_settings").then(e=>{e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$refs.universalForm.showForm(e.data,"Personality settings - "+t.name,"Save changes","Cancel").then(n=>{try{ae.post("/set_active_personality_settings",n).then(s=>{s&&s.data?(console.log("personality set with new settings",s.data),this.$refs.toast.showToast("Personality settings updated successfully!",4,!0)):this.$refs.toast.showToast(`Did not get Personality settings responses. +`+this.message.content.slice(e,n)+"\n```\n"+this.message.content.slice(n),p=p+3+t.length),this.$refs.mdTextarea.focus(),this.$refs.mdTextarea.selectionStart=this.$refs.mdTextarea.selectionEnd=p},copyContentToClipboard(){this.$emit("copy",this)},deleteMsg(){this.$emit("delete",this.message.id),this.deleteMsgMode=!1},rankUp(){this.$emit("rankUp",this.message.id)},rankDown(){this.$emit("rankDown",this.message.id)},updateMessage(){this.$emit("updateMessage",this.message.id,this.message.content,this.audio_url),this.editMsgMode=!1},resendMessage(t){this.$emit("resendMessage",this.message.id,this.message.content,t)},continueMessage(){this.$emit("continueMessage",this.message.id,this.message.content)},getImgUrl(){return this.avatar?F0t+this.avatar:(console.log("No avatar found"),Bs)},defaultImg(t){t.target.src=Bs},parseDate(t){let e=new Date(Date.parse(t)),s=Math.floor((new Date-e)/1e3);return s<=1?"just now":s<20?s+" seconds ago":s<40?"half a minute ago":s<60?"less than a minute ago":s<=90?"one minute ago":s<=3540?Math.round(s/60)+" minutes ago":s<=5400?"1 hour ago":s<=86400?Math.round(s/3600)+" hours ago":s<=129600?"1 day ago":s<604800?Math.round(s/86400)+" days ago":s<=777600?"1 week ago":t},prettyDate(t){let e=new Date((t||"").replace(/-/g,"/").replace(/[TZ]/g," ")),n=(new Date().getTime()-e.getTime())/1e3,s=Math.floor(n/86400);if(!(isNaN(s)||s<0||s>=31))return s==0&&(n<60&&"just now"||n<120&&"1 minute ago"||n<3600&&Math.floor(n/60)+" minutes ago"||n<7200&&"1 hour ago"||n<86400&&Math.floor(n/3600)+" hours ago")||s==1&&"Yesterday"||s<7&&s+" days ago"||s<31&&Math.ceil(s/7)+" weeks ago"},checkForFullSentence(){if(this.message.content.trim().split(" ").length>3){this.speak();return}}},watch:{audio_url(t){t&&(this.$refs.audio_player.src=t)},"message.content":function(t){this.$store.state.config.auto_speak&&(this.$store.state.config.xtts_enable&&this.$store.state.config.xtts_use_streaming_mode||this.isSpeaking||this.checkForFullSentence())},"message.ui":function(t){console.log("ui changed to",t),this.ui_componentKey++},showConfirmation(){Le(()=>{ze.replace()})},deleteMsgMode(){Le(()=>{ze.replace()})}},computed:{editMsgMode:{get(){return this.message.hasOwnProperty("open")?this.editMsgMode_||this.message.open:this.editMsgMode_},set(t){this.message.open=t,this.editMsgMode_=t,Le(()=>{ze.replace()})}},isTalking:{get(){return this.isSpeaking}},created_at(){return this.prettyDate(this.message.created_at)},created_at_parsed(){return new Date(Date.parse(this.message.created_at)).toLocaleString()},finished_generating_at_parsed(){return new Date(Date.parse(this.message.finished_generating_at)).toLocaleString()},time_spent(){const t=new Date(Date.parse(this.message.started_generating_at)),e=new Date(Date.parse(this.message.finished_generating_at));if(e.getTime()===t.getTime()||!t.getTime()||!e.getTime())return;let[s,i,r]=this.computeTimeDiff(t,e);function o(c){return c<10&&(c="0"+c),c}return o(s)+"h:"+o(i)+"m:"+o(r)+"s"},warmup_duration(){const t=new Date(Date.parse(this.message.created_at)),e=new Date(Date.parse(this.message.started_generating_at));if(console.log("Computing the warmup duration, ",t," -> ",e),e.getTime()===t.getTime())return 0;if(!t.getTime()||!e.getTime())return;let s,i,r;[s,i,r]=this.computeTimeDiff(t,e);function o(c){return c<10&&(c="0"+c),c}return o(s)+"h:"+o(i)+"m:"+o(r)+"s"},generation_rate(){const t=new Date(Date.parse(this.message.started_generating_at)),e=new Date(Date.parse(this.message.finished_generating_at)),n=this.message.nb_tokens;if(e.getTime()===t.getTime()||!n||!t.getTime()||!e.getTime())return;let i=e.getTime()-t.getTime();const r=Math.floor(i/1e3),o=n/r;return Math.round(o)+" t/s"}}},B0t={class:"relative w-full group rounded-lg m-2 shadow-lg message hover:border-primary dark:hover:border-primary hover:border-solid hover:border-2 border-2 border-transparent flex flex-col flex-grow flex-wrap overflow-visible p-4 pb-2"},G0t={class:"flex flex-row gap-2"},V0t={class:"flex-shrink-0"},z0t={class:"group/avatar"},H0t=["src","data-popover-target"],q0t={class:"flex flex-col w-full flex-grow-0"},$0t={class:"flex flex-row flex-grow items-start"},Y0t={class:"flex flex-col mb-2"},W0t={class:"drop-shadow-sm text-lg text-opacity-95 font-bold grow"},K0t=["title"],j0t=l("div",{class:"flex-grow"},null,-1),Q0t={class:"overflow-x-auto w-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},X0t={class:"flex w-full cursor-pointer rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-800 dark:bg-gray-900 mb-3.5 max-w-full"},Z0t={class:"grid min-w-80 select-none grid-cols-[50px,1fr] items-center gap-3 p-3 bg-gray-50 dark:bg-gray-800 rounded-lg shadow-sm hover:shadow-md transition-all duration-300"},J0t={class:"relative grid aspect-square place-content-center overflow-hidden rounded-full bg-gradient-to-br from-blue-400 to-purple-500"},eTt={key:0,class:"w-8 h-8 text-white animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},tTt=l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),nTt=l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),sTt=[tTt,nTt],iTt={key:1,class:"w-8 h-8 text-red-500",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},rTt=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"},null,-1),oTt=[rTt],aTt={key:2,class:"w-8 h-8 text-green-500",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},lTt=l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1),cTt=[lTt],dTt={class:"leading-5"},uTt=l("dd",{class:"text-lg font-semibold text-gray-800 dark:text-gray-200"},"Processing Info",-1),pTt={class:"flex items-center gap-1 truncate whitespace-nowrap text-sm text-gray-500 dark:text-gray-400"},_Tt={class:"content px-5 pb-5 pt-4"},hTt={class:"list-none"},fTt=l("div",{class:"flex flex-col items-start w-full"},null,-1),mTt={class:"flex flex-col items-start w-full overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},gTt={key:1},bTt=["src"],ETt={class:"flex-row justify-end mx-2"},yTt={class:"invisible group-hover:visible flex flex-row"},vTt={key:0},STt={key:1},TTt={key:2},xTt={key:3},CTt={key:4,class:"flex items-center duration-75"},wTt=l("i",{"data-feather":"x"},null,-1),RTt=[wTt],ATt=l("i",{"data-feather":"check"},null,-1),NTt=[ATt],OTt=l("i",{"data-feather":"trash"},null,-1),MTt=[OTt],ITt=l("i",{"data-feather":"thumbs-up"},null,-1),kTt=[ITt],DTt={class:"flex flex-row items-center"},LTt=l("i",{"data-feather":"thumbs-down"},null,-1),PTt=[LTt],FTt={class:"flex flex-row items-center"},UTt=l("i",{"data-feather":"volume-2"},null,-1),BTt=[UTt],GTt={key:6,class:"flex flex-row items-center"},VTt=l("i",{"data-feather":"voicemail"},null,-1),zTt=[VTt],HTt=["src"],qTt={class:"text-sm text-gray-400 mt-2"},$Tt={class:"flex flex-row items-center gap-2"},YTt={key:0},WTt={class:"font-thin"},KTt={key:1},jTt={class:"font-thin"},QTt={key:2},XTt={class:"font-thin"},ZTt={key:3},JTt=["title"],ext={key:4},txt=["title"],nxt={key:5},sxt=["title"],ixt={key:6},rxt=["title"];function oxt(t,e,n,s,i,r){var _;const o=tt("Step"),a=tt("RenderHTMLJS"),c=tt("MarkdownRenderer"),d=tt("JsonViewer"),u=tt("DynamicUIRenderer"),h=tt("ToolbarButton"),f=tt("DropdownSubmenu"),m=tt("DropdownMenu");return T(),x("div",B0t,[l("div",G0t,[l("div",V0t,[l("div",z0t,[l("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=g=>r.defaultImg(g)),"data-popover-target":"avatar"+n.message.id,"data-popover-placement":"bottom",class:"w-10 h-10 rounded-full object-fill text-red-700"},null,40,H0t)])]),l("div",q0t,[l("div",$0t,[l("div",Y0t,[l("div",W0t,K(n.message.sender)+" ",1),n.message.created_at?(T(),x("div",{key:0,class:"text-sm text-gray-400 font-thin",title:"Created at: "+r.created_at_parsed},K(r.created_at),9,K0t)):G("",!0)]),j0t]),l("div",Q0t,[P(l("details",X0t,[l("summary",Z0t,[l("div",J0t,[n.message.status_message!=="Done"&&n.message.status_message!=="Generation canceled"?(T(),x("svg",eTt,sTt)):G("",!0),n.message.status_message==="Generation canceled"?(T(),x("svg",iTt,oTt)):G("",!0),n.message.status_message==="Done"?(T(),x("svg",aTt,cTt)):G("",!0)]),l("dl",dTt,[uTt,l("dt",pTt,[l("span",{class:Ge(["inline-block w-2 h-2 rounded-full",{"bg-blue-500 animate-pulse":n.message.status_message!=="Done"&&n.message.status_message!=="Generation canceled","bg-red-500":n.message.status_message==="Generation canceled","bg-green-500":n.message.status_message==="Done"}])},null,2),Je(" "+K(n.message===void 0?"":n.message.status_message),1)])])]),l("div",_Tt,[l("ol",hTt,[(T(!0),x(Fe,null,Ke(n.message.steps,(g,b)=>(T(),x("div",{key:"step-"+n.message.id+"-"+b,class:"group border-l pb-6 last:!border-transparent last:pb-0 dark:border-gray-800",style:Ht({backgroundColor:g.done?"transparent":"inherit"})},[V(o,{done:g.done,text:g.text,status:g.status,step_type:g.step_type},null,8,["done","text","status","step_type"])],4))),128))])])],512),[[wt,n.message!=null&&n.message.steps!=null&&n.message.steps.length>0]]),fTt,l("div",mTt,[(T(!0),x(Fe,null,Ke(n.message.html_js_s,(g,b)=>(T(),x("div",{key:"htmljs-"+n.message.id+"-"+b,class:"htmljs font-bold",style:Ht({backgroundColor:t.step.done?"transparent":"inherit"})},[V(a,{htmlContent:g},null,8,["htmlContent"])],4))),128))]),r.editMsgMode?G("",!0):(T(),dt(c,{key:0,ref:"mdRender",host:n.host,"markdown-text":n.message.content,message_id:n.message.id,discussion_id:n.message.discussion_id,client_id:this.$store.state.client_id},null,8,["host","markdown-text","message_id","discussion_id","client_id"])),l("div",null,[n.message.open?P((T(),x("textarea",{key:0,ref:"mdTextarea",onKeydown:e[1]||(e[1]=zs(j((...g)=>r.insertTab&&r.insertTab(...g),["prevent"]),["tab"])),class:"block min-h-[500px] p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,placeholder:"Enter message here...","onUpdate:modelValue":e[2]||(e[2]=g=>n.message.content=g)},`\r + `,544)),[[pe,n.message.content]]):G("",!0)]),n.message.metadata!==null?(T(),x("div",gTt,[(T(!0),x(Fe,null,Ke(((_=n.message.metadata)==null?void 0:_.filter(g=>g!=null&&g.hasOwnProperty("title")&&g.hasOwnProperty("content")))||[],(g,b)=>(T(),x("div",{key:"json-"+n.message.id+"-"+b,class:"json font-bold"},[(T(),dt(d,{jsonFormText:g.title,jsonData:g.content,key:"msgjson-"+n.message.id},null,8,["jsonFormText","jsonData"]))]))),128))])):G("",!0),n.message.ui?(T(),dt(u,{ref:"ui",class:"w-full",ui:n.message.ui,key:"msgui-"+n.message.id},null,8,["ui"])):G("",!0),i.audio_url!=null?(T(),x("audio",{controls:"",key:i.audio_url},[l("source",{src:i.audio_url,type:"audio/wav",ref:"audio_player"},null,8,bTt),Je(" Your browser does not support the audio element. ")])):G("",!0)]),l("div",ETt,[l("div",yTt,[r.editMsgMode?(T(),x("div",vTt,[V(h,{onClick:e[3]||(e[3]=j(g=>r.editMsgMode=!1,["stop"])),title:"Cancel edit",icon:"x"}),V(h,{onClick:j(r.updateMessage,["stop"]),title:"Update message",icon:"check"},null,8,["onClick"]),V(m,{title:"Add Block"},{default:Ie(()=>[V(f,{title:"Programming Languages",icon:"code"},{default:Ie(()=>[V(h,{onClick:e[4]||(e[4]=j(g=>r.addBlock("python"),["stop"])),title:"Python",icon:"python"}),V(h,{onClick:e[5]||(e[5]=j(g=>r.addBlock("javascript"),["stop"])),title:"JavaScript",icon:"js"}),V(h,{onClick:e[6]||(e[6]=j(g=>r.addBlock("typescript"),["stop"])),title:"TypeScript",icon:"typescript"}),V(h,{onClick:e[7]||(e[7]=j(g=>r.addBlock("java"),["stop"])),title:"Java",icon:"java"}),V(h,{onClick:e[8]||(e[8]=j(g=>r.addBlock("c++"),["stop"])),title:"C++",icon:"cplusplus"}),V(h,{onClick:e[9]||(e[9]=j(g=>r.addBlock("csharp"),["stop"])),title:"C#",icon:"csharp"}),V(h,{onClick:e[10]||(e[10]=j(g=>r.addBlock("go"),["stop"])),title:"Go",icon:"go"}),V(h,{onClick:e[11]||(e[11]=j(g=>r.addBlock("rust"),["stop"])),title:"Rust",icon:"rust"}),V(h,{onClick:e[12]||(e[12]=j(g=>r.addBlock("swift"),["stop"])),title:"Swift",icon:"swift"}),V(h,{onClick:e[13]||(e[13]=j(g=>r.addBlock("kotlin"),["stop"])),title:"Kotlin",icon:"kotlin"}),V(h,{onClick:e[14]||(e[14]=j(g=>r.addBlock("r"),["stop"])),title:"R",icon:"r-project"})]),_:1}),V(f,{title:"Web Technologies",icon:"web"},{default:Ie(()=>[V(h,{onClick:e[15]||(e[15]=j(g=>r.addBlock("html"),["stop"])),title:"HTML",icon:"html5"}),V(h,{onClick:e[16]||(e[16]=j(g=>r.addBlock("css"),["stop"])),title:"CSS",icon:"css3"}),V(h,{onClick:e[17]||(e[17]=j(g=>r.addBlock("vue"),["stop"])),title:"Vue.js",icon:"vuejs"}),V(h,{onClick:e[18]||(e[18]=j(g=>r.addBlock("react"),["stop"])),title:"React",icon:"react"}),V(h,{onClick:e[19]||(e[19]=j(g=>r.addBlock("angular"),["stop"])),title:"Angular",icon:"angular"})]),_:1}),V(f,{title:"Markup and Data",icon:"file-code"},{default:Ie(()=>[V(h,{onClick:e[20]||(e[20]=j(g=>r.addBlock("xml"),["stop"])),title:"XML",icon:"xml"}),V(h,{onClick:e[21]||(e[21]=j(g=>r.addBlock("json"),["stop"])),title:"JSON",icon:"json"}),V(h,{onClick:e[22]||(e[22]=j(g=>r.addBlock("yaml"),["stop"])),title:"YAML",icon:"yaml"}),V(h,{onClick:e[23]||(e[23]=j(g=>r.addBlock("markdown"),["stop"])),title:"Markdown",icon:"markdown"}),V(h,{onClick:e[24]||(e[24]=j(g=>r.addBlock("latex"),["stop"])),title:"LaTeX",icon:"latex"})]),_:1}),V(f,{title:"Scripting and Shell",icon:"terminal"},{default:Ie(()=>[V(h,{onClick:e[25]||(e[25]=j(g=>r.addBlock("bash"),["stop"])),title:"Bash",icon:"bash"}),V(h,{onClick:e[26]||(e[26]=j(g=>r.addBlock("powershell"),["stop"])),title:"PowerShell",icon:"powershell"}),V(h,{onClick:e[27]||(e[27]=j(g=>r.addBlock("perl"),["stop"])),title:"Perl",icon:"perl"})]),_:1}),V(f,{title:"Diagramming",icon:"sitemap"},{default:Ie(()=>[V(h,{onClick:e[28]||(e[28]=j(g=>r.addBlock("mermaid"),["stop"])),title:"Mermaid",icon:"mermaid"}),V(h,{onClick:e[29]||(e[29]=j(g=>r.addBlock("graphviz"),["stop"])),title:"Graphviz",icon:"graphviz"}),V(h,{onClick:e[30]||(e[30]=j(g=>r.addBlock("plantuml"),["stop"])),title:"PlantUML",icon:"plantuml"})]),_:1}),V(f,{title:"Database",icon:"database"},{default:Ie(()=>[V(h,{onClick:e[31]||(e[31]=j(g=>r.addBlock("sql"),["stop"])),title:"SQL",icon:"sql"}),V(h,{onClick:e[32]||(e[32]=j(g=>r.addBlock("mongodb"),["stop"])),title:"MongoDB",icon:"mongodb"})]),_:1}),V(h,{onClick:e[33]||(e[33]=j(g=>r.addBlock(""),["stop"])),title:"Generic Block",icon:"code"})]),_:1})])):(T(),x("div",STt,[V(h,{onClick:e[34]||(e[34]=j(g=>r.editMsgMode=!0,["stop"])),title:"Edit message",icon:"edit"})])),V(h,{onClick:r.copyContentToClipboard,title:"Copy message to clipboard",icon:"copy"},null,8,["onClick"]),!r.editMsgMode&&n.message.sender!==t.$store.state.mountedPers.name?(T(),x("div",TTt,[V(h,{onClick:e[35]||(e[35]=j(g=>r.resendMessage("full_context"),["stop"])),title:"Resend message with full context",icon:"send"}),V(h,{onClick:e[36]||(e[36]=j(g=>r.resendMessage("full_context_with_internet"),["stop"])),title:"Resend message with internet search",icon:"globe"}),V(h,{onClick:e[37]||(e[37]=j(g=>r.resendMessage("simple_question"),["stop"])),title:"Resend message without context",icon:"sendSimple"})])):G("",!0),!r.editMsgMode&&n.message.sender===t.$store.state.mountedPers.name?(T(),x("div",xTt,[V(h,{onClick:r.continueMessage,title:"Continue message",icon:"fastForward"},null,8,["onClick"])])):G("",!0),i.deleteMsgMode?(T(),x("div",CTt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"Cancel removal",type:"button",onClick:e[38]||(e[38]=j(g=>i.deleteMsgMode=!1,["stop"]))},RTt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer",title:"Confirm removal",type:"button",onClick:e[39]||(e[39]=j(g=>r.deleteMsg(),["stop"]))},NTt)])):G("",!0),!r.editMsgMode&&!i.deleteMsgMode?(T(),x("div",{key:5,class:"text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"Remove message",onClick:e[40]||(e[40]=g=>i.deleteMsgMode=!0)},MTt)):G("",!0),l("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer",title:"Upvote",onClick:e[41]||(e[41]=j(g=>r.rankUp(),["stop"]))},kTt),l("div",DTt,[l("div",{class:"text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"Downvote",onClick:e[42]||(e[42]=j(g=>r.rankDown(),["stop"]))},PTt),n.message.rank!=0?(T(),x("div",{key:0,class:Ge(["rounded-full px-2 text-sm flex items-center justify-center font-bold cursor-pointer",n.message.rank>0?"bg-secondary":"bg-red-600"]),title:"Rank"},K(n.message.rank),3)):G("",!0)]),l("div",FTt,[this.$store.state.config.active_tts_service!="None"?(T(),x("div",{key:0,class:Ge(["text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",{"text-red-500":r.isTalking}]),title:"speak",onClick:e[43]||(e[43]=j(g=>r.speak(),["stop"]))},BTt,2)):G("",!0)]),this.$store.state.config.xtts_enable&&!this.$store.state.config.xtts_use_streaming_mode?(T(),x("div",GTt,[i.isSynthesizingVoice?(T(),x("img",{key:1,src:i.loading_svg},null,8,HTt)):(T(),x("div",{key:0,class:"text-lg hover:text-red-600 duration-75 active:scale-90 p-2 cursor-pointer",title:"generate_audio",onClick:e[44]||(e[44]=j(g=>r.read(),["stop"]))},zTt))])):G("",!0)])]),l("div",qTt,[l("div",$Tt,[n.message.binding?(T(),x("p",YTt,[Je("Binding: "),l("span",WTt,K(n.message.binding),1)])):G("",!0),n.message.model?(T(),x("p",KTt,[Je("Model: "),l("span",jTt,K(n.message.model),1)])):G("",!0),n.message.seed?(T(),x("p",QTt,[Je("Seed: "),l("span",XTt,K(n.message.seed),1)])):G("",!0),n.message.nb_tokens?(T(),x("p",ZTt,[Je("Number of tokens: "),l("span",{class:"font-thin",title:"Number of Tokens: "+n.message.nb_tokens},K(n.message.nb_tokens),9,JTt)])):G("",!0),r.warmup_duration?(T(),x("p",ext,[Je("Warmup duration: "),l("span",{class:"font-thin",title:"Warmup duration: "+r.warmup_duration},K(r.warmup_duration),9,txt)])):G("",!0),r.time_spent?(T(),x("p",nxt,[Je("Generation duration: "),l("span",{class:"font-thin",title:"Finished generating: "+r.time_spent},K(r.time_spent),9,sxt)])):G("",!0),r.generation_rate?(T(),x("p",ixt,[Je("Rate: "),l("span",{class:"font-thin",title:"Generation rate: "+r.generation_rate},K(r.generation_rate),9,rxt)])):G("",!0)])])])])])}const uN=ot(U0t,[["render",oxt]]),axt="/";oe.defaults.baseURL="/";const lxt={name:"MountedPersonalities",props:{onShowPersList:Function,onReady:Function},components:{Toast:Zl,UniversalForm:nc},data(){return{bUrl:axt,isMounted:!1,show:!1}},async mounted(){await this.constructor(),this.isMounted=!0},async activated(){this.isMounted&&await this.constructor()},computed:{configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},mountedPers:{get(){return this.$store.state.mountedPers},set(t){this.$store.commit("setMountedPers",t)}},personalities:{get(){return this.$store.state.personalities},set(t){this.$store.commit("setPersonalities",t)}},mountedPersArr:{get(){return this.$store.state.mountedPersArr},set(t){this.$store.commit("setMountedPers",t)}}},methods:{async handleOnTalk(){const t=this.mountedPers;console.log("pers:",t),this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating);let e=await oe.get("/get_generation_status",{});if(e)if(e.data.status)console.log("Already generating");else{const n=this.$store.state.config.personalities.findIndex(i=>i===t.full_path),s={client_id:this.$store.state.client_id,id:n};e=await oe.post("/select_personality",s),console.log("Generating message from ",e.data.status),qe.emit("generate_msg_from",{id:-1})}},async remount_personality(){const t=this.mountedPers;if(console.log("Remounting personality ",t),!t)return{status:!1,error:"no personality - mount_personality"};try{console.log("before");const e={client_id:this.$store.state.client_id,category:t.category,folder:t.folder,language:t.language};console.log("after");const n=await oe.post("/remount_personality",e);if(console.log("Remounting personality executed:",n),n)return console.log("Remounting personality res"),this.$store.state.toast.showToast("Personality remounted",4,!0),n.data;console.log("failed remount_personality")}catch(e){console.log(e.message,"remount_personality - settings");return}},onSettingsPersonality(t){try{oe.get("/get_active_personality_settings").then(e=>{e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$refs.universalForm.showForm(e.data,"Personality settings - "+t.name,"Save changes","Cancel").then(n=>{try{oe.post("/set_active_personality_settings",n).then(s=>{s&&s.data?(console.log("personality set with new settings",s.data),this.$refs.toast.showToast("Personality settings updated successfully!",4,!0)):this.$refs.toast.showToast(`Did not get Personality settings responses. `+s,4,!1)})}catch(s){this.$refs.toast.showToast(`Did not get Personality settings responses. - Endpoint error: `+s.message,4,!1)}}):this.$refs.toast.showToast("Personality has no settings",4,!1))})}catch(e){this.$refs.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},toggleShowPersList(){this.onShowPersList()},async constructor(){for(Le(()=>{ze.replace()});this.$store.state.ready===!1;)await new Promise(t=>setTimeout(t,100));this.onReady()},async api_get_req(t){try{const e=await ae.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - mountedPersonalities");return}},personalityImgPlacehodler(t){t.target.src=Zu}}},nxt={class:"w-fit flex select-none"},sxt={class:"w-fit flex select-none"},ixt={class:"w-8 h-8 group relative"},rxt=["src","title"],oxt={class:"opacity-0 group-hover:opacity-100"},axt=l("span",{title:"Remount"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-0 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 30 30",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("g",{id:"surface1"},[l("path",{style:{},d:"M 16 4 C 10.886719 4 6.617188 7.160156 4.875 11.625 L 6.71875 12.375 C 8.175781 8.640625 11.710938 6 16 6 C 19.242188 6 22.132813 7.589844 23.9375 10 L 20 10 L 20 12 L 27 12 L 27 5 L 25 5 L 25 8.09375 C 22.808594 5.582031 19.570313 4 16 4 Z M 25.28125 19.625 C 23.824219 23.359375 20.289063 26 16 26 C 12.722656 26 9.84375 24.386719 8.03125 22 L 12 22 L 12 20 L 5 20 L 5 27 L 7 27 L 7 23.90625 C 9.1875 26.386719 12.394531 28 16 28 C 21.113281 28 25.382813 24.839844 27.125 20.375 Z "})])])],-1),lxt=[axt],cxt=l("span",{title:"Talk"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 24 24",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),l("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})])],-1),dxt=[cxt];function uxt(t,e,n,s,i,r){const o=tt("UniversalForm");return T(),x(Fe,null,[l("div",nxt,[l("div",sxt,[l("div",ixt,[l("img",{src:i.bUrl+r.mountedPers.avatar,onError:e[0]||(e[0]=(...a)=>r.personalityImgPlacehodler&&r.personalityImgPlacehodler(...a)),class:"w-8 h-8 rounded-full object-fill text-red-700 hover:scale-150 active:scale-90 hover:z-50 hover:-translate-y-2 duration-150 border-secondary cursor-pointer",title:"Active personality: "+r.mountedPers.name,onClick:e[1]||(e[1]=a=>r.onSettingsPersonality(r.mountedPers))},null,40,rxt),l("div",oxt,[t.personalityHoveredIndex===t.index?(T(),x("button",{key:0,class:"z-50 -top-1 group-hover:translate-x-5 border-gray-500 absolute active:scale-90 w-7 h-7 hover:scale-150 transition bg-bg-light dark:bg-bg-dark rounded-full border-2",onClick:e[2]||(e[2]=j(a=>r.remount_personality(),["prevent"]))},lxt)):G("",!0),t.personalityHoveredIndex===t.index?(T(),x("button",{key:1,class:"-top-1 group-hover:-translate-x-12 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",onClick:e[3]||(e[3]=j(a=>r.handleOnTalk(),["prevent"]))},dxt)):G("",!0),l("div",{class:"top-0 group-hover:-translate-x-8 group-hover:-translate-y-8 left-0 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-500 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",onClick:e[4]||(e[4]=j((...a)=>r.toggleShowPersList&&r.toggleShowPersList(...a),["stop"])),title:"Click to show more"},"+"+K(r.mountedPersArr.length-1),1)])])])]),V(o,{ref:"universalForm",class:"z-50"},null,512)],64)}const pxt=ot(txt,[["render",uxt]]);const _xt="/";ae.defaults.baseURL="/";const hxt={props:{onTalk:Function,onMounted:Function,onUnmounted:Function,onRemounted:Function,discussionPersonalities:Array,onShowPersList:Function},components:{PersonalityEntry:RE,Toast:Zl,UniversalForm:nc},name:"MountedPersonalitiesList",data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},bUrl:_xt,isMounted:!1,isLoading:!1}},async mounted(){await this.constructor(),this.isMounted=!0},async activated(){this.isMounted&&await this.constructor()},computed:{configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},personalities:{get(){return this.$store.state.personalities},set(t){this.$store.commit("setPersonalities",t)}},mountedPersArr:{get(){return this.$store.state.mountedPersArr},set(t){this.$store.commit("setMountedPers",t)}}},methods:{async onCopyToCustom(t){await ae.post("/copy_to_custom_personas",{client_id:this.$store.state.client_id,category:t.personality.category,name:t.personality.name})},onCopyPersonalityName(t){this.$store.state.toast.showToast("Copied name to clipboard!",4,!0),navigator.clipboard.writeText(t.name)},toggleShowPersList(){this.onShowPersList()},async constructor(){},async api_get_req(t){try{const e=await ae.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - mountedPersonalities");return}},personalityImgPlacehodler(t){t.target.src=Zu},onPersonalityReinstall(t){console.log("on reinstall ",t),this.isLoading=!0,ae.post("/reinstall_personality",{name:t.personality.full_path}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$refs.toast.showToast("Personality reinstalled successfully!",4,!0):this.$refs.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$refs.toast.showToast(`Could not reinstall personality -`+e.message,4,!1),{status:!1}))},editPersonality(t){t=t.personality,ae.post("/get_personality_config",{client_id:this.$store.state.client_id,category:t.category,name:t.folder}).then(e=>{const n=e.data;console.log("Done"),n.status?(this.$store.state.currentPersonConfig=n.config,this.$store.state.showPersonalityEditor=!0,this.$store.state.personality_editor.showPanel(),this.$store.state.selectedPersonality=t):console.error(n.error)}).catch(e=>{console.error(e)})},onPersonalityMounted(t){this.mountPersonality(t)},onPersonalityUnMounted(t){this.unmountPersonality(t)},onPersonalityRemount(t){this.reMountPersonality(t)},async handleOpenFolder(t){const e={client_id:this.$store.state.client_id,personality_folder:t.personality.category+"/"+t.personality.folder};console.log(e),await ae.post("/open_personality_folder",e)},async handleOnTalk(t){if(ze.replace(),console.log("ppa",t),t){if(t.isMounted){const e=await this.select_personality(t);e&&e.status&&(await this.constructor(),this.$refs.toast.showToast(`Selected personality: + Endpoint error: `+s.message,4,!1)}}):this.$refs.toast.showToast("Personality has no settings",4,!1))})}catch(e){this.$refs.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},toggleShowPersList(){this.onShowPersList()},async constructor(){for(Le(()=>{ze.replace()});this.$store.state.ready===!1;)await new Promise(t=>setTimeout(t,100));this.onReady()},async api_get_req(t){try{const e=await oe.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - mountedPersonalities");return}},personalityImgPlacehodler(t){t.target.src=Zu}}},cxt={class:"w-fit flex select-none"},dxt={class:"w-fit flex select-none"},uxt={class:"w-8 h-8 group relative"},pxt=["src","title"],_xt={class:"opacity-0 group-hover:opacity-100"},hxt=l("span",{title:"Remount"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-0 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 30 30",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("g",{id:"surface1"},[l("path",{style:{},d:"M 16 4 C 10.886719 4 6.617188 7.160156 4.875 11.625 L 6.71875 12.375 C 8.175781 8.640625 11.710938 6 16 6 C 19.242188 6 22.132813 7.589844 23.9375 10 L 20 10 L 20 12 L 27 12 L 27 5 L 25 5 L 25 8.09375 C 22.808594 5.582031 19.570313 4 16 4 Z M 25.28125 19.625 C 23.824219 23.359375 20.289063 26 16 26 C 12.722656 26 9.84375 24.386719 8.03125 22 L 12 22 L 12 20 L 5 20 L 5 27 L 7 27 L 7 23.90625 C 9.1875 26.386719 12.394531 28 16 28 C 21.113281 28 25.382813 24.839844 27.125 20.375 Z "})])])],-1),fxt=[hxt],mxt=l("span",{title:"Talk"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 24 24",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),l("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})])],-1),gxt=[mxt];function bxt(t,e,n,s,i,r){const o=tt("UniversalForm");return T(),x(Fe,null,[l("div",cxt,[l("div",dxt,[l("div",uxt,[l("img",{src:i.bUrl+r.mountedPers.avatar,onError:e[0]||(e[0]=(...a)=>r.personalityImgPlacehodler&&r.personalityImgPlacehodler(...a)),class:"w-8 h-8 rounded-full object-fill text-red-700 hover:scale-150 active:scale-90 hover:z-50 hover:-translate-y-2 duration-150 border-secondary cursor-pointer",title:"Active personality: "+r.mountedPers.name,onClick:e[1]||(e[1]=a=>r.onSettingsPersonality(r.mountedPers))},null,40,pxt),l("div",_xt,[t.personalityHoveredIndex===t.index?(T(),x("button",{key:0,class:"z-50 -top-1 group-hover:translate-x-5 border-gray-500 absolute active:scale-90 w-7 h-7 hover:scale-150 transition bg-bg-light dark:bg-bg-dark rounded-full border-2",onClick:e[2]||(e[2]=j(a=>r.remount_personality(),["prevent"]))},fxt)):G("",!0),t.personalityHoveredIndex===t.index?(T(),x("button",{key:1,class:"-top-1 group-hover:-translate-x-12 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",onClick:e[3]||(e[3]=j(a=>r.handleOnTalk(),["prevent"]))},gxt)):G("",!0),l("div",{class:"top-0 group-hover:-translate-x-8 group-hover:-translate-y-8 left-0 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-500 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",onClick:e[4]||(e[4]=j((...a)=>r.toggleShowPersList&&r.toggleShowPersList(...a),["stop"])),title:"Click to show more"},"+"+K(r.mountedPersArr.length-1),1)])])])]),V(o,{ref:"universalForm",class:"z-50"},null,512)],64)}const Ext=ot(lxt,[["render",bxt]]);const yxt="/";oe.defaults.baseURL="/";const vxt={props:{onTalk:Function,onMounted:Function,onUnmounted:Function,onRemounted:Function,discussionPersonalities:Array,onShowPersList:Function},components:{PersonalityEntry:RE,Toast:Zl,UniversalForm:nc},name:"MountedPersonalitiesList",data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},bUrl:yxt,isMounted:!1,isLoading:!1}},async mounted(){await this.constructor(),this.isMounted=!0},async activated(){this.isMounted&&await this.constructor()},computed:{configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},personalities:{get(){return this.$store.state.personalities},set(t){this.$store.commit("setPersonalities",t)}},mountedPersArr:{get(){return this.$store.state.mountedPersArr},set(t){this.$store.commit("setMountedPers",t)}}},methods:{async onCopyToCustom(t){await oe.post("/copy_to_custom_personas",{client_id:this.$store.state.client_id,category:t.personality.category,name:t.personality.name})},onCopyPersonalityName(t){this.$store.state.toast.showToast("Copied name to clipboard!",4,!0),navigator.clipboard.writeText(t.name)},toggleShowPersList(){this.onShowPersList()},async constructor(){},async api_get_req(t){try{const e=await oe.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - mountedPersonalities");return}},personalityImgPlacehodler(t){t.target.src=Zu},onPersonalityReinstall(t){console.log("on reinstall ",t),this.isLoading=!0,oe.post("/reinstall_personality",{name:t.personality.full_path}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$refs.toast.showToast("Personality reinstalled successfully!",4,!0):this.$refs.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$refs.toast.showToast(`Could not reinstall personality +`+e.message,4,!1),{status:!1}))},editPersonality(t){t=t.personality,oe.post("/get_personality_config",{client_id:this.$store.state.client_id,category:t.category,name:t.folder}).then(e=>{const n=e.data;console.log("Done"),n.status?(this.$store.state.currentPersonConfig=n.config,this.$store.state.showPersonalityEditor=!0,this.$store.state.personality_editor.showPanel(),this.$store.state.selectedPersonality=t):console.error(n.error)}).catch(e=>{console.error(e)})},onPersonalityMounted(t){this.mountPersonality(t)},onPersonalityUnMounted(t){this.unmountPersonality(t)},onPersonalityRemount(t){this.reMountPersonality(t)},async handleOpenFolder(t){const e={client_id:this.$store.state.client_id,personality_folder:t.personality.category+"/"+t.personality.folder};console.log(e),await oe.post("/open_personality_folder",e)},async handleOnTalk(t){if(ze.replace(),console.log("ppa",t),t){if(t.isMounted){const e=await this.select_personality(t);e&&e.status&&(await this.constructor(),this.$refs.toast.showToast(`Selected personality: `+t.name,4,!0))}else this.onPersonalityMounted(t);this.onTalk(t)}},async onPersonalitySelected(t){if(ze.replace(),console.log("Selected personality : ",JSON.stringify(t.personality)),t){if(t.selected){this.$refs.toast.showToast("Personality already selected",4,!0);return}if(t.isMounted){const e=await this.select_personality(t);e&&e.status&&(await this.constructor(),this.$refs.toast.showToast(`Selected personality: -`+t.name,4,!0))}else this.onPersonalityMounted(t)}},onSettingsPersonality(t){try{ae.get("/get_active_personality_settings").then(e=>{e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$refs.universalForm.showForm(e.data,"Personality settings - "+t.personality.name,"Save changes","Cancel").then(n=>{try{ae.post("/set_active_personality_settings",n).then(s=>{s&&s.data?(console.log("personality set with new settings",s.data),this.$refs.toast.showToast("Personality settings updated successfully!",4,!0)):this.$refs.toast.showToast(`Did not get Personality settings responses. +`+t.name,4,!0))}else this.onPersonalityMounted(t)}},onSettingsPersonality(t){try{oe.get("/get_active_personality_settings").then(e=>{e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$refs.universalForm.showForm(e.data,"Personality settings - "+t.personality.name,"Save changes","Cancel").then(n=>{try{oe.post("/set_active_personality_settings",n).then(s=>{s&&s.data?(console.log("personality set with new settings",s.data),this.$refs.toast.showToast("Personality settings updated successfully!",4,!0)):this.$refs.toast.showToast(`Did not get Personality settings responses. `+s,4,!1)})}catch(s){this.$refs.toast.showToast(`Did not get Personality settings responses. - Endpoint error: `+s.message,4,!1)}}):this.$refs.toast.showToast("Personality has no settings",4,!1))})}catch(e){this.$refs.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},async mount_personality(t){if(!t)return{status:!1,error:"no personality - mount_personality"};try{const e={category:t.category,folder:t.folder,language:t.language},n=await ae.post("/mount_personality",e);if(n)return n.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async remount_personality(t){if(console.log("Remounting personality ",t),!t)return{status:!1,error:"no personality - mount_personality"};try{console.log("before");const e={client_id:this.$store.state.client_id,category:t.category,folder:t.folder,language:t.language};console.log("after");const n=await ae.post("/remount_personality",e);if(console.log("Remounting personality executed:",n),n)return console.log("Remounting personality res"),n.data;console.log("failed remount_personality")}catch(e){console.log(e.message,"remount_personality - settings");return}},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await ae.post("/unmount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async select_personality(t){if(!t||!t.personality)return{status:!1,error:"no personality - select_personality"};let e=-1;if(console.log("Personality full path : ",t.full_path),console.log("Personality language : ",t.personality.language),t.personality.language!=null&&t.personality.language!=null?(console.log("Mounting a localized version of personality"),console.log("Mounted personalities :",JSON.stringify(this.configFile.personalities)),console.log("Personality to select: ",t.full_path+":"+t.personality.language),e=this.configFile.personalities.findIndex(n=>n===t.full_path+":"+t.personality.language)):(console.log("Mounted personalities :",JSON.stringify(this.configFile.personalities)),e=this.configFile.personalities.findIndex(n=>n===t.full_path)),e>-1){console.log("Selecting personality with id:",JSON.stringify(e));const n={client_id:this.$store.state.client_id,id:e};try{const s=await ae.post("/select_personality",n);if(s)return this.$store.dispatch("refreshConfig").then(()=>{console.log("recovered config",this.configFile.active_personality_id),this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),s.data}catch(s){console.log(s,"select_personality - settings");return}}else return console.log("Personality id is wrong"),this.$refs.toast.showToast("Personality id is wrong!",4,!1),{status:!1,error:"Personality id is wrong"}},async mountPersonality(t){if(console.log("mount pers",t),!t)return;if(this.configFile.personalities.includes(t.personality.full_path)){this.$refs.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(t.personality);console.log("mount_personality res",e),e.status?(this.configFile.personalities=e.personalities,this.$refs.toast.showToast("Personality mounted",4,!0),t.isMounted=!0,this.onMounted(this),(await this.select_personality(t.personality)).status&&this.$refs.toast.showToast(`Selected personality: + Endpoint error: `+s.message,4,!1)}}):this.$refs.toast.showToast("Personality has no settings",4,!1))})}catch(e){this.$refs.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},async mount_personality(t){if(!t)return{status:!1,error:"no personality - mount_personality"};try{const e={category:t.category,folder:t.folder,language:t.language},n=await oe.post("/mount_personality",e);if(n)return n.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async remount_personality(t){if(console.log("Remounting personality ",t),!t)return{status:!1,error:"no personality - mount_personality"};try{console.log("before");const e={client_id:this.$store.state.client_id,category:t.category,folder:t.folder,language:t.language};console.log("after");const n=await oe.post("/remount_personality",e);if(console.log("Remounting personality executed:",n),n)return console.log("Remounting personality res"),n.data;console.log("failed remount_personality")}catch(e){console.log(e.message,"remount_personality - settings");return}},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await oe.post("/unmount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async select_personality(t){if(!t||!t.personality)return{status:!1,error:"no personality - select_personality"};let e=-1;if(console.log("Personality full path : ",t.full_path),console.log("Personality language : ",t.personality.language),t.personality.language!=null&&t.personality.language!=null?(console.log("Mounting a localized version of personality"),console.log("Mounted personalities :",JSON.stringify(this.configFile.personalities)),console.log("Personality to select: ",t.full_path+":"+t.personality.language),e=this.configFile.personalities.findIndex(n=>n===t.full_path+":"+t.personality.language)):(console.log("Mounted personalities :",JSON.stringify(this.configFile.personalities)),e=this.configFile.personalities.findIndex(n=>n===t.full_path)),e>-1){console.log("Selecting personality with id:",JSON.stringify(e));const n={client_id:this.$store.state.client_id,id:e};try{const s=await oe.post("/select_personality",n);if(s)return this.$store.dispatch("refreshConfig").then(()=>{console.log("recovered config",this.configFile.active_personality_id),this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),s.data}catch(s){console.log(s,"select_personality - settings");return}}else return console.log("Personality id is wrong"),this.$refs.toast.showToast("Personality id is wrong!",4,!1),{status:!1,error:"Personality id is wrong"}},async mountPersonality(t){if(console.log("mount pers",t),!t)return;if(this.configFile.personalities.includes(t.personality.full_path)){this.$refs.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(t.personality);console.log("mount_personality res",e),e.status?(this.configFile.personalities=e.personalities,this.$refs.toast.showToast("Personality mounted",4,!0),t.isMounted=!0,this.onMounted(this),(await this.select_personality(t.personality)).status&&this.$refs.toast.showToast(`Selected personality: `+t.personality.name,4,!0),this.getMountedPersonalities()):(t.isMounted=!1,this.$refs.toast.showToast(`Could not mount personality Error: `+e.error,4,!1))},async reMountPersonality(t){if(console.log("remount pers",t),!t)return;if(!this.configFile.personalities.includes(t.personality.full_path)){this.$refs.toast.showToast("Personality not mounted",4,!1);return}const e=await this.remount_personality(t.personality);console.log("remount_personality res",e),e.status?(this.configFile.personalities=e.personalities,this.$refs.toast.showToast("Personality remounted",4,!0),t.isMounted=!0,this.onMounted(this),(await this.select_personality(t.personality)).status&&this.$refs.toast.showToast(`Selected personality: `+t.personality.name,4,!0),this.getMountedPersonalities()):(t.isMounted=!1,this.$refs.toast.showToast(`Could not mount personality Error: `+e.error,4,!1))},async unmountPersonality(t){if(!t)return;console.log(`Unmounting ${JSON.stringify(t.personality)}`);const e=await this.unmount_personality(t.personality);if(e.status){console.log("unmount response",e),this.configFile.active_personality_id=e.active_personality_id,this.configFile.personalities=e.personalities;const n=this.configFile.personalities[this.configFile.active_personality_id],s=this.personalities.findIndex(a=>a.full_path==n),i=this.$refs.personalitiesZoo.findIndex(a=>a.full_path==t.full_path),r=this.personalities[s];r.isMounted=!1,r.selected=!0,this.$refs.personalitiesZoo[i].isMounted=!1,this.getMountedPersonalities(),(await this.select_personality(r)).status&&ze.replace(),this.$refs.toast.showToast("Personality unmounted",4,!0),this.onUnMounted(this)}else this.$refs.toast.showToast(`Could not unmount personality -Error: `+e.error,4,!1)},getMountedPersonalities(){this.isLoading=!0;let t=[];console.log(this.configFile.personalities.length);for(let e=0;er.full_path==n),i=this.personalities[s];if(i)console.log("adding from config"),t.push(i);else{console.log("adding default");const r=this.personalities.findIndex(a=>a.full_path=="english/generic/lollms"),o=this.personalities[r];t.push(o)}}if(this.mountedPersArr=[],this.mountedPersArr=t,console.log("discussionPersonalities",this.discussionPersonalities),this.discussionPersonalities!=null&&this.discussionPersonalities.length>0)for(let e=0;ei.full_path==n);if(console.log("discussionPersonalities -includes",s),console.log("discussionPersonalities -mounted list",this.mountedPersArr),s==-1){const i=this.personalities.findIndex(o=>o.full_path==n),r=this.personalities[i];console.log("adding discucc121",r,n),r&&(this.mountedPersArr.push(r),console.log("adding discucc",r))}}this.isLoading=!1,console.log("getMountedPersonalities",this.mountedPersArr),console.log("fig",this.configFile)}}},ME=t=>(vs("data-v-f44002af"),t=t(),Ss(),t),fxt={class:"text-left overflow-visible text-base font-semibold cursor-pointer select-none items-center flex flex-col flex-grow w-full overflow-x-auto scrollbar-thin scrollbar-track-bg-light scrollbar-thumb-bg-light-tone hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark dark:scrollbar-thumb-bg-dark-tone dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},mxt={key:0,role:"status",class:"flex justify-center overflow-y-hidden"},gxt=ME(()=>l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),bxt=ME(()=>l("span",{class:"sr-only"},"Loading...",-1)),Ext=[gxt,bxt],yxt=ME(()=>l("i",{"data-feather":"chevron-down"},null,-1)),vxt=[yxt],Sxt={class:"block my-2 text-sm font-medium text-gray-900 dark:text-white"},Txt={class:"overflow-y-auto no-scrollbar pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4 max-h-96"};function xxt(t,e,n,s,i,r){const o=tt("personality-entry"),a=tt("Toast"),c=tt("UniversalForm");return T(),x("div",fxt,[i.isLoading?(T(),x("div",mxt,Ext)):G("",!0),l("div",null,[r.mountedPersArr.length>0?(T(),x("div",{key:0,class:Ge(i.isLoading?"pointer-events-none opacity-30 cursor-default":"")},[l("button",{class:"mt-0 w-full text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Close personality list",type:"button",onClick:e[0]||(e[0]=j((...d)=>r.toggleShowPersList&&r.toggleShowPersList(...d),["stop"]))},vxt),l("label",Sxt," Mounted Personalities: ("+K(r.mountedPersArr.length)+") ",1),l("div",Txt,[V(ii,{name:"bounce"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(this.$store.state.mountedPersArr,(d,u)=>(T(),dt(o,{ref_for:!0,ref:"personalitiesZoo",key:"index-"+u+"-"+d.name,personality:d,full_path:d.full_path,select_language:!1,selected:r.configFile.personalities[r.configFile.active_personality_id]===d.full_path||r.configFile.personalities[r.configFile.active_personality_id]===d.full_path+":"+d.language,"on-selected":r.onPersonalitySelected,"on-mount":r.onPersonalityMounted,"on-edit":r.editPersonality,"on-un-mount":r.onPersonalityUnMounted,"on-remount":r.onPersonalityRemount,"on-settings":r.onSettingsPersonality,"on-reinstall":r.onPersonalityReinstall,"on-talk":r.handleOnTalk,"on-copy-personality-name":r.onCopyPersonalityName,"on-copy-to_custom":r.onCopyToCustom,"on-open-folder":r.handleOpenFolder},null,8,["personality","full_path","selected","on-selected","on-mount","on-edit","on-un-mount","on-remount","on-settings","on-reinstall","on-talk","on-copy-personality-name","on-copy-to_custom","on-open-folder"]))),128))]),_:1})])],2)):G("",!0)]),V(a,{ref:"toast"},null,512),V(c,{ref:"universalForm",class:"z-20"},null,512)])}const Cxt=ot(hxt,[["render",xxt],["__scopeId","data-v-f44002af"]]);const wxt={components:{InteractiveMenu:wE},props:{commandsList:{type:Array,required:!0},sendCommand:Function,onShowToastMessage:Function},data(){return{loading:!1,selectedFile:null,showMenu:!1,showHelpText:!1,helpText:"",commands:[]}},async mounted(){this.commands=this.commandsList,console.log("Commands",this.commands),document.addEventListener("click",this.handleClickOutside),Le(()=>{ze.replace()})},methods:{isHTML(t){const n=new DOMParser().parseFromString(t,"text/html");return Array.from(n.body.childNodes).some(s=>s.nodeType===Node.ELEMENT_NODE)},selectFile(t,e){const n=document.createElement("input");n.type="file",n.accept=t,n.onchange=s=>{this.selectedFile=s.target.files[0],console.log("File selected"),e()},n.click()},uploadFile(){new FormData().append("file",this.selectedFile),console.log("Uploading file"),this.loading=!0;const e=new FileReader;e.onload=()=>{const n={filename:this.selectedFile.name,fileData:e.result};qe.on("file_received",s=>{s.status?this.onShowToastMessage("File uploaded successfully",4,!0):this.onShowToastMessage(`Couldn't upload file -`+s.error,4,!1),this.loading=!1,qe.off("file_received")}),qe.emit("send_file",n)},e.readAsDataURL(this.selectedFile)},async constructor(){Le(()=>{ze.replace()})},toggleMenu(){this.showMenu=!this.showMenu},execute_cmd(t){this.showMenu=!this.showMenu,t.hasOwnProperty("is_file")?(console.log("Need to send a file."),this.selectFile(t.hasOwnProperty("file_types")?t.file_types:"*",()=>{this.selectedFile!=null&&this.uploadFile()})):this.sendCommand(t.value)},handleClickOutside(t){const e=this.$el.querySelector(".commands-menu-items-wrapper");e&&!e.contains(t.target)&&(this.showMenu=!1)}},beforeUnmount(){document.removeEventListener("click",this.handleClickOutside)}},Rxt=t=>(vs("data-v-1a32c141"),t=t(),Ss(),t),Axt={key:0,title:"Loading..",class:"flex flex-row flex-grow justify-end"},Nxt=Rxt(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),Oxt=[Nxt];function Mxt(t,e,n,s,i,r){const o=tt("InteractiveMenu");return i.loading?(T(),x("div",Axt,Oxt)):(T(),dt(o,{key:1,commands:n.commandsList,execute_cmd:r.execute_cmd},null,8,["commands","execute_cmd"]))}const Ixt=ot(wxt,[["render",Mxt],["__scopeId","data-v-1a32c141"]]),kxt="/assets/loader_v0-16906488.svg";console.log("modelImgPlaceholder:",Is);const Dxt="/",Lxt={name:"ChatBox",emits:["messageSentEvent","sendCMDEvent","stopGenerating","loaded","createEmptyUserMessage","createEmptyAIMessage","personalitySelected","addWebLink"],props:{onTalk:Function,discussionList:Array,loading:{default:!1},onShowToastMessage:Function},components:{UniversalForm:nc,MountedPersonalities:pxt,MountedPersonalitiesList:Cxt,PersonalitiesCommands:Ixt,ChatBarButton:G2},setup(){},data(){return{is_rt:!1,bindingHoveredIndex:null,modelHoveredIndex:null,personalityHoveredIndex:null,loader_v0:kxt,sendGlobe:dN,modelImgPlaceholder:Is,bUrl:Dxt,message:"",selecting_binding:!1,selecting_model:!1,selectedModel:"",isListeningToVoice:!1,filesList:[],isFileSentList:[],totalSize:0,showfilesList:!0,showPersonalities:!1,personalities_ready:!1,models_menu_icon:"",posts_headers:{accept:"application/json","Content-Type":"application/json"}}},computed:{isDataSourceNamesValid(){return console.log("dataSourceNames:",this.dataSourceNames),console.log("Type of dataSourceNames:",typeof this.dataSourceNames),Array.isArray(this.dataSourceNames)&&this.dataSourceNames.length>0},dataSourceNames(){console.log("dataSourceNames",this.$store.state.config.rag_databases);const t=this.$store.state.config.rag_databases.map(e=>{console.log("entry",e);const n=e.split("::");console.log("extracted",n[0]);const i=e.endsWith("mounted")?"feather:check":"";return console.log("icon decision",i),{name:n[0],value:n[0]||"default_value",icon:i,help:"mounts the database"}});return console.log("formatted data sources",t),t},currentBindingIcon(){return this.currentBinding.icon||this.modelImgPlaceholder},currentBinding(){return this.$store.state.currentBinding||{}},currentModel(){return this.$store.state.currentModel||{}},currentModelIcon(){return this.currentModel.icon||this.modelImgPlaceholder},installedBindings(){return this.$store.state.installedBindings},installedModels(){return this.$store.state.installedModels},mountedPersonalities(){return this.$store.state.mountedPersArr},binding_name(){return this.$store.state.config.binding_name},model_name(){return this.$store.state.config.model_name},personality_name(){return this.$store.state.config.active_personality_id},config(){return this.$store.state.config},mountedPers(){return this.$store.state.mountedPers},allDiscussionPersonalities(){if(this.discussionList.length>0){let t=[];for(let e=0;e0&&this.addFiles(n)},toggleSwitch(){this.$store.state.config.activate_internet_search=!this.$store.state.config.activate_internet_search,this.isLoading=!0,ae.post("/apply_settings",{config:this.$store.state.config}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.config.activate_internet_search?this.$store.state.toast.showToast("Websearch activated.",4,!0):this.$store.state.toast.showToast("Websearch deactivated.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})})},copyModelName(){navigator.clipboard.writeText(this.binding_name+"::"+this.model_name),this.$store.state.toast.showToast("Model name copyed to clipboard: "+this.binding_name+"::"+this.model_name,4,!0)},showModelConfig(){try{this.isLoading=!0,ae.get("/get_active_binding_settings").then(t=>{this.isLoading=!1,t&&(console.log("binding sett",t),t.data&&Object.keys(t.data).length>0?this.$refs.universalForm.showForm(t.data,"Binding settings ","Save changes","Cancel").then(e=>{try{ae.post("/set_active_binding_settings",{client_id:this.$store.state.client_id,settings:e}).then(n=>{n&&n.data?(console.log("binding set with new settings",n.data),this.$store.state.toast.showToast("Binding settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get binding settings responses. +Error: `+e.error,4,!1)},getMountedPersonalities(){this.isLoading=!0;let t=[];console.log(this.configFile.personalities.length);for(let e=0;er.full_path==n),i=this.personalities[s];if(i)console.log("adding from config"),t.push(i);else{console.log("adding default");const r=this.personalities.findIndex(a=>a.full_path=="english/generic/lollms"),o=this.personalities[r];t.push(o)}}if(this.mountedPersArr=[],this.mountedPersArr=t,console.log("discussionPersonalities",this.discussionPersonalities),this.discussionPersonalities!=null&&this.discussionPersonalities.length>0)for(let e=0;ei.full_path==n);if(console.log("discussionPersonalities -includes",s),console.log("discussionPersonalities -mounted list",this.mountedPersArr),s==-1){const i=this.personalities.findIndex(o=>o.full_path==n),r=this.personalities[i];console.log("adding discucc121",r,n),r&&(this.mountedPersArr.push(r),console.log("adding discucc",r))}}this.isLoading=!1,console.log("getMountedPersonalities",this.mountedPersArr),console.log("fig",this.configFile)}}},ME=t=>(vs("data-v-f44002af"),t=t(),Ss(),t),Sxt={class:"text-left overflow-visible text-base font-semibold cursor-pointer select-none items-center flex flex-col flex-grow w-full overflow-x-auto scrollbar-thin scrollbar-track-bg-light scrollbar-thumb-bg-light-tone hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark dark:scrollbar-thumb-bg-dark-tone dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Txt={key:0,role:"status",class:"flex justify-center overflow-y-hidden"},xxt=ME(()=>l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),Cxt=ME(()=>l("span",{class:"sr-only"},"Loading...",-1)),wxt=[xxt,Cxt],Rxt=ME(()=>l("i",{"data-feather":"chevron-down"},null,-1)),Axt=[Rxt],Nxt={class:"block my-2 text-sm font-medium text-gray-900 dark:text-white"},Oxt={class:"overflow-y-auto no-scrollbar pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4 max-h-96"};function Mxt(t,e,n,s,i,r){const o=tt("personality-entry"),a=tt("Toast"),c=tt("UniversalForm");return T(),x("div",Sxt,[i.isLoading?(T(),x("div",Txt,wxt)):G("",!0),l("div",null,[r.mountedPersArr.length>0?(T(),x("div",{key:0,class:Ge(i.isLoading?"pointer-events-none opacity-30 cursor-default":"")},[l("button",{class:"mt-0 w-full text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Close personality list",type:"button",onClick:e[0]||(e[0]=j((...d)=>r.toggleShowPersList&&r.toggleShowPersList(...d),["stop"]))},Axt),l("label",Nxt," Mounted Personalities: ("+K(r.mountedPersArr.length)+") ",1),l("div",Oxt,[V(ii,{name:"bounce"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(this.$store.state.mountedPersArr,(d,u)=>(T(),dt(o,{ref_for:!0,ref:"personalitiesZoo",key:"index-"+u+"-"+d.name,personality:d,full_path:d.full_path,select_language:!1,selected:r.configFile.personalities[r.configFile.active_personality_id]===d.full_path||r.configFile.personalities[r.configFile.active_personality_id]===d.full_path+":"+d.language,"on-selected":r.onPersonalitySelected,"on-mount":r.onPersonalityMounted,"on-edit":r.editPersonality,"on-un-mount":r.onPersonalityUnMounted,"on-remount":r.onPersonalityRemount,"on-settings":r.onSettingsPersonality,"on-reinstall":r.onPersonalityReinstall,"on-talk":r.handleOnTalk,"on-copy-personality-name":r.onCopyPersonalityName,"on-copy-to_custom":r.onCopyToCustom,"on-open-folder":r.handleOpenFolder},null,8,["personality","full_path","selected","on-selected","on-mount","on-edit","on-un-mount","on-remount","on-settings","on-reinstall","on-talk","on-copy-personality-name","on-copy-to_custom","on-open-folder"]))),128))]),_:1})])],2)):G("",!0)]),V(a,{ref:"toast"},null,512),V(c,{ref:"universalForm",class:"z-20"},null,512)])}const Ixt=ot(vxt,[["render",Mxt],["__scopeId","data-v-f44002af"]]);const kxt={components:{InteractiveMenu:wE},props:{commandsList:{type:Array,required:!0},sendCommand:Function,onShowToastMessage:Function},data(){return{loading:!1,selectedFile:null,showMenu:!1,showHelpText:!1,helpText:"",commands:[]}},async mounted(){this.commands=this.commandsList,console.log("Commands",this.commands),document.addEventListener("click",this.handleClickOutside),Le(()=>{ze.replace()})},methods:{isHTML(t){const n=new DOMParser().parseFromString(t,"text/html");return Array.from(n.body.childNodes).some(s=>s.nodeType===Node.ELEMENT_NODE)},selectFile(t,e){const n=document.createElement("input");n.type="file",n.accept=t,n.onchange=s=>{this.selectedFile=s.target.files[0],console.log("File selected"),e()},n.click()},uploadFile(){new FormData().append("file",this.selectedFile),console.log("Uploading file"),this.loading=!0;const e=new FileReader;e.onload=()=>{const n={filename:this.selectedFile.name,fileData:e.result};qe.on("file_received",s=>{s.status?this.onShowToastMessage("File uploaded successfully",4,!0):this.onShowToastMessage(`Couldn't upload file +`+s.error,4,!1),this.loading=!1,qe.off("file_received")}),qe.emit("send_file",n)},e.readAsDataURL(this.selectedFile)},async constructor(){Le(()=>{ze.replace()})},toggleMenu(){this.showMenu=!this.showMenu},execute_cmd(t){this.showMenu=!this.showMenu,t.hasOwnProperty("is_file")?(console.log("Need to send a file."),this.selectFile(t.hasOwnProperty("file_types")?t.file_types:"*",()=>{this.selectedFile!=null&&this.uploadFile()})):this.sendCommand(t.value)},handleClickOutside(t){const e=this.$el.querySelector(".commands-menu-items-wrapper");e&&!e.contains(t.target)&&(this.showMenu=!1)}},beforeUnmount(){document.removeEventListener("click",this.handleClickOutside)}},Dxt=t=>(vs("data-v-1a32c141"),t=t(),Ss(),t),Lxt={key:0,title:"Loading..",class:"flex flex-row flex-grow justify-end"},Pxt=Dxt(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),Fxt=[Pxt];function Uxt(t,e,n,s,i,r){const o=tt("InteractiveMenu");return i.loading?(T(),x("div",Lxt,Fxt)):(T(),dt(o,{key:1,commands:n.commandsList,execute_cmd:r.execute_cmd},null,8,["commands","execute_cmd"]))}const Bxt=ot(kxt,[["render",Uxt],["__scopeId","data-v-1a32c141"]]),Gxt="/assets/loader_v0-16906488.svg";console.log("modelImgPlaceholder:",Is);const Vxt="/",zxt={name:"ChatBox",emits:["messageSentEvent","sendCMDEvent","stopGenerating","loaded","createEmptyUserMessage","createEmptyAIMessage","personalitySelected","addWebLink"],props:{onTalk:Function,discussionList:Array,loading:{default:!1},onShowToastMessage:Function},components:{UniversalForm:nc,MountedPersonalities:Ext,MountedPersonalitiesList:Ixt,PersonalitiesCommands:Bxt,ChatBarButton:G2},setup(){},data(){return{is_rt:!1,bindingHoveredIndex:null,modelHoveredIndex:null,personalityHoveredIndex:null,loader_v0:Gxt,sendGlobe:dN,modelImgPlaceholder:Is,bUrl:Vxt,message:"",selecting_binding:!1,selecting_model:!1,selectedModel:"",isListeningToVoice:!1,filesList:[],isFileSentList:[],totalSize:0,showfilesList:!0,showPersonalities:!1,personalities_ready:!1,models_menu_icon:"",posts_headers:{accept:"application/json","Content-Type":"application/json"}}},computed:{isDataSourceNamesValid(){return console.log("dataSourceNames:",this.dataSourceNames),console.log("Type of dataSourceNames:",typeof this.dataSourceNames),Array.isArray(this.dataSourceNames)&&this.dataSourceNames.length>0},dataSourceNames(){console.log("dataSourceNames",this.$store.state.config.rag_databases);const t=this.$store.state.config.rag_databases.map(e=>{console.log("entry",e);const n=e.split("::");console.log("extracted",n[0]);const i=e.endsWith("mounted")?"feather:check":"";return console.log("icon decision",i),{name:n[0],value:n[0]||"default_value",icon:i,help:"mounts the database"}});return console.log("formatted data sources",t),t},currentBindingIcon(){return this.currentBinding.icon||this.modelImgPlaceholder},currentBinding(){return this.$store.state.currentBinding||{}},currentModel(){return this.$store.state.currentModel||{}},currentModelIcon(){return this.currentModel.icon||this.modelImgPlaceholder},installedBindings(){return this.$store.state.installedBindings},installedModels(){return this.$store.state.installedModels},mountedPersonalities(){return this.$store.state.mountedPersArr},binding_name(){return this.$store.state.config.binding_name},model_name(){return this.$store.state.config.model_name},personality_name(){return this.$store.state.config.active_personality_id},config(){return this.$store.state.config},mountedPers(){return this.$store.state.mountedPers},allDiscussionPersonalities(){if(this.discussionList.length>0){let t=[];for(let e=0;e0&&this.addFiles(n)},toggleSwitch(){this.$store.state.config.activate_internet_search=!this.$store.state.config.activate_internet_search,this.isLoading=!0,oe.post("/apply_settings",{config:this.$store.state.config}).then(t=>{this.isLoading=!1,t.data.status?(this.$store.state.config.activate_internet_search?this.$store.state.toast.showToast("Websearch activated.",4,!0):this.$store.state.toast.showToast("Websearch deactivated.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})})},copyModelName(){navigator.clipboard.writeText(this.binding_name+"::"+this.model_name),this.$store.state.toast.showToast("Model name copyed to clipboard: "+this.binding_name+"::"+this.model_name,4,!0)},showModelConfig(){try{this.isLoading=!0,oe.get("/get_active_binding_settings").then(t=>{this.isLoading=!1,t&&(console.log("binding sett",t),t.data&&Object.keys(t.data).length>0?this.$refs.universalForm.showForm(t.data,"Binding settings ","Save changes","Cancel").then(e=>{try{oe.post("/set_active_binding_settings",{client_id:this.$store.state.client_id,settings:e}).then(n=>{n&&n.data?(console.log("binding set with new settings",n.data),this.$store.state.toast.showToast("Binding settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get binding settings responses. `+n,4,!1),this.isLoading=!1)})}catch(n){this.$store.state.toast.showToast(`Did not get binding settings responses. - Endpoint error: `+n.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1))})}catch(t){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+t.message,4,!1)}},async remount_personality(t){if(console.log("Remounting personality ",t),!t)return{status:!1,error:"no personality - mount_personality"};try{console.log("before");const e={client_id:this.$store.state.client_id,category:t.category,folder:t.folder,language:t.language};console.log("after");const n=await ae.post("/remount_personality",e);if(console.log("Remounting personality executed:",n),n)return console.log("Remounting personality res"),this.$store.state.toast.showToast("Personality remounted",4,!0),n.data;console.log("failed remount_personality")}catch(e){console.log(e.message,"remount_personality - settings");return}},async unmountPersonality(t){if(console.log("Unmounting personality:",t),!t)return;const e=await this.unmount_personality(t.personality||t);if(console.log(e),e.status){this.$store.state.config.personalities=e.personalities,this.$store.state.toast.showToast("Personality unmounted",4,!0),this.$store.dispatch("refreshMountedPersonalities");const n=this.$store.state.mountedPersArr[this.$store.state.mountedPersArr.length-1];console.log(n,this.$store.state.mountedPersArr.length),(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: + Endpoint error: `+n.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1))})}catch(t){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+t.message,4,!1)}},async remount_personality(t){if(console.log("Remounting personality ",t),!t)return{status:!1,error:"no personality - mount_personality"};try{console.log("before");const e={client_id:this.$store.state.client_id,category:t.category,folder:t.folder,language:t.language};console.log("after");const n=await oe.post("/remount_personality",e);if(console.log("Remounting personality executed:",n),n)return console.log("Remounting personality res"),this.$store.state.toast.showToast("Personality remounted",4,!0),n.data;console.log("failed remount_personality")}catch(e){console.log(e.message,"remount_personality - settings");return}},async unmountPersonality(t){if(console.log("Unmounting personality:",t),!t)return;const e=await this.unmount_personality(t.personality||t);if(console.log(e),e.status){this.$store.state.config.personalities=e.personalities,this.$store.state.toast.showToast("Personality unmounted",4,!0),this.$store.dispatch("refreshMountedPersonalities");const n=this.$store.state.mountedPersArr[this.$store.state.mountedPersArr.length-1];console.log(n,this.$store.state.mountedPersArr.length),(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: `+n.name,4,!0)}else this.$store.state.toast.showToast(`Could not unmount personality -Error: `+e.error,4,!1)},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await ae.post("/unmount_personality",e);if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async showBindingHoveredIn(t){this.bindingHoveredIndex=t},async showBindingHoveredOut(){this.bindingHoveredIndex=null},async showModelHoveredIn(t){this.modelHoveredIndex=t},async showModelHoveredOut(){this.modelHoveredIndex=null},async showPersonalityHoveredIn(t){this.personalityHoveredIndex=t},async showPersonalityHoveredOut(){this.personalityHoveredIndex=null},async onPersonalitySelected(t){if(t){if(t.selected){this.$store.state.toast.showToast("Personality already selected",4,!0);return}const e=t.language===null?t.full_path:t.full_path+":"+t.language;if(console.log("pers_path",e),console.log("this.$store.state.config.personalities",this.$store.state.config.personalities),this.$store.state.config.personalities.includes(e)){const n=await this.select_personality(t);await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshBindings"),await this.$store.dispatch("refreshModelsZoo"),await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshMountedPersonalities"),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage"),await this.$store.dispatch("fetchisRTOn"),console.log("pers is mounted",n),n&&n.status&&n.active_personality_id>-1?this.$store.state.toast.showToast(`Selected personality: +Error: `+e.error,4,!1)},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await oe.post("/unmount_personality",e);if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async showBindingHoveredIn(t){this.bindingHoveredIndex=t},async showBindingHoveredOut(){this.bindingHoveredIndex=null},async showModelHoveredIn(t){this.modelHoveredIndex=t},async showModelHoveredOut(){this.modelHoveredIndex=null},async showPersonalityHoveredIn(t){this.personalityHoveredIndex=t},async showPersonalityHoveredOut(){this.personalityHoveredIndex=null},async onPersonalitySelected(t){if(t){if(t.selected){this.$store.state.toast.showToast("Personality already selected",4,!0);return}const e=t.language===null?t.full_path:t.full_path+":"+t.language;if(console.log("pers_path",e),console.log("this.$store.state.config.personalities",this.$store.state.config.personalities),this.$store.state.config.personalities.includes(e)){const n=await this.select_personality(t);await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshBindings"),await this.$store.dispatch("refreshModelsZoo"),await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshMountedPersonalities"),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage"),await this.$store.dispatch("fetchisRTOn"),console.log("pers is mounted",n),n&&n.status&&n.active_personality_id>-1?this.$store.state.toast.showToast(`Selected personality: `+t.name,4,!0):this.$store.state.toast.showToast(`Error on select personality: -`+t.name,4,!1)}else console.log("mounting pers");this.$emit("personalitySelected"),Le(()=>{ze.replace()})}},async select_personality(t){if(!t)return{status:!1,error:"no personality - select_personality"};const e=t.language===null?t.full_path:t.full_path+":"+t.language;console.log("Selecting personality ",e);const n=this.$store.state.config.personalities.findIndex(i=>i===e),s={client_id:this.$store.state.client_id,id:n};try{const i=await ae.post("/select_personality",s);if(i)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),i.data}catch(i){console.log(i.message,"select_personality - settings");return}},emitloaded(){this.$emit("loaded")},showModels(t){t.preventDefault();const e=this.$refs.modelsSelectionList;console.log(e);const n=new MouseEvent("click");e.dispatchEvent(n)},setBinding(t){console.log("Setting binding to "+t.name),this.selecting_binding=!0,this.selectedBinding=t,this.$store.state.messageBox.showBlockingMessage("Loading binding"),ae.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"binding_name",setting_value:t.name}).then(async e=>{this.$store.state.messageBox.hideMessage(),console.log("UPDATED"),console.log(e),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshBindings"),await this.$store.dispatch("refreshModelsZoo"),await this.$store.dispatch("refreshModels"),this.$store.state.toast.showToast(`Binding changed to ${this.currentBinding.name}`,4,!0),this.selecting_binding=!1}).catch(e=>{this.$store.state.messageBox.hideMessage(),this.$store.state.toast.showToast(`Error ${e}`,4,!0),this.selecting_binding=!1})},setModel(t){console.log("Setting model to "+t.name),this.selecting_model=!0,this.selectedModel=t,this.$store.state.messageBox.showBlockingMessage("Loading model"),ae.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:t.name}).then(async e=>{this.$store.state.messageBox.hideMessage(),console.log("UPDATED"),console.log(e),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshModels"),this.$store.state.toast.showToast(`Model changed to ${this.currentModel.name}`,4,!0),this.selecting_model=!1}).catch(e=>{this.$store.state.messageBox.hideMessage(),this.$store.state.toast.showToast(`Error ${e}`,4,!0),this.selecting_model=!1})},download_files(){ae.get("/download_files")},remove_file(t){ae.get("/remove_discussion_file",{client_id:this.$store.state.client_id,name:t}).then(e=>{console.log(e)})},clear_files(){ae.post("/clear_discussion_files_list",{client_id:this.$store.state.client_id}).then(t=>{console.log(t),t.data.state?(this.$store.state.toast.showToast("File removed successfully",4,!0),this.filesList.length=0,this.isFileSentList.length=0,this.totalSize=0):this.$store.state.toast.showToast("Files couldn't be removed",4,!1)})},send_file(t,e){console.log("Send file triggered");const n=new FileReader,s=24*1024;let i=0,r=0;n.onloadend=()=>{if(n.error){console.error("Error reading file:",n.error);return}const a=n.result,c=i+a.byteLength>=t.size;qe.emit("send_file_chunk",{filename:t.name,chunk:a,offset:i,isLastChunk:c,chunkIndex:r}),i+=a.byteLength,r++,c?(console.log("File sent successfully"),this.isFileSentList[this.filesList.length-1]=!0,console.log(this.isFileSentList),this.$store.state.toast.showToast("File uploaded successfully",4,!0),e()):o()};function o(){const a=t.slice(i,i+s);n.readAsArrayBuffer(a)}console.log("Uploading file"),o()},makeAnEmptyUserMessage(){this.$emit("createEmptyUserMessage",this.message),this.message=""},makeAnEmptyAIMessage(){this.$emit("createEmptyAIMessage")},startRTCom(){this.is_rt=!0,console.log("is_rt:",this.is_rt),qe.emit("start_bidirectional_audio_stream"),Le(()=>{ze.replace()})},stopRTCom(){this.is_rt=!1,console.log("is_rt:",this.is_rt),qe.emit("stop_bidirectional_audio_stream"),Le(()=>{ze.replace()})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isListeningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.recognition.onresult=t=>{let e="";for(let n=t.resultIndex;n{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=t=>{console.error("Speech recognition error:",t.error),this.isListeningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isListeningToVoice=!1,clearTimeout(this.silenceTimer),this.submit()},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")},onPersonalitiesReadyFun(){this.personalities_ready=!0},onShowPersListFun(t){this.showPersonalities=!this.showPersonalities},handleOnTalk(t){console.log("talking"),this.showPersonalities=!1,this.$store.state.toast.showToast(`Personality ${t.name} is Talking`,4,!0),this.onTalk(t)},onMountFun(t){console.log("Mounting personality"),this.$refs.mountedPers.constructor()},onUnmountFun(t){console.log("Unmounting personality"),this.$refs.mountedPers.constructor()},onRemount(t){console.log("Remounting chat"),this.$refs.mountedPers.constructor()},computedFileSize(t){return Le(()=>{ze.replace()}),si(t)},removeItem(t){console.log("Removing ",t.name),ae.post("/remove_discussion_file",{client_id:this.$store.state.client_id,name:t.name},{headers:this.posts_headers}).then(()=>{this.filesList=this.filesList.filter(e=>e!=t)}),console.log(this.filesList)},sendMessageEvent(t,e="no_internet"){this.$emit("messageSentEvent",t,e)},sendCMDEvent(t){this.$emit("sendCMDEvent",t)},async mountDB(t){await ae.post("/toggle_mount_rag_database",{client_id:this.$store.state.client_id,database_name:t}),await this.$store.dispatch("refreshConfig"),console.log("Refreshed")},addWebLink(){console.log("Emitting addWebLink"),this.$emit("addWebLink")},add_file(){const t=document.createElement("input");t.type="file",t.style.display="none",t.multiple=!0,document.body.appendChild(t),t.addEventListener("change",()=>{console.log("Calling Add file..."),this.addFiles(t.files),document.body.removeChild(t)}),t.click()},takePicture(){qe.emit("take_picture"),qe.on("picture_taken",()=>{ae.post("/get_discussion_files_list",{client_id:this.$store.state.client_id}).then(t=>{this.filesList=t.data.files,this.isFileSentList=t.data.files.map(e=>!0),console.log(`Files recovered: ${this.filesList}`)})})},submitOnEnter(t){this.loading||t.which===13&&(t.preventDefault(),t.repeat||(this.sendMessageEvent(this.message),this.message=""))},submit(){this.message&&(this.sendMessageEvent(this.message),this.message="")},submitWithInternetSearch(){this.message&&(this.sendMessageEvent(this.message,"internet"),this.message="")},stopGenerating(){this.$emit("stopGenerating")},addFiles(t){console.log("Adding files");const e=[...t];let n=0;const s=()=>{if(n>=e.length){console.log(`Files_list: ${this.filesList}`);return}const i=e[n];this.filesList.push(i),this.isFileSentList.push(!1),this.send_file(i,()=>{n++,s()})};s()}},watch:{installedModels:{immediate:!0,handler(t){this.$nextTick(()=>{this.installedModels=t})}},model_name:{immediate:!0,handler(t){this.$nextTick(()=>{this.model_name=t})}},showfilesList(){Le(()=>{ze.replace()})},loading(t,e){Le(()=>{ze.replace()})},filesList:{handler(t,e){let n=0;if(t.length>0)for(let s=0;s{ze.replace()}),console.log("Chatbar mounted"),qe.on("rtcom_status_changed",t=>{this.$store.dispatch("fetchisRTOn"),console.log("rtcom_status_changed: ",t.status),console.log("active_tts_service: ",this.$store.state.config.active_tts_service),console.log("is_rt_on: ",this.$store.state.is_rt_on)}),this.$store.dispatch("fetchisRTOn")},activated(){Le(()=>{ze.replace()})}},Yt=t=>(vs("data-v-cf2611fa"),t=t(),Ss(),t),Pxt={class:"absolute bottom-0 left-0 w-fit min-w-96 w-full justify-center text-center"},Fxt={key:0,class:"items-center gap-2 panels-color shadow-sm hover:shadow-none dark:border-gray-800 w-fit"},Uxt={class:"flex"},Bxt=["title"],Gxt=Yt(()=>l("i",{"data-feather":"list"},null,-1)),Vxt=[Gxt],zxt={key:0},Hxt={class:"flex flex-col max-h-64"},qxt=["title"],$xt={class:"flex flex-row items-center gap-1 text-left p-2 text-sm font-medium items-center gap-2 rounded-lg border bg-gray-100 p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-700 hover:bg-primary dark:hover:bg-primary"},Yxt={key:0,filesList:"",role:"status"},Wxt=Yt(()=>l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),Kxt=Yt(()=>l("span",{class:"sr-only"},"Loading...",-1)),jxt=[Wxt,Kxt],Qxt=Yt(()=>l("div",null,[l("i",{"data-feather":"file",class:"w-5 h-5"})],-1)),Xxt=Yt(()=>l("div",{class:"grow"},null,-1)),Zxt={class:"flex flex-row items-center"},Jxt={class:"whitespace-nowrap"},e1t=["onClick"],t1t=Yt(()=>l("i",{"data-feather":"x",class:"w-5 h-5"},null,-1)),n1t=[t1t],s1t={key:1,class:"flex mx-1 w-500"},i1t={class:"whitespace-nowrap flex flex-row gap-2"},r1t=Yt(()=>l("p",{class:"font-bold"}," Total size: ",-1)),o1t=Yt(()=>l("div",{class:"grow"},null,-1)),a1t=Yt(()=>l("i",{"data-feather":"trash",class:"w-5 h-5"},null,-1)),l1t=[a1t],c1t=Yt(()=>l("i",{"data-feather":"download-cloud",class:"w-5 h-5"},null,-1)),d1t=[c1t],u1t={key:2,class:"mx-1"},p1t={key:1,title:"Selecting model",class:"flex flex-row flex-grow justify-end panels-color"},_1t={role:"status"},h1t=["src"],f1t=Yt(()=>l("span",{class:"sr-only"},"Selecting model...",-1)),m1t={class:"flex w-fit relative grow w-full"},g1t={class:"relative text-light-text-panel dark:text-dark-text-panel grow flex h-12.5 cursor-pointer select-none items-center gap-2 chatbox-color p-1 shadow-sm hover:shadow-none dark:border-gray-800",tabindex:"0"},b1t={key:0,title:"Waiting for reply"},E1t=["src"],y1t=Yt(()=>l("div",{role:"status"},[l("span",{class:"sr-only"},"Loading...")],-1)),v1t={key:1,class:"w-fit group relative"},S1t={class:"hide top-50 hide opacity-0 group-hover:bottom-0 opacity-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},T1t={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},x1t=["onMouseover"],C1t={class:"relative"},w1t=["onClick"],R1t=["src","title"],A1t={class:"group items-center flex flex-row"},N1t=["src","title"],O1t={key:2,class:"w-fit group relative"},M1t={class:"hide top-50 hide opacity-0 group-hover:bottom-0 opacity-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},I1t={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},k1t=["onMouseover"],D1t={class:"relative"},L1t=["onClick"],P1t=["src","title"],F1t={class:"group items-center flex flex-row"},U1t=["src","title"],B1t={key:3,class:"w-fit group relative"},G1t={class:"top-50 hide opacity-0 group-hover:bottom-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},V1t={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},z1t=["onMouseover"],H1t={class:"relative"},q1t=["onClick"],$1t=["src","title"],Y1t=["onClick"],W1t=Yt(()=>l("span",{class:"-top-6 -right-6 border-gray-500 absolute active:scale-90 w-7 h-7 hover:scale-150 transition bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Unmount personality"},[l("svg",{"aria-hidden":"true",class:"top-1 left-1 relative w-5 h-5 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20","stroke-width":"1",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),K1t=[W1t],j1t=["onClick"],Q1t=Yt(()=>l("span",{class:"-top-9 left-2 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Remount"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-1 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 30 30",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("g",{id:"surface1"},[l("path",{style:{},d:"M 16 4 C 10.886719 4 6.617188 7.160156 4.875 11.625 L 6.71875 12.375 C 8.175781 8.640625 11.710938 6 16 6 C 19.242188 6 22.132813 7.589844 23.9375 10 L 20 10 L 20 12 L 27 12 L 27 5 L 25 5 L 25 8.09375 C 22.808594 5.582031 19.570313 4 16 4 Z M 25.28125 19.625 C 23.824219 23.359375 20.289063 26 16 26 C 12.722656 26 9.84375 24.386719 8.03125 22 L 12 22 L 12 20 L 5 20 L 5 27 L 7 27 L 7 23.90625 C 9.1875 26.386719 12.394531 28 16 28 C 21.113281 28 25.382813 24.839844 27.125 20.375 Z "})])])],-1)),X1t=[Q1t],Z1t=["onClick"],J1t=Yt(()=>l("span",{class:"-top-6 -left-6 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Talk"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-1 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 24 24",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),l("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})])],-1)),eCt=[J1t],tCt={class:"w-fit"},nCt={class:"w-fit"},sCt={class:"relative grow"},iCt={class:"flex items-center space-x-3"},rCt=Yt(()=>l("svg",{class:"animate-spin h-5 w-5",viewBox:"0 0 24 24"},[l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)),oCt=Yt(()=>l("span",null,"Stop",-1)),aCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})],-1)),lCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"})],-1)),cCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1)),dCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),uCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 13a3 3 0 11-6 0 3 3 0 016 0z"})],-1)),pCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})],-1)),_Ct=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})],-1)),hCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})],-1)),fCt=Yt(()=>l("div",{class:"ml-auto gap-2"},null,-1));function mCt(t,e,n,s,i,r){const o=tt("MountedPersonalitiesList"),a=tt("MountedPersonalities"),c=tt("PersonalitiesCommands"),d=tt("ChatBarButton"),u=tt("UniversalForm");return T(),x(Fe,null,[l("div",Pxt,[i.filesList.length>0||i.showPersonalities?(T(),x("div",Fxt,[l("div",Uxt,[l("button",{class:"mx-1 w-full text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:i.showfilesList?"Hide file list":"Show file list",type:"button",onClick:e[0]||(e[0]=j(h=>i.showfilesList=!i.showfilesList,["stop"]))},Vxt,8,Bxt)]),i.filesList.length>0&&i.showfilesList==!0?(T(),x("div",zxt,[l("div",Hxt,[V(ii,{name:"list",tag:"div",class:"flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light scrollbar-thumb-bg-light-tone hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark dark:scrollbar-thumb-bg-dark-tone dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(i.filesList,(h,f)=>(T(),x("div",{key:f+"-"+h.name},[l("div",{class:"m-1",title:h.name},[l("div",$xt,[i.isFileSentList[f]?G("",!0):(T(),x("div",Yxt,jxt)),Qxt,l("div",{class:Ge(["line-clamp-1 w-3/5",i.isFileSentList[f]?"text-green-500":"text-red-200"])},K(h.name),3),Xxt,l("div",Zxt,[l("p",Jxt,K(r.computedFileSize(h.size)),1),l("button",{type:"button",title:"Remove item",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:m=>r.removeItem(h)},n1t,8,e1t)])])],8,qxt)]))),128))]),_:1})])])):G("",!0),i.filesList.length>0?(T(),x("div",s1t,[l("div",i1t,[r1t,Je(" "+K(i.totalSize)+" ("+K(i.filesList.length)+") ",1)]),o1t,l("button",{type:"button",title:"Clear all",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:e[1]||(e[1]=(...h)=>r.clear_files&&r.clear_files(...h))},l1t),l("button",{type:"button",title:"Download database",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:e[2]||(e[2]=(...h)=>r.download_files&&r.download_files(...h))},d1t)])):G("",!0),i.showPersonalities?(T(),x("div",u1t,[V(o,{ref:"mountedPersList",onShowPersList:r.onShowPersListFun,"on-mounted":r.onMountFun,"on-un-mounted":r.onUnmountFun,"on-remounted":t.onRemountFun,"on-talk":r.handleOnTalk,discussionPersonalities:r.allDiscussionPersonalities},null,8,["onShowPersList","on-mounted","on-un-mounted","on-remounted","on-talk","discussionPersonalities"])])):G("",!0)])):G("",!0),i.selecting_model||i.selecting_binding?(T(),x("div",p1t,[l("div",_1t,[l("img",{src:i.loader_v0,class:"w-50 h-50"},null,8,h1t),f1t])])):G("",!0),l("div",m1t,[l("div",g1t,[n.loading?(T(),x("div",b1t,[l("img",{src:i.loader_v0},null,8,E1t),y1t])):G("",!0),n.loading?G("",!0):(T(),x("div",v1t,[l("div",S1t,[l("div",T1t,[(T(!0),x(Fe,null,Ke(r.installedBindings,(h,f)=>(T(),x("div",{class:"w-fit h-fit inset-0 opacity-100",key:f+"-"+h.name,ref_for:!0,ref:"installedBindings",onMouseover:m=>r.showBindingHoveredIn(f),onMouseleave:e[4]||(e[4]=m=>r.showBindingHoveredOut())},[f!=r.binding_name?(T(),x("div",{key:0,class:Ge(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",i.bindingHoveredIndex===f?"scale-150":""])},[l("div",C1t,[l("button",{onClick:j(m=>r.setBinding(h),["prevent"]),class:"w-10 h-10 relative"},[l("img",{src:h.icon?h.icon:i.modelImgPlaceholder,onError:e[3]||(e[3]=(...m)=>i.modelImgPlaceholder&&i.modelImgPlaceholder(...m)),class:Ge(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",i.bindingHoveredIndex===f?"scale-150 ":""+h.name==r.binding_name?"border-secondary":"border-transparent z-0"]),title:h.name},null,42,R1t)],8,w1t)])],2)):G("",!0)],40,x1t))),128))])]),l("div",A1t,[l("button",{onClick:e[5]||(e[5]=j(h=>r.showModelConfig(),["prevent"])),class:"w-8 h-8"},[l("img",{src:r.currentBindingIcon,class:"w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary hover:scale-110 hover:-translate-y-1 duration-200",title:r.currentBinding?r.currentBinding.name:"unknown"},null,8,N1t)])])])),n.loading?G("",!0):(T(),x("div",O1t,[l("div",M1t,[l("div",I1t,[(T(!0),x(Fe,null,Ke(r.installedModels,(h,f)=>(T(),x("div",{class:"w-fit h-fit",key:f+"-"+h.name,ref_for:!0,ref:"installedModels",onMouseover:m=>r.showModelHoveredIn(f),onMouseleave:e[7]||(e[7]=m=>r.showModelHoveredOut())},[f!=r.model_name?(T(),x("div",{key:0,class:Ge(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",i.modelHoveredIndex===f?"scale-150":""])},[l("div",D1t,[l("button",{onClick:j(m=>r.setModel(h),["prevent"]),class:"w-10 h-10 relative"},[l("img",{src:h.icon?h.icon:i.modelImgPlaceholder,onError:e[6]||(e[6]=(...m)=>t.personalityImgPlacehodler&&t.personalityImgPlacehodler(...m)),class:Ge(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",i.modelHoveredIndex===f?"scale-150 ":""+h.name==r.model_name?"border-secondary":"border-transparent z-0"]),title:h.name},null,42,P1t)],8,L1t)])],2)):G("",!0)],40,k1t))),128))])]),l("div",F1t,[l("button",{onClick:e[8]||(e[8]=j(h=>r.copyModelName(),["prevent"])),class:"w-8 h-8"},[l("img",{src:r.currentModelIcon,class:"w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary hover:scale-110 hover:-translate-y-1 duration-400",title:r.currentModel?r.currentModel.name:"unknown"},null,8,U1t)])])])),n.loading?G("",!0):(T(),x("div",B1t,[l("div",G1t,[l("div",V1t,[(T(!0),x(Fe,null,Ke(r.mountedPersonalities,(h,f)=>(T(),x("div",{class:"w-fit h-fit inset-0 opacity-100",key:f+"-"+h.name,ref_for:!0,ref:"mountedPersonalities",onMouseover:m=>r.showPersonalityHoveredIn(f),onMouseleave:e[10]||(e[10]=m=>r.showPersonalityHoveredOut())},[f!=r.personality_name?(T(),x("div",{key:0,class:Ge(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",i.personalityHoveredIndex===f?"scale-150":""])},[l("div",H1t,[l("button",{onClick:j(m=>r.onPersonalitySelected(h),["prevent"]),class:"w-10 h-10 relative"},[l("img",{src:i.bUrl+h.avatar,onError:e[9]||(e[9]=(...m)=>t.personalityImgPlacehodler&&t.personalityImgPlacehodler(...m)),class:Ge(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",i.personalityHoveredIndex===f?"scale-150 ":""+this.$store.state.active_personality_id==this.$store.state.personalities.indexOf(h.full_path)?"border-secondary":"border-transparent z-0"]),title:h.name},null,42,$1t)],8,q1t),i.personalityHoveredIndex===f?(T(),x("button",{key:0,onClick:j(m=>r.unmountPersonality(h),["prevent"])},K1t,8,Y1t)):G("",!0),i.personalityHoveredIndex===f?(T(),x("button",{key:1,onClick:j(m=>r.remount_personality(h),["prevent"])},X1t,8,j1t)):G("",!0),i.personalityHoveredIndex===f?(T(),x("button",{key:2,onClick:j(m=>r.handleOnTalk(h),["prevent"])},eCt,8,Z1t)):G("",!0)])],2)):G("",!0)],40,z1t))),128))])]),V(a,{ref:"mountedPers",onShowPersList:r.onShowPersListFun,onReady:r.onPersonalitiesReadyFun},null,8,["onShowPersList","onReady"])])),l("div",tCt,[i.personalities_ready&&this.$store.state.mountedPersArr[this.$store.state.config.active_personality_id].commands!=""?(T(),dt(c,{key:0,commandsList:this.$store.state.mountedPersArr[this.$store.state.config.active_personality_id].commands,sendCommand:r.sendCMDEvent,"on-show-toast-message":n.onShowToastMessage,ref:"personalityCMD"},null,8,["commandsList","sendCommand","on-show-toast-message"])):G("",!0)]),l("div",nCt,[r.isDataSourceNamesValid?(T(),dt(c,{key:0,icon:"feather:book",commandsList:r.dataSourceNames,sendCommand:r.mountDB,"on-show-toast-message":n.onShowToastMessage,ref:"databasesList"},null,8,["commandsList","sendCommand","on-show-toast-message"])):G("",!0)]),l("div",sCt,[l("form",null,[P(l("textarea",{id:"chat",rows:"1","onUpdate:modelValue":e[11]||(e[11]=h=>i.message=h),onPaste:e[12]||(e[12]=(...h)=>r.handlePaste&&r.handlePaste(...h)),onKeydown:e[13]||(e[13]=zs(j(h=>r.submitOnEnter(h),["exact"]),["enter"])),class:"w-full p-3 text-sm text-gray-900 dark:text-white bg-gray-100 dark:bg-gray-700 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none",placeholder:"Send message..."},null,544),[[pe,i.message]])])]),l("div",iCt,[n.loading?(T(),dt(d,{key:0,onClick:r.stopGenerating,class:"bg-red-500 dark:bg-red-600 hover:bg-red-600 dark:hover:bg-red-700"},{icon:Ie(()=>[rCt]),default:Ie(()=>[oCt]),_:1},8,["onClick"])):(T(),dt(d,{key:1,onClick:r.submit,title:"Send"},{icon:Ie(()=>[aCt]),_:1},8,["onClick"])),V(d,{onClick:r.submitWithInternetSearch,title:"Send with internet search"},{icon:Ie(()=>[lCt]),_:1},8,["onClick"]),V(d,{onClick:r.startSpeechRecognition,class:Ge({"text-red-500":i.isListeningToVoice}),title:"Voice input"},{icon:Ie(()=>[cCt]),_:1},8,["onClick","class"]),t.$store.state.config.active_tts_service!="None"&&t.$store.state.config.active_tts_service!=null&&this.$store.state.config.active_stt_service!="None"&&this.$store.state.config.active_stt_service!=null?(T(),dt(d,{key:2,onClick:e[14]||(e[14]=h=>i.is_rt?r.stopRTCom:r.startRTCom),class:Ge(i.is_rt?"bg-red-500 dark:bg-red-600":"bg-green-500 dark:bg-green-600"),title:"Real-time audio mode"},{icon:Ie(()=>[Je(" 🍓 ")]),_:1},8,["class"])):G("",!0),V(d,{onClick:r.add_file,title:"Send file"},{icon:Ie(()=>[dCt]),_:1},8,["onClick"]),V(d,{onClick:r.takePicture,title:"Take picture"},{icon:Ie(()=>[uCt]),_:1},8,["onClick"]),V(d,{onClick:r.addWebLink,title:"Add web link"},{icon:Ie(()=>[pCt]),_:1},8,["onClick"]),V(d,{onClick:r.makeAnEmptyUserMessage,title:"New user message",class:"text-gray-600 dark:text-gray-300"},{icon:Ie(()=>[_Ct]),_:1},8,["onClick"]),V(d,{onClick:r.makeAnEmptyAIMessage,title:"New AI message",class:"text-red-400 dark:text-red-300"},{icon:Ie(()=>[hCt]),_:1},8,["onClick"])]),l("input",{type:"file",ref:"fileDialog",onChange:e[15]||(e[15]=(...h)=>r.addFiles&&r.addFiles(...h)),multiple:"",style:{display:"none"}},null,544)]),fCt])]),V(u,{ref:"universalForm",class:"z-20"},null,512)],64)}const pN=ot(Lxt,[["render",mCt],["__scopeId","data-v-cf2611fa"]]);const gCt={name:"WelcomeComponent",setup(){const t=$k();return{logoSrc:et(()=>t.state.config&&t.state.config.app_custom_logo?`/user_infos/${t.state.config.app_custom_logo}`:Bs)}}},bCt=t=>(vs("data-v-d62e699b"),t=t(),Ss(),t),ECt={class:"flex flex-col items-center justify-center w-full h-full min-h-screen bg-gradient-to-br from-indigo-100 to-purple-100 dark:from-indigo-900 dark:to-purple-900 p-8"},yCt={class:"text-center max-w-4xl"},vCt={class:"flex items-center justify-center gap-8 mb-12"},SCt={class:"relative w-24 h-24"},TCt=["src"],xCt=bCt(()=>l("div",{class:"flex flex-col items-start"},[l("h1",{class:"text-6xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-indigo-600 to-purple-600 dark:from-indigo-400 dark:to-purple-400"}," L🍓LLMS "),l("p",{class:"text-2xl text-gray-600 dark:text-gray-300 italic mt-2"}," Lord of Large Language And Multimodal Systems ")],-1)),CCt=Na('

    Welcome to L🍓LLMS WebUI

    Embark on a journey through the realm of advanced AI with L🍓LLMS, your ultimate companion for intelligent conversations and multimodal interactions. Unleash the power of large language models and explore new frontiers in artificial intelligence.

    Discover the capabilities of L🍓LLMS:

    • Engage in natural language conversations
    • Generate creative content and ideas
    • Analyze complex data and provide insights
    • Assist with coding and technical tasks
    • Process and understand multimodal inputs
    ',1);function wCt(t,e,n,s,i,r){return T(),x("div",ECt,[l("div",yCt,[l("div",vCt,[l("div",SCt,[l("img",{src:s.logoSrc,alt:"LoLLMS Logo",class:"w-24 h-24 rounded-full absolute animate-rolling-ball"},null,8,TCt)]),xCt]),CCt])])}const _N=ot(gCt,[["render",wCt],["__scopeId","data-v-d62e699b"]]);var RCt=function(){function t(e,n){n===void 0&&(n=[]),this._eventType=e,this._eventFunctions=n}return t.prototype.init=function(){var e=this;this._eventFunctions.forEach(function(n){typeof window<"u"&&window.addEventListener(e._eventType,n)})},t}(),Wd=globalThis&&globalThis.__assign||function(){return Wd=Object.assign||function(t){for(var e,n=1,s=arguments.length;n(vs("data-v-9e711246"),t=t(),Ss(),t),DCt={key:0,class:"fixed top-0 left-0 w-screen h-screen flex items-center justify-center bg-gradient-to-br from-blue-100 to-purple-100 dark:from-blue-900 dark:to-purple-900 overflow-hidden"},LCt={class:"absolute inset-0 pointer-events-none overflow-hidden"},PCt=Mt(()=>l("img",{src:aN,alt:"Falling Strawberry",class:"w-6 h-6"},null,-1)),FCt=[PCt],UCt={class:"flex flex-col items-center text-center max-w-4xl w-full px-4 relative z-10"},BCt={class:"mb-8 w-full"},GCt=Mt(()=>l("div",{class:"text-6xl md:text-7xl font-bold text-red-600 mb-2",style:{"text-shadow":"2px 2px 0px white, -2px -2px 0px white, 2px -2px 0px white, -2px 2px 0px white"}}," L🍓LLMS ",-1)),VCt=Mt(()=>l("p",{class:"text-2xl text-gray-600 dark:text-gray-300 italic"}," One tool to rule them all ",-1)),zCt=Mt(()=>l("p",{class:"text-xl text-gray-500 dark:text-gray-400 mb-6"}," by ParisNeo ",-1)),HCt={class:"bottom-0 text-2xl text-gray-600 dark:text-gray-300 italic"},qCt={class:"w-full h-24 relative overflow-hidden bg-gradient-to-r from-blue-200 to-purple-200 dark:from-blue-800 dark:to-purple-800 rounded-full shadow-lg"},$Ct={class:"w-full max-w-2xl"},YCt={role:"status",class:"w-full"},WCt={class:"text-xl text-gray-700 dark:text-gray-300"},KCt={class:"text-2xl font-bold text-blue-600 dark:text-blue-400 mt-2"},jCt=Mt(()=>l("i",{"data-feather":"chevron-right"},null,-1)),QCt=[jCt],XCt=Mt(()=>l("i",{"data-feather":"chevron-left"},null,-1)),ZCt=[XCt],JCt=Na('',1),ewt=[JCt],twt={key:0,class:"relative flex flex-col no-scrollbar shadow-lg min-w-[24rem] max-w-[24rem] unicolor-panels-color dark:bg-bg-dark-tone"},nwt={class:"text-light-text-panel dark:text-dark-text-panel panels-color sticky z-10 top-0"},swt={class:"flex-row p-4 flex items-center gap-3 flex-0"},iwt=Mt(()=>l("i",{"data-feather":"plus"},null,-1)),rwt=[iwt],owt=Mt(()=>l("i",{"data-feather":"check-square"},null,-1)),awt=[owt],lwt={class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Reset database, remove all discussions"},cwt=Mt(()=>l("i",{"data-feather":"database"},null,-1)),dwt=[cwt],uwt=Mt(()=>l("i",{"data-feather":"log-in"},null,-1)),pwt=[uwt],_wt=Mt(()=>l("i",{"data-feather":"folder"},null,-1)),hwt=[_wt],fwt={key:1,class:"dropdown"},mwt=Mt(()=>l("i",{"data-feather":"search"},null,-1)),gwt=[mwt],bwt={key:2,class:"flex gap-3 flex-1 items-center duration-75"},Ewt=Mt(()=>l("i",{"data-feather":"x"},null,-1)),ywt=[Ewt],vwt=Mt(()=>l("i",{"data-feather":"check"},null,-1)),Swt=[vwt],Twt=Mt(()=>l("i",{"data-feather":"hard-drive"},null,-1)),xwt=[Twt],Cwt=Mt(()=>l("i",{"data-feather":"check-circle"},null,-1)),wwt=[Cwt],Rwt=Mt(()=>l("i",{"data-feather":"x-octagon"},null,-1)),Awt=[Rwt],Nwt=Mt(()=>l("i",{"data-feather":"book"},null,-1)),Owt=[Nwt],Mwt={key:7,title:"Loading..",class:"flex flex-row flex-grow justify-end"},Iwt=Mt(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),kwt=[Iwt],Dwt={key:0,class:"flex-row items-center gap-3 flex-0 w-full"},Lwt={class:"p-4 pt-2"},Pwt={class:"relative"},Fwt=Mt(()=>l("div",{class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},[l("div",{class:"scale-75"},[l("i",{"data-feather":"search"})])],-1)),Uwt={class:"absolute inset-y-0 right-0 flex items-center pr-3"},Bwt=Mt(()=>l("i",{"data-feather":"x"},null,-1)),Gwt=[Bwt],Vwt={key:1,class:"h-px bg-bg-light p-0 mb-4 px-4 mx-4 border-0 dark:bg-bg-dark"},zwt={key:2,class:"flex flex-row flex-grow p-4 pt-0 items-center"},Hwt={class:"flex flex-row flex-grow"},qwt={key:0},$wt={class:"flex flex-row"},Ywt={key:0,class:"flex gap-3"},Wwt=Mt(()=>l("i",{"data-feather":"trash"},null,-1)),Kwt=[Wwt],jwt={key:1,class:"flex gap-3 mx-3 flex-1 items-center justify-end group-hover:visible duration-75"},Qwt=Mt(()=>l("i",{"data-feather":"check"},null,-1)),Xwt=[Qwt],Zwt=Mt(()=>l("i",{"data-feather":"x"},null,-1)),Jwt=[Zwt],eRt={class:"flex gap-3"},tRt=Mt(()=>l("i",{"data-feather":"codepen"},null,-1)),nRt=[tRt],sRt=Mt(()=>l("i",{"data-feather":"folder"},null,-1)),iRt=[sRt],rRt=Mt(()=>l("i",{"data-feather":"bookmark"},null,-1)),oRt=[rRt],aRt=Mt(()=>l("i",{"data-feather":"list"},null,-1)),lRt=[aRt],cRt={class:"relative flex flex-row flex-grow mb-10 z-0 w-full"},dRt={key:1,class:"gap-2 py-2 my-2 hover:shadow-md hover:bg-primary-light dark:hover:bg-primary rounded-md p-2 duration-75 group cursor-pointer"},uRt=Mt(()=>l("p",{class:"px-3"},"No discussions are found",-1)),pRt=[uRt],_Rt=Mt(()=>l("div",{class:"sticky bottom-0 bg-gradient-to-t pointer-events-none from-bg-light-tone dark:from-bg-dark-tone flex flex-grow"},null,-1)),hRt={class:"text-center font-large font-bold text-l drop-shadow-md align-middle"},fRt={key:2,class:"relative flex flex-col flex-grow"},mRt={class:"container pt-4 pb-50 mb-50 w-full"},gRt={key:0,class:"w-full rounded-lg m-2 shadow-lg hover:border-primary dark:hover:border-primary hover:border-solid hover:border-2 border-2 border-transparent even:bg-bg-light-discussion-odd dark:even:bg-bg-dark-discussion-odd flex flex-col overflow-hidden p-4 pb-2 h-[600px]"},bRt=Mt(()=>l("h2",{class:"text-2xl font-bold mb-4"},"Prompt examples",-1)),ERt={key:0,class:"overflow-y-auto flex-grow pr-2 custom-scrollbar"},yRt={class:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4 p-2"},vRt=["onClick"],SRt=["title"],TRt={class:"absolute inset-0 overflow-hidden"},xRt=Mt(()=>l("div",{class:"absolute inset-0 bg-gradient-to-b from-transparent via-transparent to-white dark:to-gray-800 group-hover:opacity-0 transition-opacity duration-300"},null,-1)),CRt=Mt(()=>l("div",{class:"mt-2 text-sm text-gray-500 dark:text-gray-400 opacity-0 group-hover:opacity-100 transition-opacity duration-300"}," Click to select ",-1)),wRt=Mt(()=>l("div",null,[l("br"),l("br"),l("br"),l("br"),l("br"),l("br"),l("br")],-1)),RRt=Mt(()=>l("div",{class:"absolute w-full bottom-0 bg-transparent p-10 pt-16 bg-gradient-to-t from-bg-light dark:from-bg-dark from-5% via-bg-light dark:via-bg-dark via-10% to-transparent to-100%"},null,-1)),ARt={key:0,class:"flex flex-row items-center justify-center h-10"},NRt={key:0,class:"relative flex flex-col no-scrollbar shadow-lg w-1/2 bg-bg-light-tone dark:bg-bg-dark-tone h-full"},ORt={ref:"isolatedContent",class:"h-full"},MRt={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},IRt={class:"text-2xl animate-pulse mt-2 text-light-text-panel dark:text-dark-text-panel"},kRt={setup(){},data(){return{lastMessageHtml:"",defaultMessageHtml:` +`+t.name,4,!1)}else console.log("mounting pers");this.$emit("personalitySelected"),Le(()=>{ze.replace()})}},async select_personality(t){if(!t)return{status:!1,error:"no personality - select_personality"};const e=t.language===null?t.full_path:t.full_path+":"+t.language;console.log("Selecting personality ",e);const n=this.$store.state.config.personalities.findIndex(i=>i===e),s={client_id:this.$store.state.client_id,id:n};try{const i=await oe.post("/select_personality",s);if(i)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),i.data}catch(i){console.log(i.message,"select_personality - settings");return}},emitloaded(){this.$emit("loaded")},showModels(t){t.preventDefault();const e=this.$refs.modelsSelectionList;console.log(e);const n=new MouseEvent("click");e.dispatchEvent(n)},setBinding(t){console.log("Setting binding to "+t.name),this.selecting_binding=!0,this.selectedBinding=t,this.$store.state.messageBox.showBlockingMessage("Loading binding"),oe.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"binding_name",setting_value:t.name}).then(async e=>{this.$store.state.messageBox.hideMessage(),console.log("UPDATED"),console.log(e),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshBindings"),await this.$store.dispatch("refreshModelsZoo"),await this.$store.dispatch("refreshModels"),this.$store.state.toast.showToast(`Binding changed to ${this.currentBinding.name}`,4,!0),this.selecting_binding=!1}).catch(e=>{this.$store.state.messageBox.hideMessage(),this.$store.state.toast.showToast(`Error ${e}`,4,!0),this.selecting_binding=!1})},setModel(t){console.log("Setting model to "+t.name),this.selecting_model=!0,this.selectedModel=t,this.$store.state.messageBox.showBlockingMessage("Loading model"),oe.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:t.name}).then(async e=>{this.$store.state.messageBox.hideMessage(),console.log("UPDATED"),console.log(e),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshModels"),this.$store.state.toast.showToast(`Model changed to ${this.currentModel.name}`,4,!0),this.selecting_model=!1}).catch(e=>{this.$store.state.messageBox.hideMessage(),this.$store.state.toast.showToast(`Error ${e}`,4,!0),this.selecting_model=!1})},download_files(){oe.get("/download_files")},remove_file(t){oe.get("/remove_discussion_file",{client_id:this.$store.state.client_id,name:t}).then(e=>{console.log(e)})},clear_files(){oe.post("/clear_discussion_files_list",{client_id:this.$store.state.client_id}).then(t=>{console.log(t),t.data.state?(this.$store.state.toast.showToast("File removed successfully",4,!0),this.filesList.length=0,this.isFileSentList.length=0,this.totalSize=0):this.$store.state.toast.showToast("Files couldn't be removed",4,!1)})},send_file(t,e){console.log("Send file triggered");const n=new FileReader,s=24*1024;let i=0,r=0;n.onloadend=()=>{if(n.error){console.error("Error reading file:",n.error);return}const a=n.result,c=i+a.byteLength>=t.size;qe.emit("send_file_chunk",{filename:t.name,chunk:a,offset:i,isLastChunk:c,chunkIndex:r}),i+=a.byteLength,r++,c?(console.log("File sent successfully"),this.isFileSentList[this.filesList.length-1]=!0,console.log(this.isFileSentList),this.$store.state.toast.showToast("File uploaded successfully",4,!0),e()):o()};function o(){const a=t.slice(i,i+s);n.readAsArrayBuffer(a)}console.log("Uploading file"),o()},makeAnEmptyUserMessage(){this.$emit("createEmptyUserMessage",this.message),this.message=""},makeAnEmptyAIMessage(){this.$emit("createEmptyAIMessage")},startRTCom(){this.is_rt=!0,console.log("is_rt:",this.is_rt),qe.emit("start_bidirectional_audio_stream"),Le(()=>{ze.replace()})},stopRTCom(){this.is_rt=!1,console.log("is_rt:",this.is_rt),qe.emit("stop_bidirectional_audio_stream"),Le(()=>{ze.replace()})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isListeningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.recognition.onresult=t=>{let e="";for(let n=t.resultIndex;n{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=t=>{console.error("Speech recognition error:",t.error),this.isListeningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isListeningToVoice=!1,clearTimeout(this.silenceTimer),this.submit()},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")},onPersonalitiesReadyFun(){this.personalities_ready=!0},onShowPersListFun(t){this.showPersonalities=!this.showPersonalities},handleOnTalk(t){console.log("talking"),this.showPersonalities=!1,this.$store.state.toast.showToast(`Personality ${t.name} is Talking`,4,!0),this.onTalk(t)},onMountFun(t){console.log("Mounting personality"),this.$refs.mountedPers.constructor()},onUnmountFun(t){console.log("Unmounting personality"),this.$refs.mountedPers.constructor()},onRemount(t){console.log("Remounting chat"),this.$refs.mountedPers.constructor()},computedFileSize(t){return Le(()=>{ze.replace()}),si(t)},removeItem(t){console.log("Removing ",t.name),oe.post("/remove_discussion_file",{client_id:this.$store.state.client_id,name:t.name},{headers:this.posts_headers}).then(()=>{this.filesList=this.filesList.filter(e=>e!=t)}),console.log(this.filesList)},sendMessageEvent(t,e="no_internet"){this.$emit("messageSentEvent",t,e)},sendCMDEvent(t){this.$emit("sendCMDEvent",t)},async mountDB(t){await oe.post("/toggle_mount_rag_database",{client_id:this.$store.state.client_id,database_name:t}),await this.$store.dispatch("refreshConfig"),console.log("Refreshed")},addWebLink(){console.log("Emitting addWebLink"),this.$emit("addWebLink")},add_file(){const t=document.createElement("input");t.type="file",t.style.display="none",t.multiple=!0,document.body.appendChild(t),t.addEventListener("change",()=>{console.log("Calling Add file..."),this.addFiles(t.files),document.body.removeChild(t)}),t.click()},takePicture(){qe.emit("take_picture"),qe.on("picture_taken",()=>{oe.post("/get_discussion_files_list",{client_id:this.$store.state.client_id}).then(t=>{this.filesList=t.data.files,this.isFileSentList=t.data.files.map(e=>!0),console.log(`Files recovered: ${this.filesList}`)})})},submitOnEnter(t){this.loading||t.which===13&&(t.preventDefault(),t.repeat||(this.sendMessageEvent(this.message),this.message=""))},submit(){this.message&&(this.sendMessageEvent(this.message),this.message="")},submitWithInternetSearch(){this.message&&(this.sendMessageEvent(this.message,"internet"),this.message="")},stopGenerating(){this.$emit("stopGenerating")},addFiles(t){console.log("Adding files");const e=[...t];let n=0;const s=()=>{if(n>=e.length){console.log(`Files_list: ${this.filesList}`);return}const i=e[n];this.filesList.push(i),this.isFileSentList.push(!1),this.send_file(i,()=>{n++,s()})};s()}},watch:{installedModels:{immediate:!0,handler(t){this.$nextTick(()=>{this.installedModels=t})}},model_name:{immediate:!0,handler(t){this.$nextTick(()=>{this.model_name=t})}},showfilesList(){Le(()=>{ze.replace()})},loading(t,e){Le(()=>{ze.replace()})},filesList:{handler(t,e){let n=0;if(t.length>0)for(let s=0;s{ze.replace()}),console.log("Chatbar mounted"),qe.on("rtcom_status_changed",t=>{this.$store.dispatch("fetchisRTOn"),console.log("rtcom_status_changed: ",t.status),console.log("active_tts_service: ",this.$store.state.config.active_tts_service),console.log("is_rt_on: ",this.$store.state.is_rt_on)}),this.$store.dispatch("fetchisRTOn")},activated(){Le(()=>{ze.replace()})}},Yt=t=>(vs("data-v-cf2611fa"),t=t(),Ss(),t),Hxt={class:"absolute bottom-0 left-0 w-fit min-w-96 w-full justify-center text-center"},qxt={key:0,class:"items-center gap-2 panels-color shadow-sm hover:shadow-none dark:border-gray-800 w-fit"},$xt={class:"flex"},Yxt=["title"],Wxt=Yt(()=>l("i",{"data-feather":"list"},null,-1)),Kxt=[Wxt],jxt={key:0},Qxt={class:"flex flex-col max-h-64"},Xxt=["title"],Zxt={class:"flex flex-row items-center gap-1 text-left p-2 text-sm font-medium items-center gap-2 rounded-lg border bg-gray-100 p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-700 hover:bg-primary dark:hover:bg-primary"},Jxt={key:0,filesList:"",role:"status"},e1t=Yt(()=>l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),t1t=Yt(()=>l("span",{class:"sr-only"},"Loading...",-1)),n1t=[e1t,t1t],s1t=Yt(()=>l("div",null,[l("i",{"data-feather":"file",class:"w-5 h-5"})],-1)),i1t=Yt(()=>l("div",{class:"grow"},null,-1)),r1t={class:"flex flex-row items-center"},o1t={class:"whitespace-nowrap"},a1t=["onClick"],l1t=Yt(()=>l("i",{"data-feather":"x",class:"w-5 h-5"},null,-1)),c1t=[l1t],d1t={key:1,class:"flex mx-1 w-500"},u1t={class:"whitespace-nowrap flex flex-row gap-2"},p1t=Yt(()=>l("p",{class:"font-bold"}," Total size: ",-1)),_1t=Yt(()=>l("div",{class:"grow"},null,-1)),h1t=Yt(()=>l("i",{"data-feather":"trash",class:"w-5 h-5"},null,-1)),f1t=[h1t],m1t=Yt(()=>l("i",{"data-feather":"download-cloud",class:"w-5 h-5"},null,-1)),g1t=[m1t],b1t={key:2,class:"mx-1"},E1t={key:1,title:"Selecting model",class:"flex flex-row flex-grow justify-end panels-color"},y1t={role:"status"},v1t=["src"],S1t=Yt(()=>l("span",{class:"sr-only"},"Selecting model...",-1)),T1t={class:"flex w-fit relative grow w-full"},x1t={class:"relative text-light-text-panel dark:text-dark-text-panel grow flex h-12.5 cursor-pointer select-none items-center gap-2 chatbox-color p-1 shadow-sm hover:shadow-none dark:border-gray-800",tabindex:"0"},C1t={key:0,title:"Waiting for reply"},w1t=["src"],R1t=Yt(()=>l("div",{role:"status"},[l("span",{class:"sr-only"},"Loading...")],-1)),A1t={key:1,class:"w-fit group relative"},N1t={class:"hide top-50 hide opacity-0 group-hover:bottom-0 opacity-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},O1t={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},M1t=["onMouseover"],I1t={class:"relative"},k1t=["onClick"],D1t=["src","title"],L1t={class:"group items-center flex flex-row"},P1t=["src","title"],F1t={key:2,class:"w-fit group relative"},U1t={class:"hide top-50 hide opacity-0 group-hover:bottom-0 opacity-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},B1t={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},G1t=["onMouseover"],V1t={class:"relative"},z1t=["onClick"],H1t=["src","title"],q1t={class:"group items-center flex flex-row"},$1t=["src","title"],Y1t={key:3,class:"w-fit group relative"},W1t={class:"top-50 hide opacity-0 group-hover:bottom-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},K1t={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},j1t=["onMouseover"],Q1t={class:"relative"},X1t=["onClick"],Z1t=["src","title"],J1t=["onClick"],eCt=Yt(()=>l("span",{class:"-top-6 -right-6 border-gray-500 absolute active:scale-90 w-7 h-7 hover:scale-150 transition bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Unmount personality"},[l("svg",{"aria-hidden":"true",class:"top-1 left-1 relative w-5 h-5 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20","stroke-width":"1",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),tCt=[eCt],nCt=["onClick"],sCt=Yt(()=>l("span",{class:"-top-9 left-2 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Remount"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-1 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 30 30",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("g",{id:"surface1"},[l("path",{style:{},d:"M 16 4 C 10.886719 4 6.617188 7.160156 4.875 11.625 L 6.71875 12.375 C 8.175781 8.640625 11.710938 6 16 6 C 19.242188 6 22.132813 7.589844 23.9375 10 L 20 10 L 20 12 L 27 12 L 27 5 L 25 5 L 25 8.09375 C 22.808594 5.582031 19.570313 4 16 4 Z M 25.28125 19.625 C 23.824219 23.359375 20.289063 26 16 26 C 12.722656 26 9.84375 24.386719 8.03125 22 L 12 22 L 12 20 L 5 20 L 5 27 L 7 27 L 7 23.90625 C 9.1875 26.386719 12.394531 28 16 28 C 21.113281 28 25.382813 24.839844 27.125 20.375 Z "})])])],-1)),iCt=[sCt],rCt=["onClick"],oCt=Yt(()=>l("span",{class:"-top-6 -left-6 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Talk"},[l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-1 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 24 24",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[l("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),l("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})])],-1)),aCt=[oCt],lCt={class:"w-fit"},cCt={class:"w-fit"},dCt={class:"relative grow"},uCt={class:"flex items-center space-x-3"},pCt=Yt(()=>l("svg",{class:"animate-spin h-5 w-5",viewBox:"0 0 24 24"},[l("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),l("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)),_Ct=Yt(()=>l("span",null,"Stop",-1)),hCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})],-1)),fCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"})],-1)),mCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})],-1)),gCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),bCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 13a3 3 0 11-6 0 3 3 0 016 0z"})],-1)),ECt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})],-1)),yCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})],-1)),vCt=Yt(()=>l("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})],-1)),SCt=Yt(()=>l("div",{class:"ml-auto gap-2"},null,-1));function TCt(t,e,n,s,i,r){const o=tt("MountedPersonalitiesList"),a=tt("MountedPersonalities"),c=tt("PersonalitiesCommands"),d=tt("ChatBarButton"),u=tt("UniversalForm");return T(),x(Fe,null,[l("div",Hxt,[i.filesList.length>0||i.showPersonalities?(T(),x("div",qxt,[l("div",$xt,[l("button",{class:"mx-1 w-full text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:i.showfilesList?"Hide file list":"Show file list",type:"button",onClick:e[0]||(e[0]=j(h=>i.showfilesList=!i.showfilesList,["stop"]))},Kxt,8,Yxt)]),i.filesList.length>0&&i.showfilesList==!0?(T(),x("div",jxt,[l("div",Qxt,[V(ii,{name:"list",tag:"div",class:"flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light scrollbar-thumb-bg-light-tone hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark dark:scrollbar-thumb-bg-dark-tone dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(i.filesList,(h,f)=>(T(),x("div",{key:f+"-"+h.name},[l("div",{class:"m-1",title:h.name},[l("div",Zxt,[i.isFileSentList[f]?G("",!0):(T(),x("div",Jxt,n1t)),s1t,l("div",{class:Ge(["line-clamp-1 w-3/5",i.isFileSentList[f]?"text-green-500":"text-red-200"])},K(h.name),3),i1t,l("div",r1t,[l("p",o1t,K(r.computedFileSize(h.size)),1),l("button",{type:"button",title:"Remove item",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:m=>r.removeItem(h)},c1t,8,a1t)])])],8,Xxt)]))),128))]),_:1})])])):G("",!0),i.filesList.length>0?(T(),x("div",d1t,[l("div",u1t,[p1t,Je(" "+K(i.totalSize)+" ("+K(i.filesList.length)+") ",1)]),_1t,l("button",{type:"button",title:"Clear all",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:e[1]||(e[1]=(...h)=>r.clear_files&&r.clear_files(...h))},f1t),l("button",{type:"button",title:"Download database",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:e[2]||(e[2]=(...h)=>r.download_files&&r.download_files(...h))},g1t)])):G("",!0),i.showPersonalities?(T(),x("div",b1t,[V(o,{ref:"mountedPersList",onShowPersList:r.onShowPersListFun,"on-mounted":r.onMountFun,"on-un-mounted":r.onUnmountFun,"on-remounted":t.onRemountFun,"on-talk":r.handleOnTalk,discussionPersonalities:r.allDiscussionPersonalities},null,8,["onShowPersList","on-mounted","on-un-mounted","on-remounted","on-talk","discussionPersonalities"])])):G("",!0)])):G("",!0),i.selecting_model||i.selecting_binding?(T(),x("div",E1t,[l("div",y1t,[l("img",{src:i.loader_v0,class:"w-50 h-50"},null,8,v1t),S1t])])):G("",!0),l("div",T1t,[l("div",x1t,[n.loading?(T(),x("div",C1t,[l("img",{src:i.loader_v0},null,8,w1t),R1t])):G("",!0),n.loading?G("",!0):(T(),x("div",A1t,[l("div",N1t,[l("div",O1t,[(T(!0),x(Fe,null,Ke(r.installedBindings,(h,f)=>(T(),x("div",{class:"w-fit h-fit inset-0 opacity-100",key:f+"-"+h.name,ref_for:!0,ref:"installedBindings",onMouseover:m=>r.showBindingHoveredIn(f),onMouseleave:e[4]||(e[4]=m=>r.showBindingHoveredOut())},[f!=r.binding_name?(T(),x("div",{key:0,class:Ge(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",i.bindingHoveredIndex===f?"scale-150":""])},[l("div",I1t,[l("button",{onClick:j(m=>r.setBinding(h),["prevent"]),class:"w-10 h-10 relative"},[l("img",{src:h.icon?h.icon:i.modelImgPlaceholder,onError:e[3]||(e[3]=(...m)=>i.modelImgPlaceholder&&i.modelImgPlaceholder(...m)),class:Ge(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",i.bindingHoveredIndex===f?"scale-150 ":""+h.name==r.binding_name?"border-secondary":"border-transparent z-0"]),title:h.name},null,42,D1t)],8,k1t)])],2)):G("",!0)],40,M1t))),128))])]),l("div",L1t,[l("button",{onClick:e[5]||(e[5]=j(h=>r.showModelConfig(),["prevent"])),class:"w-8 h-8"},[l("img",{src:r.currentBindingIcon,class:"w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary hover:scale-110 hover:-translate-y-1 duration-200",title:r.currentBinding?r.currentBinding.name:"unknown"},null,8,P1t)])])])),n.loading?G("",!0):(T(),x("div",F1t,[l("div",U1t,[l("div",B1t,[(T(!0),x(Fe,null,Ke(r.installedModels,(h,f)=>(T(),x("div",{class:"w-fit h-fit",key:f+"-"+h.name,ref_for:!0,ref:"installedModels",onMouseover:m=>r.showModelHoveredIn(f),onMouseleave:e[7]||(e[7]=m=>r.showModelHoveredOut())},[f!=r.model_name?(T(),x("div",{key:0,class:Ge(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",i.modelHoveredIndex===f?"scale-150":""])},[l("div",V1t,[l("button",{onClick:j(m=>r.setModel(h),["prevent"]),class:"w-10 h-10 relative"},[l("img",{src:h.icon?h.icon:i.modelImgPlaceholder,onError:e[6]||(e[6]=(...m)=>t.personalityImgPlacehodler&&t.personalityImgPlacehodler(...m)),class:Ge(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",i.modelHoveredIndex===f?"scale-150 ":""+h.name==r.model_name?"border-secondary":"border-transparent z-0"]),title:h.name},null,42,H1t)],8,z1t)])],2)):G("",!0)],40,G1t))),128))])]),l("div",q1t,[l("button",{onClick:e[8]||(e[8]=j(h=>r.copyModelName(),["prevent"])),class:"w-8 h-8"},[l("img",{src:r.currentModelIcon,class:"w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary hover:scale-110 hover:-translate-y-1 duration-400",title:r.currentModel?r.currentModel.name:"unknown"},null,8,$1t)])])])),n.loading?G("",!0):(T(),x("div",Y1t,[l("div",W1t,[l("div",K1t,[(T(!0),x(Fe,null,Ke(r.mountedPersonalities,(h,f)=>(T(),x("div",{class:"w-fit h-fit inset-0 opacity-100",key:f+"-"+h.name,ref_for:!0,ref:"mountedPersonalities",onMouseover:m=>r.showPersonalityHoveredIn(f),onMouseleave:e[10]||(e[10]=m=>r.showPersonalityHoveredOut())},[f!=r.personality_name?(T(),x("div",{key:0,class:Ge(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",i.personalityHoveredIndex===f?"scale-150":""])},[l("div",Q1t,[l("button",{onClick:j(m=>r.onPersonalitySelected(h),["prevent"]),class:"w-10 h-10 relative"},[l("img",{src:i.bUrl+h.avatar,onError:e[9]||(e[9]=(...m)=>t.personalityImgPlacehodler&&t.personalityImgPlacehodler(...m)),class:Ge(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",i.personalityHoveredIndex===f?"scale-150 ":""+this.$store.state.active_personality_id==this.$store.state.personalities.indexOf(h.full_path)?"border-secondary":"border-transparent z-0"]),title:h.name},null,42,Z1t)],8,X1t),i.personalityHoveredIndex===f?(T(),x("button",{key:0,onClick:j(m=>r.unmountPersonality(h),["prevent"])},tCt,8,J1t)):G("",!0),i.personalityHoveredIndex===f?(T(),x("button",{key:1,onClick:j(m=>r.remount_personality(h),["prevent"])},iCt,8,nCt)):G("",!0),i.personalityHoveredIndex===f?(T(),x("button",{key:2,onClick:j(m=>r.handleOnTalk(h),["prevent"])},aCt,8,rCt)):G("",!0)])],2)):G("",!0)],40,j1t))),128))])]),V(a,{ref:"mountedPers",onShowPersList:r.onShowPersListFun,onReady:r.onPersonalitiesReadyFun},null,8,["onShowPersList","onReady"])])),l("div",lCt,[i.personalities_ready&&this.$store.state.mountedPersArr[this.$store.state.config.active_personality_id].commands!=""?(T(),dt(c,{key:0,commandsList:this.$store.state.mountedPersArr[this.$store.state.config.active_personality_id].commands,sendCommand:r.sendCMDEvent,"on-show-toast-message":n.onShowToastMessage,ref:"personalityCMD"},null,8,["commandsList","sendCommand","on-show-toast-message"])):G("",!0)]),l("div",cCt,[r.isDataSourceNamesValid?(T(),dt(c,{key:0,icon:"feather:book",commandsList:r.dataSourceNames,sendCommand:r.mountDB,"on-show-toast-message":n.onShowToastMessage,ref:"databasesList"},null,8,["commandsList","sendCommand","on-show-toast-message"])):G("",!0)]),l("div",dCt,[l("form",null,[P(l("textarea",{id:"chat",rows:"1","onUpdate:modelValue":e[11]||(e[11]=h=>i.message=h),onPaste:e[12]||(e[12]=(...h)=>r.handlePaste&&r.handlePaste(...h)),onKeydown:e[13]||(e[13]=zs(j(h=>r.submitOnEnter(h),["exact"]),["enter"])),class:"w-full p-3 text-sm text-gray-900 dark:text-white bg-gray-100 dark:bg-gray-700 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none",placeholder:"Send message..."},null,544),[[pe,i.message]])])]),l("div",uCt,[n.loading?(T(),dt(d,{key:0,onClick:r.stopGenerating,class:"bg-red-500 dark:bg-red-600 hover:bg-red-600 dark:hover:bg-red-700"},{icon:Ie(()=>[pCt]),default:Ie(()=>[_Ct]),_:1},8,["onClick"])):(T(),dt(d,{key:1,onClick:r.submit,title:"Send"},{icon:Ie(()=>[hCt]),_:1},8,["onClick"])),V(d,{onClick:r.submitWithInternetSearch,title:"Send with internet search"},{icon:Ie(()=>[fCt]),_:1},8,["onClick"]),V(d,{onClick:r.startSpeechRecognition,class:Ge({"text-red-500":i.isListeningToVoice}),title:"Voice input"},{icon:Ie(()=>[mCt]),_:1},8,["onClick","class"]),t.$store.state.config.active_tts_service!="None"&&t.$store.state.config.active_tts_service!=null&&this.$store.state.config.active_stt_service!="None"&&this.$store.state.config.active_stt_service!=null?(T(),dt(d,{key:2,onClick:e[14]||(e[14]=h=>i.is_rt?r.stopRTCom:r.startRTCom),class:Ge(i.is_rt?"bg-red-500 dark:bg-red-600":"bg-green-500 dark:bg-green-600"),title:"Real-time audio mode"},{icon:Ie(()=>[Je(" 🍓 ")]),_:1},8,["class"])):G("",!0),V(d,{onClick:r.add_file,title:"Send file"},{icon:Ie(()=>[gCt]),_:1},8,["onClick"]),V(d,{onClick:r.takePicture,title:"Take picture"},{icon:Ie(()=>[bCt]),_:1},8,["onClick"]),V(d,{onClick:r.addWebLink,title:"Add web link"},{icon:Ie(()=>[ECt]),_:1},8,["onClick"]),V(d,{onClick:r.makeAnEmptyUserMessage,title:"New user message",class:"text-gray-600 dark:text-gray-300"},{icon:Ie(()=>[yCt]),_:1},8,["onClick"]),V(d,{onClick:r.makeAnEmptyAIMessage,title:"New AI message",class:"text-red-400 dark:text-red-300"},{icon:Ie(()=>[vCt]),_:1},8,["onClick"])]),l("input",{type:"file",ref:"fileDialog",onChange:e[15]||(e[15]=(...h)=>r.addFiles&&r.addFiles(...h)),multiple:"",style:{display:"none"}},null,544)]),SCt])]),V(u,{ref:"universalForm",class:"z-20"},null,512)],64)}const pN=ot(zxt,[["render",TCt],["__scopeId","data-v-cf2611fa"]]);const xCt={name:"WelcomeComponent",setup(){const t=$k();return{logoSrc:et(()=>t.state.config&&t.state.config.app_custom_logo?`/user_infos/${t.state.config.app_custom_logo}`:Bs)}}},CCt=t=>(vs("data-v-d62e699b"),t=t(),Ss(),t),wCt={class:"flex flex-col items-center justify-center w-full h-full min-h-screen bg-gradient-to-br from-indigo-100 to-purple-100 dark:from-indigo-900 dark:to-purple-900 p-8"},RCt={class:"text-center max-w-4xl"},ACt={class:"flex items-center justify-center gap-8 mb-12"},NCt={class:"relative w-24 h-24"},OCt=["src"],MCt=CCt(()=>l("div",{class:"flex flex-col items-start"},[l("h1",{class:"text-6xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-indigo-600 to-purple-600 dark:from-indigo-400 dark:to-purple-400"}," L🍓LLMS "),l("p",{class:"text-2xl text-gray-600 dark:text-gray-300 italic mt-2"}," Lord of Large Language And Multimodal Systems ")],-1)),ICt=Na('

    Welcome to L🍓LLMS WebUI

    Embark on a journey through the realm of advanced AI with L🍓LLMS, your ultimate companion for intelligent conversations and multimodal interactions. Unleash the power of large language models and explore new frontiers in artificial intelligence.

    Discover the capabilities of L🍓LLMS:

    • Engage in natural language conversations
    • Generate creative content and ideas
    • Analyze complex data and provide insights
    • Assist with coding and technical tasks
    • Process and understand multimodal inputs
    ',1);function kCt(t,e,n,s,i,r){return T(),x("div",wCt,[l("div",RCt,[l("div",ACt,[l("div",NCt,[l("img",{src:s.logoSrc,alt:"LoLLMS Logo",class:"w-24 h-24 rounded-full absolute animate-rolling-ball"},null,8,OCt)]),MCt]),ICt])])}const _N=ot(xCt,[["render",kCt],["__scopeId","data-v-d62e699b"]]);var DCt=function(){function t(e,n){n===void 0&&(n=[]),this._eventType=e,this._eventFunctions=n}return t.prototype.init=function(){var e=this;this._eventFunctions.forEach(function(n){typeof window<"u"&&window.addEventListener(e._eventType,n)})},t}(),Wd=globalThis&&globalThis.__assign||function(){return Wd=Object.assign||function(t){for(var e,n=1,s=arguments.length;n(vs("data-v-9e711246"),t=t(),Ss(),t),VCt={key:0,class:"fixed top-0 left-0 w-screen h-screen flex items-center justify-center bg-gradient-to-br from-blue-100 to-purple-100 dark:from-blue-900 dark:to-purple-900 overflow-hidden"},zCt={class:"absolute inset-0 pointer-events-none overflow-hidden"},HCt=Mt(()=>l("img",{src:aN,alt:"Falling Strawberry",class:"w-6 h-6"},null,-1)),qCt=[HCt],$Ct={class:"flex flex-col items-center text-center max-w-4xl w-full px-4 relative z-10"},YCt={class:"mb-8 w-full"},WCt=Mt(()=>l("div",{class:"text-6xl md:text-7xl font-bold text-red-600 mb-2",style:{"text-shadow":"2px 2px 0px white, -2px -2px 0px white, 2px -2px 0px white, -2px 2px 0px white"}}," L🍓LLMS ",-1)),KCt=Mt(()=>l("p",{class:"text-2xl text-gray-600 dark:text-gray-300 italic"}," One tool to rule them all ",-1)),jCt=Mt(()=>l("p",{class:"text-xl text-gray-500 dark:text-gray-400 mb-6"}," by ParisNeo ",-1)),QCt={class:"bottom-0 text-2xl text-gray-600 dark:text-gray-300 italic"},XCt={class:"w-full h-24 relative overflow-hidden bg-gradient-to-r from-blue-200 to-purple-200 dark:from-blue-800 dark:to-purple-800 rounded-full shadow-lg"},ZCt={class:"w-full max-w-2xl"},JCt={role:"status",class:"w-full"},ewt={class:"text-xl text-gray-700 dark:text-gray-300"},twt={class:"text-2xl font-bold text-blue-600 dark:text-blue-400 mt-2"},nwt=Mt(()=>l("i",{"data-feather":"chevron-right"},null,-1)),swt=[nwt],iwt=Mt(()=>l("i",{"data-feather":"chevron-left"},null,-1)),rwt=[iwt],owt=Na('',1),awt=[owt],lwt={key:0,class:"relative flex flex-col no-scrollbar shadow-lg min-w-[24rem] max-w-[24rem] unicolor-panels-color dark:bg-bg-dark-tone"},cwt={class:"text-light-text-panel dark:text-dark-text-panel panels-color sticky z-10 top-0"},dwt={class:"flex-row p-4 flex items-center gap-3 flex-0"},uwt=Mt(()=>l("i",{"data-feather":"plus"},null,-1)),pwt=[uwt],_wt=Mt(()=>l("i",{"data-feather":"check-square"},null,-1)),hwt=[_wt],fwt={class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Reset database, remove all discussions"},mwt=Mt(()=>l("i",{"data-feather":"database"},null,-1)),gwt=[mwt],bwt=Mt(()=>l("i",{"data-feather":"log-in"},null,-1)),Ewt=[bwt],ywt=Mt(()=>l("i",{"data-feather":"folder"},null,-1)),vwt=[ywt],Swt={key:1,class:"dropdown"},Twt=Mt(()=>l("i",{"data-feather":"search"},null,-1)),xwt=[Twt],Cwt={key:2,class:"flex gap-3 flex-1 items-center duration-75"},wwt=Mt(()=>l("i",{"data-feather":"x"},null,-1)),Rwt=[wwt],Awt=Mt(()=>l("i",{"data-feather":"check"},null,-1)),Nwt=[Awt],Owt=Mt(()=>l("i",{"data-feather":"hard-drive"},null,-1)),Mwt=[Owt],Iwt=Mt(()=>l("i",{"data-feather":"check-circle"},null,-1)),kwt=[Iwt],Dwt=Mt(()=>l("i",{"data-feather":"x-octagon"},null,-1)),Lwt=[Dwt],Pwt=Mt(()=>l("i",{"data-feather":"book"},null,-1)),Fwt=[Pwt],Uwt={key:7,title:"Loading..",class:"flex flex-row flex-grow justify-end"},Bwt=Mt(()=>l("div",{role:"status"},[l("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[l("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),l("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),l("span",{class:"sr-only"},"Loading...")],-1)),Gwt=[Bwt],Vwt={key:0,class:"flex-row items-center gap-3 flex-0 w-full"},zwt={class:"p-4 pt-2"},Hwt={class:"relative"},qwt=Mt(()=>l("div",{class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},[l("div",{class:"scale-75"},[l("i",{"data-feather":"search"})])],-1)),$wt={class:"absolute inset-y-0 right-0 flex items-center pr-3"},Ywt=Mt(()=>l("i",{"data-feather":"x"},null,-1)),Wwt=[Ywt],Kwt={key:1,class:"h-px bg-bg-light p-0 mb-4 px-4 mx-4 border-0 dark:bg-bg-dark"},jwt={key:2,class:"flex flex-row flex-grow p-4 pt-0 items-center"},Qwt={class:"flex flex-row flex-grow"},Xwt={key:0},Zwt={class:"flex flex-row"},Jwt={key:0,class:"flex gap-3"},eRt=Mt(()=>l("i",{"data-feather":"trash"},null,-1)),tRt=[eRt],nRt={key:1,class:"flex gap-3 mx-3 flex-1 items-center justify-end group-hover:visible duration-75"},sRt=Mt(()=>l("i",{"data-feather":"check"},null,-1)),iRt=[sRt],rRt=Mt(()=>l("i",{"data-feather":"x"},null,-1)),oRt=[rRt],aRt={class:"flex gap-3"},lRt=Mt(()=>l("i",{"data-feather":"codepen"},null,-1)),cRt=[lRt],dRt=Mt(()=>l("i",{"data-feather":"folder"},null,-1)),uRt=[dRt],pRt=Mt(()=>l("i",{"data-feather":"bookmark"},null,-1)),_Rt=[pRt],hRt=Mt(()=>l("i",{"data-feather":"list"},null,-1)),fRt=[hRt],mRt={class:"relative flex flex-row flex-grow mb-10 z-0 w-full"},gRt={key:1,class:"gap-2 py-2 my-2 hover:shadow-md hover:bg-primary-light dark:hover:bg-primary rounded-md p-2 duration-75 group cursor-pointer"},bRt=Mt(()=>l("p",{class:"px-3"},"No discussions are found",-1)),ERt=[bRt],yRt=Mt(()=>l("div",{class:"sticky bottom-0 bg-gradient-to-t pointer-events-none from-bg-light-tone dark:from-bg-dark-tone flex flex-grow"},null,-1)),vRt={class:"text-center font-large font-bold text-l drop-shadow-md align-middle"},SRt={key:2,class:"relative flex flex-col flex-grow"},TRt={class:"container pt-4 pb-50 mb-50 w-full"},xRt={key:0,class:"w-full rounded-lg m-2 shadow-lg hover:border-primary dark:hover:border-primary hover:border-solid hover:border-2 border-2 border-transparent even:bg-bg-light-discussion-odd dark:even:bg-bg-dark-discussion-odd flex flex-col overflow-hidden p-4 pb-2 h-[600px]"},CRt=Mt(()=>l("h2",{class:"text-2xl font-bold mb-4"},"Prompt examples",-1)),wRt={key:0,class:"overflow-y-auto flex-grow pr-2 custom-scrollbar"},RRt={class:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4 p-2"},ARt=["onClick"],NRt=["title"],ORt={class:"absolute inset-0 overflow-hidden"},MRt=Mt(()=>l("div",{class:"absolute inset-0 bg-gradient-to-b from-transparent via-transparent to-white dark:to-gray-800 group-hover:opacity-0 transition-opacity duration-300"},null,-1)),IRt=Mt(()=>l("div",{class:"mt-2 text-sm text-gray-500 dark:text-gray-400 opacity-0 group-hover:opacity-100 transition-opacity duration-300"}," Click to select ",-1)),kRt=Mt(()=>l("div",null,[l("br"),l("br"),l("br"),l("br"),l("br"),l("br"),l("br")],-1)),DRt=Mt(()=>l("div",{class:"absolute w-full bottom-0 bg-transparent p-10 pt-16 bg-gradient-to-t from-bg-light dark:from-bg-dark from-5% via-bg-light dark:via-bg-dark via-10% to-transparent to-100%"},null,-1)),LRt={key:0,class:"flex flex-row items-center justify-center h-10"},PRt={key:0,class:"relative flex flex-col no-scrollbar shadow-lg w-1/2 bg-bg-light-tone dark:bg-bg-dark-tone h-full"},FRt={ref:"isolatedContent",class:"h-full"},URt={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},BRt={class:"text-2xl animate-pulse mt-2 text-light-text-panel dark:text-dark-text-panel"},GRt={setup(){},data(){return{lastMessageHtml:"",defaultMessageHtml:` @@ -315,11 +315,11 @@ Error: `+e.error,4,!1)},async unmount_personality(t){if(!t)return{status:!1,erro - `,memory_icon:NCt,active_skills:OCt,inactive_skills:MCt,skillsRegistry:ICt,robot:kCt,posts_headers:{accept:"application/json","Content-Type":"application/json"},host:"",progress_visibility_val:!0,progress_value:0,msgTypes:{MSG_TYPE_CONTENT:1,MSG_TYPE_CONTENT_INVISIBLE_TO_AI:2,MSG_TYPE_CONTENT_INVISIBLE_TO_USER:3},operationTypes:{MSG_OPERATION_TYPE_ADD_CHUNK:0,MSG_OPERATION_TYPE_SET_CONTENT:1,MSG_OPERATION_TYPE_SET_CONTENT_INVISIBLE_TO_AI:2,MSG_OPERATION_TYPE_SET_CONTENT_INVISIBLE_TO_USER:3,MSG_OPERATION_TYPE_EXCEPTION:4,MSG_OPERATION_TYPE_WARNING:5,MSG_OPERATION_TYPE_INFO:6,MSG_OPERATION_TYPE_STEP:7,MSG_OPERATION_TYPE_STEP_START:8,MSG_OPERATION_TYPE_STEP_PROGRESS:9,MSG_OPERATION_TYPE_STEP_END_SUCCESS:10,MSG_OPERATION_TYPE_STEP_END_FAILURE:11,MSG_OPERATION_TYPE_JSON_INFOS:12,MSG_OPERATION_TYPE_REF:13,MSG_OPERATION_TYPE_CODE:14,MSG_OPERATION_TYPE_UI:15,MSG_OPERATION_TYPE_NEW_MESSAGE:16,MSG_OPERATION_TYPE_FINISHED_MESSAGE:17},senderTypes:{SENDER_TYPES_USER:0,SENDER_TYPES_AI:1,SENDER_TYPES_SYSTEM:2},list:[],tempList:[],currentDiscussion:{},discussionArr:[],loading:!1,filterTitle:"",filterInProgress:!1,isCreated:!1,isCheckbox:!1,isSelectAll:!1,showSaveConfirmation:!1,showBrainConfirmation:!1,showConfirmation:!1,chime:new Audio("chime_aud.wav"),showToast:!1,isSearch:!1,isDiscussionBottom:!1,personalityAvatars:[],fileList:[],database_selectorDialogVisible:!1,isDragOverDiscussion:!1,isDragOverChat:!1,leftPanelCollapsed:!1,rightPanelCollapsed:!0,isOpen:!1,discussion_id:0}},methods:{getRandomEdgePosition(){switch(Math.floor(Math.random()*4)){case 0:return 0;case 1:return 100;case 2:return Math.random()*100;case 3:return Math.random()*100}},selectPrompt(t){this.$refs.chatBox.message=t},extractHtml(){if(this.discussionArr.length>0){const t=this.discussionArr[this.discussionArr.length-1].content,e="```html",n="```";let s=t.indexOf(e);if(s===-1)return this.lastMessageHtml=this.defaultMessageHtml,this.renderIsolatedContent(),this.defaultMessageHtml;s+=e.length;let i=t.indexOf(n,s);i===-1?this.lastMessageHtml=t.slice(s).trim():this.lastMessageHtml=t.slice(s,i).trim()}else this.lastMessageHtml=this.defaultMessageHtml;this.renderIsolatedContent()},renderIsolatedContent(){const t=document.createElement("iframe");if(t.style.border="none",t.style.width="100%",t.style.height="100%",this.$refs.isolatedContent){this.$refs.isolatedContent.innerHTML="",this.$refs.isolatedContent.appendChild(t);const e=t.contentDocument||t.contentWindow.document;e.open(),e.write(` + `,memory_icon:PCt,active_skills:FCt,inactive_skills:UCt,skillsRegistry:BCt,robot:GCt,posts_headers:{accept:"application/json","Content-Type":"application/json"},host:"",progress_visibility_val:!0,progress_value:0,msgTypes:{MSG_TYPE_CONTENT:1,MSG_TYPE_CONTENT_INVISIBLE_TO_AI:2,MSG_TYPE_CONTENT_INVISIBLE_TO_USER:3},operationTypes:{MSG_OPERATION_TYPE_ADD_CHUNK:0,MSG_OPERATION_TYPE_SET_CONTENT:1,MSG_OPERATION_TYPE_SET_CONTENT_INVISIBLE_TO_AI:2,MSG_OPERATION_TYPE_SET_CONTENT_INVISIBLE_TO_USER:3,MSG_OPERATION_TYPE_EXCEPTION:4,MSG_OPERATION_TYPE_WARNING:5,MSG_OPERATION_TYPE_INFO:6,MSG_OPERATION_TYPE_STEP:7,MSG_OPERATION_TYPE_STEP_START:8,MSG_OPERATION_TYPE_STEP_PROGRESS:9,MSG_OPERATION_TYPE_STEP_END_SUCCESS:10,MSG_OPERATION_TYPE_STEP_END_FAILURE:11,MSG_OPERATION_TYPE_JSON_INFOS:12,MSG_OPERATION_TYPE_REF:13,MSG_OPERATION_TYPE_CODE:14,MSG_OPERATION_TYPE_UI:15,MSG_OPERATION_TYPE_NEW_MESSAGE:16,MSG_OPERATION_TYPE_FINISHED_MESSAGE:17},senderTypes:{SENDER_TYPES_USER:0,SENDER_TYPES_AI:1,SENDER_TYPES_SYSTEM:2},list:[],tempList:[],currentDiscussion:{},discussionArr:[],loading:!1,filterTitle:"",filterInProgress:!1,isCreated:!1,isCheckbox:!1,isSelectAll:!1,showSaveConfirmation:!1,showBrainConfirmation:!1,showConfirmation:!1,chime:new Audio("chime_aud.wav"),showToast:!1,isSearch:!1,isDiscussionBottom:!1,personalityAvatars:[],fileList:[],database_selectorDialogVisible:!1,isDragOverDiscussion:!1,isDragOverChat:!1,leftPanelCollapsed:!1,rightPanelCollapsed:!0,isOpen:!1,discussion_id:0}},methods:{getRandomEdgePosition(){switch(Math.floor(Math.random()*4)){case 0:return 0;case 1:return 100;case 2:return Math.random()*100;case 3:return Math.random()*100}},selectPrompt(t){this.$refs.chatBox.message=t},extractHtml(){if(this.discussionArr.length>0){const t=this.discussionArr[this.discussionArr.length-1].content,e="```html",n="```";let s=t.indexOf(e);if(s===-1)return this.lastMessageHtml=this.defaultMessageHtml,this.renderIsolatedContent(),this.defaultMessageHtml;s+=e.length;let i=t.indexOf(n,s);i===-1?this.lastMessageHtml=t.slice(s).trim():this.lastMessageHtml=t.slice(s,i).trim()}else this.lastMessageHtml=this.defaultMessageHtml;this.renderIsolatedContent()},renderIsolatedContent(){const t=document.createElement("iframe");if(t.style.border="none",t.style.width="100%",t.style.height="100%",this.$refs.isolatedContent){this.$refs.isolatedContent.innerHTML="",this.$refs.isolatedContent.appendChild(t);const e=t.contentDocument||t.contentWindow.document;e.open(),e.write(` ${this.lastMessageHtml} - `),e.close()}},async triggerRobotAction(){this.rightPanelCollapsed=!this.rightPanelCollapsed,this.rightPanelCollapsed||(this.leftPanelCollapsed=!0,this.$nextTick(()=>{this.extractHtml()})),console.log(this.rightPanelCollapsed)},add_webpage(){console.log("addWebLink received"),this.$refs.web_url_input_box.showPanel()},addWebpage(){ae.post("/add_webpage",{client_id:this.client_id,url:this.$refs.web_url_input_box.inputText},{headers:this.posts_headers}).then(t=>{t&&t.status&&(console.log("Done"),this.recoverFiles())})},show_progress(t){this.progress_visibility_val=!0},hide_progress(t){this.progress_visibility_val=!1},update_progress(t){console.log("Progress update"),this.progress_value=t.value},onSettingsBinding(){try{this.isLoading=!0,ae.get("/get_active_binding_settings").then(t=>{if(this.isLoading=!1,t)if(t.data&&Object.keys(t.data).length>0){const e=this.$store.state.bindingsZoo.find(n=>n.name==this.state.config.binding_name);this.$store.state.universalForm.showForm(t.data,"Binding settings - "+e.binding.name,"Save changes","Cancel").then(n=>{try{ae.post("/set_active_binding_settings",{client_id:this.$store.state.client_id,settings:n}).then(s=>{s&&s.data?(console.log("binding set with new settings",s.data),this.$store.state.toast.showToast("Binding settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get binding settings responses. + `),e.close()}},async triggerRobotAction(){this.rightPanelCollapsed=!this.rightPanelCollapsed,this.rightPanelCollapsed||(this.leftPanelCollapsed=!0,this.$nextTick(()=>{this.extractHtml()})),console.log(this.rightPanelCollapsed)},add_webpage(){console.log("addWebLink received"),this.$refs.web_url_input_box.showPanel()},addWebpage(){oe.post("/add_webpage",{client_id:this.client_id,url:this.$refs.web_url_input_box.inputText},{headers:this.posts_headers}).then(t=>{t&&t.status&&(console.log("Done"),this.recoverFiles())})},show_progress(t){this.progress_visibility_val=!0},hide_progress(t){this.progress_visibility_val=!1},update_progress(t){console.log("Progress update"),this.progress_value=t.value},onSettingsBinding(){try{this.isLoading=!0,oe.get("/get_active_binding_settings").then(t=>{if(this.isLoading=!1,t)if(t.data&&Object.keys(t.data).length>0){const e=this.$store.state.bindingsZoo.find(n=>n.name==this.state.config.binding_name);this.$store.state.universalForm.showForm(t.data,"Binding settings - "+e.binding.name,"Save changes","Cancel").then(n=>{try{oe.post("/set_active_binding_settings",{client_id:this.$store.state.client_id,settings:n}).then(s=>{s&&s.data?(console.log("binding set with new settings",s.data),this.$store.state.toast.showToast("Binding settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get binding settings responses. `+s,4,!1),this.isLoading=!1)})}catch(s){this.$store.state.toast.showToast(`Did not get binding settings responses. - Endpoint error: `+s.message,4,!1),this.isLoading=!1}})}else this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1})}catch(t){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+t.message,4,!1)}},showDatabaseSelector(){this.database_selectorDialogVisible=!0},async ondatabase_selectorDialogRemoved(t){console.log("Deleted:",t)},async ondatabase_selectorDialogSelected(t){console.log("Selected:",t)},onclosedatabase_selectorDialog(){this.database_selectorDialogVisible=!1},async onvalidatedatabase_selectorChoice(t){if(this.database_selectorDialogVisible=!1,(await ae.post("/select_database",{client_id:this.client_id,name:t},{headers:this.posts_headers})).status){console.log("Selected database"),this.$store.state.config=await ae.post("/get_config",{client_id:this.client_id}),console.log("new config loaded :",this.$store.state.config);let n=await ae.get("/list_databases").data;console.log("New list of database: ",n),this.$store.state.databases=n,console.log("New list of database: ",this.$store.state.databases),location.reload()}},async addDiscussion2SkillsLibrary(){(await ae.post("/add_discussion_to_skills_library",{client_id:this.client_id},{headers:this.posts_headers})).status&&console.log("done")},async toggleSkillsLib(){this.$store.state.config.activate_skills_lib=!this.$store.state.config.activate_skills_lib,await this.applyConfiguration()},async showSkillsLib(){this.$refs.skills_lib.showSkillsLibrary()},async applyConfiguration(){this.loading=!0;const t=await ae.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config});this.loading=!1,t.data.status?this.$store.state.toast.showToast("Configuration changed successfully.",4,!0):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})},save_configuration(){this.showConfirmation=!1,ae.post("/save_settings",{}).then(t=>{if(t)return t.status?this.$store.state.toast.showToast("Settings saved!",4,!0):this.$store.state.messageBox.showMessage("Error: Couldn't save settings!"),t.data}).catch(t=>(console.log(t.message,"save_configuration"),this.$store.state.messageBox.showMessage("Couldn't save settings!"),{status:!1}))},showToastMessage(t,e,n){console.log("sending",t),this.$store.state.toast.showToast(t,e,n)},togglePanel(){this.leftPanelCollapsed=!this.leftPanelCollapsed,this.leftPanelCollapsed||(this.rightPanelCollapsed=!0)},toggleDropdown(){this.isOpen=!this.isOpen},importChatGPT(){},async api_get_req(t){try{const e=await ae.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req");return}},async list_discussions(){try{const t=await ae.get("/list_discussions");if(t)return this.createDiscussionList(t.data),t.data}catch(t){return console.log("Error: Could not list discussions",t.message),[]}},load_discussion(t,e){t&&(console.log("Loading discussion",t),this.loading=!0,this.discussionArr=[],this.setDiscussionLoading(t,this.loading),qe.on("discussion",n=>{console.log("Discussion recovered"),this.loading=!1,this.setDiscussionLoading(t,this.loading),n&&(this.discussionArr=n.filter(s=>s.message_type==this.msgTypes.MSG_TYPE_CONTENT||s.message_type==this.msgTypes.MSG_TYPE_CONTENT_INVISIBLE_TO_AI),this.discussionArr.forEach(s=>{s.status_message="Done"}),console.log("this.discussionArr"),console.log(this.discussionArr),e&&e()),qe.off("discussion"),this.extractHtml()}),qe.emit("load_discussion",{id:t}))},recoverFiles(){console.log("Recovering files"),ae.post("/get_discussion_files_list",{client_id:this.$store.state.client_id}).then(t=>{this.$refs.chatBox.filesList=t.data.files,this.$refs.chatBox.isFileSentList=t.data.files.map(e=>!0),console.log(`Files recovered: ${this.$refs.chatBox.filesList}`)})},new_discussion(t){try{this.loading=!0,qe.on("discussion_created",e=>{qe.off("discussion_created"),this.list_discussions().then(()=>{const n=this.list.findIndex(i=>i.id==e.id),s=this.list[n];this.selectDiscussion(s),this.load_discussion(e.id,()=>{this.loading=!1,this.recoverFiles(),Le(()=>{const i=document.getElementById("dis-"+e.id);this.scrollToElement(i),console.log("Scrolling tp "+i)})})})}),console.log("new_discussion ",t),qe.emit("new_discussion",{title:t})}catch(e){return console.log("Error: Could not create new discussion",e.message),{}}},async delete_discussion(t){try{t&&(this.loading=!0,this.setDiscussionLoading(t,this.loading),await ae.post("/delete_discussion",{client_id:this.client_id,id:t},{headers:this.posts_headers}),this.loading=!1,this.setDiscussionLoading(t,this.loading))}catch(e){console.log("Error: Could not delete discussion",e.message),this.loading=!1,this.setDiscussionLoading(t,this.loading)}},async edit_title(t,e){try{if(t){this.loading=!0,this.setDiscussionLoading(t,this.loading);const n=await ae.post("/edit_title",{client_id:this.client_id,id:t,title:e},{headers:this.posts_headers});if(this.loading=!1,this.setDiscussionLoading(t,this.loading),n.status==200){const s=this.list.findIndex(r=>r.id==t),i=this.list[s];i.title=e,this.tempList=this.list}}}catch(n){console.log("Error: Could not edit title",n.message),this.loading=!1,this.setDiscussionLoading(t,this.loading)}},async make_title(t){try{if(t){this.loading=!0,this.setDiscussionLoading(t,this.loading);const e=await ae.post("/make_title",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(console.log("Making title:",e),this.loading=!1,this.setDiscussionLoading(t,this.loading),e.status==200){const n=this.list.findIndex(i=>i.id==t),s=this.list[n];s.title=e.data.title,this.tempList=this.list}}}catch(e){console.log("Error: Could not edit title",e.message),this.loading=!1,this.setDiscussionLoading(t,this.loading)}},async delete_message(t){try{console.log(typeof t),console.log(typeof this.client_id),console.log(t),console.log(this.client_id);const e=await ae.post("/delete_message",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(e)return e.data}catch(e){return console.log("Error: Could delete message",e.message),{}}},async stop_gen(){try{if(this.discussionArr.length>0){const t=this.discussionArr[this.discussionArr.length-1];t.status_message="Generation canceled"}if(qe.emit("cancel_generation"),res)return res.data}catch(t){return console.log("Error: Could not stop generating",t.message),{}}},async message_rank_up(t){try{const e=await ae.post("/message_rank_up",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(e)return e.data}catch(e){return console.log("Error: Could not rank up message",e.message),{}}},async message_rank_down(t){try{const e=await ae.post("/message_rank_down",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(e)return e.data}catch(e){return console.log("Error: Could not rank down message",e.message),{}}},async edit_message(t,e,n){try{console.log(typeof this.client_id),console.log(typeof t),console.log(typeof e),console.log(typeof{audio_url:n});const s=await ae.post("/edit_message",{client_id:this.client_id,id:t,message:e,metadata:[{audio_url:n}]},{headers:this.posts_headers});if(s)return s.data}catch(s){return console.log("Error: Could not update message",s.message),{}}},async export_multiple_discussions(t,e){try{if(t.length>0){const n=await ae.post("/export_multiple_discussions",{client_id:this.$store.state.client_id,discussion_ids:t,export_format:e},{headers:this.posts_headers});if(n)return n.data}}catch(n){return console.log("Error: Could not export multiple discussions",n.message),{}}},async import_multiple_discussions(t){try{if(t.length>0){console.log("sending import",t);const e=await ae.post("/import_multiple_discussions",{client_id:this.$store.state.client_id,jArray:t},{headers:this.posts_headers});if(e)return console.log("import response",e.data),e.data}}catch(e){console.log("Error: Could not import multiple discussions",e.message);return}},filterDiscussions(){this.filterInProgress||(this.filterInProgress=!0,setTimeout(()=>{this.filterTitle?this.list=this.tempList.filter(t=>t.title&&t.title.includes(this.filterTitle)):this.list=this.tempList,this.filterInProgress=!1},100))},async selectDiscussion(t){if(this.isGenerating){this.$store.state.toast.showToast("You are currently generating a text. Please wait for text generation to finish or stop it before trying to select another discussion",4,!1);return}t&&(this.currentDiscussion===void 0?(this.currentDiscussion=t,this.setPageTitle(t),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(t.id,()=>{this.discussionArr.length>1&&((this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content),this.recoverFiles())})):this.currentDiscussion.id!=t.id&&(console.log("item",t),console.log("this.currentDiscussion",this.currentDiscussion),this.currentDiscussion=t,console.log("this.currentDiscussion",this.currentDiscussion),this.setPageTitle(t),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(t.id,()=>{this.discussionArr.length>1&&(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content),this.recoverFiles()})),Le(()=>{const e=document.getElementById("dis-"+this.currentDiscussion.id);this.scrollToElementInContainer(e,"leftPanel");const n=document.getElementById("messages-list");this.scrollBottom(n)}))},scrollToElement(t){t?t.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"}):console.log("Error: scrollToElement")},scrollToElementInContainer(t,e){try{const n=t.offsetTop;document.getElementById(e).scrollTo({top:n,behavior:"smooth"})}catch{console.log("error")}},scrollBottom(t){t?t.scrollTo({top:t.scrollHeight,behavior:"smooth"}):console.log("Error: scrollBottom")},scrollTop(t){t?t.scrollTo({top:0,behavior:"smooth"}):console.log("Error: scrollTop")},createUserMsg(t){let e={content:t.message,id:t.id,rank:0,sender:t.user,created_at:t.created_at,steps:[],html_js_s:[],status_message:"Warming up"};this.discussionArr.push(e),Le(()=>{const n=document.getElementById("messages-list");this.scrollBottom(n)})},updateLastUserMsg(t){const e=this.discussionArr.indexOf(s=>s.id=t.user_id),n={binding:t.binding,content:t.message,created_at:t.created_at,type:t.type,finished_generating_at:t.finished_generating_at,id:t.user_id,model:t.model,personality:t.personality,sender:t.user,steps:[]};e!==-1&&(this.discussionArr[e]=n)},async socketIOConnected(){console.log("socketIOConnected")},socketIODisconnected(){return console.log("socketIOConnected"),this.currentDiscussion=null,this.$store.dispatch("refreshModels"),this.$store.state.isConnected=!1,!0},new_message(t){t.sender_type==this.SENDER_TYPES_AI&&(this.isGenerating=!0),console.log("Making a new message"),console.log("New message",t);let e={sender:t.sender,message_type:t.message_type,sender_type:t.sender_type,content:t.content,id:t.id,discussion_id:t.discussion_id,parent_id:t.parent_id,binding:t.binding,model:t.model,personality:t.personality,created_at:t.created_at,finished_generating_at:t.finished_generating_at,rank:0,ui:t.ui,steps:[],parameters:t.parameters,metadata:t.metadata,open:t.open};e.status_message="Warming up",console.log(e),this.discussionArr.push(e),(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,t.message),console.log("infos",t)},async talk(t){this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating);let e=await ae.get("/get_generation_status",{});if(e)if(e.data.status)console.log("Already generating");else{const n=this.$store.state.config.personalities.findIndex(i=>i===t.full_path),s={client_id:this.$store.state.client_id,id:n};e=await ae.post("/select_personality",s),console.log("Generating message from ",e.data.status),qe.emit("generate_msg_from",{id:-1})}},createEmptyUserMessage(t){qe.emit("create_empty_message",{type:0,message:t})},createEmptyAIMessage(){qe.emit("create_empty_message",{type:1})},sendMsg(t,e){if(!t){this.$store.state.toast.showToast("Message contains no content!",4,!1);return}this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),ae.get("/get_generation_status",{}).then(n=>{if(n)if(n.data.status)console.log("Already generating");else{e=="internet"?qe.emit("generate_msg_with_internet",{prompt:t}):qe.emit("generate_msg",{prompt:t});let s=0;this.discussionArr.length>0&&(s=Number(this.discussionArr[this.discussionArr.length-1].id)+1);let i={message:t,id:s,rank:0,user:this.$store.state.config.user_name,created_at:new Date().toLocaleString(),sender:this.$store.state.config.user_name,message_type:this.operationTypes.MSG_TYPE_CONTENT,sender_type:this.senderTypes.SENDER_TYPES_USER,content:t,id:s,discussion_id:this.discussion_id,parent_id:s,binding:"",model:"",personality:"",created_at:new Date().toLocaleString(),finished_generating_at:new Date().toLocaleString(),rank:0,steps:[],parameters:null,metadata:[],ui:null};this.createUserMsg(i)}}).catch(n=>{console.log("Error: Could not get generation status",n)})},sendCmd(t){this.isGenerating=!0,qe.emit("execute_command",{command:t,parameters:[]})},notify(t){self.isGenerating=!1,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),Le(()=>{const e=document.getElementById("messages-list");this.scrollBottom(e)}),t.display_type==0?this.$store.state.toast.showToast(t.content,t.duration,t.notification_type):t.display_type==1?this.$store.state.messageBox.showMessage(t.content):t.display_type==2?(this.$store.state.messageBox.hideMessage(),this.$store.state.yesNoDialog.askQuestion(t.content,"Yes","No").then(e=>{qe.emit("yesNoRes",{yesRes:e})})):t.display_type==3?this.$store.state.messageBox.showBlockingMessage(t.content):t.display_type==4&&this.$store.state.messageBox.hideMessage(),this.chime.play()},update_message(t){if(console.log("update_message trigged"),console.log(t),this.discussion_id=t.discussion_id,this.setDiscussionLoading(this.discussion_id,!0),this.currentDiscussion.id==this.discussion_id){console.log("discussion ok");const e=this.discussionArr.findIndex(s=>s.id==t.id),n=this.discussionArr[e];if(n&&(t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_SET_CONTENT||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_SET_CONTENT_INVISIBLE_TO_AI))console.log("Content triggered"),this.isGenerating=!0,n.content=t.content,n.created_at=t.created_at,n.started_generating_at=t.started_generating_at,n.nb_tokens=t.nb_tokens,n.finished_generating_at=t.finished_generating_at,this.extractHtml();else if(n&&t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_ADD_CHUNK)this.isGenerating=!0,n.content+=t.content,console.log("Chunk triggered"),n.created_at=t.created_at,n.started_generating_at=t.started_generating_at,n.nb_tokens=t.nb_tokens,n.finished_generating_at=t.finished_generating_at,this.extractHtml();else if(t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP_START||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP_END_SUCCESS||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP_END_FAILURE)Array.isArray(t.steps)?(n.status_message=t.steps[t.steps.length-1].text,console.log("step Content: ",n.status_message),n.steps=t.steps,console.log("steps: ",t.steps)):console.error("Invalid steps data:",t.steps);else if(t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_JSON_INFOS)if(console.log("metadata triggered",t.operation_type),console.log("metadata",t.metadata),typeof t.metadata=="string")try{n.metadata=JSON.parse(t.metadata)}catch(s){console.error("Error parsing metadata string:",s),n.metadata={raw:t.metadata}}else Array.isArray(t.metadata)||typeof t.metadata=="object"?n.metadata=t.metadata:n.metadata={value:t.metadata};else t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_UI?(console.log("UI triggered",t.operation_type),console.log("UI",t.ui),n.ui=t.ui):t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_EXCEPTION&&this.$store.state.toast.showToast(t.content,5,!1)}this.$nextTick(()=>{ze.replace()})},async changeTitleUsingUserMSG(t,e){const n=this.list.findIndex(i=>i.id==t),s=this.list[n];e&&(s.title=e,this.tempList=this.list,await this.edit_title(t,e))},async createNewDiscussion(){this.new_discussion(null)},loadLastUsedDiscussion(){console.log("Loading last discussion");const t=localStorage.getItem("selected_discussion");if(console.log("Last discussion id: ",t),t){const e=this.list.findIndex(s=>s.id==t),n=this.list[e];n&&this.selectDiscussion(n)}},onCopyPersonalityName(t){this.$store.state.toast.showToast("Copied name to clipboard!",4,!0),navigator.clipboard.writeText(t.name)},async deleteDiscussion(t){await this.delete_discussion(t),this.currentDiscussion.id==t&&(this.currentDiscussion={},this.discussionArr=[],this.setPageTitle()),this.list.splice(this.list.findIndex(e=>e.id==t),1),this.createDiscussionList(this.list)},async deleteDiscussionMulti(){const t=this.selectedDiscussions;for(let e=0;es.id==n.id),1)}this.tempList=this.list,this.isCheckbox=!1,this.$store.state.toast.showToast("Removed ("+t.length+") items",4,!0),this.showConfirmation=!1,console.log("Multi delete done")},async deleteMessage(t){await this.delete_message(t).then(()=>{this.discussionArr.splice(this.discussionArr.findIndex(e=>e.id==t),1)}).catch(()=>{this.$store.state.toast.showToast("Could not remove message",4,!1),console.log("Error: Could not delete message")})},async openFolder(t){const e=JSON.stringify({client_id:this.$store.state.client_id,discussion_id:t.id});console.log(e),await ae.post("/open_discussion_folder",e,{method:"POST",headers:{"Content-Type":"application/json"}})},async editTitle(t){const e=this.list.findIndex(s=>s.id==t.id),n=this.list[e];n.title=t.title,n.loading=!0,await this.edit_title(t.id,t.title),n.loading=!1},async makeTitle(t){this.list.findIndex(e=>e.id==t.id),await this.make_title(t.id)},checkUncheckDiscussion(t,e){const n=this.list.findIndex(i=>i.id==e),s=this.list[n];s.checkBoxValue=t.target.checked,this.tempList=this.list},selectAllDiscussions(){this.isSelectAll=!this.tempList.filter(t=>t.checkBoxValue==!1).length>0;for(let t=0;t({id:n.id,title:n.title,selected:!1,loading:!1,checkBoxValue:!1})).sort(function(n,s){return s.id-n.id});this.list=e,this.tempList=e}},setDiscussionLoading(t,e){try{const n=this.list.findIndex(i=>i.id==t),s=this.list[n];s.loading=e}catch{console.log("Error setting discussion loading")}},setPageTitle(t){if(t)if(t.id){const e=t.title?t.title==="untitled"?"New discussion":t.title:"New discussion";document.title="L🍓LLMS WebUI - "+e}else{const e=t||"Welcome";document.title="L🍓LLMS WebUI - "+e}else{const e=t||"Welcome";document.title="L🍓LLMS WebUI - "+e}},async rankUpMessage(t){await this.message_rank_up(t).then(e=>{const n=this.discussionArr[this.discussionArr.findIndex(s=>s.id==t)];n.rank=e.new_rank}).catch(()=>{this.$store.state.toast.showToast("Could not rank up message",4,!1),console.log("Error: Could not rank up message")})},async rankDownMessage(t){await this.message_rank_down(t).then(e=>{const n=this.discussionArr[this.discussionArr.findIndex(s=>s.id==t)];n.rank=e.new_rank}).catch(()=>{this.$store.state.toast.showToast("Could not rank down message",4,!1),console.log("Error: Could not rank down message")})},async updateMessage(t,e,n){await this.edit_message(t,e,n).then(()=>{const s=this.discussionArr[this.discussionArr.findIndex(i=>i.id==t)];s.content=e}).catch(()=>{this.$store.state.toast.showToast("Could not update message",4,!1),console.log("Error: Could not update message")})},resendMessage(t,e,n){Le(()=>{ze.replace()}),this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),ae.get("/get_generation_status",{}).then(s=>{s&&(s.data.status?(this.$store.state.toast.showToast("The server is busy. Wait",4,!1),console.log("Already generating")):qe.emit("generate_msg_from",{prompt:e,id:t,msg_type:n}))}).catch(s=>{console.log("Error: Could not get generation status",s)})},continueMessage(t,e){Le(()=>{ze.replace()}),this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),ae.get("/get_generation_status",{}).then(n=>{n&&(n.data.status?console.log("Already generating"):qe.emit("continue_generate_msg_from",{prompt:e,id:t}))}).catch(n=>{console.log("Error: Could not get generation status",n)})},stopGenerating(){this.stop_gen(),this.isGenerating=!1,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),console.log("Stopped generating"),Le(()=>{const t=document.getElementById("messages-list");this.scrollBottom(t)})},finalMsgEvent(t){let e=0;this.discussion_id=t.discussion_id,this.currentDiscussion.id==this.discussion_id&&(e=this.discussionArr.findIndex(s=>s.id==t.id),this.discussionArr[e].content=t.content,this.discussionArr[e].finished_generating_at=t.finished_generating_at),Le(()=>{const s=document.getElementById("messages-list");this.scrollBottom(s),this.recoverFiles()}),this.isGenerating=!1,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),this.chime.play(),e=this.discussionArr.findIndex(s=>s.id==t.id);const n=this.discussionArr[e];if(n.status_message="Done",console.log("final",t),this.$store.state.config.auto_speak&&this.$store.state.config.xtts_enable&&this.$store.state.config.xtts_use_streaming_mode){e=this.discussionArr.findIndex(i=>i.id==t.id);let s=this.$refs["msg-"+t.id][0];console.log(s),s.speak()}},copyToClipBoard(t){let e="";if(t.message.content&&(e=t.message.content),this.$store.state.config.copy_to_clipboard_add_all_details){let n="";t.message.binding&&(n=`Binding: ${t.message.binding}`);let s="";t.message.personality&&(s=` + Endpoint error: `+s.message,4,!1),this.isLoading=!1}})}else this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1})}catch(t){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+t.message,4,!1)}},showDatabaseSelector(){this.database_selectorDialogVisible=!0},async ondatabase_selectorDialogRemoved(t){console.log("Deleted:",t)},async ondatabase_selectorDialogSelected(t){console.log("Selected:",t)},onclosedatabase_selectorDialog(){this.database_selectorDialogVisible=!1},async onvalidatedatabase_selectorChoice(t){if(this.database_selectorDialogVisible=!1,(await oe.post("/select_database",{client_id:this.client_id,name:t},{headers:this.posts_headers})).status){console.log("Selected database"),this.$store.state.config=await oe.post("/get_config",{client_id:this.client_id}),console.log("new config loaded :",this.$store.state.config);let n=await oe.get("/list_databases").data;console.log("New list of database: ",n),this.$store.state.databases=n,console.log("New list of database: ",this.$store.state.databases),location.reload()}},async addDiscussion2SkillsLibrary(){(await oe.post("/add_discussion_to_skills_library",{client_id:this.client_id},{headers:this.posts_headers})).status&&console.log("done")},async toggleSkillsLib(){this.$store.state.config.activate_skills_lib=!this.$store.state.config.activate_skills_lib,await this.applyConfiguration()},async showSkillsLib(){this.$refs.skills_lib.showSkillsLibrary()},async applyConfiguration(){this.loading=!0;const t=await oe.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config});this.loading=!1,t.data.status?this.$store.state.toast.showToast("Configuration changed successfully.",4,!0):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Le(()=>{ze.replace()})},save_configuration(){this.showConfirmation=!1,oe.post("/save_settings",{}).then(t=>{if(t)return t.status?this.$store.state.toast.showToast("Settings saved!",4,!0):this.$store.state.messageBox.showMessage("Error: Couldn't save settings!"),t.data}).catch(t=>(console.log(t.message,"save_configuration"),this.$store.state.messageBox.showMessage("Couldn't save settings!"),{status:!1}))},showToastMessage(t,e,n){console.log("sending",t),this.$store.state.toast.showToast(t,e,n)},togglePanel(){this.leftPanelCollapsed=!this.leftPanelCollapsed,this.leftPanelCollapsed||(this.rightPanelCollapsed=!0)},toggleDropdown(){this.isOpen=!this.isOpen},importChatGPT(){},async api_get_req(t){try{const e=await oe.get("/"+t);if(e)return e.data}catch(e){console.log(e.message,"api_get_req");return}},async list_discussions(){try{const t=await oe.get("/list_discussions");if(t)return this.createDiscussionList(t.data),t.data}catch(t){return console.log("Error: Could not list discussions",t.message),[]}},load_discussion(t,e){t&&(console.log("Loading discussion",t),this.loading=!0,this.discussionArr=[],this.setDiscussionLoading(t,this.loading),qe.on("discussion",n=>{console.log("Discussion recovered"),this.loading=!1,this.setDiscussionLoading(t,this.loading),n&&(this.discussionArr=n.filter(s=>s.message_type==this.msgTypes.MSG_TYPE_CONTENT||s.message_type==this.msgTypes.MSG_TYPE_CONTENT_INVISIBLE_TO_AI),this.discussionArr.forEach(s=>{s.status_message="Done"}),console.log("this.discussionArr"),console.log(this.discussionArr),e&&e()),qe.off("discussion"),this.extractHtml()}),qe.emit("load_discussion",{id:t}))},recoverFiles(){console.log("Recovering files"),oe.post("/get_discussion_files_list",{client_id:this.$store.state.client_id}).then(t=>{this.$refs.chatBox.filesList=t.data.files,this.$refs.chatBox.isFileSentList=t.data.files.map(e=>!0),console.log(`Files recovered: ${this.$refs.chatBox.filesList}`)})},new_discussion(t){try{this.loading=!0,qe.on("discussion_created",e=>{qe.off("discussion_created"),this.list_discussions().then(()=>{const n=this.list.findIndex(i=>i.id==e.id),s=this.list[n];this.selectDiscussion(s),this.load_discussion(e.id,()=>{this.loading=!1,this.recoverFiles(),Le(()=>{const i=document.getElementById("dis-"+e.id);this.scrollToElement(i),console.log("Scrolling tp "+i)})})})}),console.log("new_discussion ",t),qe.emit("new_discussion",{title:t})}catch(e){return console.log("Error: Could not create new discussion",e.message),{}}},async delete_discussion(t){try{t&&(this.loading=!0,this.setDiscussionLoading(t,this.loading),await oe.post("/delete_discussion",{client_id:this.client_id,id:t},{headers:this.posts_headers}),this.loading=!1,this.setDiscussionLoading(t,this.loading))}catch(e){console.log("Error: Could not delete discussion",e.message),this.loading=!1,this.setDiscussionLoading(t,this.loading)}},async edit_title(t,e){try{if(t){this.loading=!0,this.setDiscussionLoading(t,this.loading);const n=await oe.post("/edit_title",{client_id:this.client_id,id:t,title:e},{headers:this.posts_headers});if(this.loading=!1,this.setDiscussionLoading(t,this.loading),n.status==200){const s=this.list.findIndex(r=>r.id==t),i=this.list[s];i.title=e,this.tempList=this.list}}}catch(n){console.log("Error: Could not edit title",n.message),this.loading=!1,this.setDiscussionLoading(t,this.loading)}},async make_title(t){try{if(t){this.loading=!0,this.setDiscussionLoading(t,this.loading);const e=await oe.post("/make_title",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(console.log("Making title:",e),this.loading=!1,this.setDiscussionLoading(t,this.loading),e.status==200){const n=this.list.findIndex(i=>i.id==t),s=this.list[n];s.title=e.data.title,this.tempList=this.list}}}catch(e){console.log("Error: Could not edit title",e.message),this.loading=!1,this.setDiscussionLoading(t,this.loading)}},async delete_message(t){try{console.log(typeof t),console.log(typeof this.client_id),console.log(t),console.log(this.client_id);const e=await oe.post("/delete_message",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(e)return e.data}catch(e){return console.log("Error: Could delete message",e.message),{}}},async stop_gen(){try{if(this.discussionArr.length>0){const t=this.discussionArr[this.discussionArr.length-1];t.status_message="Generation canceled"}if(qe.emit("cancel_generation"),res)return res.data}catch(t){return console.log("Error: Could not stop generating",t.message),{}}},async message_rank_up(t){try{const e=await oe.post("/message_rank_up",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(e)return e.data}catch(e){return console.log("Error: Could not rank up message",e.message),{}}},async message_rank_down(t){try{const e=await oe.post("/message_rank_down",{client_id:this.client_id,id:t},{headers:this.posts_headers});if(e)return e.data}catch(e){return console.log("Error: Could not rank down message",e.message),{}}},async edit_message(t,e,n){try{console.log(typeof this.client_id),console.log(typeof t),console.log(typeof e),console.log(typeof{audio_url:n});const s=await oe.post("/edit_message",{client_id:this.client_id,id:t,message:e,metadata:[{audio_url:n}]},{headers:this.posts_headers});if(s)return s.data}catch(s){return console.log("Error: Could not update message",s.message),{}}},async export_multiple_discussions(t,e){try{if(t.length>0){const n=await oe.post("/export_multiple_discussions",{client_id:this.$store.state.client_id,discussion_ids:t,export_format:e},{headers:this.posts_headers});if(n)return n.data}}catch(n){return console.log("Error: Could not export multiple discussions",n.message),{}}},async import_multiple_discussions(t){try{if(t.length>0){console.log("sending import",t);const e=await oe.post("/import_multiple_discussions",{client_id:this.$store.state.client_id,jArray:t},{headers:this.posts_headers});if(e)return console.log("import response",e.data),e.data}}catch(e){console.log("Error: Could not import multiple discussions",e.message);return}},filterDiscussions(){this.filterInProgress||(this.filterInProgress=!0,setTimeout(()=>{this.filterTitle?this.list=this.tempList.filter(t=>t.title&&t.title.includes(this.filterTitle)):this.list=this.tempList,this.filterInProgress=!1},100))},async selectDiscussion(t){if(this.isGenerating){this.$store.state.toast.showToast("You are currently generating a text. Please wait for text generation to finish or stop it before trying to select another discussion",4,!1);return}t&&(this.currentDiscussion===void 0?(this.currentDiscussion=t,this.setPageTitle(t),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(t.id,()=>{this.discussionArr.length>1&&((this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content),this.recoverFiles())})):this.currentDiscussion.id!=t.id&&(console.log("item",t),console.log("this.currentDiscussion",this.currentDiscussion),this.currentDiscussion=t,console.log("this.currentDiscussion",this.currentDiscussion),this.setPageTitle(t),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(t.id,()=>{this.discussionArr.length>1&&(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content),this.recoverFiles()})),Le(()=>{const e=document.getElementById("dis-"+this.currentDiscussion.id);this.scrollToElementInContainer(e,"leftPanel");const n=document.getElementById("messages-list");this.scrollBottom(n)}))},scrollToElement(t){t?t.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"}):console.log("Error: scrollToElement")},scrollToElementInContainer(t,e){try{const n=t.offsetTop;document.getElementById(e).scrollTo({top:n,behavior:"smooth"})}catch{console.log("error")}},scrollBottom(t){t?t.scrollTo({top:t.scrollHeight,behavior:"smooth"}):console.log("Error: scrollBottom")},scrollTop(t){t?t.scrollTo({top:0,behavior:"smooth"}):console.log("Error: scrollTop")},createUserMsg(t){let e={content:t.message,id:t.id,rank:0,sender:t.user,created_at:t.created_at,steps:[],html_js_s:[],status_message:"Warming up"};this.discussionArr.push(e),Le(()=>{const n=document.getElementById("messages-list");this.scrollBottom(n)})},updateLastUserMsg(t){const e=this.discussionArr.indexOf(s=>s.id=t.user_id),n={binding:t.binding,content:t.message,created_at:t.created_at,type:t.type,finished_generating_at:t.finished_generating_at,id:t.user_id,model:t.model,personality:t.personality,sender:t.user,steps:[]};e!==-1&&(this.discussionArr[e]=n)},async socketIOConnected(){console.log("socketIOConnected")},socketIODisconnected(){return console.log("socketIOConnected"),this.currentDiscussion=null,this.$store.dispatch("refreshModels"),this.$store.state.isConnected=!1,!0},new_message(t){t.sender_type==this.SENDER_TYPES_AI&&(this.isGenerating=!0),console.log("Making a new message"),console.log("New message",t);let e={sender:t.sender,message_type:t.message_type,sender_type:t.sender_type,content:t.content,id:t.id,discussion_id:t.discussion_id,parent_id:t.parent_id,binding:t.binding,model:t.model,personality:t.personality,created_at:t.created_at,finished_generating_at:t.finished_generating_at,rank:0,ui:t.ui,steps:[],parameters:t.parameters,metadata:t.metadata,open:t.open};e.status_message="Warming up",console.log(e),this.discussionArr.push(e),(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,t.message),console.log("infos",t)},async talk(t){this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating);let e=await oe.get("/get_generation_status",{});if(e)if(e.data.status)console.log("Already generating");else{const n=this.$store.state.config.personalities.findIndex(i=>i===t.full_path),s={client_id:this.$store.state.client_id,id:n};e=await oe.post("/select_personality",s),console.log("Generating message from ",e.data.status),qe.emit("generate_msg_from",{id:-1})}},createEmptyUserMessage(t){qe.emit("create_empty_message",{type:0,message:t})},createEmptyAIMessage(){qe.emit("create_empty_message",{type:1})},sendMsg(t,e){if(!t){this.$store.state.toast.showToast("Message contains no content!",4,!1);return}this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),oe.get("/get_generation_status",{}).then(n=>{if(n)if(n.data.status)console.log("Already generating");else{e=="internet"?qe.emit("generate_msg_with_internet",{prompt:t}):qe.emit("generate_msg",{prompt:t});let s=0;this.discussionArr.length>0&&(s=Number(this.discussionArr[this.discussionArr.length-1].id)+1);let i={message:t,id:s,rank:0,user:this.$store.state.config.user_name,created_at:new Date().toLocaleString(),sender:this.$store.state.config.user_name,message_type:this.operationTypes.MSG_TYPE_CONTENT,sender_type:this.senderTypes.SENDER_TYPES_USER,content:t,id:s,discussion_id:this.discussion_id,parent_id:s,binding:"",model:"",personality:"",created_at:new Date().toLocaleString(),finished_generating_at:new Date().toLocaleString(),rank:0,steps:[],parameters:null,metadata:[],ui:null};this.createUserMsg(i)}}).catch(n=>{console.log("Error: Could not get generation status",n)})},sendCmd(t){this.isGenerating=!0,qe.emit("execute_command",{command:t,parameters:[]})},notify(t){self.isGenerating=!1,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),Le(()=>{const e=document.getElementById("messages-list");this.scrollBottom(e)}),t.display_type==0?this.$store.state.toast.showToast(t.content,t.duration,t.notification_type):t.display_type==1?this.$store.state.messageBox.showMessage(t.content):t.display_type==2?(this.$store.state.messageBox.hideMessage(),this.$store.state.yesNoDialog.askQuestion(t.content,"Yes","No").then(e=>{qe.emit("yesNoRes",{yesRes:e})})):t.display_type==3?this.$store.state.messageBox.showBlockingMessage(t.content):t.display_type==4&&this.$store.state.messageBox.hideMessage(),this.chime.play()},update_message(t){if(console.log("update_message trigged"),console.log(t),this.discussion_id=t.discussion_id,this.setDiscussionLoading(this.discussion_id,!0),this.currentDiscussion.id==this.discussion_id){console.log("discussion ok");const e=this.discussionArr.findIndex(s=>s.id==t.id),n=this.discussionArr[e];if(n&&(t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_SET_CONTENT||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_SET_CONTENT_INVISIBLE_TO_AI))console.log("Content triggered"),this.isGenerating=!0,n.content=t.content,n.created_at=t.created_at,n.started_generating_at=t.started_generating_at,n.nb_tokens=t.nb_tokens,n.finished_generating_at=t.finished_generating_at,this.extractHtml();else if(n&&t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_ADD_CHUNK)this.isGenerating=!0,n.content+=t.content,console.log("Chunk triggered"),n.created_at=t.created_at,n.started_generating_at=t.started_generating_at,n.nb_tokens=t.nb_tokens,n.finished_generating_at=t.finished_generating_at,this.extractHtml();else if(t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP_START||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP_END_SUCCESS||t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_STEP_END_FAILURE)Array.isArray(t.steps)?(n.status_message=t.steps[t.steps.length-1].text,console.log("step Content: ",n.status_message),n.steps=t.steps,console.log("steps: ",t.steps)):console.error("Invalid steps data:",t.steps);else if(t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_JSON_INFOS)if(console.log("metadata triggered",t.operation_type),console.log("metadata",t.metadata),typeof t.metadata=="string")try{n.metadata=JSON.parse(t.metadata)}catch(s){console.error("Error parsing metadata string:",s),n.metadata={raw:t.metadata}}else Array.isArray(t.metadata)||typeof t.metadata=="object"?n.metadata=t.metadata:n.metadata={value:t.metadata};else t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_UI?(console.log("UI triggered",t.operation_type),console.log("UI",t.ui),n.ui=t.ui):t.operation_type==this.operationTypes.MSG_OPERATION_TYPE_EXCEPTION&&this.$store.state.toast.showToast(t.content,5,!1)}this.$nextTick(()=>{ze.replace()})},async changeTitleUsingUserMSG(t,e){const n=this.list.findIndex(i=>i.id==t),s=this.list[n];e&&(s.title=e,this.tempList=this.list,await this.edit_title(t,e))},async createNewDiscussion(){this.new_discussion(null)},loadLastUsedDiscussion(){console.log("Loading last discussion");const t=localStorage.getItem("selected_discussion");if(console.log("Last discussion id: ",t),t){const e=this.list.findIndex(s=>s.id==t),n=this.list[e];n&&this.selectDiscussion(n)}},onCopyPersonalityName(t){this.$store.state.toast.showToast("Copied name to clipboard!",4,!0),navigator.clipboard.writeText(t.name)},async deleteDiscussion(t){await this.delete_discussion(t),this.currentDiscussion.id==t&&(this.currentDiscussion={},this.discussionArr=[],this.setPageTitle()),this.list.splice(this.list.findIndex(e=>e.id==t),1),this.createDiscussionList(this.list)},async deleteDiscussionMulti(){const t=this.selectedDiscussions;for(let e=0;es.id==n.id),1)}this.tempList=this.list,this.isCheckbox=!1,this.$store.state.toast.showToast("Removed ("+t.length+") items",4,!0),this.showConfirmation=!1,console.log("Multi delete done")},async deleteMessage(t){await this.delete_message(t).then(()=>{this.discussionArr.splice(this.discussionArr.findIndex(e=>e.id==t),1)}).catch(()=>{this.$store.state.toast.showToast("Could not remove message",4,!1),console.log("Error: Could not delete message")})},async openFolder(t){const e=JSON.stringify({client_id:this.$store.state.client_id,discussion_id:t.id});console.log(e),await oe.post("/open_discussion_folder",e,{method:"POST",headers:{"Content-Type":"application/json"}})},async editTitle(t){const e=this.list.findIndex(s=>s.id==t.id),n=this.list[e];n.title=t.title,n.loading=!0,await this.edit_title(t.id,t.title),n.loading=!1},async makeTitle(t){this.list.findIndex(e=>e.id==t.id),await this.make_title(t.id)},checkUncheckDiscussion(t,e){const n=this.list.findIndex(i=>i.id==e),s=this.list[n];s.checkBoxValue=t.target.checked,this.tempList=this.list},selectAllDiscussions(){this.isSelectAll=!this.tempList.filter(t=>t.checkBoxValue==!1).length>0;for(let t=0;t({id:n.id,title:n.title,selected:!1,loading:!1,checkBoxValue:!1})).sort(function(n,s){return s.id-n.id});this.list=e,this.tempList=e}},setDiscussionLoading(t,e){try{const n=this.list.findIndex(i=>i.id==t),s=this.list[n];s.loading=e}catch{console.log("Error setting discussion loading")}},setPageTitle(t){if(t)if(t.id){const e=t.title?t.title==="untitled"?"New discussion":t.title:"New discussion";document.title="L🍓LLMS WebUI - "+e}else{const e=t||"Welcome";document.title="L🍓LLMS WebUI - "+e}else{const e=t||"Welcome";document.title="L🍓LLMS WebUI - "+e}},async rankUpMessage(t){await this.message_rank_up(t).then(e=>{const n=this.discussionArr[this.discussionArr.findIndex(s=>s.id==t)];n.rank=e.new_rank}).catch(()=>{this.$store.state.toast.showToast("Could not rank up message",4,!1),console.log("Error: Could not rank up message")})},async rankDownMessage(t){await this.message_rank_down(t).then(e=>{const n=this.discussionArr[this.discussionArr.findIndex(s=>s.id==t)];n.rank=e.new_rank}).catch(()=>{this.$store.state.toast.showToast("Could not rank down message",4,!1),console.log("Error: Could not rank down message")})},async updateMessage(t,e,n){await this.edit_message(t,e,n).then(()=>{const s=this.discussionArr[this.discussionArr.findIndex(i=>i.id==t)];s.content=e}).catch(()=>{this.$store.state.toast.showToast("Could not update message",4,!1),console.log("Error: Could not update message")})},resendMessage(t,e,n){Le(()=>{ze.replace()}),this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),oe.get("/get_generation_status",{}).then(s=>{s&&(s.data.status?(this.$store.state.toast.showToast("The server is busy. Wait",4,!1),console.log("Already generating")):qe.emit("generate_msg_from",{prompt:e,id:t,msg_type:n}))}).catch(s=>{console.log("Error: Could not get generation status",s)})},continueMessage(t,e){Le(()=>{ze.replace()}),this.isGenerating=!0,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),oe.get("/get_generation_status",{}).then(n=>{n&&(n.data.status?console.log("Already generating"):qe.emit("continue_generate_msg_from",{prompt:e,id:t}))}).catch(n=>{console.log("Error: Could not get generation status",n)})},stopGenerating(){this.stop_gen(),this.isGenerating=!1,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),console.log("Stopped generating"),Le(()=>{const t=document.getElementById("messages-list");this.scrollBottom(t)})},finalMsgEvent(t){let e=0;this.discussion_id=t.discussion_id,this.currentDiscussion.id==this.discussion_id&&(e=this.discussionArr.findIndex(s=>s.id==t.id),this.discussionArr[e].content=t.content,this.discussionArr[e].finished_generating_at=t.finished_generating_at),Le(()=>{const s=document.getElementById("messages-list");this.scrollBottom(s),this.recoverFiles()}),this.isGenerating=!1,this.setDiscussionLoading(this.currentDiscussion.id,this.isGenerating),this.chime.play(),e=this.discussionArr.findIndex(s=>s.id==t.id);const n=this.discussionArr[e];if(n.status_message="Done",console.log("final",t),this.$store.state.config.auto_speak&&this.$store.state.config.xtts_enable&&this.$store.state.config.xtts_use_streaming_mode){e=this.discussionArr.findIndex(i=>i.id==t.id);let s=this.$refs["msg-"+t.id][0];console.log(s),s.speak()}},copyToClipBoard(t){let e="";if(t.message.content&&(e=t.message.content),this.$store.state.config.copy_to_clipboard_add_all_details){let n="";t.message.binding&&(n=`Binding: ${t.message.binding}`);let s="";t.message.personality&&(s=` Personality: ${t.message.personality}`);let i="";t.created_at_parsed&&(i=` Created: ${t.created_at_parsed}`);let r="";t.message.model&&(r=`Model: ${t.message.model}`);let o="";t.message.seed&&(o=`Seed: ${t.message.seed}`);let a="";t.time_spent&&(a=` Time spent: ${t.time_spent}`);let c="";c=`${n} ${r} ${o} ${a}`.trim();const d=`${t.message.sender}${s}${i} @@ -328,15 +328,15 @@ ${e} ${c}`;navigator.clipboard.writeText(d)}else navigator.clipboard.writeText(e);this.$store.state.toast.showToast("Copied to clipboard successfully",4,!0),Le(()=>{ze.replace()})},closeToast(){this.showToast=!1},saveJSONtoFile(t,e){e=e||"data.json";const n=document.createElement("a");n.href=URL.createObjectURL(new Blob([JSON.stringify(t,null,2)],{type:"text/plain"})),n.setAttribute("download",e),document.body.appendChild(n),n.click(),document.body.removeChild(n)},saveMarkdowntoFile(t,e){e=e||"data.md";const n=document.createElement("a");n.href=URL.createObjectURL(new Blob([t],{type:"text/plain"})),n.setAttribute("download",e),document.body.appendChild(n),n.click(),document.body.removeChild(n)},parseJsonObj(t){try{return JSON.parse(t)}catch(e){return this.$store.state.toast.showToast(`Could not parse JSON. `+e.message,4,!1),null}},async parseJsonFile(t){return new Promise((e,n)=>{const s=new FileReader;s.onload=i=>e(this.parseJsonObj(i.target.result)),s.onerror=i=>n(i),s.readAsText(t)})},async exportDiscussionsAsMarkdown(){const t=this.list.filter(e=>e.checkBoxValue==!0).map(e=>e.id);if(t.length>0){console.log("export",t);let e=new Date;const n=e.getFullYear(),s=(e.getMonth()+1).toString().padStart(2,"0"),i=e.getDate().toString().padStart(2,"0"),r=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0"),a=e.getSeconds().toString().padStart(2,"0"),d="discussions_export_"+(n+"."+s+"."+i+"."+r+o+a)+".md";this.loading=!0;const u=await this.export_multiple_discussions(t,"markdown");u?(this.saveMarkdowntoFile(u,d),this.$store.state.toast.showToast("Successfully exported",4,!0),this.isCheckbox=!1):this.$store.state.toast.showToast("Failed to export discussions",4,!1),this.loading=!1}},async exportDiscussions(){},async exportDiscussionsAsJson(){const t=this.list.filter(e=>e.checkBoxValue==!0).map(e=>e.id);if(t.length>0){console.log("export",t);let e=new Date;const n=e.getFullYear(),s=(e.getMonth()+1).toString().padStart(2,"0"),i=e.getDate().toString().padStart(2,"0"),r=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0"),a=e.getSeconds().toString().padStart(2,"0"),d="discussions_export_"+(n+"."+s+"."+i+"."+r+o+a)+".json";this.loading=!0;const u=await this.export_multiple_discussions(t,"json");u?(this.saveJSONtoFile(u,d),this.$store.state.toast.showToast("Successfully exported",4,!0),this.isCheckbox=!1):this.$store.state.toast.showToast("Failed to export discussions",4,!1),this.loading=!1}},async importDiscussionsBundle(t){},async importDiscussions(t){const e=await this.parseJsonFile(t.target.files[0]);await this.import_multiple_discussions(e)?(this.$store.state.toast.showToast("Successfully imported ("+e.length+")",4,!0),await this.list_discussions()):this.$store.state.toast.showToast("Failed to import discussions",4,!1)},async getPersonalityAvatars(){for(;this.$store.state.personalities===null;)await new Promise(e=>setTimeout(e,100));let t=this.$store.state.personalities;this.personalityAvatars=t.map(e=>({name:e.name,avatar:e.avatar}))},getAvatar(t){if(t.toLowerCase().trim()==this.$store.state.config.user_name.toLowerCase().trim())return"user_infos/"+this.$store.state.config.user_avatar;const e=this.personalityAvatars.findIndex(s=>s.name===t),n=this.personalityAvatars[e];if(n)return console.log("Avatar",n.avatar),n.avatar},setFileListChat(t){try{this.$refs.chatBox.fileList=this.$refs.chatBox.fileList.concat(t)}catch(e){this.$store.state.toast.showToast(`Failed to set filelist in chatbox -`+e.message,4,!1)}this.isDragOverChat=!1},async setFileListDiscussion(t){if(t.length>1){this.$store.state.toast.showToast("Failed to import discussions. Too many files",4,!1);return}const e=await this.parseJsonFile(t[0]);await this.import_multiple_discussions(e)?(this.$store.state.toast.showToast("Successfully imported ("+e.length+")",4,!0),await this.list_discussions()):this.$store.state.toast.showToast("Failed to import discussions",4,!1),this.isDragOverDiscussion=!1}},async created(){console.log("Created discussions view");const e=(await ae.get("/get_versionID")).data.versionId;qe.onopen=()=>{console.log("WebSocket connection established."),this.currentDiscussion!=null&&(this.setPageTitle(item),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(item.id,()=>{this.discussionArr.length>1&&(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content)}))},this.versionId!==e&&(this.$store.commit("updateVersionId",e),window.location.reload(!0)),this.$nextTick(()=>{ze.replace()}),console.log("Connected to socket io");try{this.$store.state.loading_infos="Getting version",this.$store.state.loading_progress=30,await this.$store.dispatch("getVersion")}catch(n){console.log("Error cought:",n)}try{for(this.$store.state.loading_infos="Loading Configuration";qe.id===void 0;)await new Promise(n=>setTimeout(n,100));this.$store.state.client_id=qe.id,console.log(this.$store.state.client_id),await this.$store.dispatch("refreshConfig"),console.log("Config ready")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Loading Database",this.$store.state.loading_progress=20,await this.$store.dispatch("refreshDatabase")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting Bindings list",this.$store.state.loading_progress=40,await this.$store.dispatch("refreshBindings")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting personalities zoo",this.$store.state.loading_progress=70,await this.$store.dispatch("refreshPersonalitiesZoo")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting mounted personalities",this.$store.state.loading_progress=80,await this.$store.dispatch("refreshMountedPersonalities")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting models zoo",this.$store.state.loading_progress=90,await this.$store.dispatch("refreshModelsZoo")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting active models",this.$store.state.loading_progress=100,await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshModelStatus")}catch(n){console.log("Error cought:",n)}try{await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage")}catch(n){console.log("Error cought:",n)}try{await this.$store.dispatch("fetchisRTOn")}catch(n){console.log("Error cought:",n)}this.$store.state.isConnected=!0,this.$store.state.client_id=qe.id,console.log("Ready"),this.setPageTitle(),await this.list_discussions(),this.loadLastUsedDiscussion(),this.isCreated=!0,this.$store.state.ready=!0,qe.on("connected",this.socketIOConnected),qe.on("disconnected",this.socketIODisconnected),console.log("Added events"),qe.on("show_progress",this.show_progress),qe.on("hide_progress",this.hide_progress),qe.on("update_progress",this.update_progress),qe.on("notification",this.notify),qe.on("new_message",this.new_message),qe.on("update_message",this.update_message),qe.on("close_message",this.finalMsgEvent),qe.on("disucssion_renamed",n=>{console.log("Received new title",n.discussion_id,n.title);const s=this.list.findIndex(r=>r.id==n.discussion_id),i=this.list[s];i.title=n.title}),qe.onclose=n=>{console.log("WebSocket connection closed:",n.code,n.reason),this.socketIODisconnected()},qe.on("connect_error",n=>{n.message==="ERR_CONNECTION_REFUSED"?console.error("Connection refused. The server is not available."):console.error("Connection error:",n),this.$store.state.isConnected=!1}),qe.onerror=n=>{console.log("WebSocket connection error:",n.code,n.reason),this.socketIODisconnected(),qe.disconnect()}},async mounted(){qe.on("refresh_files",()=>{this.recoverFiles()}),this.$nextTick(()=>{ze.replace()})},async activated(){for(;this.isReady===!1;)await new Promise(t=>setTimeout(t,100));await this.getPersonalityAvatars(),console.log("Avatars found:",this.personalityAvatars),this.isCreated&&Le(()=>{const t=document.getElementById("messages-list");this.scrollBottom(t)}),this.$store.state.config.show_news_panel&&this.$store.state.news.show()},components:{Discussion:OE,Message:uN,ChatBox:pN,WelcomeComponent:_N,ChoiceDialog:NE,ProgressBar:Wu,InputBox:lN,SkillsLibraryViewer:cN},watch:{messages:{handler:"extractHtml",deep:!0},progress_visibility_val(t){console.log("progress_visibility changed to "+t)},filterTitle(t){t==""&&(this.filterInProgress=!0,this.list=this.tempList,this.filterInProgress=!1)},isCheckbox(t){Le(()=>{ze.replace()}),t||(this.isSelectAll=!1)},socketConnected(t){console.log("Websocket connected (watch)",t)},showConfirmation(){Le(()=>{ze.replace()})},isSearch(){Le(()=>{ze.replace()})}},computed:{...lD({versionId:t=>t.versionId}),progress_visibility:{get(){return self.progress_visibility_val}},version_info:{get(){return this.$store.state.version!=null&&this.$store.state.version!="unknown"?" v"+this.$store.state.version:""}},loading_infos:{get(){return this.$store.state.loading_infos}},loading_progress:{get(){return this.$store.state.loading_progress}},isModelOk:{get(){return this.$store.state.isModelOk},set(t){this.$store.state.isModelOk=t}},isGenerating:{get(){return this.$store.state.isGenerating},set(t){this.$store.state.isGenerating=t}},personality(){console.log("personality:",this.$store.state.config.personalities[this.$store.state.config.active_personality_id]);const t=this.$store.state.config.personalities[this.$store.state.config.active_personality_id];console.log("peronslities",this.$store.state.personalities[0]);const e=this.$store.state.personalities.find(n=>n.full_path===t);return console.log("personality:",e),e},prompts_list(){return console.log(this.personality.prompts_list),this.personality.prompts_list},formatted_database_name(){return this.$store.state.config.discussion_db_name},UseDiscussionHistory(){return this.$store.state.config.activate_skills_lib},isReady(){return this.$store.state.ready},databases(){return this.$store.state.databases},client_id(){return qe.id},showLeftPanel(){return this.$store.state.ready&&!this.leftPanelCollapsed},showRightPanel(){return this.$store.state.ready&&!this.rightPanelCollapsed},socketConnected(){return console.log(" --- > Websocket connected"),this.$store.commit("setIsConnected",!0),!0},socketDisconnected(){return this.$store.commit("setIsConnected",!1),console.log(" --- > Websocket disconnected"),!0},selectedDiscussions(){return Le(()=>{ze.replace()}),this.list.filter(t=>t.checkBoxValue==!0)}}},DRt=Object.assign(kRt,{__name:"DiscussionsView",setup(t){return ci(()=>{xN()}),ae.defaults.baseURL="/",(e,n)=>(T(),x(Fe,null,[V(Fs,{name:"fade-and-fly"},{default:Ie(()=>[e.isReady?G("",!0):(T(),x("div",DCt,[l("div",LCt,[(T(),x(Fe,null,Ke(50,s=>l("div",{key:s,class:"absolute animate-fall animate-giggle",style:Ht({left:`${Math.random()*100}%`,top:"-20px",animationDuration:`${3+Math.random()*7}s`,animationDelay:`${Math.random()*5}s`})},FCt,4)),64))]),l("div",UCt,[l("div",BCt,[GCt,VCt,zCt,l("p",HCt,K(e.version_info),1),l("div",qCt,[l("img",{class:"w-24 h-24 rounded-full absolute top-0 transition-all duration-300 ease-linear",style:Ht({left:`calc(${e.loading_progress}% - 3rem)`}),title:"L🍓LLMS WebUI",src:aN,alt:"Strawberry Logo"},null,4)])]),l("div",$Ct,[l("div",YCt,[l("p",WCt,K(e.loading_infos)+"... ",1),l("p",KCt,K(Math.round(e.loading_progress))+"% ",1)])])])]))]),_:1}),e.isReady?(T(),x("button",{key:0,onClick:n[0]||(n[0]=(...s)=>e.togglePanel&&e.togglePanel(...s)),class:"absolute top-2 left-2 p-3 bg-white bg-opacity-0 cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 hover:shadow-xl group"},[P(l("div",null,QCt,512),[[wt,e.leftPanelCollapsed]]),P(l("div",null,ZCt,512),[[wt,!e.leftPanelCollapsed]])])):G("",!0),e.isReady?(T(),x("button",{key:1,onClick:n[1]||(n[1]=j(s=>e.triggerRobotAction(),["stop"])),class:"absolute z-50 bottom-20 right-2 p-3 bg-white bg-opacity-10 rounded-full cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 animate-pulse shadow-lg hover:shadow-xl group"},ewt)):G("",!0),V(Fs,{name:"slide-right"},{default:Ie(()=>[e.showLeftPanel?(T(),x("div",twt,[l("div",{id:"leftPanel",class:"flex flex-col flex-grow overflow-y-scroll no-scrollbar",onDragover:n[29]||(n[29]=j(s=>e.setDropZoneDiscussion(),["stop","prevent"]))},[l("div",nwt,[l("div",swt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Create new discussion",type:"button",onClick:n[2]||(n[2]=s=>e.createNewDiscussion())},rwt),l("button",{class:Ge(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isCheckbox?"text-secondary":""]),title:"Edit discussion list",type:"button",onClick:n[3]||(n[3]=s=>e.isCheckbox=!e.isCheckbox)},awt,2),l("button",lwt,[l("i",{"data-feather":"trash-2",onClick:n[4]||(n[4]=j(()=>{},["stop"]))})]),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Export database",type:"button",onClick:n[5]||(n[5]=j(s=>e.database_selectorDialogVisible=!0,["stop"]))},dwt),l("input",{type:"file",ref:"fileDialog",style:{display:"none"},onChange:n[6]||(n[6]=(...s)=>e.importDiscussions&&e.importDiscussions(...s))},null,544),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Import discussions",type:"button",onClick:n[7]||(n[7]=j(s=>e.$refs.fileDialog.click(),["stop"]))},pwt),l("input",{type:"file",ref:"bundleLoadingDialog",style:{display:"none"},onChange:n[8]||(n[8]=(...s)=>e.importDiscussionsBundle&&e.importDiscussionsBundle(...s))},null,544),e.showSaveConfirmation?G("",!0):(T(),x("button",{key:0,title:"Import discussion bundle",onClick:n[9]||(n[9]=j(s=>e.$refs.bundleLoadingDialog.click(),["stop"])),class:"text-2xl hover:text-secondary duration-75 active:scale-90"},hwt)),e.isOpen?(T(),x("div",fwt,[l("button",{onClick:n[10]||(n[10]=(...s)=>e.importDiscussions&&e.importDiscussions(...s))},"LOLLMS"),l("button",{onClick:n[11]||(n[11]=(...s)=>e.importChatGPT&&e.importChatGPT(...s))},"ChatGPT")])):G("",!0),l("button",{class:Ge(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isSearch?"text-secondary":""]),title:"Filter discussions",type:"button",onClick:n[12]||(n[12]=s=>e.isSearch=!e.isSearch)},gwt,2),e.showSaveConfirmation?(T(),x("div",bwt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:n[13]||(n[13]=j(s=>e.showSaveConfirmation=!1,["stop"]))},ywt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:n[14]||(n[14]=j(s=>e.save_configuration(),["stop"]))},Swt)])):G("",!0),e.loading?G("",!0):(T(),x("button",{key:3,type:"button",onClick:n[15]||(n[15]=j((...s)=>e.addDiscussion2SkillsLibrary&&e.addDiscussion2SkillsLibrary(...s),["stop"])),title:"Add this discussion content to skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},xwt)),!e.loading&&e.$store.state.config.activate_skills_lib?(T(),x("button",{key:4,type:"button",onClick:n[16]||(n[16]=j((...s)=>e.toggleSkillsLib&&e.toggleSkillsLib(...s),["stop"])),title:"Skills database is activated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},wwt)):G("",!0),!e.loading&&!e.$store.state.config.activate_skills_lib?(T(),x("button",{key:5,type:"button",onClick:n[17]||(n[17]=j((...s)=>e.toggleSkillsLib&&e.toggleSkillsLib(...s),["stop"])),title:"Skills database is deactivated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},Awt)):G("",!0),e.loading?G("",!0):(T(),x("button",{key:6,type:"button",onClick:n[18]||(n[18]=j((...s)=>e.showSkillsLib&&e.showSkillsLib(...s),["stop"])),title:"Show Skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},Owt)),e.loading?(T(),x("div",Mwt,kwt)):G("",!0)]),e.isSearch?(T(),x("div",Dwt,[l("div",Lwt,[l("div",Pwt,[Fwt,l("div",Uwt,[l("div",{class:Ge(["hover:text-secondary duration-75 active:scale-90",e.filterTitle?"visible":"invisible"]),title:"Clear",onClick:n[19]||(n[19]=s=>e.filterTitle="")},Gwt,2)]),P(l("input",{type:"search",id:"default-search",class:"block w-full p-2 pl-10 pr-10 text-sm border border-gray-300 rounded-lg bg-bg-light focus:ring-secondary focus:border-secondary dark:bg-bg-dark dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-secondary dark:focus:border-secondary",placeholder:"Search...",title:"Filter discussions by title","onUpdate:modelValue":n[20]||(n[20]=s=>e.filterTitle=s),onInput:n[21]||(n[21]=s=>e.filterDiscussions())},null,544),[[pe,e.filterTitle]])])])])):G("",!0),e.isCheckbox?(T(),x("hr",Vwt)):G("",!0),e.isCheckbox?(T(),x("div",zwt,[l("div",Hwt,[e.selectedDiscussions.length>0?(T(),x("p",qwt,"Selected: "+K(e.selectedDiscussions.length),1)):G("",!0)]),l("div",$wt,[e.selectedDiscussions.length>0?(T(),x("div",Ywt,[e.showConfirmation?G("",!0):(T(),x("button",{key:0,class:"flex mx-3 flex-1 text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Remove selected",type:"button",onClick:n[22]||(n[22]=j(s=>e.showConfirmation=!0,["stop"]))},Kwt)),e.showConfirmation?(T(),x("div",jwt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm removal",type:"button",onClick:n[23]||(n[23]=j((...s)=>e.deleteDiscussionMulti&&e.deleteDiscussionMulti(...s),["stop"]))},Xwt),l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel removal",type:"button",onClick:n[24]||(n[24]=j(s=>e.showConfirmation=!1,["stop"]))},Jwt)])):G("",!0)])):G("",!0),l("div",eRt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a json file",type:"button",onClick:n[25]||(n[25]=j((...s)=>e.exportDiscussionsAsJson&&e.exportDiscussionsAsJson(...s),["stop"]))},nRt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:n[26]||(n[26]=j((...s)=>e.exportDiscussions&&e.exportDiscussions(...s),["stop"]))},iRt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:n[27]||(n[27]=j((...s)=>e.exportDiscussionsAsMarkdown&&e.exportDiscussionsAsMarkdown(...s),["stop"]))},oRt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Select All",type:"button",onClick:n[28]||(n[28]=j((...s)=>e.selectAllDiscussions&&e.selectAllDiscussions(...s),["stop"]))},lRt)])])])):G("",!0)]),l("div",cRt,[l("div",{class:Ge(["mx-0 flex flex-col flex-grow w-full",e.isDragOverDiscussion?"pointer-events-none":""])},[l("div",{id:"dis-list",class:Ge([e.filterInProgress?"opacity-20 pointer-events-none":"","flex flex-col flex-grow w-full pb-80"])},[e.list.length>0?(T(),dt(ii,{key:0,name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(e.list,(s,i)=>(T(),dt(OE,{key:s.id,id:s.id,title:s.title,selected:e.currentDiscussion.id==s.id,loading:s.loading,isCheckbox:e.isCheckbox,checkBoxValue:s.checkBoxValue,onSelect:r=>e.selectDiscussion(s),onDelete:r=>e.deleteDiscussion(s.id),onOpenFolder:e.openFolder,onEditTitle:e.editTitle,onMakeTitle:e.makeTitle,onChecked:e.checkUncheckDiscussion},null,8,["id","title","selected","loading","isCheckbox","checkBoxValue","onSelect","onDelete","onOpenFolder","onEditTitle","onMakeTitle","onChecked"]))),128))]),_:1})):G("",!0),e.list.length<1?(T(),x("div",dRt,pRt)):G("",!0),_Rt],2)],2)])],32),l("div",{class:"absolute h-15 bottom-0 left-0 w-full unicolor-panels-color light-text-panel py-4 cursor-pointer text-light-text-panel dark:text-dark-text-panel hover:text-secondary",onClick:n[30]||(n[30]=(...s)=>e.showDatabaseSelector&&e.showDatabaseSelector(...s))},[l("p",hRt,K(e.formatted_database_name.replace("_"," ")),1)])])):G("",!0)]),_:1}),e.isReady?(T(),x("div",fRt,[l("div",{id:"messages-list",class:Ge(["w-full z-0 flex flex-col flex-grow overflow-y-auto scrollbar",e.isDragOverChat?"pointer-events-none":""])},[l("div",mRt,[e.discussionArr.length>0?(T(),dt(ii,{key:0,name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(e.discussionArr,(s,i)=>(T(),dt(uN,{key:s.id,message:s,id:"msg-"+s.id,ref_for:!0,ref:"msg-"+s.id,host:e.host,onCopy:e.copyToClipBoard,onDelete:e.deleteMessage,onRankUp:e.rankUpMessage,onRankDown:e.rankDownMessage,onUpdateMessage:e.updateMessage,onResendMessage:e.resendMessage,onContinueMessage:e.continueMessage,avatar:e.getAvatar(s.sender)},null,8,["message","id","host","onCopy","onDelete","onRankUp","onRankDown","onUpdateMessage","onResendMessage","onContinueMessage","avatar"]))),128)),e.discussionArr.length<2&&e.personality.prompts_list.length>0?(T(),x("div",gRt,[bRt,e.discussionArr.length<2&&e.personality.prompts_list.length>0?(T(),x("div",ERt,[l("div",yRt,[(T(!0),x(Fe,null,Ke(e.personality.prompts_list,(s,i)=>(T(),x("div",{key:i,onClick:r=>e.selectPrompt(s),class:"bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg p-4 cursor-pointer hover:shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 flex flex-col justify-between h-[220px] overflow-hidden group"},[l("div",{title:s,class:"text-base text-gray-700 dark:text-gray-300 overflow-hidden relative h-full"},[l("div",TRt,K(s),1),xRt],8,SRt),CRt],8,vRt))),128))])])):G("",!0)])):G("",!0)]),_:1})):G("",!0),e.currentDiscussion.id?G("",!0):(T(),dt(_N,{key:1})),wRt]),RRt],2),e.currentDiscussion.id?(T(),x("div",ARt,[V(pN,{ref:"chatBox",loading:e.isGenerating,discussionList:e.discussionArr,"on-show-toast-message":e.showToastMessage,"on-talk":e.talk,onPersonalitySelected:e.recoverFiles,onMessageSentEvent:e.sendMsg,onSendCMDEvent:e.sendCmd,onAddWebLink:e.add_webpage,onCreateEmptyUserMessage:e.createEmptyUserMessage,onCreateEmptyAIMessage:e.createEmptyAIMessage,onStopGenerating:e.stopGenerating,onLoaded:e.recoverFiles},null,8,["loading","discussionList","on-show-toast-message","on-talk","onPersonalitySelected","onMessageSentEvent","onSendCMDEvent","onAddWebLink","onCreateEmptyUserMessage","onCreateEmptyAIMessage","onStopGenerating","onLoaded"])])):G("",!0)])):G("",!0),V(Fs,{name:"slide-left"},{default:Ie(()=>[e.showRightPanel?(T(),x("div",NRt,[l("div",ORt,null,512)])):G("",!0)]),_:1}),V(NE,{reference:"database_selector",class:"z-20",show:e.database_selectorDialogVisible,choices:e.databases,"can-remove":!0,onChoiceRemoved:e.ondatabase_selectorDialogRemoved,onChoiceSelected:e.ondatabase_selectorDialogSelected,onCloseDialog:e.onclosedatabase_selectorDialog,onChoiceValidated:e.onvalidatedatabase_selectorChoice},null,8,["show","choices","onChoiceRemoved","onChoiceSelected","onCloseDialog","onChoiceValidated"]),P(l("div",MRt,[V(Wu,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),l("p",IRt,K(e.loading_infos)+" ...",1)],512),[[wt,e.progress_visibility]]),V(lN,{"prompt-text":"Enter the url to the page to use as discussion support",onOk:e.addWebpage,ref:"web_url_input_box"},null,8,["onOk"]),V(cN,{ref:"skills_lib"},null,512)],64))}}),LRt=ot(DRt,[["__scopeId","data-v-9e711246"]]);/** +`+e.message,4,!1)}this.isDragOverChat=!1},async setFileListDiscussion(t){if(t.length>1){this.$store.state.toast.showToast("Failed to import discussions. Too many files",4,!1);return}const e=await this.parseJsonFile(t[0]);await this.import_multiple_discussions(e)?(this.$store.state.toast.showToast("Successfully imported ("+e.length+")",4,!0),await this.list_discussions()):this.$store.state.toast.showToast("Failed to import discussions",4,!1),this.isDragOverDiscussion=!1}},async created(){console.log("Created discussions view");const e=(await oe.get("/get_versionID")).data.versionId;qe.onopen=()=>{console.log("WebSocket connection established."),this.currentDiscussion!=null&&(this.setPageTitle(item),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(item.id,()=>{this.discussionArr.length>1&&(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content)}))},this.versionId!==e&&(this.$store.commit("updateVersionId",e),window.location.reload(!0)),this.$nextTick(()=>{ze.replace()}),console.log("Connected to socket io");try{this.$store.state.loading_infos="Getting version",this.$store.state.loading_progress=30,await this.$store.dispatch("getVersion")}catch(n){console.log("Error cought:",n)}try{for(this.$store.state.loading_infos="Loading Configuration";qe.id===void 0;)await new Promise(n=>setTimeout(n,100));this.$store.state.client_id=qe.id,console.log(this.$store.state.client_id),await this.$store.dispatch("refreshConfig"),console.log("Config ready")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Loading Database",this.$store.state.loading_progress=20,await this.$store.dispatch("refreshDatabase")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting Bindings list",this.$store.state.loading_progress=40,await this.$store.dispatch("refreshBindings")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting personalities zoo",this.$store.state.loading_progress=70,await this.$store.dispatch("refreshPersonalitiesZoo")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting mounted personalities",this.$store.state.loading_progress=80,await this.$store.dispatch("refreshMountedPersonalities")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting models zoo",this.$store.state.loading_progress=90,await this.$store.dispatch("refreshModelsZoo")}catch(n){console.log("Error cought:",n)}try{this.$store.state.loading_infos="Getting active models",this.$store.state.loading_progress=100,await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshModelStatus")}catch(n){console.log("Error cought:",n)}try{await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage")}catch(n){console.log("Error cought:",n)}try{await this.$store.dispatch("fetchisRTOn")}catch(n){console.log("Error cought:",n)}this.$store.state.isConnected=!0,this.$store.state.client_id=qe.id,console.log("Ready"),this.setPageTitle(),await this.list_discussions(),this.loadLastUsedDiscussion(),this.isCreated=!0,this.$store.state.ready=!0,qe.on("connected",this.socketIOConnected),qe.on("disconnected",this.socketIODisconnected),console.log("Added events"),qe.on("show_progress",this.show_progress),qe.on("hide_progress",this.hide_progress),qe.on("update_progress",this.update_progress),qe.on("notification",this.notify),qe.on("new_message",this.new_message),qe.on("update_message",this.update_message),qe.on("close_message",this.finalMsgEvent),qe.on("disucssion_renamed",n=>{console.log("Received new title",n.discussion_id,n.title);const s=this.list.findIndex(r=>r.id==n.discussion_id),i=this.list[s];i.title=n.title}),qe.onclose=n=>{console.log("WebSocket connection closed:",n.code,n.reason),this.socketIODisconnected()},qe.on("connect_error",n=>{n.message==="ERR_CONNECTION_REFUSED"?console.error("Connection refused. The server is not available."):console.error("Connection error:",n),this.$store.state.isConnected=!1}),qe.onerror=n=>{console.log("WebSocket connection error:",n.code,n.reason),this.socketIODisconnected(),qe.disconnect()}},async mounted(){qe.on("refresh_files",()=>{this.recoverFiles()}),this.$nextTick(()=>{ze.replace()})},async activated(){for(;this.isReady===!1;)await new Promise(t=>setTimeout(t,100));await this.getPersonalityAvatars(),console.log("Avatars found:",this.personalityAvatars),this.isCreated&&Le(()=>{const t=document.getElementById("messages-list");this.scrollBottom(t)}),this.$store.state.config.show_news_panel&&this.$store.state.news.show()},components:{Discussion:OE,Message:uN,ChatBox:pN,WelcomeComponent:_N,ChoiceDialog:NE,ProgressBar:Wu,InputBox:lN,SkillsLibraryViewer:cN},watch:{messages:{handler:"extractHtml",deep:!0},progress_visibility_val(t){console.log("progress_visibility changed to "+t)},filterTitle(t){t==""&&(this.filterInProgress=!0,this.list=this.tempList,this.filterInProgress=!1)},isCheckbox(t){Le(()=>{ze.replace()}),t||(this.isSelectAll=!1)},socketConnected(t){console.log("Websocket connected (watch)",t)},showConfirmation(){Le(()=>{ze.replace()})},isSearch(){Le(()=>{ze.replace()})}},computed:{...lD({versionId:t=>t.versionId}),progress_visibility:{get(){return self.progress_visibility_val}},version_info:{get(){return this.$store.state.version!=null&&this.$store.state.version!="unknown"?" v"+this.$store.state.version:""}},loading_infos:{get(){return this.$store.state.loading_infos}},loading_progress:{get(){return this.$store.state.loading_progress}},isModelOk:{get(){return this.$store.state.isModelOk},set(t){this.$store.state.isModelOk=t}},isGenerating:{get(){return this.$store.state.isGenerating},set(t){this.$store.state.isGenerating=t}},personality(){console.log("personality:",this.$store.state.config.personalities[this.$store.state.config.active_personality_id]);const t=this.$store.state.config.personalities[this.$store.state.config.active_personality_id];console.log("peronslities",this.$store.state.personalities[0]);const e=this.$store.state.personalities.find(n=>n.full_path===t);return console.log("personality:",e),e},prompts_list(){return console.log(this.personality.prompts_list),this.personality.prompts_list},formatted_database_name(){return this.$store.state.config.discussion_db_name},UseDiscussionHistory(){return this.$store.state.config.activate_skills_lib},isReady(){return this.$store.state.ready},databases(){return this.$store.state.databases},client_id(){return qe.id},showLeftPanel(){return this.$store.state.ready&&!this.leftPanelCollapsed},showRightPanel(){return this.$store.state.ready&&!this.rightPanelCollapsed},socketConnected(){return console.log(" --- > Websocket connected"),this.$store.commit("setIsConnected",!0),!0},socketDisconnected(){return this.$store.commit("setIsConnected",!1),console.log(" --- > Websocket disconnected"),!0},selectedDiscussions(){return Le(()=>{ze.replace()}),this.list.filter(t=>t.checkBoxValue==!0)}}},VRt=Object.assign(GRt,{__name:"DiscussionsView",setup(t){return ci(()=>{xN()}),oe.defaults.baseURL="/",(e,n)=>(T(),x(Fe,null,[V(Fs,{name:"fade-and-fly"},{default:Ie(()=>[e.isReady?G("",!0):(T(),x("div",VCt,[l("div",zCt,[(T(),x(Fe,null,Ke(50,s=>l("div",{key:s,class:"absolute animate-fall animate-giggle",style:Ht({left:`${Math.random()*100}%`,top:"-20px",animationDuration:`${3+Math.random()*7}s`,animationDelay:`${Math.random()*5}s`})},qCt,4)),64))]),l("div",$Ct,[l("div",YCt,[WCt,KCt,jCt,l("p",QCt,K(e.version_info),1),l("div",XCt,[l("img",{class:"w-24 h-24 rounded-full absolute top-0 transition-all duration-300 ease-linear",style:Ht({left:`calc(${e.loading_progress}% - 3rem)`}),title:"L🍓LLMS WebUI",src:aN,alt:"Strawberry Logo"},null,4)])]),l("div",ZCt,[l("div",JCt,[l("p",ewt,K(e.loading_infos)+"... ",1),l("p",twt,K(Math.round(e.loading_progress))+"% ",1)])])])]))]),_:1}),e.isReady?(T(),x("button",{key:0,onClick:n[0]||(n[0]=(...s)=>e.togglePanel&&e.togglePanel(...s)),class:"absolute top-2 left-2 p-3 bg-white bg-opacity-0 cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 hover:shadow-xl group"},[P(l("div",null,swt,512),[[wt,e.leftPanelCollapsed]]),P(l("div",null,rwt,512),[[wt,!e.leftPanelCollapsed]])])):G("",!0),e.isReady?(T(),x("button",{key:1,onClick:n[1]||(n[1]=j(s=>e.triggerRobotAction(),["stop"])),class:"absolute z-50 bottom-20 right-2 p-3 bg-white bg-opacity-10 rounded-full cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 animate-pulse shadow-lg hover:shadow-xl group"},awt)):G("",!0),V(Fs,{name:"slide-right"},{default:Ie(()=>[e.showLeftPanel?(T(),x("div",lwt,[l("div",{id:"leftPanel",class:"flex flex-col flex-grow overflow-y-scroll no-scrollbar",onDragover:n[29]||(n[29]=j(s=>e.setDropZoneDiscussion(),["stop","prevent"]))},[l("div",cwt,[l("div",dwt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Create new discussion",type:"button",onClick:n[2]||(n[2]=s=>e.createNewDiscussion())},pwt),l("button",{class:Ge(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isCheckbox?"text-secondary":""]),title:"Edit discussion list",type:"button",onClick:n[3]||(n[3]=s=>e.isCheckbox=!e.isCheckbox)},hwt,2),l("button",fwt,[l("i",{"data-feather":"trash-2",onClick:n[4]||(n[4]=j(()=>{},["stop"]))})]),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Export database",type:"button",onClick:n[5]||(n[5]=j(s=>e.database_selectorDialogVisible=!0,["stop"]))},gwt),l("input",{type:"file",ref:"fileDialog",style:{display:"none"},onChange:n[6]||(n[6]=(...s)=>e.importDiscussions&&e.importDiscussions(...s))},null,544),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Import discussions",type:"button",onClick:n[7]||(n[7]=j(s=>e.$refs.fileDialog.click(),["stop"]))},Ewt),l("input",{type:"file",ref:"bundleLoadingDialog",style:{display:"none"},onChange:n[8]||(n[8]=(...s)=>e.importDiscussionsBundle&&e.importDiscussionsBundle(...s))},null,544),e.showSaveConfirmation?G("",!0):(T(),x("button",{key:0,title:"Import discussion bundle",onClick:n[9]||(n[9]=j(s=>e.$refs.bundleLoadingDialog.click(),["stop"])),class:"text-2xl hover:text-secondary duration-75 active:scale-90"},vwt)),e.isOpen?(T(),x("div",Swt,[l("button",{onClick:n[10]||(n[10]=(...s)=>e.importDiscussions&&e.importDiscussions(...s))},"LOLLMS"),l("button",{onClick:n[11]||(n[11]=(...s)=>e.importChatGPT&&e.importChatGPT(...s))},"ChatGPT")])):G("",!0),l("button",{class:Ge(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isSearch?"text-secondary":""]),title:"Filter discussions",type:"button",onClick:n[12]||(n[12]=s=>e.isSearch=!e.isSearch)},xwt,2),e.showSaveConfirmation?(T(),x("div",Cwt,[l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:n[13]||(n[13]=j(s=>e.showSaveConfirmation=!1,["stop"]))},Rwt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:n[14]||(n[14]=j(s=>e.save_configuration(),["stop"]))},Nwt)])):G("",!0),e.loading?G("",!0):(T(),x("button",{key:3,type:"button",onClick:n[15]||(n[15]=j((...s)=>e.addDiscussion2SkillsLibrary&&e.addDiscussion2SkillsLibrary(...s),["stop"])),title:"Add this discussion content to skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},Mwt)),!e.loading&&e.$store.state.config.activate_skills_lib?(T(),x("button",{key:4,type:"button",onClick:n[16]||(n[16]=j((...s)=>e.toggleSkillsLib&&e.toggleSkillsLib(...s),["stop"])),title:"Skills database is activated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},kwt)):G("",!0),!e.loading&&!e.$store.state.config.activate_skills_lib?(T(),x("button",{key:5,type:"button",onClick:n[17]||(n[17]=j((...s)=>e.toggleSkillsLib&&e.toggleSkillsLib(...s),["stop"])),title:"Skills database is deactivated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},Lwt)):G("",!0),e.loading?G("",!0):(T(),x("button",{key:6,type:"button",onClick:n[18]||(n[18]=j((...s)=>e.showSkillsLib&&e.showSkillsLib(...s),["stop"])),title:"Show Skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},Fwt)),e.loading?(T(),x("div",Uwt,Gwt)):G("",!0)]),e.isSearch?(T(),x("div",Vwt,[l("div",zwt,[l("div",Hwt,[qwt,l("div",$wt,[l("div",{class:Ge(["hover:text-secondary duration-75 active:scale-90",e.filterTitle?"visible":"invisible"]),title:"Clear",onClick:n[19]||(n[19]=s=>e.filterTitle="")},Wwt,2)]),P(l("input",{type:"search",id:"default-search",class:"block w-full p-2 pl-10 pr-10 text-sm border border-gray-300 rounded-lg bg-bg-light focus:ring-secondary focus:border-secondary dark:bg-bg-dark dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-secondary dark:focus:border-secondary",placeholder:"Search...",title:"Filter discussions by title","onUpdate:modelValue":n[20]||(n[20]=s=>e.filterTitle=s),onInput:n[21]||(n[21]=s=>e.filterDiscussions())},null,544),[[pe,e.filterTitle]])])])])):G("",!0),e.isCheckbox?(T(),x("hr",Kwt)):G("",!0),e.isCheckbox?(T(),x("div",jwt,[l("div",Qwt,[e.selectedDiscussions.length>0?(T(),x("p",Xwt,"Selected: "+K(e.selectedDiscussions.length),1)):G("",!0)]),l("div",Zwt,[e.selectedDiscussions.length>0?(T(),x("div",Jwt,[e.showConfirmation?G("",!0):(T(),x("button",{key:0,class:"flex mx-3 flex-1 text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Remove selected",type:"button",onClick:n[22]||(n[22]=j(s=>e.showConfirmation=!0,["stop"]))},tRt)),e.showConfirmation?(T(),x("div",nRt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm removal",type:"button",onClick:n[23]||(n[23]=j((...s)=>e.deleteDiscussionMulti&&e.deleteDiscussionMulti(...s),["stop"]))},iRt),l("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel removal",type:"button",onClick:n[24]||(n[24]=j(s=>e.showConfirmation=!1,["stop"]))},oRt)])):G("",!0)])):G("",!0),l("div",aRt,[l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a json file",type:"button",onClick:n[25]||(n[25]=j((...s)=>e.exportDiscussionsAsJson&&e.exportDiscussionsAsJson(...s),["stop"]))},cRt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:n[26]||(n[26]=j((...s)=>e.exportDiscussions&&e.exportDiscussions(...s),["stop"]))},uRt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:n[27]||(n[27]=j((...s)=>e.exportDiscussionsAsMarkdown&&e.exportDiscussionsAsMarkdown(...s),["stop"]))},_Rt),l("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Select All",type:"button",onClick:n[28]||(n[28]=j((...s)=>e.selectAllDiscussions&&e.selectAllDiscussions(...s),["stop"]))},fRt)])])])):G("",!0)]),l("div",mRt,[l("div",{class:Ge(["mx-0 flex flex-col flex-grow w-full",e.isDragOverDiscussion?"pointer-events-none":""])},[l("div",{id:"dis-list",class:Ge([e.filterInProgress?"opacity-20 pointer-events-none":"","flex flex-col flex-grow w-full pb-80"])},[e.list.length>0?(T(),dt(ii,{key:0,name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(e.list,(s,i)=>(T(),dt(OE,{key:s.id,id:s.id,title:s.title,selected:e.currentDiscussion.id==s.id,loading:s.loading,isCheckbox:e.isCheckbox,checkBoxValue:s.checkBoxValue,onSelect:r=>e.selectDiscussion(s),onDelete:r=>e.deleteDiscussion(s.id),onOpenFolder:e.openFolder,onEditTitle:e.editTitle,onMakeTitle:e.makeTitle,onChecked:e.checkUncheckDiscussion},null,8,["id","title","selected","loading","isCheckbox","checkBoxValue","onSelect","onDelete","onOpenFolder","onEditTitle","onMakeTitle","onChecked"]))),128))]),_:1})):G("",!0),e.list.length<1?(T(),x("div",gRt,ERt)):G("",!0),yRt],2)],2)])],32),l("div",{class:"absolute h-15 bottom-0 left-0 w-full unicolor-panels-color light-text-panel py-4 cursor-pointer text-light-text-panel dark:text-dark-text-panel hover:text-secondary",onClick:n[30]||(n[30]=(...s)=>e.showDatabaseSelector&&e.showDatabaseSelector(...s))},[l("p",vRt,K(e.formatted_database_name.replace("_"," ")),1)])])):G("",!0)]),_:1}),e.isReady?(T(),x("div",SRt,[l("div",{id:"messages-list",class:Ge(["w-full z-0 flex flex-col flex-grow overflow-y-auto scrollbar",e.isDragOverChat?"pointer-events-none":""])},[l("div",TRt,[e.discussionArr.length>0?(T(),dt(ii,{key:0,name:"list"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(e.discussionArr,(s,i)=>(T(),dt(uN,{key:s.id,message:s,id:"msg-"+s.id,ref_for:!0,ref:"msg-"+s.id,host:e.host,onCopy:e.copyToClipBoard,onDelete:e.deleteMessage,onRankUp:e.rankUpMessage,onRankDown:e.rankDownMessage,onUpdateMessage:e.updateMessage,onResendMessage:e.resendMessage,onContinueMessage:e.continueMessage,avatar:e.getAvatar(s.sender)},null,8,["message","id","host","onCopy","onDelete","onRankUp","onRankDown","onUpdateMessage","onResendMessage","onContinueMessage","avatar"]))),128)),e.discussionArr.length<2&&e.personality.prompts_list.length>0?(T(),x("div",xRt,[CRt,e.discussionArr.length<2&&e.personality.prompts_list.length>0?(T(),x("div",wRt,[l("div",RRt,[(T(!0),x(Fe,null,Ke(e.personality.prompts_list,(s,i)=>(T(),x("div",{key:i,onClick:r=>e.selectPrompt(s),class:"bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg p-4 cursor-pointer hover:shadow-lg transition-all duration-300 ease-in-out transform hover:scale-105 flex flex-col justify-between h-[220px] overflow-hidden group"},[l("div",{title:s,class:"text-base text-gray-700 dark:text-gray-300 overflow-hidden relative h-full"},[l("div",ORt,K(s),1),MRt],8,NRt),IRt],8,ARt))),128))])])):G("",!0)])):G("",!0)]),_:1})):G("",!0),e.currentDiscussion.id?G("",!0):(T(),dt(_N,{key:1})),kRt]),DRt],2),e.currentDiscussion.id?(T(),x("div",LRt,[V(pN,{ref:"chatBox",loading:e.isGenerating,discussionList:e.discussionArr,"on-show-toast-message":e.showToastMessage,"on-talk":e.talk,onPersonalitySelected:e.recoverFiles,onMessageSentEvent:e.sendMsg,onSendCMDEvent:e.sendCmd,onAddWebLink:e.add_webpage,onCreateEmptyUserMessage:e.createEmptyUserMessage,onCreateEmptyAIMessage:e.createEmptyAIMessage,onStopGenerating:e.stopGenerating,onLoaded:e.recoverFiles},null,8,["loading","discussionList","on-show-toast-message","on-talk","onPersonalitySelected","onMessageSentEvent","onSendCMDEvent","onAddWebLink","onCreateEmptyUserMessage","onCreateEmptyAIMessage","onStopGenerating","onLoaded"])])):G("",!0)])):G("",!0),V(Fs,{name:"slide-left"},{default:Ie(()=>[e.showRightPanel?(T(),x("div",PRt,[l("div",FRt,null,512)])):G("",!0)]),_:1}),V(NE,{reference:"database_selector",class:"z-20",show:e.database_selectorDialogVisible,choices:e.databases,"can-remove":!0,onChoiceRemoved:e.ondatabase_selectorDialogRemoved,onChoiceSelected:e.ondatabase_selectorDialogSelected,onCloseDialog:e.onclosedatabase_selectorDialog,onChoiceValidated:e.onvalidatedatabase_selectorChoice},null,8,["show","choices","onChoiceRemoved","onChoiceSelected","onCloseDialog","onChoiceValidated"]),P(l("div",URt,[V(Wu,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),l("p",BRt,K(e.loading_infos)+" ...",1)],512),[[wt,e.progress_visibility]]),V(lN,{"prompt-text":"Enter the url to the page to use as discussion support",onOk:e.addWebpage,ref:"web_url_input_box"},null,8,["onOk"]),V(cN,{ref:"skills_lib"},null,512)],64))}}),zRt=ot(VRt,[["__scopeId","data-v-9e711246"]]);/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const HE="159",PRt=0,A1=1,FRt=2,CN=1,URt=2,Ci=3,Li=0,$n=1,Js=2,ur=0,jo=1,N1=2,O1=3,M1=4,BRt=5,Ur=100,GRt=101,VRt=102,I1=103,k1=104,zRt=200,HRt=201,qRt=202,$Rt=203,jg=204,Qg=205,YRt=206,WRt=207,KRt=208,jRt=209,QRt=210,XRt=211,ZRt=212,JRt=213,eAt=214,tAt=0,nAt=1,sAt=2,nu=3,iAt=4,rAt=5,oAt=6,aAt=7,qE=0,lAt=1,cAt=2,pr=0,dAt=1,uAt=2,pAt=3,_At=4,hAt=5,D1="attached",fAt="detached",wN=300,da=301,ua=302,Xg=303,Zg=304,ep=306,pa=1e3,us=1001,su=1002,gn=1003,Jg=1004,wd=1005,zn=1006,RN=1007,so=1008,_r=1009,mAt=1010,gAt=1011,$E=1012,AN=1013,ar=1014,Ai=1015,ql=1016,NN=1017,ON=1018,Kr=1020,bAt=1021,ps=1023,EAt=1024,yAt=1025,jr=1026,_a=1027,vAt=1028,MN=1029,SAt=1030,IN=1031,kN=1033,Cm=33776,wm=33777,Rm=33778,Am=33779,L1=35840,P1=35841,F1=35842,U1=35843,DN=36196,B1=37492,G1=37496,V1=37808,z1=37809,H1=37810,q1=37811,$1=37812,Y1=37813,W1=37814,K1=37815,j1=37816,Q1=37817,X1=37818,Z1=37819,J1=37820,eC=37821,Nm=36492,tC=36494,nC=36495,TAt=36283,sC=36284,iC=36285,rC=36286,$l=2300,ha=2301,Om=2302,oC=2400,aC=2401,lC=2402,xAt=2500,CAt=0,LN=1,eb=2,PN=3e3,Qr=3001,wAt=3200,RAt=3201,YE=0,AAt=1,_s="",tn="srgb",wn="srgb-linear",WE="display-p3",tp="display-p3-linear",iu="linear",Kt="srgb",ru="rec709",ou="p3",bo=7680,cC=519,NAt=512,OAt=513,MAt=514,FN=515,IAt=516,kAt=517,DAt=518,LAt=519,tb=35044,dC="300 es",nb=1035,Ni=2e3,au=2001;class Fa{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const s=this._listeners;s[e]===void 0&&(s[e]=[]),s[e].indexOf(n)===-1&&s[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const s=this._listeners;return s[e]!==void 0&&s[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const r=i.indexOf(n);r!==-1&&i.splice(r,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const s=this._listeners[e.type];if(s!==void 0){e.target=this;const i=s.slice(0);for(let r=0,o=i.length;r>8&255]+Rn[t>>16&255]+Rn[t>>24&255]+"-"+Rn[e&255]+Rn[e>>8&255]+"-"+Rn[e>>16&15|64]+Rn[e>>24&255]+"-"+Rn[n&63|128]+Rn[n>>8&255]+"-"+Rn[n>>16&255]+Rn[n>>24&255]+Rn[s&255]+Rn[s>>8&255]+Rn[s>>16&255]+Rn[s>>24&255]).toLowerCase()}function Nn(t,e,n){return Math.max(e,Math.min(n,t))}function KE(t,e){return(t%e+e)%e}function PAt(t,e,n,s,i){return s+(t-e)*(i-s)/(n-e)}function FAt(t,e,n){return t!==e?(n-t)/(e-t):0}function xl(t,e,n){return(1-n)*t+n*e}function UAt(t,e,n,s){return xl(t,e,1-Math.exp(-n*s))}function BAt(t,e=1){return e-Math.abs(KE(t,e*2)-e)}function GAt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function VAt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function zAt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function HAt(t,e){return t+Math.random()*(e-t)}function qAt(t){return t*(.5-Math.random())}function $At(t){t!==void 0&&(uC=t);let e=uC+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function YAt(t){return t*Tl}function WAt(t){return t*fa}function sb(t){return(t&t-1)===0&&t!==0}function KAt(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function lu(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function jAt(t,e,n,s,i){const r=Math.cos,o=Math.sin,a=r(n/2),c=o(n/2),d=r((e+s)/2),u=o((e+s)/2),h=r((e-s)/2),f=o((e-s)/2),m=r((s-e)/2),_=o((s-e)/2);switch(i){case"XYX":t.set(a*u,c*h,c*f,a*d);break;case"YZY":t.set(c*f,a*u,c*h,a*d);break;case"ZXZ":t.set(c*h,c*f,a*u,a*d);break;case"XZX":t.set(a*u,c*_,c*m,a*d);break;case"YXY":t.set(c*m,a*u,c*_,a*d);break;case"ZYZ":t.set(c*_,c*m,a*u,a*d);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function ei(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Vt(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const QAt={DEG2RAD:Tl,RAD2DEG:fa,generateUUID:Gs,clamp:Nn,euclideanModulo:KE,mapLinear:PAt,inverseLerp:FAt,lerp:xl,damp:UAt,pingpong:BAt,smoothstep:GAt,smootherstep:VAt,randInt:zAt,randFloat:HAt,randFloatSpread:qAt,seededRandom:$At,degToRad:YAt,radToDeg:WAt,isPowerOfTwo:sb,ceilPowerOfTwo:KAt,floorPowerOfTwo:lu,setQuaternionFromProperEuler:jAt,normalize:Vt,denormalize:ei};class At{constructor(e=0,n=0){At.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,s=this.y,i=e.elements;return this.x=i[0]*n+i[3]*s+i[6],this.y=i[1]*n+i[4]*s+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(e,Math.min(n,s)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const s=this.dot(e)/n;return Math.acos(Nn(s,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,s=this.y-e.y;return n*n+s*s}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,s){return this.x=e.x+(n.x-e.x)*s,this.y=e.y+(n.y-e.y)*s,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const s=Math.cos(n),i=Math.sin(n),r=this.x-e.x,o=this.y-e.y;return this.x=r*s-o*i+e.x,this.y=r*i+o*s+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Tt{constructor(e,n,s,i,r,o,a,c,d){Tt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,s,i,r,o,a,c,d)}set(e,n,s,i,r,o,a,c,d){const u=this.elements;return u[0]=e,u[1]=i,u[2]=a,u[3]=n,u[4]=r,u[5]=c,u[6]=s,u[7]=o,u[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,s=e.elements;return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=s[3],n[4]=s[4],n[5]=s[5],n[6]=s[6],n[7]=s[7],n[8]=s[8],this}extractBasis(e,n,s){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),s.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const s=e.elements,i=n.elements,r=this.elements,o=s[0],a=s[3],c=s[6],d=s[1],u=s[4],h=s[7],f=s[2],m=s[5],_=s[8],g=i[0],b=i[3],E=i[6],y=i[1],v=i[4],S=i[7],R=i[2],w=i[5],A=i[8];return r[0]=o*g+a*y+c*R,r[3]=o*b+a*v+c*w,r[6]=o*E+a*S+c*A,r[1]=d*g+u*y+h*R,r[4]=d*b+u*v+h*w,r[7]=d*E+u*S+h*A,r[2]=f*g+m*y+_*R,r[5]=f*b+m*v+_*w,r[8]=f*E+m*S+_*A,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],s=e[1],i=e[2],r=e[3],o=e[4],a=e[5],c=e[6],d=e[7],u=e[8];return n*o*u-n*a*d-s*r*u+s*a*c+i*r*d-i*o*c}invert(){const e=this.elements,n=e[0],s=e[1],i=e[2],r=e[3],o=e[4],a=e[5],c=e[6],d=e[7],u=e[8],h=u*o-a*d,f=a*c-u*r,m=d*r-o*c,_=n*h+s*f+i*m;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const g=1/_;return e[0]=h*g,e[1]=(i*d-u*s)*g,e[2]=(a*s-i*o)*g,e[3]=f*g,e[4]=(u*n-i*c)*g,e[5]=(i*r-a*n)*g,e[6]=m*g,e[7]=(s*c-d*n)*g,e[8]=(o*n-s*r)*g,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,s,i,r,o,a){const c=Math.cos(r),d=Math.sin(r);return this.set(s*c,s*d,-s*(c*o+d*a)+o+e,-i*d,i*c,-i*(-d*o+c*a)+a+n,0,0,1),this}scale(e,n){return this.premultiply(Mm.makeScale(e,n)),this}rotate(e){return this.premultiply(Mm.makeRotation(-e)),this}translate(e,n){return this.premultiply(Mm.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),s=Math.sin(e);return this.set(n,-s,0,s,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,s=e.elements;for(let i=0;i<9;i++)if(n[i]!==s[i])return!1;return!0}fromArray(e,n=0){for(let s=0;s<9;s++)this.elements[s]=e[s+n];return this}toArray(e=[],n=0){const s=this.elements;return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],e[n+4]=s[4],e[n+5]=s[5],e[n+6]=s[6],e[n+7]=s[7],e[n+8]=s[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Mm=new Tt;function UN(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}function Yl(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function XAt(){const t=Yl("canvas");return t.style.display="block",t}const pC={};function Cl(t){t in pC||(pC[t]=!0,console.warn(t))}const _C=new Tt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),hC=new Tt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Pc={[wn]:{transfer:iu,primaries:ru,toReference:t=>t,fromReference:t=>t},[tn]:{transfer:Kt,primaries:ru,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[tp]:{transfer:iu,primaries:ou,toReference:t=>t.applyMatrix3(hC),fromReference:t=>t.applyMatrix3(_C)},[WE]:{transfer:Kt,primaries:ou,toReference:t=>t.convertSRGBToLinear().applyMatrix3(hC),fromReference:t=>t.applyMatrix3(_C).convertLinearToSRGB()}},ZAt=new Set([wn,tp]),Ft={enabled:!0,_workingColorSpace:wn,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!ZAt.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const s=Pc[e].toReference,i=Pc[n].fromReference;return i(s(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return Pc[t].primaries},getTransfer:function(t){return t===_s?iu:Pc[t].transfer}};function Qo(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function Im(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let Eo;class BN{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{Eo===void 0&&(Eo=Yl("canvas")),Eo.width=e.width,Eo.height=e.height;const s=Eo.getContext("2d");e instanceof ImageData?s.putImageData(e,0,0):s.drawImage(e,0,0,e.width,e.height),n=Eo}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=Yl("canvas");n.width=e.width,n.height=e.height;const s=n.getContext("2d");s.drawImage(e,0,0,e.width,e.height);const i=s.getImageData(0,0,e.width,e.height),r=i.data;for(let o=0;o0&&(s.userData=this.userData),n||(e.textures[this.uuid]=s),s}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==wN)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case pa:e.x=e.x-Math.floor(e.x);break;case us:e.x=e.x<0?0:1;break;case su:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case pa:e.y=e.y-Math.floor(e.y);break;case us:e.y=e.y<0?0:1;break;case su:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return Cl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===tn?Qr:PN}set encoding(e){Cl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Qr?tn:_s}}Cn.DEFAULT_IMAGE=null;Cn.DEFAULT_MAPPING=wN;Cn.DEFAULT_ANISOTROPY=1;class $t{constructor(e=0,n=0,s=0,i=1){$t.prototype.isVector4=!0,this.x=e,this.y=n,this.z=s,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,s,i){return this.x=e,this.y=n,this.z=s,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,s=this.y,i=this.z,r=this.w,o=e.elements;return this.x=o[0]*n+o[4]*s+o[8]*i+o[12]*r,this.y=o[1]*n+o[5]*s+o[9]*i+o[13]*r,this.z=o[2]*n+o[6]*s+o[10]*i+o[14]*r,this.w=o[3]*n+o[7]*s+o[11]*i+o[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,s,i,r;const c=e.elements,d=c[0],u=c[4],h=c[8],f=c[1],m=c[5],_=c[9],g=c[2],b=c[6],E=c[10];if(Math.abs(u-f)<.01&&Math.abs(h-g)<.01&&Math.abs(_-b)<.01){if(Math.abs(u+f)<.1&&Math.abs(h+g)<.1&&Math.abs(_+b)<.1&&Math.abs(d+m+E-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const v=(d+1)/2,S=(m+1)/2,R=(E+1)/2,w=(u+f)/4,A=(h+g)/4,I=(_+b)/4;return v>S&&v>R?v<.01?(s=0,i=.707106781,r=.707106781):(s=Math.sqrt(v),i=w/s,r=A/s):S>R?S<.01?(s=.707106781,i=0,r=.707106781):(i=Math.sqrt(S),s=w/i,r=I/i):R<.01?(s=.707106781,i=.707106781,r=0):(r=Math.sqrt(R),s=A/r,i=I/r),this.set(s,i,r,n),this}let y=Math.sqrt((b-_)*(b-_)+(h-g)*(h-g)+(f-u)*(f-u));return Math.abs(y)<.001&&(y=1),this.x=(b-_)/y,this.y=(h-g)/y,this.z=(f-u)/y,this.w=Math.acos((d+m+E-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(e,Math.min(n,s)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,s){return this.x=e.x+(n.x-e.x)*s,this.y=e.y+(n.y-e.y)*s,this.z=e.z+(n.z-e.z)*s,this.w=e.w+(n.w-e.w)*s,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class t2t extends Fa{constructor(e=1,n=1,s={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new $t(0,0,e,n),this.scissorTest=!1,this.viewport=new $t(0,0,e,n);const i={width:e,height:n,depth:1};s.encoding!==void 0&&(Cl("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),s.colorSpace=s.encoding===Qr?tn:_s),s=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:zn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},s),this.texture=new Cn(i,s.mapping,s.wrapS,s.wrapT,s.magFilter,s.minFilter,s.format,s.type,s.anisotropy,s.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=s.generateMipmaps,this.texture.internalFormat=s.internalFormat,this.depthBuffer=s.depthBuffer,this.stencilBuffer=s.stencilBuffer,this.depthTexture=s.depthTexture,this.samples=s.samples}setSize(e,n,s=1){(this.width!==e||this.height!==n||this.depth!==s)&&(this.width=e,this.height=n,this.depth=s,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=s,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new GN(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class io extends t2t{constructor(e=1,n=1,s={}){super(e,n,s),this.isWebGLRenderTarget=!0}}class VN extends Cn{constructor(e=null,n=1,s=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:s,depth:i},this.magFilter=gn,this.minFilter=gn,this.wrapR=us,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class n2t extends Cn{constructor(e=null,n=1,s=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:s,depth:i},this.magFilter=gn,this.minFilter=gn,this.wrapR=us,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class yr{constructor(e=0,n=0,s=0,i=1){this.isQuaternion=!0,this._x=e,this._y=n,this._z=s,this._w=i}static slerpFlat(e,n,s,i,r,o,a){let c=s[i+0],d=s[i+1],u=s[i+2],h=s[i+3];const f=r[o+0],m=r[o+1],_=r[o+2],g=r[o+3];if(a===0){e[n+0]=c,e[n+1]=d,e[n+2]=u,e[n+3]=h;return}if(a===1){e[n+0]=f,e[n+1]=m,e[n+2]=_,e[n+3]=g;return}if(h!==g||c!==f||d!==m||u!==_){let b=1-a;const E=c*f+d*m+u*_+h*g,y=E>=0?1:-1,v=1-E*E;if(v>Number.EPSILON){const R=Math.sqrt(v),w=Math.atan2(R,E*y);b=Math.sin(b*w)/R,a=Math.sin(a*w)/R}const S=a*y;if(c=c*b+f*S,d=d*b+m*S,u=u*b+_*S,h=h*b+g*S,b===1-a){const R=1/Math.sqrt(c*c+d*d+u*u+h*h);c*=R,d*=R,u*=R,h*=R}}e[n]=c,e[n+1]=d,e[n+2]=u,e[n+3]=h}static multiplyQuaternionsFlat(e,n,s,i,r,o){const a=s[i],c=s[i+1],d=s[i+2],u=s[i+3],h=r[o],f=r[o+1],m=r[o+2],_=r[o+3];return e[n]=a*_+u*h+c*m-d*f,e[n+1]=c*_+u*f+d*h-a*m,e[n+2]=d*_+u*m+a*f-c*h,e[n+3]=u*_-a*h-c*f-d*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,s,i){return this._x=e,this._y=n,this._z=s,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n){const s=e._x,i=e._y,r=e._z,o=e._order,a=Math.cos,c=Math.sin,d=a(s/2),u=a(i/2),h=a(r/2),f=c(s/2),m=c(i/2),_=c(r/2);switch(o){case"XYZ":this._x=f*u*h+d*m*_,this._y=d*m*h-f*u*_,this._z=d*u*_+f*m*h,this._w=d*u*h-f*m*_;break;case"YXZ":this._x=f*u*h+d*m*_,this._y=d*m*h-f*u*_,this._z=d*u*_-f*m*h,this._w=d*u*h+f*m*_;break;case"ZXY":this._x=f*u*h-d*m*_,this._y=d*m*h+f*u*_,this._z=d*u*_+f*m*h,this._w=d*u*h-f*m*_;break;case"ZYX":this._x=f*u*h-d*m*_,this._y=d*m*h+f*u*_,this._z=d*u*_-f*m*h,this._w=d*u*h+f*m*_;break;case"YZX":this._x=f*u*h+d*m*_,this._y=d*m*h+f*u*_,this._z=d*u*_-f*m*h,this._w=d*u*h-f*m*_;break;case"XZY":this._x=f*u*h-d*m*_,this._y=d*m*h-f*u*_,this._z=d*u*_+f*m*h,this._w=d*u*h+f*m*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return n!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const s=n/2,i=Math.sin(s);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(s),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,s=n[0],i=n[4],r=n[8],o=n[1],a=n[5],c=n[9],d=n[2],u=n[6],h=n[10],f=s+a+h;if(f>0){const m=.5/Math.sqrt(f+1);this._w=.25/m,this._x=(u-c)*m,this._y=(r-d)*m,this._z=(o-i)*m}else if(s>a&&s>h){const m=2*Math.sqrt(1+s-a-h);this._w=(u-c)/m,this._x=.25*m,this._y=(i+o)/m,this._z=(r+d)/m}else if(a>h){const m=2*Math.sqrt(1+a-s-h);this._w=(r-d)/m,this._x=(i+o)/m,this._y=.25*m,this._z=(c+u)/m}else{const m=2*Math.sqrt(1+h-s-a);this._w=(o-i)/m,this._x=(r+d)/m,this._y=(c+u)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let s=e.dot(n)+1;return sMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=s):(this._x=0,this._y=-e.z,this._z=e.y,this._w=s)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=s),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Nn(this.dot(e),-1,1)))}rotateTowards(e,n){const s=this.angleTo(e);if(s===0)return this;const i=Math.min(1,n/s);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const s=e._x,i=e._y,r=e._z,o=e._w,a=n._x,c=n._y,d=n._z,u=n._w;return this._x=s*u+o*a+i*d-r*c,this._y=i*u+o*c+r*a-s*d,this._z=r*u+o*d+s*c-i*a,this._w=o*u-s*a-i*c-r*d,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const s=this._x,i=this._y,r=this._z,o=this._w;let a=o*e._w+s*e._x+i*e._y+r*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=s,this._y=i,this._z=r,this;const c=1-a*a;if(c<=Number.EPSILON){const m=1-n;return this._w=m*o+n*this._w,this._x=m*s+n*this._x,this._y=m*i+n*this._y,this._z=m*r+n*this._z,this.normalize(),this._onChangeCallback(),this}const d=Math.sqrt(c),u=Math.atan2(d,a),h=Math.sin((1-n)*u)/d,f=Math.sin(n*u)/d;return this._w=o*h+this._w*f,this._x=s*h+this._x*f,this._y=i*h+this._y*f,this._z=r*h+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,n,s){return this.copy(e).slerp(n,s)}random(){const e=Math.random(),n=Math.sqrt(1-e),s=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(n*Math.cos(i),s*Math.sin(r),s*Math.cos(r),n*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class oe{constructor(e=0,n=0,s=0){oe.prototype.isVector3=!0,this.x=e,this.y=n,this.z=s}set(e,n,s){return s===void 0&&(s=this.z),this.x=e,this.y=n,this.z=s,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(fC.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(fC.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,s=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[3]*s+r[6]*i,this.y=r[1]*n+r[4]*s+r[7]*i,this.z=r[2]*n+r[5]*s+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,s=this.y,i=this.z,r=e.elements,o=1/(r[3]*n+r[7]*s+r[11]*i+r[15]);return this.x=(r[0]*n+r[4]*s+r[8]*i+r[12])*o,this.y=(r[1]*n+r[5]*s+r[9]*i+r[13])*o,this.z=(r[2]*n+r[6]*s+r[10]*i+r[14])*o,this}applyQuaternion(e){const n=this.x,s=this.y,i=this.z,r=e.x,o=e.y,a=e.z,c=e.w,d=2*(o*i-a*s),u=2*(a*n-r*i),h=2*(r*s-o*n);return this.x=n+c*d+o*h-a*u,this.y=s+c*u+a*d-r*h,this.z=i+c*h+r*u-o*d,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,s=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[4]*s+r[8]*i,this.y=r[1]*n+r[5]*s+r[9]*i,this.z=r[2]*n+r[6]*s+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(e,Math.min(n,s)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,s){return this.x=e.x+(n.x-e.x)*s,this.y=e.y+(n.y-e.y)*s,this.z=e.z+(n.z-e.z)*s,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const s=e.x,i=e.y,r=e.z,o=n.x,a=n.y,c=n.z;return this.x=i*c-r*a,this.y=r*o-s*c,this.z=s*a-i*o,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const s=e.dot(this)/n;return this.copy(e).multiplyScalar(s)}projectOnPlane(e){return Dm.copy(this).projectOnVector(e),this.sub(Dm)}reflect(e){return this.sub(Dm.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const s=this.dot(e)/n;return Math.acos(Nn(s,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,s=this.y-e.y,i=this.z-e.z;return n*n+s*s+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,s){const i=Math.sin(n)*e;return this.x=i*Math.sin(s),this.y=Math.cos(n)*e,this.z=i*Math.cos(s),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,s){return this.x=e*Math.sin(n),this.y=s,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),s=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=s,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,s=Math.sqrt(1-e**2);return this.x=s*Math.cos(n),this.y=s*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Dm=new oe,fC=new yr;class Ui{constructor(e=new oe(1/0,1/0,1/0),n=new oe(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,s=e.length;nthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Rs),Rs.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,s;return e.normal.x>0?(n=e.normal.x*this.min.x,s=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,s=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,s+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,s+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,s+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,s+=e.normal.z*this.min.z),n<=-e.constant&&s>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Ja),Uc.subVectors(this.max,Ja),yo.subVectors(e.a,Ja),vo.subVectors(e.b,Ja),So.subVectors(e.c,Ja),qi.subVectors(vo,yo),$i.subVectors(So,vo),wr.subVectors(yo,So);let n=[0,-qi.z,qi.y,0,-$i.z,$i.y,0,-wr.z,wr.y,qi.z,0,-qi.x,$i.z,0,-$i.x,wr.z,0,-wr.x,-qi.y,qi.x,0,-$i.y,$i.x,0,-wr.y,wr.x,0];return!Lm(n,yo,vo,So,Uc)||(n=[1,0,0,0,1,0,0,0,1],!Lm(n,yo,vo,So,Uc))?!1:(Bc.crossVectors(qi,$i),n=[Bc.x,Bc.y,Bc.z],Lm(n,yo,vo,So,Uc))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Rs).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Rs).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(bi[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),bi[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),bi[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),bi[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),bi[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),bi[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),bi[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),bi[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(bi),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const bi=[new oe,new oe,new oe,new oe,new oe,new oe,new oe,new oe],Rs=new oe,Fc=new Ui,yo=new oe,vo=new oe,So=new oe,qi=new oe,$i=new oe,wr=new oe,Ja=new oe,Uc=new oe,Bc=new oe,Rr=new oe;function Lm(t,e,n,s,i){for(let r=0,o=t.length-3;r<=o;r+=3){Rr.fromArray(t,r);const a=i.x*Math.abs(Rr.x)+i.y*Math.abs(Rr.y)+i.z*Math.abs(Rr.z),c=e.dot(Rr),d=n.dot(Rr),u=s.dot(Rr);if(Math.max(-Math.max(c,d,u),Math.min(c,d,u))>a)return!1}return!0}const s2t=new Ui,el=new oe,Pm=new oe;class pi{constructor(e=new oe,n=-1){this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const s=this.center;n!==void 0?s.copy(n):s2t.setFromPoints(e).getCenter(s);let i=0;for(let r=0,o=e.length;rthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;el.subVectors(e,this.center);const n=el.lengthSq();if(n>this.radius*this.radius){const s=Math.sqrt(n),i=(s-this.radius)*.5;this.center.addScaledVector(el,i/s),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Pm.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(el.copy(e.center).add(Pm)),this.expandByPoint(el.copy(e.center).sub(Pm))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ei=new oe,Fm=new oe,Gc=new oe,Yi=new oe,Um=new oe,Vc=new oe,Bm=new oe;class np{constructor(e=new oe,n=new oe(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Ei)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const s=n.dot(this.direction);return s<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,s)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=Ei.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(Ei.copy(this.origin).addScaledVector(this.direction,n),Ei.distanceToSquared(e))}distanceSqToSegment(e,n,s,i){Fm.copy(e).add(n).multiplyScalar(.5),Gc.copy(n).sub(e).normalize(),Yi.copy(this.origin).sub(Fm);const r=e.distanceTo(n)*.5,o=-this.direction.dot(Gc),a=Yi.dot(this.direction),c=-Yi.dot(Gc),d=Yi.lengthSq(),u=Math.abs(1-o*o);let h,f,m,_;if(u>0)if(h=o*c-a,f=o*a-c,_=r*u,h>=0)if(f>=-_)if(f<=_){const g=1/u;h*=g,f*=g,m=h*(h+o*f+2*a)+f*(o*h+f+2*c)+d}else f=r,h=Math.max(0,-(o*f+a)),m=-h*h+f*(f+2*c)+d;else f=-r,h=Math.max(0,-(o*f+a)),m=-h*h+f*(f+2*c)+d;else f<=-_?(h=Math.max(0,-(-o*r+a)),f=h>0?-r:Math.min(Math.max(-r,-c),r),m=-h*h+f*(f+2*c)+d):f<=_?(h=0,f=Math.min(Math.max(-r,-c),r),m=f*(f+2*c)+d):(h=Math.max(0,-(o*r+a)),f=h>0?r:Math.min(Math.max(-r,-c),r),m=-h*h+f*(f+2*c)+d);else f=o>0?-r:r,h=Math.max(0,-(o*f+a)),m=-h*h+f*(f+2*c)+d;return s&&s.copy(this.origin).addScaledVector(this.direction,h),i&&i.copy(Fm).addScaledVector(Gc,f),m}intersectSphere(e,n){Ei.subVectors(e.center,this.origin);const s=Ei.dot(this.direction),i=Ei.dot(Ei)-s*s,r=e.radius*e.radius;if(i>r)return null;const o=Math.sqrt(r-i),a=s-o,c=s+o;return c<0?null:a<0?this.at(c,n):this.at(a,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const s=-(this.origin.dot(e.normal)+e.constant)/n;return s>=0?s:null}intersectPlane(e,n){const s=this.distanceToPlane(e);return s===null?null:this.at(s,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let s,i,r,o,a,c;const d=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,f=this.origin;return d>=0?(s=(e.min.x-f.x)*d,i=(e.max.x-f.x)*d):(s=(e.max.x-f.x)*d,i=(e.min.x-f.x)*d),u>=0?(r=(e.min.y-f.y)*u,o=(e.max.y-f.y)*u):(r=(e.max.y-f.y)*u,o=(e.min.y-f.y)*u),s>o||r>i||((r>s||isNaN(s))&&(s=r),(o=0?(a=(e.min.z-f.z)*h,c=(e.max.z-f.z)*h):(a=(e.max.z-f.z)*h,c=(e.min.z-f.z)*h),s>c||a>i)||((a>s||s!==s)&&(s=a),(c=0?s:i,n)}intersectsBox(e){return this.intersectBox(e,Ei)!==null}intersectTriangle(e,n,s,i,r){Um.subVectors(n,e),Vc.subVectors(s,e),Bm.crossVectors(Um,Vc);let o=this.direction.dot(Bm),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Yi.subVectors(this.origin,e);const c=a*this.direction.dot(Vc.crossVectors(Yi,Vc));if(c<0)return null;const d=a*this.direction.dot(Um.cross(Yi));if(d<0||c+d>o)return null;const u=-a*Yi.dot(Bm);return u<0?null:this.at(u/o,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class xt{constructor(e,n,s,i,r,o,a,c,d,u,h,f,m,_,g,b){xt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,s,i,r,o,a,c,d,u,h,f,m,_,g,b)}set(e,n,s,i,r,o,a,c,d,u,h,f,m,_,g,b){const E=this.elements;return E[0]=e,E[4]=n,E[8]=s,E[12]=i,E[1]=r,E[5]=o,E[9]=a,E[13]=c,E[2]=d,E[6]=u,E[10]=h,E[14]=f,E[3]=m,E[7]=_,E[11]=g,E[15]=b,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new xt().fromArray(this.elements)}copy(e){const n=this.elements,s=e.elements;return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=s[3],n[4]=s[4],n[5]=s[5],n[6]=s[6],n[7]=s[7],n[8]=s[8],n[9]=s[9],n[10]=s[10],n[11]=s[11],n[12]=s[12],n[13]=s[13],n[14]=s[14],n[15]=s[15],this}copyPosition(e){const n=this.elements,s=e.elements;return n[12]=s[12],n[13]=s[13],n[14]=s[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,s){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),s.setFromMatrixColumn(this,2),this}makeBasis(e,n,s){return this.set(e.x,n.x,s.x,0,e.y,n.y,s.y,0,e.z,n.z,s.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,s=e.elements,i=1/To.setFromMatrixColumn(e,0).length(),r=1/To.setFromMatrixColumn(e,1).length(),o=1/To.setFromMatrixColumn(e,2).length();return n[0]=s[0]*i,n[1]=s[1]*i,n[2]=s[2]*i,n[3]=0,n[4]=s[4]*r,n[5]=s[5]*r,n[6]=s[6]*r,n[7]=0,n[8]=s[8]*o,n[9]=s[9]*o,n[10]=s[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,s=e.x,i=e.y,r=e.z,o=Math.cos(s),a=Math.sin(s),c=Math.cos(i),d=Math.sin(i),u=Math.cos(r),h=Math.sin(r);if(e.order==="XYZ"){const f=o*u,m=o*h,_=a*u,g=a*h;n[0]=c*u,n[4]=-c*h,n[8]=d,n[1]=m+_*d,n[5]=f-g*d,n[9]=-a*c,n[2]=g-f*d,n[6]=_+m*d,n[10]=o*c}else if(e.order==="YXZ"){const f=c*u,m=c*h,_=d*u,g=d*h;n[0]=f+g*a,n[4]=_*a-m,n[8]=o*d,n[1]=o*h,n[5]=o*u,n[9]=-a,n[2]=m*a-_,n[6]=g+f*a,n[10]=o*c}else if(e.order==="ZXY"){const f=c*u,m=c*h,_=d*u,g=d*h;n[0]=f-g*a,n[4]=-o*h,n[8]=_+m*a,n[1]=m+_*a,n[5]=o*u,n[9]=g-f*a,n[2]=-o*d,n[6]=a,n[10]=o*c}else if(e.order==="ZYX"){const f=o*u,m=o*h,_=a*u,g=a*h;n[0]=c*u,n[4]=_*d-m,n[8]=f*d+g,n[1]=c*h,n[5]=g*d+f,n[9]=m*d-_,n[2]=-d,n[6]=a*c,n[10]=o*c}else if(e.order==="YZX"){const f=o*c,m=o*d,_=a*c,g=a*d;n[0]=c*u,n[4]=g-f*h,n[8]=_*h+m,n[1]=h,n[5]=o*u,n[9]=-a*u,n[2]=-d*u,n[6]=m*h+_,n[10]=f-g*h}else if(e.order==="XZY"){const f=o*c,m=o*d,_=a*c,g=a*d;n[0]=c*u,n[4]=-h,n[8]=d*u,n[1]=f*h+g,n[5]=o*u,n[9]=m*h-_,n[2]=_*h-m,n[6]=a*u,n[10]=g*h+f}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(i2t,e,r2t)}lookAt(e,n,s){const i=this.elements;return jn.subVectors(e,n),jn.lengthSq()===0&&(jn.z=1),jn.normalize(),Wi.crossVectors(s,jn),Wi.lengthSq()===0&&(Math.abs(s.z)===1?jn.x+=1e-4:jn.z+=1e-4,jn.normalize(),Wi.crossVectors(s,jn)),Wi.normalize(),zc.crossVectors(jn,Wi),i[0]=Wi.x,i[4]=zc.x,i[8]=jn.x,i[1]=Wi.y,i[5]=zc.y,i[9]=jn.y,i[2]=Wi.z,i[6]=zc.z,i[10]=jn.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const s=e.elements,i=n.elements,r=this.elements,o=s[0],a=s[4],c=s[8],d=s[12],u=s[1],h=s[5],f=s[9],m=s[13],_=s[2],g=s[6],b=s[10],E=s[14],y=s[3],v=s[7],S=s[11],R=s[15],w=i[0],A=i[4],I=i[8],C=i[12],O=i[1],B=i[5],H=i[9],te=i[13],k=i[2],$=i[6],q=i[10],F=i[14],W=i[3],ne=i[7],le=i[11],me=i[15];return r[0]=o*w+a*O+c*k+d*W,r[4]=o*A+a*B+c*$+d*ne,r[8]=o*I+a*H+c*q+d*le,r[12]=o*C+a*te+c*F+d*me,r[1]=u*w+h*O+f*k+m*W,r[5]=u*A+h*B+f*$+m*ne,r[9]=u*I+h*H+f*q+m*le,r[13]=u*C+h*te+f*F+m*me,r[2]=_*w+g*O+b*k+E*W,r[6]=_*A+g*B+b*$+E*ne,r[10]=_*I+g*H+b*q+E*le,r[14]=_*C+g*te+b*F+E*me,r[3]=y*w+v*O+S*k+R*W,r[7]=y*A+v*B+S*$+R*ne,r[11]=y*I+v*H+S*q+R*le,r[15]=y*C+v*te+S*F+R*me,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],s=e[4],i=e[8],r=e[12],o=e[1],a=e[5],c=e[9],d=e[13],u=e[2],h=e[6],f=e[10],m=e[14],_=e[3],g=e[7],b=e[11],E=e[15];return _*(+r*c*h-i*d*h-r*a*f+s*d*f+i*a*m-s*c*m)+g*(+n*c*m-n*d*f+r*o*f-i*o*m+i*d*u-r*c*u)+b*(+n*d*h-n*a*m-r*o*h+s*o*m+r*a*u-s*d*u)+E*(-i*a*u-n*c*h+n*a*f+i*o*h-s*o*f+s*c*u)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,s){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=s),this}invert(){const e=this.elements,n=e[0],s=e[1],i=e[2],r=e[3],o=e[4],a=e[5],c=e[6],d=e[7],u=e[8],h=e[9],f=e[10],m=e[11],_=e[12],g=e[13],b=e[14],E=e[15],y=h*b*d-g*f*d+g*c*m-a*b*m-h*c*E+a*f*E,v=_*f*d-u*b*d-_*c*m+o*b*m+u*c*E-o*f*E,S=u*g*d-_*h*d+_*a*m-o*g*m-u*a*E+o*h*E,R=_*h*c-u*g*c-_*a*f+o*g*f+u*a*b-o*h*b,w=n*y+s*v+i*S+r*R;if(w===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const A=1/w;return e[0]=y*A,e[1]=(g*f*r-h*b*r-g*i*m+s*b*m+h*i*E-s*f*E)*A,e[2]=(a*b*r-g*c*r+g*i*d-s*b*d-a*i*E+s*c*E)*A,e[3]=(h*c*r-a*f*r-h*i*d+s*f*d+a*i*m-s*c*m)*A,e[4]=v*A,e[5]=(u*b*r-_*f*r+_*i*m-n*b*m-u*i*E+n*f*E)*A,e[6]=(_*c*r-o*b*r-_*i*d+n*b*d+o*i*E-n*c*E)*A,e[7]=(o*f*r-u*c*r+u*i*d-n*f*d-o*i*m+n*c*m)*A,e[8]=S*A,e[9]=(_*h*r-u*g*r-_*s*m+n*g*m+u*s*E-n*h*E)*A,e[10]=(o*g*r-_*a*r+_*s*d-n*g*d-o*s*E+n*a*E)*A,e[11]=(u*a*r-o*h*r-u*s*d+n*h*d+o*s*m-n*a*m)*A,e[12]=R*A,e[13]=(u*g*i-_*h*i+_*s*f-n*g*f-u*s*b+n*h*b)*A,e[14]=(_*a*i-o*g*i-_*s*c+n*g*c+o*s*b-n*a*b)*A,e[15]=(o*h*i-u*a*i+u*s*c-n*h*c-o*s*f+n*a*f)*A,this}scale(e){const n=this.elements,s=e.x,i=e.y,r=e.z;return n[0]*=s,n[4]*=i,n[8]*=r,n[1]*=s,n[5]*=i,n[9]*=r,n[2]*=s,n[6]*=i,n[10]*=r,n[3]*=s,n[7]*=i,n[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],s=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,s,i))}makeTranslation(e,n,s){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,s,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),s=Math.sin(e);return this.set(1,0,0,0,0,n,-s,0,0,s,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),s=Math.sin(e);return this.set(n,0,s,0,0,1,0,0,-s,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),s=Math.sin(e);return this.set(n,-s,0,0,s,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const s=Math.cos(n),i=Math.sin(n),r=1-s,o=e.x,a=e.y,c=e.z,d=r*o,u=r*a;return this.set(d*o+s,d*a-i*c,d*c+i*a,0,d*a+i*c,u*a+s,u*c-i*o,0,d*c-i*a,u*c+i*o,r*c*c+s,0,0,0,0,1),this}makeScale(e,n,s){return this.set(e,0,0,0,0,n,0,0,0,0,s,0,0,0,0,1),this}makeShear(e,n,s,i,r,o){return this.set(1,s,r,0,e,1,o,0,n,i,1,0,0,0,0,1),this}compose(e,n,s){const i=this.elements,r=n._x,o=n._y,a=n._z,c=n._w,d=r+r,u=o+o,h=a+a,f=r*d,m=r*u,_=r*h,g=o*u,b=o*h,E=a*h,y=c*d,v=c*u,S=c*h,R=s.x,w=s.y,A=s.z;return i[0]=(1-(g+E))*R,i[1]=(m+S)*R,i[2]=(_-v)*R,i[3]=0,i[4]=(m-S)*w,i[5]=(1-(f+E))*w,i[6]=(b+y)*w,i[7]=0,i[8]=(_+v)*A,i[9]=(b-y)*A,i[10]=(1-(f+g))*A,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,s){const i=this.elements;let r=To.set(i[0],i[1],i[2]).length();const o=To.set(i[4],i[5],i[6]).length(),a=To.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],As.copy(this);const d=1/r,u=1/o,h=1/a;return As.elements[0]*=d,As.elements[1]*=d,As.elements[2]*=d,As.elements[4]*=u,As.elements[5]*=u,As.elements[6]*=u,As.elements[8]*=h,As.elements[9]*=h,As.elements[10]*=h,n.setFromRotationMatrix(As),s.x=r,s.y=o,s.z=a,this}makePerspective(e,n,s,i,r,o,a=Ni){const c=this.elements,d=2*r/(n-e),u=2*r/(s-i),h=(n+e)/(n-e),f=(s+i)/(s-i);let m,_;if(a===Ni)m=-(o+r)/(o-r),_=-2*o*r/(o-r);else if(a===au)m=-o/(o-r),_=-o*r/(o-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return c[0]=d,c[4]=0,c[8]=h,c[12]=0,c[1]=0,c[5]=u,c[9]=f,c[13]=0,c[2]=0,c[6]=0,c[10]=m,c[14]=_,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,n,s,i,r,o,a=Ni){const c=this.elements,d=1/(n-e),u=1/(s-i),h=1/(o-r),f=(n+e)*d,m=(s+i)*u;let _,g;if(a===Ni)_=(o+r)*h,g=-2*h;else if(a===au)_=r*h,g=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return c[0]=2*d,c[4]=0,c[8]=0,c[12]=-f,c[1]=0,c[5]=2*u,c[9]=0,c[13]=-m,c[2]=0,c[6]=0,c[10]=g,c[14]=-_,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){const n=this.elements,s=e.elements;for(let i=0;i<16;i++)if(n[i]!==s[i])return!1;return!0}fromArray(e,n=0){for(let s=0;s<16;s++)this.elements[s]=e[s+n];return this}toArray(e=[],n=0){const s=this.elements;return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],e[n+4]=s[4],e[n+5]=s[5],e[n+6]=s[6],e[n+7]=s[7],e[n+8]=s[8],e[n+9]=s[9],e[n+10]=s[10],e[n+11]=s[11],e[n+12]=s[12],e[n+13]=s[13],e[n+14]=s[14],e[n+15]=s[15],e}}const To=new oe,As=new xt,i2t=new oe(0,0,0),r2t=new oe(1,1,1),Wi=new oe,zc=new oe,jn=new oe,mC=new xt,gC=new yr;class sp{constructor(e=0,n=0,s=0,i=sp.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=s,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,s,i=this._order){return this._x=e,this._y=n,this._z=s,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,s=!0){const i=e.elements,r=i[0],o=i[4],a=i[8],c=i[1],d=i[5],u=i[9],h=i[2],f=i[6],m=i[10];switch(n){case"XYZ":this._y=Math.asin(Nn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,m),this._z=Math.atan2(-o,r)):(this._x=Math.atan2(f,d),this._z=0);break;case"YXZ":this._x=Math.asin(-Nn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(c,d)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(Nn(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-h,m),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(c,r));break;case"ZYX":this._y=Math.asin(-Nn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(f,m),this._z=Math.atan2(c,r)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(Nn(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-u,d),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-Nn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,d),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-u,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,s===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,s){return mC.makeRotationFromQuaternion(e),this.setFromRotationMatrix(mC,n,s)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return gC.setFromEuler(this),this.setFromQuaternion(gC,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}sp.DEFAULT_ORDER="XYZ";class zN{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let s=0;s0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function r(a,c){return a[c.uuid]===void 0&&(a[c.uuid]=c.toJSON(e)),c.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const c=a.shapes;if(Array.isArray(c))for(let d=0,u=c.length;d0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(s.geometries=a),c.length>0&&(s.materials=c),d.length>0&&(s.textures=d),u.length>0&&(s.images=u),h.length>0&&(s.shapes=h),f.length>0&&(s.skeletons=f),m.length>0&&(s.animations=m),_.length>0&&(s.nodes=_)}return s.object=i,s;function o(a){const c=[];for(const d in a){const u=a[d];delete u.metadata,c.push(u)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let s=0;s0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,n,s,i,r){Ns.subVectors(i,n),vi.subVectors(s,n),Gm.subVectors(e,n);const o=Ns.dot(Ns),a=Ns.dot(vi),c=Ns.dot(Gm),d=vi.dot(vi),u=vi.dot(Gm),h=o*d-a*a;if(h===0)return r.set(-2,-1,-1);const f=1/h,m=(d*c-a*u)*f,_=(o*u-a*c)*f;return r.set(1-m-_,_,m)}static containsPoint(e,n,s,i){return this.getBarycoord(e,n,s,i,Si),Si.x>=0&&Si.y>=0&&Si.x+Si.y<=1}static getUV(e,n,s,i,r,o,a,c){return qc===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),qc=!0),this.getInterpolation(e,n,s,i,r,o,a,c)}static getInterpolation(e,n,s,i,r,o,a,c){return this.getBarycoord(e,n,s,i,Si),c.setScalar(0),c.addScaledVector(r,Si.x),c.addScaledVector(o,Si.y),c.addScaledVector(a,Si.z),c}static isFrontFacing(e,n,s,i){return Ns.subVectors(s,n),vi.subVectors(e,n),Ns.cross(vi).dot(i)<0}set(e,n,s){return this.a.copy(e),this.b.copy(n),this.c.copy(s),this}setFromPointsAndIndices(e,n,s,i){return this.a.copy(e[n]),this.b.copy(e[s]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,s,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,s),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Ns.subVectors(this.c,this.b),vi.subVectors(this.a,this.b),Ns.cross(vi).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ks.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return ks.getBarycoord(e,this.a,this.b,this.c,n)}getUV(e,n,s,i,r){return qc===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),qc=!0),ks.getInterpolation(e,this.a,this.b,this.c,n,s,i,r)}getInterpolation(e,n,s,i,r){return ks.getInterpolation(e,this.a,this.b,this.c,n,s,i,r)}containsPoint(e){return ks.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ks.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const s=this.a,i=this.b,r=this.c;let o,a;Co.subVectors(i,s),wo.subVectors(r,s),Vm.subVectors(e,s);const c=Co.dot(Vm),d=wo.dot(Vm);if(c<=0&&d<=0)return n.copy(s);zm.subVectors(e,i);const u=Co.dot(zm),h=wo.dot(zm);if(u>=0&&h<=u)return n.copy(i);const f=c*h-u*d;if(f<=0&&c>=0&&u<=0)return o=c/(c-u),n.copy(s).addScaledVector(Co,o);Hm.subVectors(e,r);const m=Co.dot(Hm),_=wo.dot(Hm);if(_>=0&&m<=_)return n.copy(r);const g=m*d-c*_;if(g<=0&&d>=0&&_<=0)return a=d/(d-_),n.copy(s).addScaledVector(wo,a);const b=u*_-m*h;if(b<=0&&h-u>=0&&m-_>=0)return SC.subVectors(r,i),a=(h-u)/(h-u+(m-_)),n.copy(i).addScaledVector(SC,a);const E=1/(b+g+f);return o=g*E,a=f*E,n.copy(s).addScaledVector(Co,o).addScaledVector(wo,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const HN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ki={h:0,s:0,l:0},$c={h:0,s:0,l:0};function qm(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}class _t{constructor(e,n,s){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,s)}set(e,n,s){if(n===void 0&&s===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,s);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=tn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Ft.toWorkingColorSpace(this,n),this}setRGB(e,n,s,i=Ft.workingColorSpace){return this.r=e,this.g=n,this.b=s,Ft.toWorkingColorSpace(this,i),this}setHSL(e,n,s,i=Ft.workingColorSpace){if(e=KE(e,1),n=Nn(n,0,1),s=Nn(s,0,1),n===0)this.r=this.g=this.b=s;else{const r=s<=.5?s*(1+n):s+n-s*n,o=2*s-r;this.r=qm(o,r,e+1/3),this.g=qm(o,r,e),this.b=qm(o,r,e-1/3)}return Ft.toWorkingColorSpace(this,i),this}setStyle(e,n=tn){function s(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const o=i[1],a=i[2];switch(o){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,n);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],o=r.length;if(o===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,n);if(o===6)return this.setHex(parseInt(r,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=tn){const s=HN[e.toLowerCase()];return s!==void 0?this.setHex(s,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Qo(e.r),this.g=Qo(e.g),this.b=Qo(e.b),this}copyLinearToSRGB(e){return this.r=Im(e.r),this.g=Im(e.g),this.b=Im(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=tn){return Ft.fromWorkingColorSpace(An.copy(this),e),Math.round(Nn(An.r*255,0,255))*65536+Math.round(Nn(An.g*255,0,255))*256+Math.round(Nn(An.b*255,0,255))}getHexString(e=tn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=Ft.workingColorSpace){Ft.fromWorkingColorSpace(An.copy(this),n);const s=An.r,i=An.g,r=An.b,o=Math.max(s,i,r),a=Math.min(s,i,r);let c,d;const u=(a+o)/2;if(a===o)c=0,d=0;else{const h=o-a;switch(d=u<=.5?h/(o+a):h/(2-o-a),o){case s:c=(i-r)/h+(i0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const s=e[n];if(s===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(s):i&&i.isVector3&&s&&s.isVector3?i.copy(s):this[n]=s}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const s={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};s.uuid=this.uuid,s.type=this.type,this.name!==""&&(s.name=this.name),this.color&&this.color.isColor&&(s.color=this.color.getHex()),this.roughness!==void 0&&(s.roughness=this.roughness),this.metalness!==void 0&&(s.metalness=this.metalness),this.sheen!==void 0&&(s.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(s.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(s.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(s.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(s.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(s.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(s.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(s.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(s.shininess=this.shininess),this.clearcoat!==void 0&&(s.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(s.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(s.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(s.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(s.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,s.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(s.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(s.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(s.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(s.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(s.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(s.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(s.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(s.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(s.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(s.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(s.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(s.lightMap=this.lightMap.toJSON(e).uuid,s.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(s.aoMap=this.aoMap.toJSON(e).uuid,s.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(s.bumpMap=this.bumpMap.toJSON(e).uuid,s.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(s.normalMap=this.normalMap.toJSON(e).uuid,s.normalMapType=this.normalMapType,s.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(s.displacementMap=this.displacementMap.toJSON(e).uuid,s.displacementScale=this.displacementScale,s.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(s.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(s.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(s.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(s.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(s.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(s.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(s.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(s.combine=this.combine)),this.envMapIntensity!==void 0&&(s.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(s.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(s.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(s.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(s.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(s.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(s.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(s.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(s.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(s.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(s.size=this.size),this.shadowSide!==null&&(s.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(s.sizeAttenuation=this.sizeAttenuation),this.blending!==jo&&(s.blending=this.blending),this.side!==Li&&(s.side=this.side),this.vertexColors===!0&&(s.vertexColors=!0),this.opacity<1&&(s.opacity=this.opacity),this.transparent===!0&&(s.transparent=!0),this.blendSrc!==jg&&(s.blendSrc=this.blendSrc),this.blendDst!==Qg&&(s.blendDst=this.blendDst),this.blendEquation!==Ur&&(s.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(s.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(s.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(s.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(s.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(s.blendAlpha=this.blendAlpha),this.depthFunc!==nu&&(s.depthFunc=this.depthFunc),this.depthTest===!1&&(s.depthTest=this.depthTest),this.depthWrite===!1&&(s.depthWrite=this.depthWrite),this.colorWrite===!1&&(s.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(s.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==cC&&(s.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(s.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(s.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==bo&&(s.stencilFail=this.stencilFail),this.stencilZFail!==bo&&(s.stencilZFail=this.stencilZFail),this.stencilZPass!==bo&&(s.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(s.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(s.rotation=this.rotation),this.polygonOffset===!0&&(s.polygonOffset=!0),this.polygonOffsetFactor!==0&&(s.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(s.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(s.linewidth=this.linewidth),this.dashSize!==void 0&&(s.dashSize=this.dashSize),this.gapSize!==void 0&&(s.gapSize=this.gapSize),this.scale!==void 0&&(s.scale=this.scale),this.dithering===!0&&(s.dithering=!0),this.alphaTest>0&&(s.alphaTest=this.alphaTest),this.alphaHash===!0&&(s.alphaHash=!0),this.alphaToCoverage===!0&&(s.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(s.premultipliedAlpha=!0),this.forceSinglePass===!0&&(s.forceSinglePass=!0),this.wireframe===!0&&(s.wireframe=!0),this.wireframeLinewidth>1&&(s.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(s.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(s.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(s.flatShading=!0),this.visible===!1&&(s.visible=!1),this.toneMapped===!1&&(s.toneMapped=!1),this.fog===!1&&(s.fog=!1),Object.keys(this.userData).length>0&&(s.userData=this.userData);function i(r){const o=[];for(const a in r){const c=r[a];delete c.metadata,o.push(c)}return o}if(n){const r=i(e.textures),o=i(e.images);r.length>0&&(s.textures=r),o.length>0&&(s.images=o)}return s}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let s=null;if(n!==null){const i=n.length;s=new Array(i);for(let r=0;r!==i;++r)s[r]=n[r].clone()}return this.clippingPlanes=s,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class lr extends Vs{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new _t(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=qE,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const on=new oe,Yc=new At;class Bn{constructor(e,n,s=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=s,this.usage=tb,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ai,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn('THREE.BufferAttribute: "updateRange" is deprecated and removed in r169. Use "addUpdateRange()" instead.'),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,s){e*=this.itemSize,s*=n.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const c=this.parameters;for(const d in c)c[d]!==void 0&&(e[d]=c[d]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const s=this.attributes;for(const c in s){const d=s[c];e.data.attributes[c]=d.toJSON(e.data)}const i={};let r=!1;for(const c in this.morphAttributes){const d=this.morphAttributes[c],u=[];for(let h=0,f=d.length;h0&&(i[c]=u,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const s=e.index;s!==null&&this.setIndex(s.clone(n));const i=e.attributes;for(const d in i){const u=i[d];this.setAttribute(d,u.clone(n))}const r=e.morphAttributes;for(const d in r){const u=[],h=r[d];for(let f=0,m=h.length;f0){const i=n[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r(e.far-e.near)**2))&&(TC.copy(r).invert(),Ar.copy(e.ray).applyMatrix4(TC),!(s.boundingBox!==null&&Ar.intersectsBox(s.boundingBox)===!1)&&this._computeIntersections(e,n,Ar)))}_computeIntersections(e,n,s){let i;const r=this.geometry,o=this.material,a=r.index,c=r.attributes.position,d=r.attributes.uv,u=r.attributes.uv1,h=r.attributes.normal,f=r.groups,m=r.drawRange;if(a!==null)if(Array.isArray(o))for(let _=0,g=f.length;_n.far?null:{distance:d,point:Jc.clone(),object:t}}function ed(t,e,n,s,i,r,o,a,c,d){t.getVertexPosition(a,Ao),t.getVertexPosition(c,No),t.getVertexPosition(d,Oo);const u=_2t(t,e,n,s,Ao,No,Oo,Zc);if(u){i&&(jc.fromBufferAttribute(i,a),Qc.fromBufferAttribute(i,c),Xc.fromBufferAttribute(i,d),u.uv=ks.getInterpolation(Zc,Ao,No,Oo,jc,Qc,Xc,new At)),r&&(jc.fromBufferAttribute(r,a),Qc.fromBufferAttribute(r,c),Xc.fromBufferAttribute(r,d),u.uv1=ks.getInterpolation(Zc,Ao,No,Oo,jc,Qc,Xc,new At),u.uv2=u.uv1),o&&(CC.fromBufferAttribute(o,a),wC.fromBufferAttribute(o,c),RC.fromBufferAttribute(o,d),u.normal=ks.getInterpolation(Zc,Ao,No,Oo,CC,wC,RC,new oe),u.normal.dot(s.direction)>0&&u.normal.multiplyScalar(-1));const h={a,b:c,c:d,normal:new oe,materialIndex:0};ks.getNormal(Ao,No,Oo,h.normal),u.face=h}return u}class hr extends _i{constructor(e=1,n=1,s=1,i=1,r=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:s,widthSegments:i,heightSegments:r,depthSegments:o};const a=this;i=Math.floor(i),r=Math.floor(r),o=Math.floor(o);const c=[],d=[],u=[],h=[];let f=0,m=0;_("z","y","x",-1,-1,s,n,e,o,r,0),_("z","y","x",1,-1,s,n,-e,o,r,1),_("x","z","y",1,1,e,s,n,i,o,2),_("x","z","y",1,-1,e,s,-n,i,o,3),_("x","y","z",1,-1,e,n,s,i,r,4),_("x","y","z",-1,-1,e,n,-s,i,r,5),this.setIndex(c),this.setAttribute("position",new Oi(d,3)),this.setAttribute("normal",new Oi(u,3)),this.setAttribute("uv",new Oi(h,2));function _(g,b,E,y,v,S,R,w,A,I,C){const O=S/A,B=R/I,H=S/2,te=R/2,k=w/2,$=A+1,q=I+1;let F=0,W=0;const ne=new oe;for(let le=0;le0?1:-1,u.push(ne.x,ne.y,ne.z),h.push(Se/A),h.push(1-le/I),F+=1}}for(let le=0;le>8&255]+Rn[t>>16&255]+Rn[t>>24&255]+"-"+Rn[e&255]+Rn[e>>8&255]+"-"+Rn[e>>16&15|64]+Rn[e>>24&255]+"-"+Rn[n&63|128]+Rn[n>>8&255]+"-"+Rn[n>>16&255]+Rn[n>>24&255]+Rn[s&255]+Rn[s>>8&255]+Rn[s>>16&255]+Rn[s>>24&255]).toLowerCase()}function Nn(t,e,n){return Math.max(e,Math.min(n,t))}function KE(t,e){return(t%e+e)%e}function HAt(t,e,n,s,i){return s+(t-e)*(i-s)/(n-e)}function qAt(t,e,n){return t!==e?(n-t)/(e-t):0}function xl(t,e,n){return(1-n)*t+n*e}function $At(t,e,n,s){return xl(t,e,1-Math.exp(-n*s))}function YAt(t,e=1){return e-Math.abs(KE(t,e*2)-e)}function WAt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function KAt(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function jAt(t,e){return t+Math.floor(Math.random()*(e-t+1))}function QAt(t,e){return t+Math.random()*(e-t)}function XAt(t){return t*(.5-Math.random())}function ZAt(t){t!==void 0&&(uC=t);let e=uC+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function JAt(t){return t*Tl}function e2t(t){return t*fa}function sb(t){return(t&t-1)===0&&t!==0}function t2t(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function lu(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function n2t(t,e,n,s,i){const r=Math.cos,o=Math.sin,a=r(n/2),c=o(n/2),d=r((e+s)/2),u=o((e+s)/2),h=r((e-s)/2),f=o((e-s)/2),m=r((s-e)/2),_=o((s-e)/2);switch(i){case"XYX":t.set(a*u,c*h,c*f,a*d);break;case"YZY":t.set(c*f,a*u,c*h,a*d);break;case"ZXZ":t.set(c*h,c*f,a*u,a*d);break;case"XZX":t.set(a*u,c*_,c*m,a*d);break;case"YXY":t.set(c*m,a*u,c*_,a*d);break;case"ZYZ":t.set(c*_,c*m,a*u,a*d);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function ei(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Vt(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const s2t={DEG2RAD:Tl,RAD2DEG:fa,generateUUID:Gs,clamp:Nn,euclideanModulo:KE,mapLinear:HAt,inverseLerp:qAt,lerp:xl,damp:$At,pingpong:YAt,smoothstep:WAt,smootherstep:KAt,randInt:jAt,randFloat:QAt,randFloatSpread:XAt,seededRandom:ZAt,degToRad:JAt,radToDeg:e2t,isPowerOfTwo:sb,ceilPowerOfTwo:t2t,floorPowerOfTwo:lu,setQuaternionFromProperEuler:n2t,normalize:Vt,denormalize:ei};class At{constructor(e=0,n=0){At.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,s=this.y,i=e.elements;return this.x=i[0]*n+i[3]*s+i[6],this.y=i[1]*n+i[4]*s+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(e,Math.min(n,s)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const s=this.dot(e)/n;return Math.acos(Nn(s,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,s=this.y-e.y;return n*n+s*s}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,s){return this.x=e.x+(n.x-e.x)*s,this.y=e.y+(n.y-e.y)*s,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const s=Math.cos(n),i=Math.sin(n),r=this.x-e.x,o=this.y-e.y;return this.x=r*s-o*i+e.x,this.y=r*i+o*s+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Tt{constructor(e,n,s,i,r,o,a,c,d){Tt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,s,i,r,o,a,c,d)}set(e,n,s,i,r,o,a,c,d){const u=this.elements;return u[0]=e,u[1]=i,u[2]=a,u[3]=n,u[4]=r,u[5]=c,u[6]=s,u[7]=o,u[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,s=e.elements;return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=s[3],n[4]=s[4],n[5]=s[5],n[6]=s[6],n[7]=s[7],n[8]=s[8],this}extractBasis(e,n,s){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),s.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const s=e.elements,i=n.elements,r=this.elements,o=s[0],a=s[3],c=s[6],d=s[1],u=s[4],h=s[7],f=s[2],m=s[5],_=s[8],g=i[0],b=i[3],E=i[6],y=i[1],v=i[4],S=i[7],R=i[2],w=i[5],A=i[8];return r[0]=o*g+a*y+c*R,r[3]=o*b+a*v+c*w,r[6]=o*E+a*S+c*A,r[1]=d*g+u*y+h*R,r[4]=d*b+u*v+h*w,r[7]=d*E+u*S+h*A,r[2]=f*g+m*y+_*R,r[5]=f*b+m*v+_*w,r[8]=f*E+m*S+_*A,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],s=e[1],i=e[2],r=e[3],o=e[4],a=e[5],c=e[6],d=e[7],u=e[8];return n*o*u-n*a*d-s*r*u+s*a*c+i*r*d-i*o*c}invert(){const e=this.elements,n=e[0],s=e[1],i=e[2],r=e[3],o=e[4],a=e[5],c=e[6],d=e[7],u=e[8],h=u*o-a*d,f=a*c-u*r,m=d*r-o*c,_=n*h+s*f+i*m;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const g=1/_;return e[0]=h*g,e[1]=(i*d-u*s)*g,e[2]=(a*s-i*o)*g,e[3]=f*g,e[4]=(u*n-i*c)*g,e[5]=(i*r-a*n)*g,e[6]=m*g,e[7]=(s*c-d*n)*g,e[8]=(o*n-s*r)*g,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,s,i,r,o,a){const c=Math.cos(r),d=Math.sin(r);return this.set(s*c,s*d,-s*(c*o+d*a)+o+e,-i*d,i*c,-i*(-d*o+c*a)+a+n,0,0,1),this}scale(e,n){return this.premultiply(Mm.makeScale(e,n)),this}rotate(e){return this.premultiply(Mm.makeRotation(-e)),this}translate(e,n){return this.premultiply(Mm.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),s=Math.sin(e);return this.set(n,-s,0,s,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,s=e.elements;for(let i=0;i<9;i++)if(n[i]!==s[i])return!1;return!0}fromArray(e,n=0){for(let s=0;s<9;s++)this.elements[s]=e[s+n];return this}toArray(e=[],n=0){const s=this.elements;return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],e[n+4]=s[4],e[n+5]=s[5],e[n+6]=s[6],e[n+7]=s[7],e[n+8]=s[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Mm=new Tt;function UN(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}function Yl(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function i2t(){const t=Yl("canvas");return t.style.display="block",t}const pC={};function Cl(t){t in pC||(pC[t]=!0,console.warn(t))}const _C=new Tt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),hC=new Tt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Pc={[wn]:{transfer:iu,primaries:ru,toReference:t=>t,fromReference:t=>t},[tn]:{transfer:Kt,primaries:ru,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[tp]:{transfer:iu,primaries:ou,toReference:t=>t.applyMatrix3(hC),fromReference:t=>t.applyMatrix3(_C)},[WE]:{transfer:Kt,primaries:ou,toReference:t=>t.convertSRGBToLinear().applyMatrix3(hC),fromReference:t=>t.applyMatrix3(_C).convertLinearToSRGB()}},r2t=new Set([wn,tp]),Ft={enabled:!0,_workingColorSpace:wn,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!r2t.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const s=Pc[e].toReference,i=Pc[n].fromReference;return i(s(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return Pc[t].primaries},getTransfer:function(t){return t===_s?iu:Pc[t].transfer}};function Qo(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function Im(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let Eo;class BN{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{Eo===void 0&&(Eo=Yl("canvas")),Eo.width=e.width,Eo.height=e.height;const s=Eo.getContext("2d");e instanceof ImageData?s.putImageData(e,0,0):s.drawImage(e,0,0,e.width,e.height),n=Eo}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=Yl("canvas");n.width=e.width,n.height=e.height;const s=n.getContext("2d");s.drawImage(e,0,0,e.width,e.height);const i=s.getImageData(0,0,e.width,e.height),r=i.data;for(let o=0;o0&&(s.userData=this.userData),n||(e.textures[this.uuid]=s),s}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==wN)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case pa:e.x=e.x-Math.floor(e.x);break;case us:e.x=e.x<0?0:1;break;case su:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case pa:e.y=e.y-Math.floor(e.y);break;case us:e.y=e.y<0?0:1;break;case su:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return Cl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===tn?Qr:PN}set encoding(e){Cl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Qr?tn:_s}}Cn.DEFAULT_IMAGE=null;Cn.DEFAULT_MAPPING=wN;Cn.DEFAULT_ANISOTROPY=1;class $t{constructor(e=0,n=0,s=0,i=1){$t.prototype.isVector4=!0,this.x=e,this.y=n,this.z=s,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,s,i){return this.x=e,this.y=n,this.z=s,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,s=this.y,i=this.z,r=this.w,o=e.elements;return this.x=o[0]*n+o[4]*s+o[8]*i+o[12]*r,this.y=o[1]*n+o[5]*s+o[9]*i+o[13]*r,this.z=o[2]*n+o[6]*s+o[10]*i+o[14]*r,this.w=o[3]*n+o[7]*s+o[11]*i+o[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,s,i,r;const c=e.elements,d=c[0],u=c[4],h=c[8],f=c[1],m=c[5],_=c[9],g=c[2],b=c[6],E=c[10];if(Math.abs(u-f)<.01&&Math.abs(h-g)<.01&&Math.abs(_-b)<.01){if(Math.abs(u+f)<.1&&Math.abs(h+g)<.1&&Math.abs(_+b)<.1&&Math.abs(d+m+E-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const v=(d+1)/2,S=(m+1)/2,R=(E+1)/2,w=(u+f)/4,A=(h+g)/4,I=(_+b)/4;return v>S&&v>R?v<.01?(s=0,i=.707106781,r=.707106781):(s=Math.sqrt(v),i=w/s,r=A/s):S>R?S<.01?(s=.707106781,i=0,r=.707106781):(i=Math.sqrt(S),s=w/i,r=I/i):R<.01?(s=.707106781,i=.707106781,r=0):(r=Math.sqrt(R),s=A/r,i=I/r),this.set(s,i,r,n),this}let y=Math.sqrt((b-_)*(b-_)+(h-g)*(h-g)+(f-u)*(f-u));return Math.abs(y)<.001&&(y=1),this.x=(b-_)/y,this.y=(h-g)/y,this.z=(f-u)/y,this.w=Math.acos((d+m+E-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(e,Math.min(n,s)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,s){return this.x=e.x+(n.x-e.x)*s,this.y=e.y+(n.y-e.y)*s,this.z=e.z+(n.z-e.z)*s,this.w=e.w+(n.w-e.w)*s,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class l2t extends Fa{constructor(e=1,n=1,s={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new $t(0,0,e,n),this.scissorTest=!1,this.viewport=new $t(0,0,e,n);const i={width:e,height:n,depth:1};s.encoding!==void 0&&(Cl("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),s.colorSpace=s.encoding===Qr?tn:_s),s=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:zn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},s),this.texture=new Cn(i,s.mapping,s.wrapS,s.wrapT,s.magFilter,s.minFilter,s.format,s.type,s.anisotropy,s.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=s.generateMipmaps,this.texture.internalFormat=s.internalFormat,this.depthBuffer=s.depthBuffer,this.stencilBuffer=s.stencilBuffer,this.depthTexture=s.depthTexture,this.samples=s.samples}setSize(e,n,s=1){(this.width!==e||this.height!==n||this.depth!==s)&&(this.width=e,this.height=n,this.depth=s,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=s,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new GN(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class io extends l2t{constructor(e=1,n=1,s={}){super(e,n,s),this.isWebGLRenderTarget=!0}}class VN extends Cn{constructor(e=null,n=1,s=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:s,depth:i},this.magFilter=gn,this.minFilter=gn,this.wrapR=us,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class c2t extends Cn{constructor(e=null,n=1,s=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:s,depth:i},this.magFilter=gn,this.minFilter=gn,this.wrapR=us,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class yr{constructor(e=0,n=0,s=0,i=1){this.isQuaternion=!0,this._x=e,this._y=n,this._z=s,this._w=i}static slerpFlat(e,n,s,i,r,o,a){let c=s[i+0],d=s[i+1],u=s[i+2],h=s[i+3];const f=r[o+0],m=r[o+1],_=r[o+2],g=r[o+3];if(a===0){e[n+0]=c,e[n+1]=d,e[n+2]=u,e[n+3]=h;return}if(a===1){e[n+0]=f,e[n+1]=m,e[n+2]=_,e[n+3]=g;return}if(h!==g||c!==f||d!==m||u!==_){let b=1-a;const E=c*f+d*m+u*_+h*g,y=E>=0?1:-1,v=1-E*E;if(v>Number.EPSILON){const R=Math.sqrt(v),w=Math.atan2(R,E*y);b=Math.sin(b*w)/R,a=Math.sin(a*w)/R}const S=a*y;if(c=c*b+f*S,d=d*b+m*S,u=u*b+_*S,h=h*b+g*S,b===1-a){const R=1/Math.sqrt(c*c+d*d+u*u+h*h);c*=R,d*=R,u*=R,h*=R}}e[n]=c,e[n+1]=d,e[n+2]=u,e[n+3]=h}static multiplyQuaternionsFlat(e,n,s,i,r,o){const a=s[i],c=s[i+1],d=s[i+2],u=s[i+3],h=r[o],f=r[o+1],m=r[o+2],_=r[o+3];return e[n]=a*_+u*h+c*m-d*f,e[n+1]=c*_+u*f+d*h-a*m,e[n+2]=d*_+u*m+a*f-c*h,e[n+3]=u*_-a*h-c*f-d*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,s,i){return this._x=e,this._y=n,this._z=s,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n){const s=e._x,i=e._y,r=e._z,o=e._order,a=Math.cos,c=Math.sin,d=a(s/2),u=a(i/2),h=a(r/2),f=c(s/2),m=c(i/2),_=c(r/2);switch(o){case"XYZ":this._x=f*u*h+d*m*_,this._y=d*m*h-f*u*_,this._z=d*u*_+f*m*h,this._w=d*u*h-f*m*_;break;case"YXZ":this._x=f*u*h+d*m*_,this._y=d*m*h-f*u*_,this._z=d*u*_-f*m*h,this._w=d*u*h+f*m*_;break;case"ZXY":this._x=f*u*h-d*m*_,this._y=d*m*h+f*u*_,this._z=d*u*_+f*m*h,this._w=d*u*h-f*m*_;break;case"ZYX":this._x=f*u*h-d*m*_,this._y=d*m*h+f*u*_,this._z=d*u*_-f*m*h,this._w=d*u*h+f*m*_;break;case"YZX":this._x=f*u*h+d*m*_,this._y=d*m*h+f*u*_,this._z=d*u*_-f*m*h,this._w=d*u*h-f*m*_;break;case"XZY":this._x=f*u*h-d*m*_,this._y=d*m*h-f*u*_,this._z=d*u*_+f*m*h,this._w=d*u*h+f*m*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return n!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const s=n/2,i=Math.sin(s);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(s),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,s=n[0],i=n[4],r=n[8],o=n[1],a=n[5],c=n[9],d=n[2],u=n[6],h=n[10],f=s+a+h;if(f>0){const m=.5/Math.sqrt(f+1);this._w=.25/m,this._x=(u-c)*m,this._y=(r-d)*m,this._z=(o-i)*m}else if(s>a&&s>h){const m=2*Math.sqrt(1+s-a-h);this._w=(u-c)/m,this._x=.25*m,this._y=(i+o)/m,this._z=(r+d)/m}else if(a>h){const m=2*Math.sqrt(1+a-s-h);this._w=(r-d)/m,this._x=(i+o)/m,this._y=.25*m,this._z=(c+u)/m}else{const m=2*Math.sqrt(1+h-s-a);this._w=(o-i)/m,this._x=(r+d)/m,this._y=(c+u)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let s=e.dot(n)+1;return sMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=s):(this._x=0,this._y=-e.z,this._z=e.y,this._w=s)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=s),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Nn(this.dot(e),-1,1)))}rotateTowards(e,n){const s=this.angleTo(e);if(s===0)return this;const i=Math.min(1,n/s);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const s=e._x,i=e._y,r=e._z,o=e._w,a=n._x,c=n._y,d=n._z,u=n._w;return this._x=s*u+o*a+i*d-r*c,this._y=i*u+o*c+r*a-s*d,this._z=r*u+o*d+s*c-i*a,this._w=o*u-s*a-i*c-r*d,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const s=this._x,i=this._y,r=this._z,o=this._w;let a=o*e._w+s*e._x+i*e._y+r*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=s,this._y=i,this._z=r,this;const c=1-a*a;if(c<=Number.EPSILON){const m=1-n;return this._w=m*o+n*this._w,this._x=m*s+n*this._x,this._y=m*i+n*this._y,this._z=m*r+n*this._z,this.normalize(),this._onChangeCallback(),this}const d=Math.sqrt(c),u=Math.atan2(d,a),h=Math.sin((1-n)*u)/d,f=Math.sin(n*u)/d;return this._w=o*h+this._w*f,this._x=s*h+this._x*f,this._y=i*h+this._y*f,this._z=r*h+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,n,s){return this.copy(e).slerp(n,s)}random(){const e=Math.random(),n=Math.sqrt(1-e),s=Math.sqrt(e),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(n*Math.cos(i),s*Math.sin(r),s*Math.cos(r),n*Math.sin(i))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ae{constructor(e=0,n=0,s=0){ae.prototype.isVector3=!0,this.x=e,this.y=n,this.z=s}set(e,n,s){return s===void 0&&(s=this.z),this.x=e,this.y=n,this.z=s,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(fC.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(fC.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,s=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[3]*s+r[6]*i,this.y=r[1]*n+r[4]*s+r[7]*i,this.z=r[2]*n+r[5]*s+r[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,s=this.y,i=this.z,r=e.elements,o=1/(r[3]*n+r[7]*s+r[11]*i+r[15]);return this.x=(r[0]*n+r[4]*s+r[8]*i+r[12])*o,this.y=(r[1]*n+r[5]*s+r[9]*i+r[13])*o,this.z=(r[2]*n+r[6]*s+r[10]*i+r[14])*o,this}applyQuaternion(e){const n=this.x,s=this.y,i=this.z,r=e.x,o=e.y,a=e.z,c=e.w,d=2*(o*i-a*s),u=2*(a*n-r*i),h=2*(r*s-o*n);return this.x=n+c*d+o*h-a*u,this.y=s+c*u+a*d-r*h,this.z=i+c*h+r*u-o*d,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,s=this.y,i=this.z,r=e.elements;return this.x=r[0]*n+r[4]*s+r[8]*i,this.y=r[1]*n+r[5]*s+r[9]*i,this.z=r[2]*n+r[6]*s+r[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(e,Math.min(n,s)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,s){return this.x=e.x+(n.x-e.x)*s,this.y=e.y+(n.y-e.y)*s,this.z=e.z+(n.z-e.z)*s,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const s=e.x,i=e.y,r=e.z,o=n.x,a=n.y,c=n.z;return this.x=i*c-r*a,this.y=r*o-s*c,this.z=s*a-i*o,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const s=e.dot(this)/n;return this.copy(e).multiplyScalar(s)}projectOnPlane(e){return Dm.copy(this).projectOnVector(e),this.sub(Dm)}reflect(e){return this.sub(Dm.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const s=this.dot(e)/n;return Math.acos(Nn(s,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,s=this.y-e.y,i=this.z-e.z;return n*n+s*s+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,s){const i=Math.sin(n)*e;return this.x=i*Math.sin(s),this.y=Math.cos(n)*e,this.z=i*Math.cos(s),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,s){return this.x=e*Math.sin(n),this.y=s,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),s=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=s,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,s=Math.sqrt(1-e**2);return this.x=s*Math.cos(n),this.y=s*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Dm=new ae,fC=new yr;class Ui{constructor(e=new ae(1/0,1/0,1/0),n=new ae(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,s=e.length;nthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Rs),Rs.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,s;return e.normal.x>0?(n=e.normal.x*this.min.x,s=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,s=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,s+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,s+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,s+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,s+=e.normal.z*this.min.z),n<=-e.constant&&s>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Ja),Uc.subVectors(this.max,Ja),yo.subVectors(e.a,Ja),vo.subVectors(e.b,Ja),So.subVectors(e.c,Ja),qi.subVectors(vo,yo),$i.subVectors(So,vo),wr.subVectors(yo,So);let n=[0,-qi.z,qi.y,0,-$i.z,$i.y,0,-wr.z,wr.y,qi.z,0,-qi.x,$i.z,0,-$i.x,wr.z,0,-wr.x,-qi.y,qi.x,0,-$i.y,$i.x,0,-wr.y,wr.x,0];return!Lm(n,yo,vo,So,Uc)||(n=[1,0,0,0,1,0,0,0,1],!Lm(n,yo,vo,So,Uc))?!1:(Bc.crossVectors(qi,$i),n=[Bc.x,Bc.y,Bc.z],Lm(n,yo,vo,So,Uc))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Rs).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Rs).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(bi[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),bi[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),bi[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),bi[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),bi[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),bi[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),bi[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),bi[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(bi),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const bi=[new ae,new ae,new ae,new ae,new ae,new ae,new ae,new ae],Rs=new ae,Fc=new Ui,yo=new ae,vo=new ae,So=new ae,qi=new ae,$i=new ae,wr=new ae,Ja=new ae,Uc=new ae,Bc=new ae,Rr=new ae;function Lm(t,e,n,s,i){for(let r=0,o=t.length-3;r<=o;r+=3){Rr.fromArray(t,r);const a=i.x*Math.abs(Rr.x)+i.y*Math.abs(Rr.y)+i.z*Math.abs(Rr.z),c=e.dot(Rr),d=n.dot(Rr),u=s.dot(Rr);if(Math.max(-Math.max(c,d,u),Math.min(c,d,u))>a)return!1}return!0}const d2t=new Ui,el=new ae,Pm=new ae;class pi{constructor(e=new ae,n=-1){this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const s=this.center;n!==void 0?s.copy(n):d2t.setFromPoints(e).getCenter(s);let i=0;for(let r=0,o=e.length;rthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;el.subVectors(e,this.center);const n=el.lengthSq();if(n>this.radius*this.radius){const s=Math.sqrt(n),i=(s-this.radius)*.5;this.center.addScaledVector(el,i/s),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Pm.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(el.copy(e.center).add(Pm)),this.expandByPoint(el.copy(e.center).sub(Pm))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ei=new ae,Fm=new ae,Gc=new ae,Yi=new ae,Um=new ae,Vc=new ae,Bm=new ae;class np{constructor(e=new ae,n=new ae(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Ei)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const s=n.dot(this.direction);return s<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,s)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=Ei.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(Ei.copy(this.origin).addScaledVector(this.direction,n),Ei.distanceToSquared(e))}distanceSqToSegment(e,n,s,i){Fm.copy(e).add(n).multiplyScalar(.5),Gc.copy(n).sub(e).normalize(),Yi.copy(this.origin).sub(Fm);const r=e.distanceTo(n)*.5,o=-this.direction.dot(Gc),a=Yi.dot(this.direction),c=-Yi.dot(Gc),d=Yi.lengthSq(),u=Math.abs(1-o*o);let h,f,m,_;if(u>0)if(h=o*c-a,f=o*a-c,_=r*u,h>=0)if(f>=-_)if(f<=_){const g=1/u;h*=g,f*=g,m=h*(h+o*f+2*a)+f*(o*h+f+2*c)+d}else f=r,h=Math.max(0,-(o*f+a)),m=-h*h+f*(f+2*c)+d;else f=-r,h=Math.max(0,-(o*f+a)),m=-h*h+f*(f+2*c)+d;else f<=-_?(h=Math.max(0,-(-o*r+a)),f=h>0?-r:Math.min(Math.max(-r,-c),r),m=-h*h+f*(f+2*c)+d):f<=_?(h=0,f=Math.min(Math.max(-r,-c),r),m=f*(f+2*c)+d):(h=Math.max(0,-(o*r+a)),f=h>0?r:Math.min(Math.max(-r,-c),r),m=-h*h+f*(f+2*c)+d);else f=o>0?-r:r,h=Math.max(0,-(o*f+a)),m=-h*h+f*(f+2*c)+d;return s&&s.copy(this.origin).addScaledVector(this.direction,h),i&&i.copy(Fm).addScaledVector(Gc,f),m}intersectSphere(e,n){Ei.subVectors(e.center,this.origin);const s=Ei.dot(this.direction),i=Ei.dot(Ei)-s*s,r=e.radius*e.radius;if(i>r)return null;const o=Math.sqrt(r-i),a=s-o,c=s+o;return c<0?null:a<0?this.at(c,n):this.at(a,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const s=-(this.origin.dot(e.normal)+e.constant)/n;return s>=0?s:null}intersectPlane(e,n){const s=this.distanceToPlane(e);return s===null?null:this.at(s,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let s,i,r,o,a,c;const d=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,f=this.origin;return d>=0?(s=(e.min.x-f.x)*d,i=(e.max.x-f.x)*d):(s=(e.max.x-f.x)*d,i=(e.min.x-f.x)*d),u>=0?(r=(e.min.y-f.y)*u,o=(e.max.y-f.y)*u):(r=(e.max.y-f.y)*u,o=(e.min.y-f.y)*u),s>o||r>i||((r>s||isNaN(s))&&(s=r),(o=0?(a=(e.min.z-f.z)*h,c=(e.max.z-f.z)*h):(a=(e.max.z-f.z)*h,c=(e.min.z-f.z)*h),s>c||a>i)||((a>s||s!==s)&&(s=a),(c=0?s:i,n)}intersectsBox(e){return this.intersectBox(e,Ei)!==null}intersectTriangle(e,n,s,i,r){Um.subVectors(n,e),Vc.subVectors(s,e),Bm.crossVectors(Um,Vc);let o=this.direction.dot(Bm),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Yi.subVectors(this.origin,e);const c=a*this.direction.dot(Vc.crossVectors(Yi,Vc));if(c<0)return null;const d=a*this.direction.dot(Um.cross(Yi));if(d<0||c+d>o)return null;const u=-a*Yi.dot(Bm);return u<0?null:this.at(u/o,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class xt{constructor(e,n,s,i,r,o,a,c,d,u,h,f,m,_,g,b){xt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,s,i,r,o,a,c,d,u,h,f,m,_,g,b)}set(e,n,s,i,r,o,a,c,d,u,h,f,m,_,g,b){const E=this.elements;return E[0]=e,E[4]=n,E[8]=s,E[12]=i,E[1]=r,E[5]=o,E[9]=a,E[13]=c,E[2]=d,E[6]=u,E[10]=h,E[14]=f,E[3]=m,E[7]=_,E[11]=g,E[15]=b,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new xt().fromArray(this.elements)}copy(e){const n=this.elements,s=e.elements;return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=s[3],n[4]=s[4],n[5]=s[5],n[6]=s[6],n[7]=s[7],n[8]=s[8],n[9]=s[9],n[10]=s[10],n[11]=s[11],n[12]=s[12],n[13]=s[13],n[14]=s[14],n[15]=s[15],this}copyPosition(e){const n=this.elements,s=e.elements;return n[12]=s[12],n[13]=s[13],n[14]=s[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,s){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),s.setFromMatrixColumn(this,2),this}makeBasis(e,n,s){return this.set(e.x,n.x,s.x,0,e.y,n.y,s.y,0,e.z,n.z,s.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,s=e.elements,i=1/To.setFromMatrixColumn(e,0).length(),r=1/To.setFromMatrixColumn(e,1).length(),o=1/To.setFromMatrixColumn(e,2).length();return n[0]=s[0]*i,n[1]=s[1]*i,n[2]=s[2]*i,n[3]=0,n[4]=s[4]*r,n[5]=s[5]*r,n[6]=s[6]*r,n[7]=0,n[8]=s[8]*o,n[9]=s[9]*o,n[10]=s[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,s=e.x,i=e.y,r=e.z,o=Math.cos(s),a=Math.sin(s),c=Math.cos(i),d=Math.sin(i),u=Math.cos(r),h=Math.sin(r);if(e.order==="XYZ"){const f=o*u,m=o*h,_=a*u,g=a*h;n[0]=c*u,n[4]=-c*h,n[8]=d,n[1]=m+_*d,n[5]=f-g*d,n[9]=-a*c,n[2]=g-f*d,n[6]=_+m*d,n[10]=o*c}else if(e.order==="YXZ"){const f=c*u,m=c*h,_=d*u,g=d*h;n[0]=f+g*a,n[4]=_*a-m,n[8]=o*d,n[1]=o*h,n[5]=o*u,n[9]=-a,n[2]=m*a-_,n[6]=g+f*a,n[10]=o*c}else if(e.order==="ZXY"){const f=c*u,m=c*h,_=d*u,g=d*h;n[0]=f-g*a,n[4]=-o*h,n[8]=_+m*a,n[1]=m+_*a,n[5]=o*u,n[9]=g-f*a,n[2]=-o*d,n[6]=a,n[10]=o*c}else if(e.order==="ZYX"){const f=o*u,m=o*h,_=a*u,g=a*h;n[0]=c*u,n[4]=_*d-m,n[8]=f*d+g,n[1]=c*h,n[5]=g*d+f,n[9]=m*d-_,n[2]=-d,n[6]=a*c,n[10]=o*c}else if(e.order==="YZX"){const f=o*c,m=o*d,_=a*c,g=a*d;n[0]=c*u,n[4]=g-f*h,n[8]=_*h+m,n[1]=h,n[5]=o*u,n[9]=-a*u,n[2]=-d*u,n[6]=m*h+_,n[10]=f-g*h}else if(e.order==="XZY"){const f=o*c,m=o*d,_=a*c,g=a*d;n[0]=c*u,n[4]=-h,n[8]=d*u,n[1]=f*h+g,n[5]=o*u,n[9]=m*h-_,n[2]=_*h-m,n[6]=a*u,n[10]=g*h+f}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(u2t,e,p2t)}lookAt(e,n,s){const i=this.elements;return jn.subVectors(e,n),jn.lengthSq()===0&&(jn.z=1),jn.normalize(),Wi.crossVectors(s,jn),Wi.lengthSq()===0&&(Math.abs(s.z)===1?jn.x+=1e-4:jn.z+=1e-4,jn.normalize(),Wi.crossVectors(s,jn)),Wi.normalize(),zc.crossVectors(jn,Wi),i[0]=Wi.x,i[4]=zc.x,i[8]=jn.x,i[1]=Wi.y,i[5]=zc.y,i[9]=jn.y,i[2]=Wi.z,i[6]=zc.z,i[10]=jn.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const s=e.elements,i=n.elements,r=this.elements,o=s[0],a=s[4],c=s[8],d=s[12],u=s[1],h=s[5],f=s[9],m=s[13],_=s[2],g=s[6],b=s[10],E=s[14],y=s[3],v=s[7],S=s[11],R=s[15],w=i[0],A=i[4],I=i[8],C=i[12],O=i[1],B=i[5],H=i[9],te=i[13],k=i[2],$=i[6],q=i[10],F=i[14],W=i[3],ne=i[7],le=i[11],me=i[15];return r[0]=o*w+a*O+c*k+d*W,r[4]=o*A+a*B+c*$+d*ne,r[8]=o*I+a*H+c*q+d*le,r[12]=o*C+a*te+c*F+d*me,r[1]=u*w+h*O+f*k+m*W,r[5]=u*A+h*B+f*$+m*ne,r[9]=u*I+h*H+f*q+m*le,r[13]=u*C+h*te+f*F+m*me,r[2]=_*w+g*O+b*k+E*W,r[6]=_*A+g*B+b*$+E*ne,r[10]=_*I+g*H+b*q+E*le,r[14]=_*C+g*te+b*F+E*me,r[3]=y*w+v*O+S*k+R*W,r[7]=y*A+v*B+S*$+R*ne,r[11]=y*I+v*H+S*q+R*le,r[15]=y*C+v*te+S*F+R*me,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],s=e[4],i=e[8],r=e[12],o=e[1],a=e[5],c=e[9],d=e[13],u=e[2],h=e[6],f=e[10],m=e[14],_=e[3],g=e[7],b=e[11],E=e[15];return _*(+r*c*h-i*d*h-r*a*f+s*d*f+i*a*m-s*c*m)+g*(+n*c*m-n*d*f+r*o*f-i*o*m+i*d*u-r*c*u)+b*(+n*d*h-n*a*m-r*o*h+s*o*m+r*a*u-s*d*u)+E*(-i*a*u-n*c*h+n*a*f+i*o*h-s*o*f+s*c*u)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,s){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=s),this}invert(){const e=this.elements,n=e[0],s=e[1],i=e[2],r=e[3],o=e[4],a=e[5],c=e[6],d=e[7],u=e[8],h=e[9],f=e[10],m=e[11],_=e[12],g=e[13],b=e[14],E=e[15],y=h*b*d-g*f*d+g*c*m-a*b*m-h*c*E+a*f*E,v=_*f*d-u*b*d-_*c*m+o*b*m+u*c*E-o*f*E,S=u*g*d-_*h*d+_*a*m-o*g*m-u*a*E+o*h*E,R=_*h*c-u*g*c-_*a*f+o*g*f+u*a*b-o*h*b,w=n*y+s*v+i*S+r*R;if(w===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const A=1/w;return e[0]=y*A,e[1]=(g*f*r-h*b*r-g*i*m+s*b*m+h*i*E-s*f*E)*A,e[2]=(a*b*r-g*c*r+g*i*d-s*b*d-a*i*E+s*c*E)*A,e[3]=(h*c*r-a*f*r-h*i*d+s*f*d+a*i*m-s*c*m)*A,e[4]=v*A,e[5]=(u*b*r-_*f*r+_*i*m-n*b*m-u*i*E+n*f*E)*A,e[6]=(_*c*r-o*b*r-_*i*d+n*b*d+o*i*E-n*c*E)*A,e[7]=(o*f*r-u*c*r+u*i*d-n*f*d-o*i*m+n*c*m)*A,e[8]=S*A,e[9]=(_*h*r-u*g*r-_*s*m+n*g*m+u*s*E-n*h*E)*A,e[10]=(o*g*r-_*a*r+_*s*d-n*g*d-o*s*E+n*a*E)*A,e[11]=(u*a*r-o*h*r-u*s*d+n*h*d+o*s*m-n*a*m)*A,e[12]=R*A,e[13]=(u*g*i-_*h*i+_*s*f-n*g*f-u*s*b+n*h*b)*A,e[14]=(_*a*i-o*g*i-_*s*c+n*g*c+o*s*b-n*a*b)*A,e[15]=(o*h*i-u*a*i+u*s*c-n*h*c-o*s*f+n*a*f)*A,this}scale(e){const n=this.elements,s=e.x,i=e.y,r=e.z;return n[0]*=s,n[4]*=i,n[8]*=r,n[1]*=s,n[5]*=i,n[9]*=r,n[2]*=s,n[6]*=i,n[10]*=r,n[3]*=s,n[7]*=i,n[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],s=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,s,i))}makeTranslation(e,n,s){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,s,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),s=Math.sin(e);return this.set(1,0,0,0,0,n,-s,0,0,s,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),s=Math.sin(e);return this.set(n,0,s,0,0,1,0,0,-s,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),s=Math.sin(e);return this.set(n,-s,0,0,s,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const s=Math.cos(n),i=Math.sin(n),r=1-s,o=e.x,a=e.y,c=e.z,d=r*o,u=r*a;return this.set(d*o+s,d*a-i*c,d*c+i*a,0,d*a+i*c,u*a+s,u*c-i*o,0,d*c-i*a,u*c+i*o,r*c*c+s,0,0,0,0,1),this}makeScale(e,n,s){return this.set(e,0,0,0,0,n,0,0,0,0,s,0,0,0,0,1),this}makeShear(e,n,s,i,r,o){return this.set(1,s,r,0,e,1,o,0,n,i,1,0,0,0,0,1),this}compose(e,n,s){const i=this.elements,r=n._x,o=n._y,a=n._z,c=n._w,d=r+r,u=o+o,h=a+a,f=r*d,m=r*u,_=r*h,g=o*u,b=o*h,E=a*h,y=c*d,v=c*u,S=c*h,R=s.x,w=s.y,A=s.z;return i[0]=(1-(g+E))*R,i[1]=(m+S)*R,i[2]=(_-v)*R,i[3]=0,i[4]=(m-S)*w,i[5]=(1-(f+E))*w,i[6]=(b+y)*w,i[7]=0,i[8]=(_+v)*A,i[9]=(b-y)*A,i[10]=(1-(f+g))*A,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,s){const i=this.elements;let r=To.set(i[0],i[1],i[2]).length();const o=To.set(i[4],i[5],i[6]).length(),a=To.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),e.x=i[12],e.y=i[13],e.z=i[14],As.copy(this);const d=1/r,u=1/o,h=1/a;return As.elements[0]*=d,As.elements[1]*=d,As.elements[2]*=d,As.elements[4]*=u,As.elements[5]*=u,As.elements[6]*=u,As.elements[8]*=h,As.elements[9]*=h,As.elements[10]*=h,n.setFromRotationMatrix(As),s.x=r,s.y=o,s.z=a,this}makePerspective(e,n,s,i,r,o,a=Ni){const c=this.elements,d=2*r/(n-e),u=2*r/(s-i),h=(n+e)/(n-e),f=(s+i)/(s-i);let m,_;if(a===Ni)m=-(o+r)/(o-r),_=-2*o*r/(o-r);else if(a===au)m=-o/(o-r),_=-o*r/(o-r);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return c[0]=d,c[4]=0,c[8]=h,c[12]=0,c[1]=0,c[5]=u,c[9]=f,c[13]=0,c[2]=0,c[6]=0,c[10]=m,c[14]=_,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,n,s,i,r,o,a=Ni){const c=this.elements,d=1/(n-e),u=1/(s-i),h=1/(o-r),f=(n+e)*d,m=(s+i)*u;let _,g;if(a===Ni)_=(o+r)*h,g=-2*h;else if(a===au)_=r*h,g=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return c[0]=2*d,c[4]=0,c[8]=0,c[12]=-f,c[1]=0,c[5]=2*u,c[9]=0,c[13]=-m,c[2]=0,c[6]=0,c[10]=g,c[14]=-_,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){const n=this.elements,s=e.elements;for(let i=0;i<16;i++)if(n[i]!==s[i])return!1;return!0}fromArray(e,n=0){for(let s=0;s<16;s++)this.elements[s]=e[s+n];return this}toArray(e=[],n=0){const s=this.elements;return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],e[n+4]=s[4],e[n+5]=s[5],e[n+6]=s[6],e[n+7]=s[7],e[n+8]=s[8],e[n+9]=s[9],e[n+10]=s[10],e[n+11]=s[11],e[n+12]=s[12],e[n+13]=s[13],e[n+14]=s[14],e[n+15]=s[15],e}}const To=new ae,As=new xt,u2t=new ae(0,0,0),p2t=new ae(1,1,1),Wi=new ae,zc=new ae,jn=new ae,mC=new xt,gC=new yr;class sp{constructor(e=0,n=0,s=0,i=sp.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=s,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,s,i=this._order){return this._x=e,this._y=n,this._z=s,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,s=!0){const i=e.elements,r=i[0],o=i[4],a=i[8],c=i[1],d=i[5],u=i[9],h=i[2],f=i[6],m=i[10];switch(n){case"XYZ":this._y=Math.asin(Nn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,m),this._z=Math.atan2(-o,r)):(this._x=Math.atan2(f,d),this._z=0);break;case"YXZ":this._x=Math.asin(-Nn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(c,d)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(Nn(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-h,m),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(c,r));break;case"ZYX":this._y=Math.asin(-Nn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(f,m),this._z=Math.atan2(c,r)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(Nn(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-u,d),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-Nn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,d),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-u,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,s===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,s){return mC.makeRotationFromQuaternion(e),this.setFromRotationMatrix(mC,n,s)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return gC.setFromEuler(this),this.setFromQuaternion(gC,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}sp.DEFAULT_ORDER="XYZ";class zN{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let s=0;s0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function r(a,c){return a[c.uuid]===void 0&&(a[c.uuid]=c.toJSON(e)),c.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const c=a.shapes;if(Array.isArray(c))for(let d=0,u=c.length;d0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(s.geometries=a),c.length>0&&(s.materials=c),d.length>0&&(s.textures=d),u.length>0&&(s.images=u),h.length>0&&(s.shapes=h),f.length>0&&(s.skeletons=f),m.length>0&&(s.animations=m),_.length>0&&(s.nodes=_)}return s.object=i,s;function o(a){const c=[];for(const d in a){const u=a[d];delete u.metadata,c.push(u)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let s=0;s0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(e,n,s,i,r){Ns.subVectors(i,n),vi.subVectors(s,n),Gm.subVectors(e,n);const o=Ns.dot(Ns),a=Ns.dot(vi),c=Ns.dot(Gm),d=vi.dot(vi),u=vi.dot(Gm),h=o*d-a*a;if(h===0)return r.set(-2,-1,-1);const f=1/h,m=(d*c-a*u)*f,_=(o*u-a*c)*f;return r.set(1-m-_,_,m)}static containsPoint(e,n,s,i){return this.getBarycoord(e,n,s,i,Si),Si.x>=0&&Si.y>=0&&Si.x+Si.y<=1}static getUV(e,n,s,i,r,o,a,c){return qc===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),qc=!0),this.getInterpolation(e,n,s,i,r,o,a,c)}static getInterpolation(e,n,s,i,r,o,a,c){return this.getBarycoord(e,n,s,i,Si),c.setScalar(0),c.addScaledVector(r,Si.x),c.addScaledVector(o,Si.y),c.addScaledVector(a,Si.z),c}static isFrontFacing(e,n,s,i){return Ns.subVectors(s,n),vi.subVectors(e,n),Ns.cross(vi).dot(i)<0}set(e,n,s){return this.a.copy(e),this.b.copy(n),this.c.copy(s),this}setFromPointsAndIndices(e,n,s,i){return this.a.copy(e[n]),this.b.copy(e[s]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,s,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,s),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Ns.subVectors(this.c,this.b),vi.subVectors(this.a,this.b),Ns.cross(vi).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ks.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return ks.getBarycoord(e,this.a,this.b,this.c,n)}getUV(e,n,s,i,r){return qc===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),qc=!0),ks.getInterpolation(e,this.a,this.b,this.c,n,s,i,r)}getInterpolation(e,n,s,i,r){return ks.getInterpolation(e,this.a,this.b,this.c,n,s,i,r)}containsPoint(e){return ks.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ks.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const s=this.a,i=this.b,r=this.c;let o,a;Co.subVectors(i,s),wo.subVectors(r,s),Vm.subVectors(e,s);const c=Co.dot(Vm),d=wo.dot(Vm);if(c<=0&&d<=0)return n.copy(s);zm.subVectors(e,i);const u=Co.dot(zm),h=wo.dot(zm);if(u>=0&&h<=u)return n.copy(i);const f=c*h-u*d;if(f<=0&&c>=0&&u<=0)return o=c/(c-u),n.copy(s).addScaledVector(Co,o);Hm.subVectors(e,r);const m=Co.dot(Hm),_=wo.dot(Hm);if(_>=0&&m<=_)return n.copy(r);const g=m*d-c*_;if(g<=0&&d>=0&&_<=0)return a=d/(d-_),n.copy(s).addScaledVector(wo,a);const b=u*_-m*h;if(b<=0&&h-u>=0&&m-_>=0)return SC.subVectors(r,i),a=(h-u)/(h-u+(m-_)),n.copy(i).addScaledVector(SC,a);const E=1/(b+g+f);return o=g*E,a=f*E,n.copy(s).addScaledVector(Co,o).addScaledVector(wo,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const HN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ki={h:0,s:0,l:0},$c={h:0,s:0,l:0};function qm(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}class _t{constructor(e,n,s){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,s)}set(e,n,s){if(n===void 0&&s===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,s);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=tn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Ft.toWorkingColorSpace(this,n),this}setRGB(e,n,s,i=Ft.workingColorSpace){return this.r=e,this.g=n,this.b=s,Ft.toWorkingColorSpace(this,i),this}setHSL(e,n,s,i=Ft.workingColorSpace){if(e=KE(e,1),n=Nn(n,0,1),s=Nn(s,0,1),n===0)this.r=this.g=this.b=s;else{const r=s<=.5?s*(1+n):s+n-s*n,o=2*s-r;this.r=qm(o,r,e+1/3),this.g=qm(o,r,e),this.b=qm(o,r,e-1/3)}return Ft.toWorkingColorSpace(this,i),this}setStyle(e,n=tn){function s(r){r!==void 0&&parseFloat(r)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let r;const o=i[1],a=i[2];switch(o){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,n);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return s(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const r=i[1],o=r.length;if(o===3)return this.setRGB(parseInt(r.charAt(0),16)/15,parseInt(r.charAt(1),16)/15,parseInt(r.charAt(2),16)/15,n);if(o===6)return this.setHex(parseInt(r,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=tn){const s=HN[e.toLowerCase()];return s!==void 0?this.setHex(s,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Qo(e.r),this.g=Qo(e.g),this.b=Qo(e.b),this}copyLinearToSRGB(e){return this.r=Im(e.r),this.g=Im(e.g),this.b=Im(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=tn){return Ft.fromWorkingColorSpace(An.copy(this),e),Math.round(Nn(An.r*255,0,255))*65536+Math.round(Nn(An.g*255,0,255))*256+Math.round(Nn(An.b*255,0,255))}getHexString(e=tn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=Ft.workingColorSpace){Ft.fromWorkingColorSpace(An.copy(this),n);const s=An.r,i=An.g,r=An.b,o=Math.max(s,i,r),a=Math.min(s,i,r);let c,d;const u=(a+o)/2;if(a===o)c=0,d=0;else{const h=o-a;switch(d=u<=.5?h/(o+a):h/(2-o-a),o){case s:c=(i-r)/h+(i0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const s=e[n];if(s===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(s):i&&i.isVector3&&s&&s.isVector3?i.copy(s):this[n]=s}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const s={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};s.uuid=this.uuid,s.type=this.type,this.name!==""&&(s.name=this.name),this.color&&this.color.isColor&&(s.color=this.color.getHex()),this.roughness!==void 0&&(s.roughness=this.roughness),this.metalness!==void 0&&(s.metalness=this.metalness),this.sheen!==void 0&&(s.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(s.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(s.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(s.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(s.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(s.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(s.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(s.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(s.shininess=this.shininess),this.clearcoat!==void 0&&(s.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(s.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(s.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(s.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(s.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,s.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(s.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(s.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(s.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(s.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(s.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(s.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(s.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(s.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(s.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(s.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(s.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(s.lightMap=this.lightMap.toJSON(e).uuid,s.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(s.aoMap=this.aoMap.toJSON(e).uuid,s.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(s.bumpMap=this.bumpMap.toJSON(e).uuid,s.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(s.normalMap=this.normalMap.toJSON(e).uuid,s.normalMapType=this.normalMapType,s.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(s.displacementMap=this.displacementMap.toJSON(e).uuid,s.displacementScale=this.displacementScale,s.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(s.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(s.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(s.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(s.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(s.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(s.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(s.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(s.combine=this.combine)),this.envMapIntensity!==void 0&&(s.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(s.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(s.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(s.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(s.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(s.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(s.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(s.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(s.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(s.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(s.size=this.size),this.shadowSide!==null&&(s.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(s.sizeAttenuation=this.sizeAttenuation),this.blending!==jo&&(s.blending=this.blending),this.side!==Li&&(s.side=this.side),this.vertexColors===!0&&(s.vertexColors=!0),this.opacity<1&&(s.opacity=this.opacity),this.transparent===!0&&(s.transparent=!0),this.blendSrc!==jg&&(s.blendSrc=this.blendSrc),this.blendDst!==Qg&&(s.blendDst=this.blendDst),this.blendEquation!==Ur&&(s.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(s.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(s.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(s.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(s.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(s.blendAlpha=this.blendAlpha),this.depthFunc!==nu&&(s.depthFunc=this.depthFunc),this.depthTest===!1&&(s.depthTest=this.depthTest),this.depthWrite===!1&&(s.depthWrite=this.depthWrite),this.colorWrite===!1&&(s.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(s.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==cC&&(s.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(s.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(s.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==bo&&(s.stencilFail=this.stencilFail),this.stencilZFail!==bo&&(s.stencilZFail=this.stencilZFail),this.stencilZPass!==bo&&(s.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(s.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(s.rotation=this.rotation),this.polygonOffset===!0&&(s.polygonOffset=!0),this.polygonOffsetFactor!==0&&(s.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(s.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(s.linewidth=this.linewidth),this.dashSize!==void 0&&(s.dashSize=this.dashSize),this.gapSize!==void 0&&(s.gapSize=this.gapSize),this.scale!==void 0&&(s.scale=this.scale),this.dithering===!0&&(s.dithering=!0),this.alphaTest>0&&(s.alphaTest=this.alphaTest),this.alphaHash===!0&&(s.alphaHash=!0),this.alphaToCoverage===!0&&(s.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(s.premultipliedAlpha=!0),this.forceSinglePass===!0&&(s.forceSinglePass=!0),this.wireframe===!0&&(s.wireframe=!0),this.wireframeLinewidth>1&&(s.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(s.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(s.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(s.flatShading=!0),this.visible===!1&&(s.visible=!1),this.toneMapped===!1&&(s.toneMapped=!1),this.fog===!1&&(s.fog=!1),Object.keys(this.userData).length>0&&(s.userData=this.userData);function i(r){const o=[];for(const a in r){const c=r[a];delete c.metadata,o.push(c)}return o}if(n){const r=i(e.textures),o=i(e.images);r.length>0&&(s.textures=r),o.length>0&&(s.images=o)}return s}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let s=null;if(n!==null){const i=n.length;s=new Array(i);for(let r=0;r!==i;++r)s[r]=n[r].clone()}return this.clippingPlanes=s,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class lr extends Vs{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new _t(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=qE,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const on=new ae,Yc=new At;class Bn{constructor(e,n,s=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=s,this.usage=tb,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ai,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn('THREE.BufferAttribute: "updateRange" is deprecated and removed in r169. Use "addUpdateRange()" instead.'),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,s){e*=this.itemSize,s*=n.itemSize;for(let i=0,r=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const c=this.parameters;for(const d in c)c[d]!==void 0&&(e[d]=c[d]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const s=this.attributes;for(const c in s){const d=s[c];e.data.attributes[c]=d.toJSON(e.data)}const i={};let r=!1;for(const c in this.morphAttributes){const d=this.morphAttributes[c],u=[];for(let h=0,f=d.length;h0&&(i[c]=u,r=!0)}r&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const s=e.index;s!==null&&this.setIndex(s.clone(n));const i=e.attributes;for(const d in i){const u=i[d];this.setAttribute(d,u.clone(n))}const r=e.morphAttributes;for(const d in r){const u=[],h=r[d];for(let f=0,m=h.length;f0){const i=n[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r(e.far-e.near)**2))&&(TC.copy(r).invert(),Ar.copy(e.ray).applyMatrix4(TC),!(s.boundingBox!==null&&Ar.intersectsBox(s.boundingBox)===!1)&&this._computeIntersections(e,n,Ar)))}_computeIntersections(e,n,s){let i;const r=this.geometry,o=this.material,a=r.index,c=r.attributes.position,d=r.attributes.uv,u=r.attributes.uv1,h=r.attributes.normal,f=r.groups,m=r.drawRange;if(a!==null)if(Array.isArray(o))for(let _=0,g=f.length;_n.far?null:{distance:d,point:Jc.clone(),object:t}}function ed(t,e,n,s,i,r,o,a,c,d){t.getVertexPosition(a,Ao),t.getVertexPosition(c,No),t.getVertexPosition(d,Oo);const u=y2t(t,e,n,s,Ao,No,Oo,Zc);if(u){i&&(jc.fromBufferAttribute(i,a),Qc.fromBufferAttribute(i,c),Xc.fromBufferAttribute(i,d),u.uv=ks.getInterpolation(Zc,Ao,No,Oo,jc,Qc,Xc,new At)),r&&(jc.fromBufferAttribute(r,a),Qc.fromBufferAttribute(r,c),Xc.fromBufferAttribute(r,d),u.uv1=ks.getInterpolation(Zc,Ao,No,Oo,jc,Qc,Xc,new At),u.uv2=u.uv1),o&&(CC.fromBufferAttribute(o,a),wC.fromBufferAttribute(o,c),RC.fromBufferAttribute(o,d),u.normal=ks.getInterpolation(Zc,Ao,No,Oo,CC,wC,RC,new ae),u.normal.dot(s.direction)>0&&u.normal.multiplyScalar(-1));const h={a,b:c,c:d,normal:new ae,materialIndex:0};ks.getNormal(Ao,No,Oo,h.normal),u.face=h}return u}class hr extends _i{constructor(e=1,n=1,s=1,i=1,r=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:s,widthSegments:i,heightSegments:r,depthSegments:o};const a=this;i=Math.floor(i),r=Math.floor(r),o=Math.floor(o);const c=[],d=[],u=[],h=[];let f=0,m=0;_("z","y","x",-1,-1,s,n,e,o,r,0),_("z","y","x",1,-1,s,n,-e,o,r,1),_("x","z","y",1,1,e,s,n,i,o,2),_("x","z","y",1,-1,e,s,-n,i,o,3),_("x","y","z",1,-1,e,n,s,i,r,4),_("x","y","z",-1,-1,e,n,-s,i,r,5),this.setIndex(c),this.setAttribute("position",new Oi(d,3)),this.setAttribute("normal",new Oi(u,3)),this.setAttribute("uv",new Oi(h,2));function _(g,b,E,y,v,S,R,w,A,I,C){const O=S/A,B=R/I,H=S/2,te=R/2,k=w/2,$=A+1,q=I+1;let F=0,W=0;const ne=new ae;for(let le=0;le0?1:-1,u.push(ne.x,ne.y,ne.z),h.push(Se/A),h.push(1-le/I),F+=1}}for(let le=0;le0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const s={};for(const i in this.extensions)this.extensions[i]===!0&&(s[i]=!0);return Object.keys(s).length>0&&(n.extensions=s),n}}class WN extends Jt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new xt,this.projectionMatrix=new xt,this.projectionMatrixInverse=new xt,this.coordinateSystem=Ni}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class Fn extends WN{constructor(e=50,n=1,s=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=s,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=fa*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Tl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return fa*2*Math.atan(Math.tan(Tl*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,n,s,i,r,o){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=s,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(Tl*.5*this.fov)/this.zoom,s=2*n,i=this.aspect*s,r=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const c=o.fullWidth,d=o.fullHeight;r+=o.offsetX*i/c,n-=o.offsetY*s/d,i*=o.width/c,s*=o.height/d}const a=this.filmOffset;a!==0&&(r+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-s,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}}const Mo=-90,Io=1;class b2t extends Jt{constructor(e,n,s){super(),this.type="CubeCamera",this.renderTarget=s,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Fn(Mo,Io,e,n);i.layers=this.layers,this.add(i);const r=new Fn(Mo,Io,e,n);r.layers=this.layers,this.add(r);const o=new Fn(Mo,Io,e,n);o.layers=this.layers,this.add(o);const a=new Fn(Mo,Io,e,n);a.layers=this.layers,this.add(a);const c=new Fn(Mo,Io,e,n);c.layers=this.layers,this.add(c);const d=new Fn(Mo,Io,e,n);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[s,i,r,o,a,c]=n;for(const d of n)this.remove(d);if(e===Ni)s.up.set(0,1,0),s.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),c.up.set(0,1,0),c.lookAt(0,0,-1);else if(e===au)s.up.set(0,-1,0),s.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),c.up.set(0,-1,0),c.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const d of n)this.add(d),d.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:s,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[r,o,a,c,d,u]=this.children,h=e.getRenderTarget(),f=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),_=e.xr.enabled;e.xr.enabled=!1;const g=s.texture.generateMipmaps;s.texture.generateMipmaps=!1,e.setRenderTarget(s,0,i),e.render(n,r),e.setRenderTarget(s,1,i),e.render(n,o),e.setRenderTarget(s,2,i),e.render(n,a),e.setRenderTarget(s,3,i),e.render(n,c),e.setRenderTarget(s,4,i),e.render(n,d),s.texture.generateMipmaps=g,e.setRenderTarget(s,5,i),e.render(n,u),e.setRenderTarget(h,f,m),e.xr.enabled=_,s.texture.needsPMREMUpdate=!0}}class KN extends Cn{constructor(e,n,s,i,r,o,a,c,d,u){e=e!==void 0?e:[],n=n!==void 0?n:da,super(e,n,s,i,r,o,a,c,d,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class E2t extends io{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const s={width:e,height:e,depth:1},i=[s,s,s,s,s,s];n.encoding!==void 0&&(Cl("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===Qr?tn:_s),this.texture=new KN(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:zn}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const s={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class ro extends Vs{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=T2t,this.fragmentShader=x2t,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=ma(e.uniforms),this.uniformsGroups=v2t(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const n=super.toJSON(e);n.glslVersion=this.glslVersion,n.uniforms={};for(const i in this.uniforms){const o=this.uniforms[i].value;o&&o.isTexture?n.uniforms[i]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?n.uniforms[i]={type:"c",value:o.getHex()}:o&&o.isVector2?n.uniforms[i]={type:"v2",value:o.toArray()}:o&&o.isVector3?n.uniforms[i]={type:"v3",value:o.toArray()}:o&&o.isVector4?n.uniforms[i]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?n.uniforms[i]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?n.uniforms[i]={type:"m4",value:o.toArray()}:n.uniforms[i]={value:o}}Object.keys(this.defines).length>0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const s={};for(const i in this.extensions)this.extensions[i]===!0&&(s[i]=!0);return Object.keys(s).length>0&&(n.extensions=s),n}}class WN extends Jt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new xt,this.projectionMatrix=new xt,this.projectionMatrixInverse=new xt,this.coordinateSystem=Ni}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class Fn extends WN{constructor(e=50,n=1,s=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=s,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=fa*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Tl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return fa*2*Math.atan(Math.tan(Tl*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,n,s,i,r,o){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=s,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(Tl*.5*this.fov)/this.zoom,s=2*n,i=this.aspect*s,r=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const c=o.fullWidth,d=o.fullHeight;r+=o.offsetX*i/c,n-=o.offsetY*s/d,i*=o.width/c,s*=o.height/d}const a=this.filmOffset;a!==0&&(r+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-s,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}}const Mo=-90,Io=1;class C2t extends Jt{constructor(e,n,s){super(),this.type="CubeCamera",this.renderTarget=s,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Fn(Mo,Io,e,n);i.layers=this.layers,this.add(i);const r=new Fn(Mo,Io,e,n);r.layers=this.layers,this.add(r);const o=new Fn(Mo,Io,e,n);o.layers=this.layers,this.add(o);const a=new Fn(Mo,Io,e,n);a.layers=this.layers,this.add(a);const c=new Fn(Mo,Io,e,n);c.layers=this.layers,this.add(c);const d=new Fn(Mo,Io,e,n);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[s,i,r,o,a,c]=n;for(const d of n)this.remove(d);if(e===Ni)s.up.set(0,1,0),s.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),c.up.set(0,1,0),c.lookAt(0,0,-1);else if(e===au)s.up.set(0,-1,0),s.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),c.up.set(0,-1,0),c.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const d of n)this.add(d),d.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:s,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[r,o,a,c,d,u]=this.children,h=e.getRenderTarget(),f=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),_=e.xr.enabled;e.xr.enabled=!1;const g=s.texture.generateMipmaps;s.texture.generateMipmaps=!1,e.setRenderTarget(s,0,i),e.render(n,r),e.setRenderTarget(s,1,i),e.render(n,o),e.setRenderTarget(s,2,i),e.render(n,a),e.setRenderTarget(s,3,i),e.render(n,c),e.setRenderTarget(s,4,i),e.render(n,d),s.texture.generateMipmaps=g,e.setRenderTarget(s,5,i),e.render(n,u),e.setRenderTarget(h,f,m),e.xr.enabled=_,s.texture.needsPMREMUpdate=!0}}class KN extends Cn{constructor(e,n,s,i,r,o,a,c,d,u){e=e!==void 0?e:[],n=n!==void 0?n:da,super(e,n,s,i,r,o,a,c,d,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class w2t extends io{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const s={width:e,height:e,depth:1},i=[s,s,s,s,s,s];n.encoding!==void 0&&(Cl("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===Qr?tn:_s),this.texture=new KN(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:zn}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const s={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -371,9 +371,9 @@ ${c}`;navigator.clipboard.writeText(d)}else navigator.clipboard.writeText(e);thi gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},i=new hr(5,5,5),r=new ro({name:"CubemapFromEquirect",uniforms:ma(s.uniforms),vertexShader:s.vertexShader,fragmentShader:s.fragmentShader,side:$n,blending:ur});r.uniforms.tEquirect.value=n;const o=new Un(i,r),a=n.minFilter;return n.minFilter===so&&(n.minFilter=zn),new b2t(1,10,this).update(e,o),n.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,n,s,i){const r=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(n,s,i);e.setRenderTarget(r)}}const Wm=new oe,y2t=new oe,v2t=new Tt;class Ir{constructor(e=new oe(1,0,0),n=0){this.isPlane=!0,this.normal=e,this.constant=n}set(e,n){return this.normal.copy(e),this.constant=n,this}setComponents(e,n,s,i){return this.normal.set(e,n,s),this.constant=i,this}setFromNormalAndCoplanarPoint(e,n){return this.normal.copy(e),this.constant=-n.dot(this.normal),this}setFromCoplanarPoints(e,n,s){const i=Wm.subVectors(s,n).cross(y2t.subVectors(e,n)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,n){return n.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,n){const s=e.delta(Wm),i=this.normal.dot(s);if(i===0)return this.distanceToPoint(e.start)===0?n.copy(e.start):null;const r=-(e.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:n.copy(e.start).addScaledVector(s,r)}intersectsLine(e){const n=this.distanceToPoint(e.start),s=this.distanceToPoint(e.end);return n<0&&s>0||s<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const s=n||v2t.getNormalMatrix(e),i=this.coplanarPoint(Wm).applyMatrix4(e),r=this.normal.applyMatrix3(s).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Nr=new pi,td=new oe;class jE{constructor(e=new Ir,n=new Ir,s=new Ir,i=new Ir,r=new Ir,o=new Ir){this.planes=[e,n,s,i,r,o]}set(e,n,s,i,r,o){const a=this.planes;return a[0].copy(e),a[1].copy(n),a[2].copy(s),a[3].copy(i),a[4].copy(r),a[5].copy(o),this}copy(e){const n=this.planes;for(let s=0;s<6;s++)n[s].copy(e.planes[s]);return this}setFromProjectionMatrix(e,n=Ni){const s=this.planes,i=e.elements,r=i[0],o=i[1],a=i[2],c=i[3],d=i[4],u=i[5],h=i[6],f=i[7],m=i[8],_=i[9],g=i[10],b=i[11],E=i[12],y=i[13],v=i[14],S=i[15];if(s[0].setComponents(c-r,f-d,b-m,S-E).normalize(),s[1].setComponents(c+r,f+d,b+m,S+E).normalize(),s[2].setComponents(c+o,f+u,b+_,S+y).normalize(),s[3].setComponents(c-o,f-u,b-_,S-y).normalize(),s[4].setComponents(c-a,f-h,b-g,S-v).normalize(),n===Ni)s[5].setComponents(c+a,f+h,b+g,S+v).normalize();else if(n===au)s[5].setComponents(a,h,g,v).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Nr.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),Nr.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Nr)}intersectsSprite(e){return Nr.center.set(0,0,0),Nr.radius=.7071067811865476,Nr.applyMatrix4(e.matrixWorld),this.intersectsSphere(Nr)}intersectsSphere(e){const n=this.planes,s=e.center,i=-e.radius;for(let r=0;r<6;r++)if(n[r].distanceToPoint(s)0?e.max.x:e.min.x,td.y=i.normal.y>0?e.max.y:e.min.y,td.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(td)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let s=0;s<6;s++)if(n[s].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function jN(){let t=null,e=!1,n=null,s=null;function i(r,o){n(r,o),s=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(s=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(s),e=!1},setAnimationLoop:function(r){n=r},setContext:function(r){t=r}}}function S2t(t,e){const n=e.isWebGL2,s=new WeakMap;function i(d,u){const h=d.array,f=d.usage,m=h.byteLength,_=t.createBuffer();t.bindBuffer(u,_),t.bufferData(u,h,f),d.onUploadCallback();let g;if(h instanceof Float32Array)g=t.FLOAT;else if(h instanceof Uint16Array)if(d.isFloat16BufferAttribute)if(n)g=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=t.UNSIGNED_SHORT;else if(h instanceof Int16Array)g=t.SHORT;else if(h instanceof Uint32Array)g=t.UNSIGNED_INT;else if(h instanceof Int32Array)g=t.INT;else if(h instanceof Int8Array)g=t.BYTE;else if(h instanceof Uint8Array)g=t.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)g=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:_,type:g,bytesPerElement:h.BYTES_PER_ELEMENT,version:d.version,size:m}}function r(d,u,h){const f=u.array,m=u._updateRange,_=u.updateRanges;if(t.bindBuffer(h,d),m.count===-1&&_.length===0&&t.bufferSubData(h,0,f),_.length!==0){for(let g=0,b=_.length;g1?null:n.copy(e.start).addScaledVector(s,r)}intersectsLine(e){const n=this.distanceToPoint(e.start),s=this.distanceToPoint(e.end);return n<0&&s>0||s<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const s=n||A2t.getNormalMatrix(e),i=this.coplanarPoint(Wm).applyMatrix4(e),r=this.normal.applyMatrix3(s).normalize();return this.constant=-i.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Nr=new pi,td=new ae;class jE{constructor(e=new Ir,n=new Ir,s=new Ir,i=new Ir,r=new Ir,o=new Ir){this.planes=[e,n,s,i,r,o]}set(e,n,s,i,r,o){const a=this.planes;return a[0].copy(e),a[1].copy(n),a[2].copy(s),a[3].copy(i),a[4].copy(r),a[5].copy(o),this}copy(e){const n=this.planes;for(let s=0;s<6;s++)n[s].copy(e.planes[s]);return this}setFromProjectionMatrix(e,n=Ni){const s=this.planes,i=e.elements,r=i[0],o=i[1],a=i[2],c=i[3],d=i[4],u=i[5],h=i[6],f=i[7],m=i[8],_=i[9],g=i[10],b=i[11],E=i[12],y=i[13],v=i[14],S=i[15];if(s[0].setComponents(c-r,f-d,b-m,S-E).normalize(),s[1].setComponents(c+r,f+d,b+m,S+E).normalize(),s[2].setComponents(c+o,f+u,b+_,S+y).normalize(),s[3].setComponents(c-o,f-u,b-_,S-y).normalize(),s[4].setComponents(c-a,f-h,b-g,S-v).normalize(),n===Ni)s[5].setComponents(c+a,f+h,b+g,S+v).normalize();else if(n===au)s[5].setComponents(a,h,g,v).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Nr.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),Nr.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Nr)}intersectsSprite(e){return Nr.center.set(0,0,0),Nr.radius=.7071067811865476,Nr.applyMatrix4(e.matrixWorld),this.intersectsSphere(Nr)}intersectsSphere(e){const n=this.planes,s=e.center,i=-e.radius;for(let r=0;r<6;r++)if(n[r].distanceToPoint(s)0?e.max.x:e.min.x,td.y=i.normal.y>0?e.max.y:e.min.y,td.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(td)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let s=0;s<6;s++)if(n[s].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function jN(){let t=null,e=!1,n=null,s=null;function i(r,o){n(r,o),s=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(s=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(s),e=!1},setAnimationLoop:function(r){n=r},setContext:function(r){t=r}}}function N2t(t,e){const n=e.isWebGL2,s=new WeakMap;function i(d,u){const h=d.array,f=d.usage,m=h.byteLength,_=t.createBuffer();t.bindBuffer(u,_),t.bufferData(u,h,f),d.onUploadCallback();let g;if(h instanceof Float32Array)g=t.FLOAT;else if(h instanceof Uint16Array)if(d.isFloat16BufferAttribute)if(n)g=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=t.UNSIGNED_SHORT;else if(h instanceof Int16Array)g=t.SHORT;else if(h instanceof Uint32Array)g=t.UNSIGNED_INT;else if(h instanceof Int32Array)g=t.INT;else if(h instanceof Int8Array)g=t.BYTE;else if(h instanceof Uint8Array)g=t.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)g=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:_,type:g,bytesPerElement:h.BYTES_PER_ELEMENT,version:d.version,size:m}}function r(d,u,h){const f=u.array,m=u._updateRange,_=u.updateRanges;if(t.bindBuffer(h,d),m.count===-1&&_.length===0&&t.bufferSubData(h,0,f),_.length!==0){for(let g=0,b=_.length;g 0 +#endif`,$2t=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #pragma unroll_loop_start for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { @@ -570,26 +570,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #pragma unroll_loop_end if ( clipped ) discard; #endif -#endif`,B2t=`#if NUM_CLIPPING_PLANES > 0 +#endif`,Y2t=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,G2t=`#if NUM_CLIPPING_PLANES > 0 +#endif`,W2t=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; -#endif`,V2t=`#if NUM_CLIPPING_PLANES > 0 +#endif`,K2t=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,z2t=`#if defined( USE_COLOR_ALPHA ) +#endif`,j2t=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,H2t=`#if defined( USE_COLOR_ALPHA ) +#endif`,Q2t=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,q2t=`#if defined( USE_COLOR_ALPHA ) +#endif`,X2t=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,$2t=`#if defined( USE_COLOR_ALPHA ) +#endif`,Z2t=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -599,7 +599,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,Y2t=`#define PI 3.141592653589793 +#endif`,J2t=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -677,7 +677,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,W2t=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,eNt=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -775,7 +775,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,K2t=`vec3 transformedNormal = objectNormal; +#endif`,tNt=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -804,18 +804,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,j2t=`#ifdef USE_DISPLACEMENTMAP +#endif`,nNt=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,Q2t=`#ifdef USE_DISPLACEMENTMAP +#endif`,sNt=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,X2t=`#ifdef USE_EMISSIVEMAP +#endif`,iNt=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,Z2t=`#ifdef USE_EMISSIVEMAP +#endif`,rNt=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,J2t="gl_FragColor = linearToOutputTexel( gl_FragColor );",eNt=` +#endif`,oNt="gl_FragColor = linearToOutputTexel( gl_FragColor );",aNt=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -843,7 +843,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,tNt=`#ifdef USE_ENVMAP +}`,lNt=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -872,7 +872,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,nNt=`#ifdef USE_ENVMAP +#endif`,cNt=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -881,7 +881,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,sNt=`#ifdef USE_ENVMAP +#endif`,dNt=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -892,7 +892,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,iNt=`#ifdef USE_ENVMAP +#endif`,uNt=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -903,7 +903,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,rNt=`#ifdef USE_ENVMAP +#endif`,pNt=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -920,18 +920,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,oNt=`#ifdef USE_FOG +#endif`,_Nt=`#ifdef USE_FOG vFogDepth = - mvPosition.z; -#endif`,aNt=`#ifdef USE_FOG +#endif`,hNt=`#ifdef USE_FOG varying float vFogDepth; -#endif`,lNt=`#ifdef USE_FOG +#endif`,fNt=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,cNt=`#ifdef USE_FOG +#endif`,mNt=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -940,7 +940,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,dNt=`#ifdef USE_GRADIENTMAP +#endif`,gNt=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -952,16 +952,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif -}`,uNt=`#ifdef USE_LIGHTMAP +}`,bNt=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,pNt=`#ifdef USE_LIGHTMAP +#endif`,ENt=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,_Nt=`LambertMaterial material; +#endif`,yNt=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,hNt=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,vNt=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -975,7 +975,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,fNt=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,SNt=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -1098,7 +1098,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,mNt=`#ifdef USE_ENVMAP +#endif`,TNt=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -1131,8 +1131,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,gNt=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,bNt=`varying vec3 vViewPosition; +#endif`,xNt=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,CNt=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -1144,11 +1144,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,ENt=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,wNt=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,yNt=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,RNt=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -1165,7 +1165,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,vNt=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,ANt=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); @@ -1248,7 +1248,7 @@ material.roughness = min( material.roughness, 1.0 ); material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,SNt=`struct PhysicalMaterial { +#endif`,NNt=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1548,7 +1548,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,TNt=` +}`,ONt=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1663,7 +1663,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,xNt=`#if defined( RE_IndirectDiffuse ) +#endif`,MNt=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1682,25 +1682,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,CNt=`#if defined( RE_IndirectDiffuse ) +#endif`,INt=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,wNt=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,kNt=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,RNt=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,DNt=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,ANt=`#ifdef USE_LOGDEPTHBUF +#endif`,LNt=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,NNt=`#ifdef USE_LOGDEPTHBUF +#endif`,PNt=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1710,16 +1710,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,ONt=`#ifdef USE_MAP +#endif`,FNt=`#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); #endif diffuseColor *= sampledDiffuseColor; -#endif`,MNt=`#ifdef USE_MAP +#endif`,UNt=`#ifdef USE_MAP uniform sampler2D map; -#endif`,INt=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,BNt=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1731,7 +1731,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,kNt=`#if defined( USE_POINTS_UV ) +#endif`,GNt=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1743,13 +1743,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,DNt=`float metalnessFactor = metalness; +#endif`,VNt=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,LNt=`#ifdef USE_METALNESSMAP +#endif`,zNt=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,PNt=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,HNt=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1758,7 +1758,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,FNt=`#ifdef USE_MORPHNORMALS +#endif`,qNt=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1770,7 +1770,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,UNt=`#ifdef USE_MORPHTARGETS +#endif`,$Nt=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1790,7 +1790,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,BNt=`#ifdef USE_MORPHTARGETS +#endif`,YNt=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1808,7 +1808,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,GNt=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,WNt=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1849,7 +1849,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,VNt=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,KNt=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1864,25 +1864,25 @@ vec3 nonPerturbedNormal = normal;`,VNt=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,zNt=`#ifndef FLAT_SHADED +#endif`,jNt=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,HNt=`#ifndef FLAT_SHADED +#endif`,QNt=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,qNt=`#ifndef FLAT_SHADED +#endif`,XNt=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,$Nt=`#ifdef USE_NORMALMAP +#endif`,ZNt=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1904,13 +1904,13 @@ vec3 nonPerturbedNormal = normal;`,VNt=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,YNt=`#ifdef USE_CLEARCOAT +#endif`,JNt=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,WNt=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,eOt=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,KNt=`#ifdef USE_CLEARCOATMAP +#endif`,tOt=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1919,18 +1919,18 @@ vec3 nonPerturbedNormal = normal;`,VNt=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,jNt=`#ifdef USE_IRIDESCENCEMAP +#endif`,nOt=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,QNt=`#ifdef OPAQUE +#endif`,sOt=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,XNt=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,iOt=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1971,9 +1971,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,ZNt=`#ifdef PREMULTIPLIED_ALPHA +}`,rOt=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,JNt=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,oOt=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1981,22 +1981,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,aOt=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,tOt=`#ifdef DITHERING +#endif`,lOt=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,nOt=`float roughnessFactor = roughness; +#endif`,cOt=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,sOt=`#ifdef USE_ROUGHNESSMAP +#endif`,dOt=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,iOt=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,uOt=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -2173,7 +2173,7 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,rOt=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,pOt=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -2211,7 +2211,7 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,oOt=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,_Ot=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; #endif @@ -2243,7 +2243,7 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,aOt=`float getShadowMask() { +#endif`,hOt=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2275,12 +2275,12 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING #endif #endif return shadow; -}`,lOt=`#ifdef USE_SKINNING +}`,fOt=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,cOt=`#ifdef USE_SKINNING +#endif`,mOt=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2295,7 +2295,7 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,dOt=`#ifdef USE_SKINNING +#endif`,gOt=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2303,7 +2303,7 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,uOt=`#ifdef USE_SKINNING +#endif`,bOt=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2314,17 +2314,17 @@ gl_Position = projectionMatrix * mvPosition;`,eOt=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,pOt=`float specularStrength; +#endif`,EOt=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,_Ot=`#ifdef USE_SPECULARMAP +#endif`,yOt=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,hOt=`#if defined( TONE_MAPPING ) +#endif`,vOt=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,fOt=`#ifndef saturate +#endif`,SOt=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2360,7 +2360,7 @@ vec3 ACESFilmicToneMapping( vec3 color ) { color = ACESOutputMat * color; return saturate( color ); } -vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,TOt=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2381,7 +2381,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMIS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,gOt=`#ifdef USE_TRANSMISSION +#endif`,xOt=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2487,7 +2487,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMIS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,bOt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,COt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2557,7 +2557,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMIS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,EOt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,wOt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2651,7 +2651,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMIS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,yOt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,ROt=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2722,7 +2722,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMIS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,vOt=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,AOt=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING worldPosition = batchingMatrix * worldPosition; @@ -2731,12 +2731,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,mOt=`#ifdef USE_TRANSMIS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const SOt=`varying vec2 vUv; +#endif`;const NOt=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,TOt=`uniform sampler2D t2D; +}`,OOt=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2748,14 +2748,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,xOt=`varying vec3 vWorldDirection; +}`,MOt=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,COt=`#ifdef ENVMAP_TYPE_CUBE +}`,IOt=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2777,14 +2777,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,wOt=`varying vec3 vWorldDirection; +}`,kOt=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,ROt=`uniform samplerCube tCube; +}`,DOt=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2794,7 +2794,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,AOt=`#include +}`,LOt=`#include #include #include #include @@ -2820,7 +2820,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,NOt=`#if DEPTH_PACKING == 3200 +}`,POt=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2850,7 +2850,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,OOt=`#define DISTANCE +}`,FOt=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2876,7 +2876,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,MOt=`#define DISTANCE +}`,UOt=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2900,13 +2900,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,IOt=`varying vec3 vWorldDirection; +}`,BOt=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,kOt=`uniform sampler2D tEquirect; +}`,GOt=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2915,7 +2915,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,DOt=`uniform float scale; +}`,VOt=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2936,7 +2936,7 @@ void main() { #include #include #include -}`,LOt=`uniform vec3 diffuse; +}`,zOt=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2964,7 +2964,7 @@ void main() { #include #include #include -}`,POt=`#include +}`,HOt=`#include #include #include #include @@ -2995,7 +2995,7 @@ void main() { #include #include #include -}`,FOt=`uniform vec3 diffuse; +}`,qOt=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -3043,7 +3043,7 @@ void main() { #include #include #include -}`,UOt=`#define LAMBERT +}`,$Ot=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -3081,7 +3081,7 @@ void main() { #include #include #include -}`,BOt=`#define LAMBERT +}`,YOt=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3138,7 +3138,7 @@ void main() { #include #include #include -}`,GOt=`#define MATCAP +}`,WOt=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -3171,7 +3171,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,VOt=`#define MATCAP +}`,KOt=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3217,7 +3217,7 @@ void main() { #include #include #include -}`,zOt=`#define NORMAL +}`,jOt=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3249,7 +3249,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,HOt=`#define NORMAL +}`,QOt=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3270,7 +3270,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,qOt=`#define PHONG +}`,XOt=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3308,7 +3308,7 @@ void main() { #include #include #include -}`,$Ot=`#define PHONG +}`,ZOt=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3367,7 +3367,7 @@ void main() { #include #include #include -}`,YOt=`#define STANDARD +}`,JOt=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3409,7 +3409,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,WOt=`#define STANDARD +}`,eMt=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3531,7 +3531,7 @@ void main() { #include #include #include -}`,KOt=`#define TOON +}`,tMt=`#define TOON varying vec3 vViewPosition; #include #include @@ -3567,7 +3567,7 @@ void main() { #include #include #include -}`,jOt=`#define TOON +}`,nMt=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3620,7 +3620,7 @@ void main() { #include #include #include -}`,QOt=`uniform float size; +}`,sMt=`uniform float size; uniform float scale; #include #include @@ -3650,7 +3650,7 @@ void main() { #include #include #include -}`,XOt=`uniform vec3 diffuse; +}`,iMt=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3675,7 +3675,7 @@ void main() { #include #include #include -}`,ZOt=`#include +}`,rMt=`#include #include #include #include @@ -3697,7 +3697,7 @@ void main() { #include #include #include -}`,JOt=`uniform vec3 color; +}`,oMt=`uniform vec3 color; uniform float opacity; #include #include @@ -3713,7 +3713,7 @@ void main() { #include #include #include -}`,eMt=`uniform float rotation; +}`,aMt=`uniform float rotation; uniform vec2 center; #include #include @@ -3739,7 +3739,7 @@ void main() { #include #include #include -}`,tMt=`uniform vec3 diffuse; +}`,lMt=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3764,7 +3764,7 @@ void main() { #include #include #include -}`,St={alphahash_fragment:T2t,alphahash_pars_fragment:x2t,alphamap_fragment:C2t,alphamap_pars_fragment:w2t,alphatest_fragment:R2t,alphatest_pars_fragment:A2t,aomap_fragment:N2t,aomap_pars_fragment:O2t,batching_pars_vertex:M2t,batching_vertex:I2t,begin_vertex:k2t,beginnormal_vertex:D2t,bsdfs:L2t,iridescence_fragment:P2t,bumpmap_pars_fragment:F2t,clipping_planes_fragment:U2t,clipping_planes_pars_fragment:B2t,clipping_planes_pars_vertex:G2t,clipping_planes_vertex:V2t,color_fragment:z2t,color_pars_fragment:H2t,color_pars_vertex:q2t,color_vertex:$2t,common:Y2t,cube_uv_reflection_fragment:W2t,defaultnormal_vertex:K2t,displacementmap_pars_vertex:j2t,displacementmap_vertex:Q2t,emissivemap_fragment:X2t,emissivemap_pars_fragment:Z2t,colorspace_fragment:J2t,colorspace_pars_fragment:eNt,envmap_fragment:tNt,envmap_common_pars_fragment:nNt,envmap_pars_fragment:sNt,envmap_pars_vertex:iNt,envmap_physical_pars_fragment:mNt,envmap_vertex:rNt,fog_vertex:oNt,fog_pars_vertex:aNt,fog_fragment:lNt,fog_pars_fragment:cNt,gradientmap_pars_fragment:dNt,lightmap_fragment:uNt,lightmap_pars_fragment:pNt,lights_lambert_fragment:_Nt,lights_lambert_pars_fragment:hNt,lights_pars_begin:fNt,lights_toon_fragment:gNt,lights_toon_pars_fragment:bNt,lights_phong_fragment:ENt,lights_phong_pars_fragment:yNt,lights_physical_fragment:vNt,lights_physical_pars_fragment:SNt,lights_fragment_begin:TNt,lights_fragment_maps:xNt,lights_fragment_end:CNt,logdepthbuf_fragment:wNt,logdepthbuf_pars_fragment:RNt,logdepthbuf_pars_vertex:ANt,logdepthbuf_vertex:NNt,map_fragment:ONt,map_pars_fragment:MNt,map_particle_fragment:INt,map_particle_pars_fragment:kNt,metalnessmap_fragment:DNt,metalnessmap_pars_fragment:LNt,morphcolor_vertex:PNt,morphnormal_vertex:FNt,morphtarget_pars_vertex:UNt,morphtarget_vertex:BNt,normal_fragment_begin:GNt,normal_fragment_maps:VNt,normal_pars_fragment:zNt,normal_pars_vertex:HNt,normal_vertex:qNt,normalmap_pars_fragment:$Nt,clearcoat_normal_fragment_begin:YNt,clearcoat_normal_fragment_maps:WNt,clearcoat_pars_fragment:KNt,iridescence_pars_fragment:jNt,opaque_fragment:QNt,packing:XNt,premultiplied_alpha_fragment:ZNt,project_vertex:JNt,dithering_fragment:eOt,dithering_pars_fragment:tOt,roughnessmap_fragment:nOt,roughnessmap_pars_fragment:sOt,shadowmap_pars_fragment:iOt,shadowmap_pars_vertex:rOt,shadowmap_vertex:oOt,shadowmask_pars_fragment:aOt,skinbase_vertex:lOt,skinning_pars_vertex:cOt,skinning_vertex:dOt,skinnormal_vertex:uOt,specularmap_fragment:pOt,specularmap_pars_fragment:_Ot,tonemapping_fragment:hOt,tonemapping_pars_fragment:fOt,transmission_fragment:mOt,transmission_pars_fragment:gOt,uv_pars_fragment:bOt,uv_pars_vertex:EOt,uv_vertex:yOt,worldpos_vertex:vOt,background_vert:SOt,background_frag:TOt,backgroundCube_vert:xOt,backgroundCube_frag:COt,cube_vert:wOt,cube_frag:ROt,depth_vert:AOt,depth_frag:NOt,distanceRGBA_vert:OOt,distanceRGBA_frag:MOt,equirect_vert:IOt,equirect_frag:kOt,linedashed_vert:DOt,linedashed_frag:LOt,meshbasic_vert:POt,meshbasic_frag:FOt,meshlambert_vert:UOt,meshlambert_frag:BOt,meshmatcap_vert:GOt,meshmatcap_frag:VOt,meshnormal_vert:zOt,meshnormal_frag:HOt,meshphong_vert:qOt,meshphong_frag:$Ot,meshphysical_vert:YOt,meshphysical_frag:WOt,meshtoon_vert:KOt,meshtoon_frag:jOt,points_vert:QOt,points_frag:XOt,shadow_vert:ZOt,shadow_frag:JOt,sprite_vert:eMt,sprite_frag:tMt},We={common:{diffuse:{value:new _t(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Tt},alphaMap:{value:null},alphaMapTransform:{value:new Tt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Tt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Tt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Tt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Tt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Tt},normalScale:{value:new At(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Tt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Tt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Tt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Tt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new _t(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new _t(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Tt},alphaTest:{value:0},uvTransform:{value:new Tt}},sprite:{diffuse:{value:new _t(16777215)},opacity:{value:1},center:{value:new At(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Tt},alphaMap:{value:null},alphaMapTransform:{value:new Tt},alphaTest:{value:0}}},Xs={basic:{uniforms:Pn([We.common,We.specularmap,We.envmap,We.aomap,We.lightmap,We.fog]),vertexShader:St.meshbasic_vert,fragmentShader:St.meshbasic_frag},lambert:{uniforms:Pn([We.common,We.specularmap,We.envmap,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.fog,We.lights,{emissive:{value:new _t(0)}}]),vertexShader:St.meshlambert_vert,fragmentShader:St.meshlambert_frag},phong:{uniforms:Pn([We.common,We.specularmap,We.envmap,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.fog,We.lights,{emissive:{value:new _t(0)},specular:{value:new _t(1118481)},shininess:{value:30}}]),vertexShader:St.meshphong_vert,fragmentShader:St.meshphong_frag},standard:{uniforms:Pn([We.common,We.envmap,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.roughnessmap,We.metalnessmap,We.fog,We.lights,{emissive:{value:new _t(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag},toon:{uniforms:Pn([We.common,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.gradientmap,We.fog,We.lights,{emissive:{value:new _t(0)}}]),vertexShader:St.meshtoon_vert,fragmentShader:St.meshtoon_frag},matcap:{uniforms:Pn([We.common,We.bumpmap,We.normalmap,We.displacementmap,We.fog,{matcap:{value:null}}]),vertexShader:St.meshmatcap_vert,fragmentShader:St.meshmatcap_frag},points:{uniforms:Pn([We.points,We.fog]),vertexShader:St.points_vert,fragmentShader:St.points_frag},dashed:{uniforms:Pn([We.common,We.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:St.linedashed_vert,fragmentShader:St.linedashed_frag},depth:{uniforms:Pn([We.common,We.displacementmap]),vertexShader:St.depth_vert,fragmentShader:St.depth_frag},normal:{uniforms:Pn([We.common,We.bumpmap,We.normalmap,We.displacementmap,{opacity:{value:1}}]),vertexShader:St.meshnormal_vert,fragmentShader:St.meshnormal_frag},sprite:{uniforms:Pn([We.sprite,We.fog]),vertexShader:St.sprite_vert,fragmentShader:St.sprite_frag},background:{uniforms:{uvTransform:{value:new Tt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:St.background_vert,fragmentShader:St.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:St.backgroundCube_vert,fragmentShader:St.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:St.cube_vert,fragmentShader:St.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:St.equirect_vert,fragmentShader:St.equirect_frag},distanceRGBA:{uniforms:Pn([We.common,We.displacementmap,{referencePosition:{value:new oe},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:St.distanceRGBA_vert,fragmentShader:St.distanceRGBA_frag},shadow:{uniforms:Pn([We.lights,We.fog,{color:{value:new _t(0)},opacity:{value:1}}]),vertexShader:St.shadow_vert,fragmentShader:St.shadow_frag}};Xs.physical={uniforms:Pn([Xs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Tt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Tt},clearcoatNormalScale:{value:new At(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Tt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Tt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Tt},sheen:{value:0},sheenColor:{value:new _t(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Tt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Tt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Tt},transmissionSamplerSize:{value:new At},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Tt},attenuationDistance:{value:0},attenuationColor:{value:new _t(0)},specularColor:{value:new _t(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Tt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Tt},anisotropyVector:{value:new At},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Tt}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag};const nd={r:0,b:0,g:0};function nMt(t,e,n,s,i,r,o){const a=new _t(0);let c=r===!0?0:1,d,u,h=null,f=0,m=null;function _(b,E){let y=!1,v=E.isScene===!0?E.background:null;v&&v.isTexture&&(v=(E.backgroundBlurriness>0?n:e).get(v)),v===null?g(a,c):v&&v.isColor&&(g(v,1),y=!0);const S=t.xr.getEnvironmentBlendMode();S==="additive"?s.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&s.buffers.color.setClear(0,0,0,0,o),(t.autoClear||y)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),v&&(v.isCubeTexture||v.mapping===ep)?(u===void 0&&(u=new Un(new hr(1,1,1),new ro({name:"BackgroundCubeMaterial",uniforms:ma(Xs.backgroundCube.uniforms),vertexShader:Xs.backgroundCube.vertexShader,fragmentShader:Xs.backgroundCube.fragmentShader,side:$n,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(R,w,A){this.matrixWorld.copyPosition(A.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),u.material.uniforms.envMap.value=v,u.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=E.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=E.backgroundIntensity,u.material.toneMapped=Ft.getTransfer(v.colorSpace)!==Kt,(h!==v||f!==v.version||m!==t.toneMapping)&&(u.material.needsUpdate=!0,h=v,f=v.version,m=t.toneMapping),u.layers.enableAll(),b.unshift(u,u.geometry,u.material,0,0,null)):v&&v.isTexture&&(d===void 0&&(d=new Un(new QE(2,2),new ro({name:"BackgroundMaterial",uniforms:ma(Xs.background.uniforms),vertexShader:Xs.background.vertexShader,fragmentShader:Xs.background.fragmentShader,side:Li,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(d)),d.material.uniforms.t2D.value=v,d.material.uniforms.backgroundIntensity.value=E.backgroundIntensity,d.material.toneMapped=Ft.getTransfer(v.colorSpace)!==Kt,v.matrixAutoUpdate===!0&&v.updateMatrix(),d.material.uniforms.uvTransform.value.copy(v.matrix),(h!==v||f!==v.version||m!==t.toneMapping)&&(d.material.needsUpdate=!0,h=v,f=v.version,m=t.toneMapping),d.layers.enableAll(),b.unshift(d,d.geometry,d.material,0,0,null))}function g(b,E){b.getRGB(nd,YN(t)),s.buffers.color.setClear(nd.r,nd.g,nd.b,E,o)}return{getClearColor:function(){return a},setClearColor:function(b,E=1){a.set(b),c=E,g(a,c)},getClearAlpha:function(){return c},setClearAlpha:function(b){c=b,g(a,c)},render:_}}function sMt(t,e,n,s){const i=t.getParameter(t.MAX_VERTEX_ATTRIBS),r=s.isWebGL2?null:e.get("OES_vertex_array_object"),o=s.isWebGL2||r!==null,a={},c=b(null);let d=c,u=!1;function h(k,$,q,F,W){let ne=!1;if(o){const le=g(F,q,$);d!==le&&(d=le,m(d.object)),ne=E(k,F,q,W),ne&&y(k,F,q,W)}else{const le=$.wireframe===!0;(d.geometry!==F.id||d.program!==q.id||d.wireframe!==le)&&(d.geometry=F.id,d.program=q.id,d.wireframe=le,ne=!0)}W!==null&&n.update(W,t.ELEMENT_ARRAY_BUFFER),(ne||u)&&(u=!1,I(k,$,q,F),W!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.get(W).buffer))}function f(){return s.isWebGL2?t.createVertexArray():r.createVertexArrayOES()}function m(k){return s.isWebGL2?t.bindVertexArray(k):r.bindVertexArrayOES(k)}function _(k){return s.isWebGL2?t.deleteVertexArray(k):r.deleteVertexArrayOES(k)}function g(k,$,q){const F=q.wireframe===!0;let W=a[k.id];W===void 0&&(W={},a[k.id]=W);let ne=W[$.id];ne===void 0&&(ne={},W[$.id]=ne);let le=ne[F];return le===void 0&&(le=b(f()),ne[F]=le),le}function b(k){const $=[],q=[],F=[];for(let W=0;W=0){const Ee=W[Se];let Me=ne[Se];if(Me===void 0&&(Se==="instanceMatrix"&&k.instanceMatrix&&(Me=k.instanceMatrix),Se==="instanceColor"&&k.instanceColor&&(Me=k.instanceColor)),Ee===void 0||Ee.attribute!==Me||Me&&Ee.data!==Me.data)return!0;le++}return d.attributesNum!==le||d.index!==F}function y(k,$,q,F){const W={},ne=$.attributes;let le=0;const me=q.getAttributes();for(const Se in me)if(me[Se].location>=0){let Ee=ne[Se];Ee===void 0&&(Se==="instanceMatrix"&&k.instanceMatrix&&(Ee=k.instanceMatrix),Se==="instanceColor"&&k.instanceColor&&(Ee=k.instanceColor));const Me={};Me.attribute=Ee,Ee&&Ee.data&&(Me.data=Ee.data),W[Se]=Me,le++}d.attributes=W,d.attributesNum=le,d.index=F}function v(){const k=d.newAttributes;for(let $=0,q=k.length;$=0){let de=W[me];if(de===void 0&&(me==="instanceMatrix"&&k.instanceMatrix&&(de=k.instanceMatrix),me==="instanceColor"&&k.instanceColor&&(de=k.instanceColor)),de!==void 0){const Ee=de.normalized,Me=de.itemSize,ke=n.get(de);if(ke===void 0)continue;const Z=ke.buffer,he=ke.type,_e=ke.bytesPerElement,we=s.isWebGL2===!0&&(he===t.INT||he===t.UNSIGNED_INT||de.gpuType===AN);if(de.isInterleavedBufferAttribute){const Pe=de.data,N=Pe.stride,z=de.offset;if(Pe.isInstancedInterleavedBuffer){for(let Y=0;Y0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";A="mediump"}return A==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&t.constructor.name==="WebGL2RenderingContext";let a=n.precision!==void 0?n.precision:"highp";const c=r(a);c!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",c,"instead."),a=c);const d=o||e.has("WEBGL_draw_buffers"),u=n.logarithmicDepthBuffer===!0,h=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),f=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=t.getParameter(t.MAX_TEXTURE_SIZE),_=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),g=t.getParameter(t.MAX_VERTEX_ATTRIBS),b=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),E=t.getParameter(t.MAX_VARYING_VECTORS),y=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,S=o||e.has("OES_texture_float"),R=v&&S,w=o?t.getParameter(t.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:d,getMaxAnisotropy:i,getMaxPrecision:r,precision:a,logarithmicDepthBuffer:u,maxTextures:h,maxVertexTextures:f,maxTextureSize:m,maxCubemapSize:_,maxAttributes:g,maxVertexUniforms:b,maxVaryings:E,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:R,maxSamples:w}}function oMt(t){const e=this;let n=null,s=0,i=!1,r=!1;const o=new Ir,a=new Tt,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(h,f){const m=h.length!==0||f||s!==0||i;return i=f,s=h.length,m},this.beginShadows=function(){r=!0,u(null)},this.endShadows=function(){r=!1},this.setGlobalState=function(h,f){n=u(h,f,0)},this.setState=function(h,f,m){const _=h.clippingPlanes,g=h.clipIntersection,b=h.clipShadows,E=t.get(h);if(!i||_===null||_.length===0||r&&!b)r?u(null):d();else{const y=r?0:s,v=y*4;let S=E.clippingState||null;c.value=S,S=u(_,f,v,m);for(let R=0;R!==v;++R)S[R]=n[R];E.clippingState=S,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=y}};function d(){c.value!==n&&(c.value=n,c.needsUpdate=s>0),e.numPlanes=s,e.numIntersection=0}function u(h,f,m,_){const g=h!==null?h.length:0;let b=null;if(g!==0){if(b=c.value,_!==!0||b===null){const E=m+g*4,y=f.matrixWorldInverse;a.getNormalMatrix(y),(b===null||b.length0){const d=new E2t(c.height/2);return d.fromEquirectangularTexture(t,o),e.set(o,d),o.addEventListener("dispose",i),n(d.texture,o.mapping)}else return null}}return o}function i(o){const a=o.target;a.removeEventListener("dispose",i);const c=e.get(a);c!==void 0&&(e.delete(a),c.dispose())}function r(){e=new WeakMap}return{get:s,dispose:r}}class XE extends WN{constructor(e=-1,n=1,s=1,i=-1,r=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=s,this.bottom=i,this.near=r,this.far=o,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,n,s,i,r,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=s,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),n=(this.top-this.bottom)/(2*this.zoom),s=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=s-e,o=s+e,a=i+n,c=i-n;if(this.view!==null&&this.view.enabled){const d=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=d*this.view.offsetX,o=r+d*this.view.width,a-=u*this.view.offsetY,c=a-u*this.view.height}this.projectionMatrix.makeOrthographic(r,o,a,c,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}}const Bo=4,AC=[.125,.215,.35,.446,.526,.582],Br=20,Km=new XE,NC=new _t;let jm=null,Qm=0,Xm=0;const kr=(1+Math.sqrt(5))/2,ko=1/kr,OC=[new oe(1,1,1),new oe(-1,1,1),new oe(1,1,-1),new oe(-1,1,-1),new oe(0,kr,ko),new oe(0,kr,-ko),new oe(ko,0,kr),new oe(-ko,0,kr),new oe(kr,ko,0),new oe(-kr,ko,0)];class MC{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,n=0,s=.1,i=100){jm=this._renderer.getRenderTarget(),Qm=this._renderer.getActiveCubeFace(),Xm=this._renderer.getActiveMipmapLevel(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(e,s,i,r),n>0&&this._blur(r,0,0,n),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=DC(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=kC(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?v:0,v,v),u.setRenderTarget(i),g&&u.render(_,a),u.render(e,a)}_.geometry.dispose(),_.material.dispose(),u.toneMapping=f,u.autoClear=h,e.background=b}_textureToCubeUV(e,n){const s=this._renderer,i=e.mapping===da||e.mapping===ua;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=DC()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=kC());const r=i?this._cubemapMaterial:this._equirectMaterial,o=new Un(this._lodPlanes[0],r),a=r.uniforms;a.envMap.value=e;const c=this._cubeSize;sd(n,0,0,3*c,2*c),s.setRenderTarget(n),s.render(o,Km)}_applyPMREM(e){const n=this._renderer,s=n.autoClear;n.autoClear=!1;for(let i=1;iBr&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${b} samples when the maximum is set to ${Br}`);const E=[];let y=0;for(let A=0;Av-Bo?i-v+Bo:0),w=4*(this._cubeSize-S);sd(n,R,w,3*S,2*S),c.setRenderTarget(n),c.render(h,Km)}}function lMt(t){const e=[],n=[],s=[];let i=t;const r=t-Bo+1+AC.length;for(let o=0;ot-Bo?c=AC[o-t+Bo-1]:o===0&&(c=0),s.push(c);const d=1/(a-2),u=-d,h=1+d,f=[u,u,h,u,h,h,u,u,h,h,u,h],m=6,_=6,g=3,b=2,E=1,y=new Float32Array(g*_*m),v=new Float32Array(b*_*m),S=new Float32Array(E*_*m);for(let w=0;w2?0:-1,C=[A,I,0,A+2/3,I,0,A+2/3,I+1,0,A,I,0,A+2/3,I+1,0,A,I+1,0];y.set(C,g*_*w),v.set(f,b*_*w);const O=[w,w,w,w,w,w];S.set(O,E*_*w)}const R=new _i;R.setAttribute("position",new Bn(y,g)),R.setAttribute("uv",new Bn(v,b)),R.setAttribute("faceIndex",new Bn(S,E)),e.push(R),i>Bo&&i--}return{lodPlanes:e,sizeLods:n,sigmas:s}}function IC(t,e,n){const s=new io(t,e,n);return s.texture.mapping=ep,s.texture.name="PMREM.cubeUv",s.scissorTest=!0,s}function sd(t,e,n,s,i){t.viewport.set(e,n,s,i),t.scissor.set(e,n,s,i)}function cMt(t,e,n){const s=new Float32Array(Br),i=new oe(0,1,0);return new ro({name:"SphericalGaussianBlur",defines:{n:Br,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:s},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:ZE(),fragmentShader:` +}`,St={alphahash_fragment:O2t,alphahash_pars_fragment:M2t,alphamap_fragment:I2t,alphamap_pars_fragment:k2t,alphatest_fragment:D2t,alphatest_pars_fragment:L2t,aomap_fragment:P2t,aomap_pars_fragment:F2t,batching_pars_vertex:U2t,batching_vertex:B2t,begin_vertex:G2t,beginnormal_vertex:V2t,bsdfs:z2t,iridescence_fragment:H2t,bumpmap_pars_fragment:q2t,clipping_planes_fragment:$2t,clipping_planes_pars_fragment:Y2t,clipping_planes_pars_vertex:W2t,clipping_planes_vertex:K2t,color_fragment:j2t,color_pars_fragment:Q2t,color_pars_vertex:X2t,color_vertex:Z2t,common:J2t,cube_uv_reflection_fragment:eNt,defaultnormal_vertex:tNt,displacementmap_pars_vertex:nNt,displacementmap_vertex:sNt,emissivemap_fragment:iNt,emissivemap_pars_fragment:rNt,colorspace_fragment:oNt,colorspace_pars_fragment:aNt,envmap_fragment:lNt,envmap_common_pars_fragment:cNt,envmap_pars_fragment:dNt,envmap_pars_vertex:uNt,envmap_physical_pars_fragment:TNt,envmap_vertex:pNt,fog_vertex:_Nt,fog_pars_vertex:hNt,fog_fragment:fNt,fog_pars_fragment:mNt,gradientmap_pars_fragment:gNt,lightmap_fragment:bNt,lightmap_pars_fragment:ENt,lights_lambert_fragment:yNt,lights_lambert_pars_fragment:vNt,lights_pars_begin:SNt,lights_toon_fragment:xNt,lights_toon_pars_fragment:CNt,lights_phong_fragment:wNt,lights_phong_pars_fragment:RNt,lights_physical_fragment:ANt,lights_physical_pars_fragment:NNt,lights_fragment_begin:ONt,lights_fragment_maps:MNt,lights_fragment_end:INt,logdepthbuf_fragment:kNt,logdepthbuf_pars_fragment:DNt,logdepthbuf_pars_vertex:LNt,logdepthbuf_vertex:PNt,map_fragment:FNt,map_pars_fragment:UNt,map_particle_fragment:BNt,map_particle_pars_fragment:GNt,metalnessmap_fragment:VNt,metalnessmap_pars_fragment:zNt,morphcolor_vertex:HNt,morphnormal_vertex:qNt,morphtarget_pars_vertex:$Nt,morphtarget_vertex:YNt,normal_fragment_begin:WNt,normal_fragment_maps:KNt,normal_pars_fragment:jNt,normal_pars_vertex:QNt,normal_vertex:XNt,normalmap_pars_fragment:ZNt,clearcoat_normal_fragment_begin:JNt,clearcoat_normal_fragment_maps:eOt,clearcoat_pars_fragment:tOt,iridescence_pars_fragment:nOt,opaque_fragment:sOt,packing:iOt,premultiplied_alpha_fragment:rOt,project_vertex:oOt,dithering_fragment:aOt,dithering_pars_fragment:lOt,roughnessmap_fragment:cOt,roughnessmap_pars_fragment:dOt,shadowmap_pars_fragment:uOt,shadowmap_pars_vertex:pOt,shadowmap_vertex:_Ot,shadowmask_pars_fragment:hOt,skinbase_vertex:fOt,skinning_pars_vertex:mOt,skinning_vertex:gOt,skinnormal_vertex:bOt,specularmap_fragment:EOt,specularmap_pars_fragment:yOt,tonemapping_fragment:vOt,tonemapping_pars_fragment:SOt,transmission_fragment:TOt,transmission_pars_fragment:xOt,uv_pars_fragment:COt,uv_pars_vertex:wOt,uv_vertex:ROt,worldpos_vertex:AOt,background_vert:NOt,background_frag:OOt,backgroundCube_vert:MOt,backgroundCube_frag:IOt,cube_vert:kOt,cube_frag:DOt,depth_vert:LOt,depth_frag:POt,distanceRGBA_vert:FOt,distanceRGBA_frag:UOt,equirect_vert:BOt,equirect_frag:GOt,linedashed_vert:VOt,linedashed_frag:zOt,meshbasic_vert:HOt,meshbasic_frag:qOt,meshlambert_vert:$Ot,meshlambert_frag:YOt,meshmatcap_vert:WOt,meshmatcap_frag:KOt,meshnormal_vert:jOt,meshnormal_frag:QOt,meshphong_vert:XOt,meshphong_frag:ZOt,meshphysical_vert:JOt,meshphysical_frag:eMt,meshtoon_vert:tMt,meshtoon_frag:nMt,points_vert:sMt,points_frag:iMt,shadow_vert:rMt,shadow_frag:oMt,sprite_vert:aMt,sprite_frag:lMt},We={common:{diffuse:{value:new _t(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Tt},alphaMap:{value:null},alphaMapTransform:{value:new Tt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Tt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Tt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Tt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Tt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Tt},normalScale:{value:new At(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Tt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Tt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Tt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Tt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new _t(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new _t(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Tt},alphaTest:{value:0},uvTransform:{value:new Tt}},sprite:{diffuse:{value:new _t(16777215)},opacity:{value:1},center:{value:new At(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Tt},alphaMap:{value:null},alphaMapTransform:{value:new Tt},alphaTest:{value:0}}},Xs={basic:{uniforms:Pn([We.common,We.specularmap,We.envmap,We.aomap,We.lightmap,We.fog]),vertexShader:St.meshbasic_vert,fragmentShader:St.meshbasic_frag},lambert:{uniforms:Pn([We.common,We.specularmap,We.envmap,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.fog,We.lights,{emissive:{value:new _t(0)}}]),vertexShader:St.meshlambert_vert,fragmentShader:St.meshlambert_frag},phong:{uniforms:Pn([We.common,We.specularmap,We.envmap,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.fog,We.lights,{emissive:{value:new _t(0)},specular:{value:new _t(1118481)},shininess:{value:30}}]),vertexShader:St.meshphong_vert,fragmentShader:St.meshphong_frag},standard:{uniforms:Pn([We.common,We.envmap,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.roughnessmap,We.metalnessmap,We.fog,We.lights,{emissive:{value:new _t(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag},toon:{uniforms:Pn([We.common,We.aomap,We.lightmap,We.emissivemap,We.bumpmap,We.normalmap,We.displacementmap,We.gradientmap,We.fog,We.lights,{emissive:{value:new _t(0)}}]),vertexShader:St.meshtoon_vert,fragmentShader:St.meshtoon_frag},matcap:{uniforms:Pn([We.common,We.bumpmap,We.normalmap,We.displacementmap,We.fog,{matcap:{value:null}}]),vertexShader:St.meshmatcap_vert,fragmentShader:St.meshmatcap_frag},points:{uniforms:Pn([We.points,We.fog]),vertexShader:St.points_vert,fragmentShader:St.points_frag},dashed:{uniforms:Pn([We.common,We.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:St.linedashed_vert,fragmentShader:St.linedashed_frag},depth:{uniforms:Pn([We.common,We.displacementmap]),vertexShader:St.depth_vert,fragmentShader:St.depth_frag},normal:{uniforms:Pn([We.common,We.bumpmap,We.normalmap,We.displacementmap,{opacity:{value:1}}]),vertexShader:St.meshnormal_vert,fragmentShader:St.meshnormal_frag},sprite:{uniforms:Pn([We.sprite,We.fog]),vertexShader:St.sprite_vert,fragmentShader:St.sprite_frag},background:{uniforms:{uvTransform:{value:new Tt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:St.background_vert,fragmentShader:St.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:St.backgroundCube_vert,fragmentShader:St.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:St.cube_vert,fragmentShader:St.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:St.equirect_vert,fragmentShader:St.equirect_frag},distanceRGBA:{uniforms:Pn([We.common,We.displacementmap,{referencePosition:{value:new ae},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:St.distanceRGBA_vert,fragmentShader:St.distanceRGBA_frag},shadow:{uniforms:Pn([We.lights,We.fog,{color:{value:new _t(0)},opacity:{value:1}}]),vertexShader:St.shadow_vert,fragmentShader:St.shadow_frag}};Xs.physical={uniforms:Pn([Xs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Tt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Tt},clearcoatNormalScale:{value:new At(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Tt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Tt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Tt},sheen:{value:0},sheenColor:{value:new _t(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Tt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Tt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Tt},transmissionSamplerSize:{value:new At},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Tt},attenuationDistance:{value:0},attenuationColor:{value:new _t(0)},specularColor:{value:new _t(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Tt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Tt},anisotropyVector:{value:new At},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Tt}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag};const nd={r:0,b:0,g:0};function cMt(t,e,n,s,i,r,o){const a=new _t(0);let c=r===!0?0:1,d,u,h=null,f=0,m=null;function _(b,E){let y=!1,v=E.isScene===!0?E.background:null;v&&v.isTexture&&(v=(E.backgroundBlurriness>0?n:e).get(v)),v===null?g(a,c):v&&v.isColor&&(g(v,1),y=!0);const S=t.xr.getEnvironmentBlendMode();S==="additive"?s.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&s.buffers.color.setClear(0,0,0,0,o),(t.autoClear||y)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),v&&(v.isCubeTexture||v.mapping===ep)?(u===void 0&&(u=new Un(new hr(1,1,1),new ro({name:"BackgroundCubeMaterial",uniforms:ma(Xs.backgroundCube.uniforms),vertexShader:Xs.backgroundCube.vertexShader,fragmentShader:Xs.backgroundCube.fragmentShader,side:$n,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(R,w,A){this.matrixWorld.copyPosition(A.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(u)),u.material.uniforms.envMap.value=v,u.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=E.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=E.backgroundIntensity,u.material.toneMapped=Ft.getTransfer(v.colorSpace)!==Kt,(h!==v||f!==v.version||m!==t.toneMapping)&&(u.material.needsUpdate=!0,h=v,f=v.version,m=t.toneMapping),u.layers.enableAll(),b.unshift(u,u.geometry,u.material,0,0,null)):v&&v.isTexture&&(d===void 0&&(d=new Un(new QE(2,2),new ro({name:"BackgroundMaterial",uniforms:ma(Xs.background.uniforms),vertexShader:Xs.background.vertexShader,fragmentShader:Xs.background.fragmentShader,side:Li,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(d)),d.material.uniforms.t2D.value=v,d.material.uniforms.backgroundIntensity.value=E.backgroundIntensity,d.material.toneMapped=Ft.getTransfer(v.colorSpace)!==Kt,v.matrixAutoUpdate===!0&&v.updateMatrix(),d.material.uniforms.uvTransform.value.copy(v.matrix),(h!==v||f!==v.version||m!==t.toneMapping)&&(d.material.needsUpdate=!0,h=v,f=v.version,m=t.toneMapping),d.layers.enableAll(),b.unshift(d,d.geometry,d.material,0,0,null))}function g(b,E){b.getRGB(nd,YN(t)),s.buffers.color.setClear(nd.r,nd.g,nd.b,E,o)}return{getClearColor:function(){return a},setClearColor:function(b,E=1){a.set(b),c=E,g(a,c)},getClearAlpha:function(){return c},setClearAlpha:function(b){c=b,g(a,c)},render:_}}function dMt(t,e,n,s){const i=t.getParameter(t.MAX_VERTEX_ATTRIBS),r=s.isWebGL2?null:e.get("OES_vertex_array_object"),o=s.isWebGL2||r!==null,a={},c=b(null);let d=c,u=!1;function h(k,$,q,F,W){let ne=!1;if(o){const le=g(F,q,$);d!==le&&(d=le,m(d.object)),ne=E(k,F,q,W),ne&&y(k,F,q,W)}else{const le=$.wireframe===!0;(d.geometry!==F.id||d.program!==q.id||d.wireframe!==le)&&(d.geometry=F.id,d.program=q.id,d.wireframe=le,ne=!0)}W!==null&&n.update(W,t.ELEMENT_ARRAY_BUFFER),(ne||u)&&(u=!1,I(k,$,q,F),W!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.get(W).buffer))}function f(){return s.isWebGL2?t.createVertexArray():r.createVertexArrayOES()}function m(k){return s.isWebGL2?t.bindVertexArray(k):r.bindVertexArrayOES(k)}function _(k){return s.isWebGL2?t.deleteVertexArray(k):r.deleteVertexArrayOES(k)}function g(k,$,q){const F=q.wireframe===!0;let W=a[k.id];W===void 0&&(W={},a[k.id]=W);let ne=W[$.id];ne===void 0&&(ne={},W[$.id]=ne);let le=ne[F];return le===void 0&&(le=b(f()),ne[F]=le),le}function b(k){const $=[],q=[],F=[];for(let W=0;W=0){const Ee=W[Se];let Me=ne[Se];if(Me===void 0&&(Se==="instanceMatrix"&&k.instanceMatrix&&(Me=k.instanceMatrix),Se==="instanceColor"&&k.instanceColor&&(Me=k.instanceColor)),Ee===void 0||Ee.attribute!==Me||Me&&Ee.data!==Me.data)return!0;le++}return d.attributesNum!==le||d.index!==F}function y(k,$,q,F){const W={},ne=$.attributes;let le=0;const me=q.getAttributes();for(const Se in me)if(me[Se].location>=0){let Ee=ne[Se];Ee===void 0&&(Se==="instanceMatrix"&&k.instanceMatrix&&(Ee=k.instanceMatrix),Se==="instanceColor"&&k.instanceColor&&(Ee=k.instanceColor));const Me={};Me.attribute=Ee,Ee&&Ee.data&&(Me.data=Ee.data),W[Se]=Me,le++}d.attributes=W,d.attributesNum=le,d.index=F}function v(){const k=d.newAttributes;for(let $=0,q=k.length;$=0){let de=W[me];if(de===void 0&&(me==="instanceMatrix"&&k.instanceMatrix&&(de=k.instanceMatrix),me==="instanceColor"&&k.instanceColor&&(de=k.instanceColor)),de!==void 0){const Ee=de.normalized,Me=de.itemSize,ke=n.get(de);if(ke===void 0)continue;const Z=ke.buffer,he=ke.type,_e=ke.bytesPerElement,we=s.isWebGL2===!0&&(he===t.INT||he===t.UNSIGNED_INT||de.gpuType===AN);if(de.isInterleavedBufferAttribute){const Pe=de.data,N=Pe.stride,z=de.offset;if(Pe.isInstancedInterleavedBuffer){for(let Y=0;Y0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";A="mediump"}return A==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&t.constructor.name==="WebGL2RenderingContext";let a=n.precision!==void 0?n.precision:"highp";const c=r(a);c!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",c,"instead."),a=c);const d=o||e.has("WEBGL_draw_buffers"),u=n.logarithmicDepthBuffer===!0,h=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),f=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=t.getParameter(t.MAX_TEXTURE_SIZE),_=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),g=t.getParameter(t.MAX_VERTEX_ATTRIBS),b=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),E=t.getParameter(t.MAX_VARYING_VECTORS),y=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,S=o||e.has("OES_texture_float"),R=v&&S,w=o?t.getParameter(t.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:d,getMaxAnisotropy:i,getMaxPrecision:r,precision:a,logarithmicDepthBuffer:u,maxTextures:h,maxVertexTextures:f,maxTextureSize:m,maxCubemapSize:_,maxAttributes:g,maxVertexUniforms:b,maxVaryings:E,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:R,maxSamples:w}}function _Mt(t){const e=this;let n=null,s=0,i=!1,r=!1;const o=new Ir,a=new Tt,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(h,f){const m=h.length!==0||f||s!==0||i;return i=f,s=h.length,m},this.beginShadows=function(){r=!0,u(null)},this.endShadows=function(){r=!1},this.setGlobalState=function(h,f){n=u(h,f,0)},this.setState=function(h,f,m){const _=h.clippingPlanes,g=h.clipIntersection,b=h.clipShadows,E=t.get(h);if(!i||_===null||_.length===0||r&&!b)r?u(null):d();else{const y=r?0:s,v=y*4;let S=E.clippingState||null;c.value=S,S=u(_,f,v,m);for(let R=0;R!==v;++R)S[R]=n[R];E.clippingState=S,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=y}};function d(){c.value!==n&&(c.value=n,c.needsUpdate=s>0),e.numPlanes=s,e.numIntersection=0}function u(h,f,m,_){const g=h!==null?h.length:0;let b=null;if(g!==0){if(b=c.value,_!==!0||b===null){const E=m+g*4,y=f.matrixWorldInverse;a.getNormalMatrix(y),(b===null||b.length0){const d=new w2t(c.height/2);return d.fromEquirectangularTexture(t,o),e.set(o,d),o.addEventListener("dispose",i),n(d.texture,o.mapping)}else return null}}return o}function i(o){const a=o.target;a.removeEventListener("dispose",i);const c=e.get(a);c!==void 0&&(e.delete(a),c.dispose())}function r(){e=new WeakMap}return{get:s,dispose:r}}class XE extends WN{constructor(e=-1,n=1,s=1,i=-1,r=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=s,this.bottom=i,this.near=r,this.far=o,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,n,s,i,r,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=s,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),n=(this.top-this.bottom)/(2*this.zoom),s=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=s-e,o=s+e,a=i+n,c=i-n;if(this.view!==null&&this.view.enabled){const d=(this.right-this.left)/this.view.fullWidth/this.zoom,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=d*this.view.offsetX,o=r+d*this.view.width,a-=u*this.view.offsetY,c=a-u*this.view.height}this.projectionMatrix.makeOrthographic(r,o,a,c,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}}const Bo=4,AC=[.125,.215,.35,.446,.526,.582],Br=20,Km=new XE,NC=new _t;let jm=null,Qm=0,Xm=0;const kr=(1+Math.sqrt(5))/2,ko=1/kr,OC=[new ae(1,1,1),new ae(-1,1,1),new ae(1,1,-1),new ae(-1,1,-1),new ae(0,kr,ko),new ae(0,kr,-ko),new ae(ko,0,kr),new ae(-ko,0,kr),new ae(kr,ko,0),new ae(-kr,ko,0)];class MC{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,n=0,s=.1,i=100){jm=this._renderer.getRenderTarget(),Qm=this._renderer.getActiveCubeFace(),Xm=this._renderer.getActiveMipmapLevel(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(e,s,i,r),n>0&&this._blur(r,0,0,n),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=DC(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=kC(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?v:0,v,v),u.setRenderTarget(i),g&&u.render(_,a),u.render(e,a)}_.geometry.dispose(),_.material.dispose(),u.toneMapping=f,u.autoClear=h,e.background=b}_textureToCubeUV(e,n){const s=this._renderer,i=e.mapping===da||e.mapping===ua;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=DC()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=kC());const r=i?this._cubemapMaterial:this._equirectMaterial,o=new Un(this._lodPlanes[0],r),a=r.uniforms;a.envMap.value=e;const c=this._cubeSize;sd(n,0,0,3*c,2*c),s.setRenderTarget(n),s.render(o,Km)}_applyPMREM(e){const n=this._renderer,s=n.autoClear;n.autoClear=!1;for(let i=1;iBr&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${b} samples when the maximum is set to ${Br}`);const E=[];let y=0;for(let A=0;Av-Bo?i-v+Bo:0),w=4*(this._cubeSize-S);sd(n,R,w,3*S,2*S),c.setRenderTarget(n),c.render(h,Km)}}function fMt(t){const e=[],n=[],s=[];let i=t;const r=t-Bo+1+AC.length;for(let o=0;ot-Bo?c=AC[o-t+Bo-1]:o===0&&(c=0),s.push(c);const d=1/(a-2),u=-d,h=1+d,f=[u,u,h,u,h,h,u,u,h,h,u,h],m=6,_=6,g=3,b=2,E=1,y=new Float32Array(g*_*m),v=new Float32Array(b*_*m),S=new Float32Array(E*_*m);for(let w=0;w2?0:-1,C=[A,I,0,A+2/3,I,0,A+2/3,I+1,0,A,I,0,A+2/3,I+1,0,A,I+1,0];y.set(C,g*_*w),v.set(f,b*_*w);const O=[w,w,w,w,w,w];S.set(O,E*_*w)}const R=new _i;R.setAttribute("position",new Bn(y,g)),R.setAttribute("uv",new Bn(v,b)),R.setAttribute("faceIndex",new Bn(S,E)),e.push(R),i>Bo&&i--}return{lodPlanes:e,sizeLods:n,sigmas:s}}function IC(t,e,n){const s=new io(t,e,n);return s.texture.mapping=ep,s.texture.name="PMREM.cubeUv",s.scissorTest=!0,s}function sd(t,e,n,s,i){t.viewport.set(e,n,s,i),t.scissor.set(e,n,s,i)}function mMt(t,e,n){const s=new Float32Array(Br),i=new ae(0,1,0);return new ro({name:"SphericalGaussianBlur",defines:{n:Br,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:s},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:ZE(),fragmentShader:` precision mediump float; precision mediump int; @@ -3914,26 +3914,26 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function dMt(t){let e=new WeakMap,n=null;function s(a){if(a&&a.isTexture){const c=a.mapping,d=c===Xg||c===Zg,u=c===da||c===ua;if(d||u)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let h=e.get(a);return n===null&&(n=new MC(t)),h=d?n.fromEquirectangular(a,h):n.fromCubemap(a,h),e.set(a,h),h.texture}else{if(e.has(a))return e.get(a).texture;{const h=a.image;if(d&&h&&h.height>0||u&&h&&i(h)){n===null&&(n=new MC(t));const f=d?n.fromEquirectangular(a):n.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",r),f.texture}else return null}}}return a}function i(a){let c=0;const d=6;for(let u=0;ue.maxTextureSize&&(B=Math.ceil(O/e.maxTextureSize),O=e.maxTextureSize);const H=new Float32Array(O*B*4*g),te=new VN(H,O,B,g);te.type=Ai,te.needsUpdate=!0;const k=C*4;for(let q=0;q0)return t;const i=e*n;let r=LC[i];if(r===void 0&&(r=new Float32Array(i),LC[i]=r),e!==0){s.toArray(r,0);for(let o=1,a=0;o!==e;++o)a+=n,t[o].toArray(r,a)}return r}function _n(t,e){if(t.length!==e.length)return!1;for(let n=0,s=t.length;n0||u&&h&&i(h)){n===null&&(n=new MC(t));const f=d?n.fromEquirectangular(a):n.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",r),f.texture}else return null}}}return a}function i(a){let c=0;const d=6;for(let u=0;ue.maxTextureSize&&(B=Math.ceil(O/e.maxTextureSize),O=e.maxTextureSize);const H=new Float32Array(O*B*4*g),te=new VN(H,O,B,g);te.type=Ai,te.needsUpdate=!0;const k=C*4;for(let q=0;q0)return t;const i=e*n;let r=LC[i];if(r===void 0&&(r=new Float32Array(i),LC[i]=r),e!==0){s.toArray(r,0);for(let o=1,a=0;o!==e;++o)a+=n,t[o].toArray(r,a)}return r}function _n(t,e){if(t.length!==e.length)return!1;for(let n=0,s=t.length;n":" "} ${a}: ${n[o]}`)}return s.join(` -`)}function pIt(t){const e=Ft.getPrimaries(Ft.workingColorSpace),n=Ft.getPrimaries(t);let s;switch(e===n?s="":e===ou&&n===ru?s="LinearDisplayP3ToLinearSRGB":e===ru&&n===ou&&(s="LinearSRGBToLinearDisplayP3"),t){case wn:case tp:return[s,"LinearTransferOETF"];case tn:case WE:return[s,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[s,"LinearTransferOETF"]}}function zC(t,e,n){const s=t.getShaderParameter(e,t.COMPILE_STATUS),i=t.getShaderInfoLog(e).trim();if(s&&i==="")return"";const r=/ERROR: 0:(\d+)/.exec(i);if(r){const o=parseInt(r[1]);return n.toUpperCase()+` +`)}function EIt(t){const e=Ft.getPrimaries(Ft.workingColorSpace),n=Ft.getPrimaries(t);let s;switch(e===n?s="":e===ou&&n===ru?s="LinearDisplayP3ToLinearSRGB":e===ru&&n===ou&&(s="LinearSRGBToLinearDisplayP3"),t){case wn:case tp:return[s,"LinearTransferOETF"];case tn:case WE:return[s,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[s,"LinearTransferOETF"]}}function zC(t,e,n){const s=t.getShaderParameter(e,t.COMPILE_STATUS),i=t.getShaderInfoLog(e).trim();if(s&&i==="")return"";const r=/ERROR: 0:(\d+)/.exec(i);if(r){const o=parseInt(r[1]);return n.toUpperCase()+` `+i+` -`+uIt(t.getShaderSource(e),o)}else return i}function _It(t,e){const n=pIt(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function hIt(t,e){let n;switch(e){case dAt:n="Linear";break;case uAt:n="Reinhard";break;case pAt:n="OptimizedCineon";break;case _At:n="ACESFilmic";break;case hAt:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function fIt(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.normalMapTangentSpace||t.clearcoatNormalMap||t.flatShading||t.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(pl).join(` -`)}function mIt(t){const e=[];for(const n in t){const s=t[n];s!==!1&&e.push("#define "+n+" "+s)}return e.join(` -`)}function gIt(t,e){const n={},s=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function ib(t){return t.replace(bIt,yIt)}const EIt=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function yIt(t,e){let n=St[e];if(n===void 0){const s=EIt.get(e);if(s!==void 0)n=St[s],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,s);else throw new Error("Can not resolve #include <"+e+">")}return ib(n)}const vIt=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function $C(t){return t.replace(vIt,SIt)}function SIt(t,e,n,s){let i="";for(let r=parseInt(e);r/gm;function ib(t){return t.replace(CIt,RIt)}const wIt=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function RIt(t,e){let n=St[e];if(n===void 0){const s=wIt.get(e);if(s!==void 0)n=St[s],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,s);else throw new Error("Can not resolve #include <"+e+">")}return ib(n)}const AIt=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function $C(t){return t.replace(AIt,NIt)}function NIt(t,e,n,s){let i="";for(let r=parseInt(e);r0&&(b+=` `),E=[m,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,_].filter(pl).join(` `),E.length>0&&(E+=` `)):(b=[YC(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,_,n.batching?"#define USE_BATCHING":"",n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+u:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&n.flatShading===!1?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+c:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` `].filter(pl).join(` -`),E=[m,YC(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,_,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+u:"",n.envMap?"#define "+h:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+c:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==pr?"#define TONE_MAPPING":"",n.toneMapping!==pr?St.tonemapping_pars_fragment:"",n.toneMapping!==pr?hIt("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",St.colorspace_pars_fragment,_It("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` +`),E=[m,YC(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,_,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+u:"",n.envMap?"#define "+h:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+c:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==pr?"#define TONE_MAPPING":"",n.toneMapping!==pr?St.tonemapping_pars_fragment:"",n.toneMapping!==pr?vIt("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",St.colorspace_pars_fragment,yIt("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` `].filter(pl).join(` `)),o=ib(o),o=HC(o,n),o=qC(o,n),a=ib(a),a=HC(a,n),a=qC(a,n),o=$C(o),a=$C(a),n.isWebGL2&&n.isRawShaderMaterial!==!0&&(y=`#version 300 es `,b=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` @@ -3944,9 +3944,9 @@ precision `+t.precision+" int;";return t.precision==="highp"?e+=` Program Info Log: `+H+` `+F+` -`+W)}else H!==""?console.warn("THREE.WebGLProgram: Program Info Log:",H):(te===""||k==="")&&(q=!1);q&&(B.diagnostics={runnable:$,programLog:H,vertexShader:{log:te,prefix:b},fragmentShader:{log:k,prefix:E}})}i.deleteShader(R),i.deleteShader(w),I=new Rd(i,g),C=gIt(i,g)}let I;this.getUniforms=function(){return I===void 0&&A(this),I};let C;this.getAttributes=function(){return C===void 0&&A(this),C};let O=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return O===!1&&(O=i.getProgramParameter(g,cIt)),O},this.destroy=function(){s.releaseStatesOfProgram(this),i.deleteProgram(g),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=dIt++,this.cacheKey=e,this.usedTimes=1,this.program=g,this.vertexShader=R,this.fragmentShader=w,this}let NIt=0;class OIt{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,s=e.fragmentShader,i=this._getShaderStage(n),r=this._getShaderStage(s),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(r)===!1&&(o.add(r),r.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const s of n)s.usedTimes--,s.usedTimes===0&&this.shaderCache.delete(s.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const n=this.materialCache;let s=n.get(e);return s===void 0&&(s=new Set,n.set(e,s)),s}_getShaderStage(e){const n=this.shaderCache;let s=n.get(e);return s===void 0&&(s=new MIt(e),n.set(e,s)),s}}class MIt{constructor(e){this.id=NIt++,this.code=e,this.usedTimes=0}}function IIt(t,e,n,s,i,r,o){const a=new zN,c=new OIt,d=[],u=i.isWebGL2,h=i.logarithmicDepthBuffer,f=i.vertexTextures;let m=i.precision;const _={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function g(C){return C===0?"uv":`uv${C}`}function b(C,O,B,H,te){const k=H.fog,$=te.geometry,q=C.isMeshStandardMaterial?H.environment:null,F=(C.isMeshStandardMaterial?n:e).get(C.envMap||q),W=F&&F.mapping===ep?F.image.height:null,ne=_[C.type];C.precision!==null&&(m=i.getMaxPrecision(C.precision),m!==C.precision&&console.warn("THREE.WebGLProgram.getParameters:",C.precision,"not supported, using",m,"instead."));const le=$.morphAttributes.position||$.morphAttributes.normal||$.morphAttributes.color,me=le!==void 0?le.length:0;let Se=0;$.morphAttributes.position!==void 0&&(Se=1),$.morphAttributes.normal!==void 0&&(Se=2),$.morphAttributes.color!==void 0&&(Se=3);let de,Ee,Me,ke;if(ne){const En=Xs[ne];de=En.vertexShader,Ee=En.fragmentShader}else de=C.vertexShader,Ee=C.fragmentShader,c.update(C),Me=c.getVertexShaderID(C),ke=c.getFragmentShaderID(C);const Z=t.getRenderTarget(),he=te.isInstancedMesh===!0,_e=te.isBatchedMesh===!0,we=!!C.map,Pe=!!C.matcap,N=!!F,z=!!C.aoMap,Y=!!C.lightMap,ce=!!C.bumpMap,re=!!C.normalMap,xe=!!C.displacementMap,Ne=!!C.emissiveMap,ie=!!C.metalnessMap,Re=!!C.roughnessMap,ge=C.anisotropy>0,De=C.clearcoat>0,L=C.iridescence>0,M=C.sheen>0,Q=C.transmission>0,ye=ge&&!!C.anisotropyMap,X=De&&!!C.clearcoatMap,se=De&&!!C.clearcoatNormalMap,Ae=De&&!!C.clearcoatRoughnessMap,Ce=L&&!!C.iridescenceMap,Ue=L&&!!C.iridescenceThicknessMap,Ze=M&&!!C.sheenColorMap,ft=M&&!!C.sheenRoughnessMap,Be=!!C.specularMap,pt=!!C.specularColorMap,st=!!C.specularIntensityMap,Ye=Q&&!!C.transmissionMap,nt=Q&&!!C.thicknessMap,je=!!C.gradientMap,yt=!!C.alphaMap,ee=C.alphaTest>0,Qe=!!C.alphaHash,Ve=!!C.extensions,Oe=!!$.attributes.uv1,He=!!$.attributes.uv2,lt=!!$.attributes.uv3;let Nt=pr;return C.toneMapped&&(Z===null||Z.isXRRenderTarget===!0)&&(Nt=t.toneMapping),{isWebGL2:u,shaderID:ne,shaderType:C.type,shaderName:C.name,vertexShader:de,fragmentShader:Ee,defines:C.defines,customVertexShaderID:Me,customFragmentShaderID:ke,isRawShaderMaterial:C.isRawShaderMaterial===!0,glslVersion:C.glslVersion,precision:m,batching:_e,instancing:he,instancingColor:he&&te.instanceColor!==null,supportsVertexTextures:f,outputColorSpace:Z===null?t.outputColorSpace:Z.isXRRenderTarget===!0?Z.texture.colorSpace:wn,map:we,matcap:Pe,envMap:N,envMapMode:N&&F.mapping,envMapCubeUVHeight:W,aoMap:z,lightMap:Y,bumpMap:ce,normalMap:re,displacementMap:f&&xe,emissiveMap:Ne,normalMapObjectSpace:re&&C.normalMapType===AAt,normalMapTangentSpace:re&&C.normalMapType===YE,metalnessMap:ie,roughnessMap:Re,anisotropy:ge,anisotropyMap:ye,clearcoat:De,clearcoatMap:X,clearcoatNormalMap:se,clearcoatRoughnessMap:Ae,iridescence:L,iridescenceMap:Ce,iridescenceThicknessMap:Ue,sheen:M,sheenColorMap:Ze,sheenRoughnessMap:ft,specularMap:Be,specularColorMap:pt,specularIntensityMap:st,transmission:Q,transmissionMap:Ye,thicknessMap:nt,gradientMap:je,opaque:C.transparent===!1&&C.blending===jo,alphaMap:yt,alphaTest:ee,alphaHash:Qe,combine:C.combine,mapUv:we&&g(C.map.channel),aoMapUv:z&&g(C.aoMap.channel),lightMapUv:Y&&g(C.lightMap.channel),bumpMapUv:ce&&g(C.bumpMap.channel),normalMapUv:re&&g(C.normalMap.channel),displacementMapUv:xe&&g(C.displacementMap.channel),emissiveMapUv:Ne&&g(C.emissiveMap.channel),metalnessMapUv:ie&&g(C.metalnessMap.channel),roughnessMapUv:Re&&g(C.roughnessMap.channel),anisotropyMapUv:ye&&g(C.anisotropyMap.channel),clearcoatMapUv:X&&g(C.clearcoatMap.channel),clearcoatNormalMapUv:se&&g(C.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Ae&&g(C.clearcoatRoughnessMap.channel),iridescenceMapUv:Ce&&g(C.iridescenceMap.channel),iridescenceThicknessMapUv:Ue&&g(C.iridescenceThicknessMap.channel),sheenColorMapUv:Ze&&g(C.sheenColorMap.channel),sheenRoughnessMapUv:ft&&g(C.sheenRoughnessMap.channel),specularMapUv:Be&&g(C.specularMap.channel),specularColorMapUv:pt&&g(C.specularColorMap.channel),specularIntensityMapUv:st&&g(C.specularIntensityMap.channel),transmissionMapUv:Ye&&g(C.transmissionMap.channel),thicknessMapUv:nt&&g(C.thicknessMap.channel),alphaMapUv:yt&&g(C.alphaMap.channel),vertexTangents:!!$.attributes.tangent&&(re||ge),vertexColors:C.vertexColors,vertexAlphas:C.vertexColors===!0&&!!$.attributes.color&&$.attributes.color.itemSize===4,vertexUv1s:Oe,vertexUv2s:He,vertexUv3s:lt,pointsUvs:te.isPoints===!0&&!!$.attributes.uv&&(we||yt),fog:!!k,useFog:C.fog===!0,fogExp2:k&&k.isFogExp2,flatShading:C.flatShading===!0,sizeAttenuation:C.sizeAttenuation===!0,logarithmicDepthBuffer:h,skinning:te.isSkinnedMesh===!0,morphTargets:$.morphAttributes.position!==void 0,morphNormals:$.morphAttributes.normal!==void 0,morphColors:$.morphAttributes.color!==void 0,morphTargetsCount:me,morphTextureStride:Se,numDirLights:O.directional.length,numPointLights:O.point.length,numSpotLights:O.spot.length,numSpotLightMaps:O.spotLightMap.length,numRectAreaLights:O.rectArea.length,numHemiLights:O.hemi.length,numDirLightShadows:O.directionalShadowMap.length,numPointLightShadows:O.pointShadowMap.length,numSpotLightShadows:O.spotShadowMap.length,numSpotLightShadowsWithMaps:O.numSpotLightShadowsWithMaps,numLightProbes:O.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:C.dithering,shadowMapEnabled:t.shadowMap.enabled&&B.length>0,shadowMapType:t.shadowMap.type,toneMapping:Nt,useLegacyLights:t._useLegacyLights,decodeVideoTexture:we&&C.map.isVideoTexture===!0&&Ft.getTransfer(C.map.colorSpace)===Kt,premultipliedAlpha:C.premultipliedAlpha,doubleSided:C.side===Js,flipSided:C.side===$n,useDepthPacking:C.depthPacking>=0,depthPacking:C.depthPacking||0,index0AttributeName:C.index0AttributeName,extensionDerivatives:Ve&&C.extensions.derivatives===!0,extensionFragDepth:Ve&&C.extensions.fragDepth===!0,extensionDrawBuffers:Ve&&C.extensions.drawBuffers===!0,extensionShaderTextureLOD:Ve&&C.extensions.shaderTextureLOD===!0,rendererExtensionFragDepth:u||s.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||s.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||s.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:s.has("KHR_parallel_shader_compile"),customProgramCacheKey:C.customProgramCacheKey()}}function E(C){const O=[];if(C.shaderID?O.push(C.shaderID):(O.push(C.customVertexShaderID),O.push(C.customFragmentShaderID)),C.defines!==void 0)for(const B in C.defines)O.push(B),O.push(C.defines[B]);return C.isRawShaderMaterial===!1&&(y(O,C),v(O,C),O.push(t.outputColorSpace)),O.push(C.customProgramCacheKey),O.join()}function y(C,O){C.push(O.precision),C.push(O.outputColorSpace),C.push(O.envMapMode),C.push(O.envMapCubeUVHeight),C.push(O.mapUv),C.push(O.alphaMapUv),C.push(O.lightMapUv),C.push(O.aoMapUv),C.push(O.bumpMapUv),C.push(O.normalMapUv),C.push(O.displacementMapUv),C.push(O.emissiveMapUv),C.push(O.metalnessMapUv),C.push(O.roughnessMapUv),C.push(O.anisotropyMapUv),C.push(O.clearcoatMapUv),C.push(O.clearcoatNormalMapUv),C.push(O.clearcoatRoughnessMapUv),C.push(O.iridescenceMapUv),C.push(O.iridescenceThicknessMapUv),C.push(O.sheenColorMapUv),C.push(O.sheenRoughnessMapUv),C.push(O.specularMapUv),C.push(O.specularColorMapUv),C.push(O.specularIntensityMapUv),C.push(O.transmissionMapUv),C.push(O.thicknessMapUv),C.push(O.combine),C.push(O.fogExp2),C.push(O.sizeAttenuation),C.push(O.morphTargetsCount),C.push(O.morphAttributeCount),C.push(O.numDirLights),C.push(O.numPointLights),C.push(O.numSpotLights),C.push(O.numSpotLightMaps),C.push(O.numHemiLights),C.push(O.numRectAreaLights),C.push(O.numDirLightShadows),C.push(O.numPointLightShadows),C.push(O.numSpotLightShadows),C.push(O.numSpotLightShadowsWithMaps),C.push(O.numLightProbes),C.push(O.shadowMapType),C.push(O.toneMapping),C.push(O.numClippingPlanes),C.push(O.numClipIntersection),C.push(O.depthPacking)}function v(C,O){a.disableAll(),O.isWebGL2&&a.enable(0),O.supportsVertexTextures&&a.enable(1),O.instancing&&a.enable(2),O.instancingColor&&a.enable(3),O.matcap&&a.enable(4),O.envMap&&a.enable(5),O.normalMapObjectSpace&&a.enable(6),O.normalMapTangentSpace&&a.enable(7),O.clearcoat&&a.enable(8),O.iridescence&&a.enable(9),O.alphaTest&&a.enable(10),O.vertexColors&&a.enable(11),O.vertexAlphas&&a.enable(12),O.vertexUv1s&&a.enable(13),O.vertexUv2s&&a.enable(14),O.vertexUv3s&&a.enable(15),O.vertexTangents&&a.enable(16),O.anisotropy&&a.enable(17),O.alphaHash&&a.enable(18),O.batching&&a.enable(19),C.push(a.mask),a.disableAll(),O.fog&&a.enable(0),O.useFog&&a.enable(1),O.flatShading&&a.enable(2),O.logarithmicDepthBuffer&&a.enable(3),O.skinning&&a.enable(4),O.morphTargets&&a.enable(5),O.morphNormals&&a.enable(6),O.morphColors&&a.enable(7),O.premultipliedAlpha&&a.enable(8),O.shadowMapEnabled&&a.enable(9),O.useLegacyLights&&a.enable(10),O.doubleSided&&a.enable(11),O.flipSided&&a.enable(12),O.useDepthPacking&&a.enable(13),O.dithering&&a.enable(14),O.transmission&&a.enable(15),O.sheen&&a.enable(16),O.opaque&&a.enable(17),O.pointsUvs&&a.enable(18),O.decodeVideoTexture&&a.enable(19),C.push(a.mask)}function S(C){const O=_[C.type];let B;if(O){const H=Xs[O];B=f2t.clone(H.uniforms)}else B=C.uniforms;return B}function R(C,O){let B;for(let H=0,te=d.length;H0?s.push(E):m.transparent===!0?i.push(E):n.push(E)}function c(h,f,m,_,g,b){const E=o(h,f,m,_,g,b);m.transmission>0?s.unshift(E):m.transparent===!0?i.unshift(E):n.unshift(E)}function d(h,f){n.length>1&&n.sort(h||DIt),s.length>1&&s.sort(f||WC),i.length>1&&i.sort(f||WC)}function u(){for(let h=e,f=t.length;h=r.length?(o=new KC,r.push(o)):o=r[i],o}function n(){t=new WeakMap}return{get:e,dispose:n}}function PIt(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new oe,color:new _t};break;case"SpotLight":n={position:new oe,direction:new oe,color:new _t,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new oe,color:new _t,distance:0,decay:0};break;case"HemisphereLight":n={direction:new oe,skyColor:new _t,groundColor:new _t};break;case"RectAreaLight":n={color:new _t,position:new oe,halfWidth:new oe,halfHeight:new oe};break}return t[e.id]=n,n}}}function FIt(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new At};break;case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new At};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new At,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let UIt=0;function BIt(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function GIt(t,e){const n=new PIt,s=FIt(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new oe);const r=new oe,o=new xt,a=new xt;function c(u,h){let f=0,m=0,_=0;for(let H=0;H<9;H++)i.probe[H].set(0,0,0);let g=0,b=0,E=0,y=0,v=0,S=0,R=0,w=0,A=0,I=0,C=0;u.sort(BIt);const O=h===!0?Math.PI:1;for(let H=0,te=u.length;H0&&(e.isWebGL2||t.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=We.LTC_FLOAT_1,i.rectAreaLTC2=We.LTC_FLOAT_2):t.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=We.LTC_HALF_1,i.rectAreaLTC2=We.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=f,i.ambient[1]=m,i.ambient[2]=_;const B=i.hash;(B.directionalLength!==g||B.pointLength!==b||B.spotLength!==E||B.rectAreaLength!==y||B.hemiLength!==v||B.numDirectionalShadows!==S||B.numPointShadows!==R||B.numSpotShadows!==w||B.numSpotMaps!==A||B.numLightProbes!==C)&&(i.directional.length=g,i.spot.length=E,i.rectArea.length=y,i.point.length=b,i.hemi.length=v,i.directionalShadow.length=S,i.directionalShadowMap.length=S,i.pointShadow.length=R,i.pointShadowMap.length=R,i.spotShadow.length=w,i.spotShadowMap.length=w,i.directionalShadowMatrix.length=S,i.pointShadowMatrix.length=R,i.spotLightMatrix.length=w+A-I,i.spotLightMap.length=A,i.numSpotLightShadowsWithMaps=I,i.numLightProbes=C,B.directionalLength=g,B.pointLength=b,B.spotLength=E,B.rectAreaLength=y,B.hemiLength=v,B.numDirectionalShadows=S,B.numPointShadows=R,B.numSpotShadows=w,B.numSpotMaps=A,B.numLightProbes=C,i.version=UIt++)}function d(u,h){let f=0,m=0,_=0,g=0,b=0;const E=h.matrixWorldInverse;for(let y=0,v=u.length;y=a.length?(c=new jC(t,e),a.push(c)):c=a[o],c}function i(){n=new WeakMap}return{get:s,dispose:i}}class zIt extends Vs{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=wAt,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class HIt extends Vs{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const qIt=`void main() { +`+W)}else H!==""?console.warn("THREE.WebGLProgram: Program Info Log:",H):(te===""||k==="")&&(q=!1);q&&(B.diagnostics={runnable:$,programLog:H,vertexShader:{log:te,prefix:b},fragmentShader:{log:k,prefix:E}})}i.deleteShader(R),i.deleteShader(w),I=new Rd(i,g),C=xIt(i,g)}let I;this.getUniforms=function(){return I===void 0&&A(this),I};let C;this.getAttributes=function(){return C===void 0&&A(this),C};let O=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return O===!1&&(O=i.getProgramParameter(g,mIt)),O},this.destroy=function(){s.releaseStatesOfProgram(this),i.deleteProgram(g),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=gIt++,this.cacheKey=e,this.usedTimes=1,this.program=g,this.vertexShader=R,this.fragmentShader=w,this}let PIt=0;class FIt{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,s=e.fragmentShader,i=this._getShaderStage(n),r=this._getShaderStage(s),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(r)===!1&&(o.add(r),r.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const s of n)s.usedTimes--,s.usedTimes===0&&this.shaderCache.delete(s.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const n=this.materialCache;let s=n.get(e);return s===void 0&&(s=new Set,n.set(e,s)),s}_getShaderStage(e){const n=this.shaderCache;let s=n.get(e);return s===void 0&&(s=new UIt(e),n.set(e,s)),s}}class UIt{constructor(e){this.id=PIt++,this.code=e,this.usedTimes=0}}function BIt(t,e,n,s,i,r,o){const a=new zN,c=new FIt,d=[],u=i.isWebGL2,h=i.logarithmicDepthBuffer,f=i.vertexTextures;let m=i.precision;const _={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function g(C){return C===0?"uv":`uv${C}`}function b(C,O,B,H,te){const k=H.fog,$=te.geometry,q=C.isMeshStandardMaterial?H.environment:null,F=(C.isMeshStandardMaterial?n:e).get(C.envMap||q),W=F&&F.mapping===ep?F.image.height:null,ne=_[C.type];C.precision!==null&&(m=i.getMaxPrecision(C.precision),m!==C.precision&&console.warn("THREE.WebGLProgram.getParameters:",C.precision,"not supported, using",m,"instead."));const le=$.morphAttributes.position||$.morphAttributes.normal||$.morphAttributes.color,me=le!==void 0?le.length:0;let Se=0;$.morphAttributes.position!==void 0&&(Se=1),$.morphAttributes.normal!==void 0&&(Se=2),$.morphAttributes.color!==void 0&&(Se=3);let de,Ee,Me,ke;if(ne){const En=Xs[ne];de=En.vertexShader,Ee=En.fragmentShader}else de=C.vertexShader,Ee=C.fragmentShader,c.update(C),Me=c.getVertexShaderID(C),ke=c.getFragmentShaderID(C);const Z=t.getRenderTarget(),he=te.isInstancedMesh===!0,_e=te.isBatchedMesh===!0,we=!!C.map,Pe=!!C.matcap,N=!!F,z=!!C.aoMap,Y=!!C.lightMap,ce=!!C.bumpMap,re=!!C.normalMap,xe=!!C.displacementMap,Ne=!!C.emissiveMap,ie=!!C.metalnessMap,Re=!!C.roughnessMap,ge=C.anisotropy>0,De=C.clearcoat>0,L=C.iridescence>0,M=C.sheen>0,Q=C.transmission>0,ye=ge&&!!C.anisotropyMap,X=De&&!!C.clearcoatMap,se=De&&!!C.clearcoatNormalMap,Ae=De&&!!C.clearcoatRoughnessMap,Ce=L&&!!C.iridescenceMap,Ue=L&&!!C.iridescenceThicknessMap,Ze=M&&!!C.sheenColorMap,ft=M&&!!C.sheenRoughnessMap,Be=!!C.specularMap,pt=!!C.specularColorMap,st=!!C.specularIntensityMap,Ye=Q&&!!C.transmissionMap,nt=Q&&!!C.thicknessMap,je=!!C.gradientMap,yt=!!C.alphaMap,ee=C.alphaTest>0,Qe=!!C.alphaHash,Ve=!!C.extensions,Oe=!!$.attributes.uv1,He=!!$.attributes.uv2,lt=!!$.attributes.uv3;let Nt=pr;return C.toneMapped&&(Z===null||Z.isXRRenderTarget===!0)&&(Nt=t.toneMapping),{isWebGL2:u,shaderID:ne,shaderType:C.type,shaderName:C.name,vertexShader:de,fragmentShader:Ee,defines:C.defines,customVertexShaderID:Me,customFragmentShaderID:ke,isRawShaderMaterial:C.isRawShaderMaterial===!0,glslVersion:C.glslVersion,precision:m,batching:_e,instancing:he,instancingColor:he&&te.instanceColor!==null,supportsVertexTextures:f,outputColorSpace:Z===null?t.outputColorSpace:Z.isXRRenderTarget===!0?Z.texture.colorSpace:wn,map:we,matcap:Pe,envMap:N,envMapMode:N&&F.mapping,envMapCubeUVHeight:W,aoMap:z,lightMap:Y,bumpMap:ce,normalMap:re,displacementMap:f&&xe,emissiveMap:Ne,normalMapObjectSpace:re&&C.normalMapType===LAt,normalMapTangentSpace:re&&C.normalMapType===YE,metalnessMap:ie,roughnessMap:Re,anisotropy:ge,anisotropyMap:ye,clearcoat:De,clearcoatMap:X,clearcoatNormalMap:se,clearcoatRoughnessMap:Ae,iridescence:L,iridescenceMap:Ce,iridescenceThicknessMap:Ue,sheen:M,sheenColorMap:Ze,sheenRoughnessMap:ft,specularMap:Be,specularColorMap:pt,specularIntensityMap:st,transmission:Q,transmissionMap:Ye,thicknessMap:nt,gradientMap:je,opaque:C.transparent===!1&&C.blending===jo,alphaMap:yt,alphaTest:ee,alphaHash:Qe,combine:C.combine,mapUv:we&&g(C.map.channel),aoMapUv:z&&g(C.aoMap.channel),lightMapUv:Y&&g(C.lightMap.channel),bumpMapUv:ce&&g(C.bumpMap.channel),normalMapUv:re&&g(C.normalMap.channel),displacementMapUv:xe&&g(C.displacementMap.channel),emissiveMapUv:Ne&&g(C.emissiveMap.channel),metalnessMapUv:ie&&g(C.metalnessMap.channel),roughnessMapUv:Re&&g(C.roughnessMap.channel),anisotropyMapUv:ye&&g(C.anisotropyMap.channel),clearcoatMapUv:X&&g(C.clearcoatMap.channel),clearcoatNormalMapUv:se&&g(C.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Ae&&g(C.clearcoatRoughnessMap.channel),iridescenceMapUv:Ce&&g(C.iridescenceMap.channel),iridescenceThicknessMapUv:Ue&&g(C.iridescenceThicknessMap.channel),sheenColorMapUv:Ze&&g(C.sheenColorMap.channel),sheenRoughnessMapUv:ft&&g(C.sheenRoughnessMap.channel),specularMapUv:Be&&g(C.specularMap.channel),specularColorMapUv:pt&&g(C.specularColorMap.channel),specularIntensityMapUv:st&&g(C.specularIntensityMap.channel),transmissionMapUv:Ye&&g(C.transmissionMap.channel),thicknessMapUv:nt&&g(C.thicknessMap.channel),alphaMapUv:yt&&g(C.alphaMap.channel),vertexTangents:!!$.attributes.tangent&&(re||ge),vertexColors:C.vertexColors,vertexAlphas:C.vertexColors===!0&&!!$.attributes.color&&$.attributes.color.itemSize===4,vertexUv1s:Oe,vertexUv2s:He,vertexUv3s:lt,pointsUvs:te.isPoints===!0&&!!$.attributes.uv&&(we||yt),fog:!!k,useFog:C.fog===!0,fogExp2:k&&k.isFogExp2,flatShading:C.flatShading===!0,sizeAttenuation:C.sizeAttenuation===!0,logarithmicDepthBuffer:h,skinning:te.isSkinnedMesh===!0,morphTargets:$.morphAttributes.position!==void 0,morphNormals:$.morphAttributes.normal!==void 0,morphColors:$.morphAttributes.color!==void 0,morphTargetsCount:me,morphTextureStride:Se,numDirLights:O.directional.length,numPointLights:O.point.length,numSpotLights:O.spot.length,numSpotLightMaps:O.spotLightMap.length,numRectAreaLights:O.rectArea.length,numHemiLights:O.hemi.length,numDirLightShadows:O.directionalShadowMap.length,numPointLightShadows:O.pointShadowMap.length,numSpotLightShadows:O.spotShadowMap.length,numSpotLightShadowsWithMaps:O.numSpotLightShadowsWithMaps,numLightProbes:O.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:C.dithering,shadowMapEnabled:t.shadowMap.enabled&&B.length>0,shadowMapType:t.shadowMap.type,toneMapping:Nt,useLegacyLights:t._useLegacyLights,decodeVideoTexture:we&&C.map.isVideoTexture===!0&&Ft.getTransfer(C.map.colorSpace)===Kt,premultipliedAlpha:C.premultipliedAlpha,doubleSided:C.side===Js,flipSided:C.side===$n,useDepthPacking:C.depthPacking>=0,depthPacking:C.depthPacking||0,index0AttributeName:C.index0AttributeName,extensionDerivatives:Ve&&C.extensions.derivatives===!0,extensionFragDepth:Ve&&C.extensions.fragDepth===!0,extensionDrawBuffers:Ve&&C.extensions.drawBuffers===!0,extensionShaderTextureLOD:Ve&&C.extensions.shaderTextureLOD===!0,rendererExtensionFragDepth:u||s.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||s.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||s.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:s.has("KHR_parallel_shader_compile"),customProgramCacheKey:C.customProgramCacheKey()}}function E(C){const O=[];if(C.shaderID?O.push(C.shaderID):(O.push(C.customVertexShaderID),O.push(C.customFragmentShaderID)),C.defines!==void 0)for(const B in C.defines)O.push(B),O.push(C.defines[B]);return C.isRawShaderMaterial===!1&&(y(O,C),v(O,C),O.push(t.outputColorSpace)),O.push(C.customProgramCacheKey),O.join()}function y(C,O){C.push(O.precision),C.push(O.outputColorSpace),C.push(O.envMapMode),C.push(O.envMapCubeUVHeight),C.push(O.mapUv),C.push(O.alphaMapUv),C.push(O.lightMapUv),C.push(O.aoMapUv),C.push(O.bumpMapUv),C.push(O.normalMapUv),C.push(O.displacementMapUv),C.push(O.emissiveMapUv),C.push(O.metalnessMapUv),C.push(O.roughnessMapUv),C.push(O.anisotropyMapUv),C.push(O.clearcoatMapUv),C.push(O.clearcoatNormalMapUv),C.push(O.clearcoatRoughnessMapUv),C.push(O.iridescenceMapUv),C.push(O.iridescenceThicknessMapUv),C.push(O.sheenColorMapUv),C.push(O.sheenRoughnessMapUv),C.push(O.specularMapUv),C.push(O.specularColorMapUv),C.push(O.specularIntensityMapUv),C.push(O.transmissionMapUv),C.push(O.thicknessMapUv),C.push(O.combine),C.push(O.fogExp2),C.push(O.sizeAttenuation),C.push(O.morphTargetsCount),C.push(O.morphAttributeCount),C.push(O.numDirLights),C.push(O.numPointLights),C.push(O.numSpotLights),C.push(O.numSpotLightMaps),C.push(O.numHemiLights),C.push(O.numRectAreaLights),C.push(O.numDirLightShadows),C.push(O.numPointLightShadows),C.push(O.numSpotLightShadows),C.push(O.numSpotLightShadowsWithMaps),C.push(O.numLightProbes),C.push(O.shadowMapType),C.push(O.toneMapping),C.push(O.numClippingPlanes),C.push(O.numClipIntersection),C.push(O.depthPacking)}function v(C,O){a.disableAll(),O.isWebGL2&&a.enable(0),O.supportsVertexTextures&&a.enable(1),O.instancing&&a.enable(2),O.instancingColor&&a.enable(3),O.matcap&&a.enable(4),O.envMap&&a.enable(5),O.normalMapObjectSpace&&a.enable(6),O.normalMapTangentSpace&&a.enable(7),O.clearcoat&&a.enable(8),O.iridescence&&a.enable(9),O.alphaTest&&a.enable(10),O.vertexColors&&a.enable(11),O.vertexAlphas&&a.enable(12),O.vertexUv1s&&a.enable(13),O.vertexUv2s&&a.enable(14),O.vertexUv3s&&a.enable(15),O.vertexTangents&&a.enable(16),O.anisotropy&&a.enable(17),O.alphaHash&&a.enable(18),O.batching&&a.enable(19),C.push(a.mask),a.disableAll(),O.fog&&a.enable(0),O.useFog&&a.enable(1),O.flatShading&&a.enable(2),O.logarithmicDepthBuffer&&a.enable(3),O.skinning&&a.enable(4),O.morphTargets&&a.enable(5),O.morphNormals&&a.enable(6),O.morphColors&&a.enable(7),O.premultipliedAlpha&&a.enable(8),O.shadowMapEnabled&&a.enable(9),O.useLegacyLights&&a.enable(10),O.doubleSided&&a.enable(11),O.flipSided&&a.enable(12),O.useDepthPacking&&a.enable(13),O.dithering&&a.enable(14),O.transmission&&a.enable(15),O.sheen&&a.enable(16),O.opaque&&a.enable(17),O.pointsUvs&&a.enable(18),O.decodeVideoTexture&&a.enable(19),C.push(a.mask)}function S(C){const O=_[C.type];let B;if(O){const H=Xs[O];B=S2t.clone(H.uniforms)}else B=C.uniforms;return B}function R(C,O){let B;for(let H=0,te=d.length;H0?s.push(E):m.transparent===!0?i.push(E):n.push(E)}function c(h,f,m,_,g,b){const E=o(h,f,m,_,g,b);m.transmission>0?s.unshift(E):m.transparent===!0?i.unshift(E):n.unshift(E)}function d(h,f){n.length>1&&n.sort(h||VIt),s.length>1&&s.sort(f||WC),i.length>1&&i.sort(f||WC)}function u(){for(let h=e,f=t.length;h=r.length?(o=new KC,r.push(o)):o=r[i],o}function n(){t=new WeakMap}return{get:e,dispose:n}}function HIt(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new ae,color:new _t};break;case"SpotLight":n={position:new ae,direction:new ae,color:new _t,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new ae,color:new _t,distance:0,decay:0};break;case"HemisphereLight":n={direction:new ae,skyColor:new _t,groundColor:new _t};break;case"RectAreaLight":n={color:new _t,position:new ae,halfWidth:new ae,halfHeight:new ae};break}return t[e.id]=n,n}}}function qIt(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new At};break;case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new At};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new At,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let $It=0;function YIt(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function WIt(t,e){const n=new HIt,s=qIt(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)i.probe.push(new ae);const r=new ae,o=new xt,a=new xt;function c(u,h){let f=0,m=0,_=0;for(let H=0;H<9;H++)i.probe[H].set(0,0,0);let g=0,b=0,E=0,y=0,v=0,S=0,R=0,w=0,A=0,I=0,C=0;u.sort(YIt);const O=h===!0?Math.PI:1;for(let H=0,te=u.length;H0&&(e.isWebGL2||t.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=We.LTC_FLOAT_1,i.rectAreaLTC2=We.LTC_FLOAT_2):t.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=We.LTC_HALF_1,i.rectAreaLTC2=We.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=f,i.ambient[1]=m,i.ambient[2]=_;const B=i.hash;(B.directionalLength!==g||B.pointLength!==b||B.spotLength!==E||B.rectAreaLength!==y||B.hemiLength!==v||B.numDirectionalShadows!==S||B.numPointShadows!==R||B.numSpotShadows!==w||B.numSpotMaps!==A||B.numLightProbes!==C)&&(i.directional.length=g,i.spot.length=E,i.rectArea.length=y,i.point.length=b,i.hemi.length=v,i.directionalShadow.length=S,i.directionalShadowMap.length=S,i.pointShadow.length=R,i.pointShadowMap.length=R,i.spotShadow.length=w,i.spotShadowMap.length=w,i.directionalShadowMatrix.length=S,i.pointShadowMatrix.length=R,i.spotLightMatrix.length=w+A-I,i.spotLightMap.length=A,i.numSpotLightShadowsWithMaps=I,i.numLightProbes=C,B.directionalLength=g,B.pointLength=b,B.spotLength=E,B.rectAreaLength=y,B.hemiLength=v,B.numDirectionalShadows=S,B.numPointShadows=R,B.numSpotShadows=w,B.numSpotMaps=A,B.numLightProbes=C,i.version=$It++)}function d(u,h){let f=0,m=0,_=0,g=0,b=0;const E=h.matrixWorldInverse;for(let y=0,v=u.length;y=a.length?(c=new jC(t,e),a.push(c)):c=a[o],c}function i(){n=new WeakMap}return{get:s,dispose:i}}class jIt extends Vs{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=kAt,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class QIt extends Vs{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const XIt=`void main() { gl_Position = vec4( position, 1.0 ); -}`,$It=`uniform sampler2D shadow_pass; +}`,ZIt=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3972,29 +3972,29 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function YIt(t,e,n){let s=new jE;const i=new At,r=new At,o=new $t,a=new zIt({depthPacking:RAt}),c=new HIt,d={},u=n.maxTextureSize,h={[Li]:$n,[$n]:Li,[Js]:Js},f=new ro({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new At},radius:{value:4}},vertexShader:qIt,fragmentShader:$It}),m=f.clone();m.defines.HORIZONTAL_PASS=1;const _=new _i;_.setAttribute("position",new Bn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new Un(_,f),b=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=CN;let E=this.type;this.render=function(R,w,A){if(b.enabled===!1||b.autoUpdate===!1&&b.needsUpdate===!1||R.length===0)return;const I=t.getRenderTarget(),C=t.getActiveCubeFace(),O=t.getActiveMipmapLevel(),B=t.state;B.setBlending(ur),B.buffers.color.setClear(1,1,1,1),B.buffers.depth.setTest(!0),B.setScissorTest(!1);const H=E!==Ci&&this.type===Ci,te=E===Ci&&this.type!==Ci;for(let k=0,$=R.length;k<$;k++){const q=R[k],F=q.shadow;if(F===void 0){console.warn("THREE.WebGLShadowMap:",q,"has no shadow.");continue}if(F.autoUpdate===!1&&F.needsUpdate===!1)continue;i.copy(F.mapSize);const W=F.getFrameExtents();if(i.multiply(W),r.copy(F.mapSize),(i.x>u||i.y>u)&&(i.x>u&&(r.x=Math.floor(u/W.x),i.x=r.x*W.x,F.mapSize.x=r.x),i.y>u&&(r.y=Math.floor(u/W.y),i.y=r.y*W.y,F.mapSize.y=r.y)),F.map===null||H===!0||te===!0){const le=this.type!==Ci?{minFilter:gn,magFilter:gn}:{};F.map!==null&&F.map.dispose(),F.map=new io(i.x,i.y,le),F.map.texture.name=q.name+".shadowMap",F.camera.updateProjectionMatrix()}t.setRenderTarget(F.map),t.clear();const ne=F.getViewportCount();for(let le=0;le0||w.map&&w.alphaTest>0){const B=C.uuid,H=w.uuid;let te=d[B];te===void 0&&(te={},d[B]=te);let k=te[H];k===void 0&&(k=C.clone(),te[H]=k),C=k}if(C.visible=w.visible,C.wireframe=w.wireframe,I===Ci?C.side=w.shadowSide!==null?w.shadowSide:w.side:C.side=w.shadowSide!==null?w.shadowSide:h[w.side],C.alphaMap=w.alphaMap,C.alphaTest=w.alphaTest,C.map=w.map,C.clipShadows=w.clipShadows,C.clippingPlanes=w.clippingPlanes,C.clipIntersection=w.clipIntersection,C.displacementMap=w.displacementMap,C.displacementScale=w.displacementScale,C.displacementBias=w.displacementBias,C.wireframeLinewidth=w.wireframeLinewidth,C.linewidth=w.linewidth,A.isPointLight===!0&&C.isMeshDistanceMaterial===!0){const B=t.properties.get(C);B.light=A}return C}function S(R,w,A,I,C){if(R.visible===!1)return;if(R.layers.test(w.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&C===Ci)&&(!R.frustumCulled||s.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(A.matrixWorldInverse,R.matrixWorld);const H=e.update(R),te=R.material;if(Array.isArray(te)){const k=H.groups;for(let $=0,q=k.length;$=1):le.indexOf("OpenGL ES")!==-1&&(ne=parseFloat(/^OpenGL ES (\d)/.exec(le)[1]),W=ne>=2);let me=null,Se={};const de=t.getParameter(t.SCISSOR_BOX),Ee=t.getParameter(t.VIEWPORT),Me=new $t().fromArray(de),ke=new $t().fromArray(Ee);function Z(ee,Qe,Ve,Oe){const He=new Uint8Array(4),lt=t.createTexture();t.bindTexture(ee,lt),t.texParameteri(ee,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(ee,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let Nt=0;Nt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),_=new WeakMap;let g;const b=new WeakMap;let E=!1;try{E=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(L,M){return E?new OffscreenCanvas(L,M):Yl("canvas")}function v(L,M,Q,ye){let X=1;if((L.width>ye||L.height>ye)&&(X=ye/Math.max(L.width,L.height)),X<1||M===!0)if(typeof HTMLImageElement<"u"&&L instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&L instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&L instanceof ImageBitmap){const se=M?lu:Math.floor,Ae=se(X*L.width),Ce=se(X*L.height);g===void 0&&(g=y(Ae,Ce));const Ue=Q?y(Ae,Ce):g;return Ue.width=Ae,Ue.height=Ce,Ue.getContext("2d").drawImage(L,0,0,Ae,Ce),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+L.width+"x"+L.height+") to ("+Ae+"x"+Ce+")."),Ue}else return"data"in L&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+L.width+"x"+L.height+")."),L;return L}function S(L){return sb(L.width)&&sb(L.height)}function R(L){return a?!1:L.wrapS!==us||L.wrapT!==us||L.minFilter!==gn&&L.minFilter!==zn}function w(L,M){return L.generateMipmaps&&M&&L.minFilter!==gn&&L.minFilter!==zn}function A(L){t.generateMipmap(L)}function I(L,M,Q,ye,X=!1){if(a===!1)return M;if(L!==null){if(t[L]!==void 0)return t[L];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+L+"'")}let se=M;if(M===t.RED&&(Q===t.FLOAT&&(se=t.R32F),Q===t.HALF_FLOAT&&(se=t.R16F),Q===t.UNSIGNED_BYTE&&(se=t.R8)),M===t.RED_INTEGER&&(Q===t.UNSIGNED_BYTE&&(se=t.R8UI),Q===t.UNSIGNED_SHORT&&(se=t.R16UI),Q===t.UNSIGNED_INT&&(se=t.R32UI),Q===t.BYTE&&(se=t.R8I),Q===t.SHORT&&(se=t.R16I),Q===t.INT&&(se=t.R32I)),M===t.RG&&(Q===t.FLOAT&&(se=t.RG32F),Q===t.HALF_FLOAT&&(se=t.RG16F),Q===t.UNSIGNED_BYTE&&(se=t.RG8)),M===t.RGBA){const Ae=X?iu:Ft.getTransfer(ye);Q===t.FLOAT&&(se=t.RGBA32F),Q===t.HALF_FLOAT&&(se=t.RGBA16F),Q===t.UNSIGNED_BYTE&&(se=Ae===Kt?t.SRGB8_ALPHA8:t.RGBA8),Q===t.UNSIGNED_SHORT_4_4_4_4&&(se=t.RGBA4),Q===t.UNSIGNED_SHORT_5_5_5_1&&(se=t.RGB5_A1)}return(se===t.R16F||se===t.R32F||se===t.RG16F||se===t.RG32F||se===t.RGBA16F||se===t.RGBA32F)&&e.get("EXT_color_buffer_float"),se}function C(L,M,Q){return w(L,Q)===!0||L.isFramebufferTexture&&L.minFilter!==gn&&L.minFilter!==zn?Math.log2(Math.max(M.width,M.height))+1:L.mipmaps!==void 0&&L.mipmaps.length>0?L.mipmaps.length:L.isCompressedTexture&&Array.isArray(L.image)?M.mipmaps.length:1}function O(L){return L===gn||L===Jg||L===wd?t.NEAREST:t.LINEAR}function B(L){const M=L.target;M.removeEventListener("dispose",B),te(M),M.isVideoTexture&&_.delete(M)}function H(L){const M=L.target;M.removeEventListener("dispose",H),$(M)}function te(L){const M=s.get(L);if(M.__webglInit===void 0)return;const Q=L.source,ye=b.get(Q);if(ye){const X=ye[M.__cacheKey];X.usedTimes--,X.usedTimes===0&&k(L),Object.keys(ye).length===0&&b.delete(Q)}s.remove(L)}function k(L){const M=s.get(L);t.deleteTexture(M.__webglTexture);const Q=L.source,ye=b.get(Q);delete ye[M.__cacheKey],o.memory.textures--}function $(L){const M=L.texture,Q=s.get(L),ye=s.get(M);if(ye.__webglTexture!==void 0&&(t.deleteTexture(ye.__webglTexture),o.memory.textures--),L.depthTexture&&L.depthTexture.dispose(),L.isWebGLCubeRenderTarget)for(let X=0;X<6;X++){if(Array.isArray(Q.__webglFramebuffer[X]))for(let se=0;se=c&&console.warn("THREE.WebGLTextures: Trying to use "+L+" texture units while this GPU supports only "+c),q+=1,L}function ne(L){const M=[];return M.push(L.wrapS),M.push(L.wrapT),M.push(L.wrapR||0),M.push(L.magFilter),M.push(L.minFilter),M.push(L.anisotropy),M.push(L.internalFormat),M.push(L.format),M.push(L.type),M.push(L.generateMipmaps),M.push(L.premultiplyAlpha),M.push(L.flipY),M.push(L.unpackAlignment),M.push(L.colorSpace),M.join()}function le(L,M){const Q=s.get(L);if(L.isVideoTexture&&ge(L),L.isRenderTargetTexture===!1&&L.version>0&&Q.__version!==L.version){const ye=L.image;if(ye===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(ye.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{_e(Q,L,M);return}}n.bindTexture(t.TEXTURE_2D,Q.__webglTexture,t.TEXTURE0+M)}function me(L,M){const Q=s.get(L);if(L.version>0&&Q.__version!==L.version){_e(Q,L,M);return}n.bindTexture(t.TEXTURE_2D_ARRAY,Q.__webglTexture,t.TEXTURE0+M)}function Se(L,M){const Q=s.get(L);if(L.version>0&&Q.__version!==L.version){_e(Q,L,M);return}n.bindTexture(t.TEXTURE_3D,Q.__webglTexture,t.TEXTURE0+M)}function de(L,M){const Q=s.get(L);if(L.version>0&&Q.__version!==L.version){we(Q,L,M);return}n.bindTexture(t.TEXTURE_CUBE_MAP,Q.__webglTexture,t.TEXTURE0+M)}const Ee={[pa]:t.REPEAT,[us]:t.CLAMP_TO_EDGE,[su]:t.MIRRORED_REPEAT},Me={[gn]:t.NEAREST,[Jg]:t.NEAREST_MIPMAP_NEAREST,[wd]:t.NEAREST_MIPMAP_LINEAR,[zn]:t.LINEAR,[RN]:t.LINEAR_MIPMAP_NEAREST,[so]:t.LINEAR_MIPMAP_LINEAR},ke={[NAt]:t.NEVER,[LAt]:t.ALWAYS,[OAt]:t.LESS,[FN]:t.LEQUAL,[MAt]:t.EQUAL,[DAt]:t.GEQUAL,[IAt]:t.GREATER,[kAt]:t.NOTEQUAL};function Z(L,M,Q){if(Q?(t.texParameteri(L,t.TEXTURE_WRAP_S,Ee[M.wrapS]),t.texParameteri(L,t.TEXTURE_WRAP_T,Ee[M.wrapT]),(L===t.TEXTURE_3D||L===t.TEXTURE_2D_ARRAY)&&t.texParameteri(L,t.TEXTURE_WRAP_R,Ee[M.wrapR]),t.texParameteri(L,t.TEXTURE_MAG_FILTER,Me[M.magFilter]),t.texParameteri(L,t.TEXTURE_MIN_FILTER,Me[M.minFilter])):(t.texParameteri(L,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(L,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(L===t.TEXTURE_3D||L===t.TEXTURE_2D_ARRAY)&&t.texParameteri(L,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(M.wrapS!==us||M.wrapT!==us)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(L,t.TEXTURE_MAG_FILTER,O(M.magFilter)),t.texParameteri(L,t.TEXTURE_MIN_FILTER,O(M.minFilter)),M.minFilter!==gn&&M.minFilter!==zn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),M.compareFunction&&(t.texParameteri(L,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(L,t.TEXTURE_COMPARE_FUNC,ke[M.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const ye=e.get("EXT_texture_filter_anisotropic");if(M.magFilter===gn||M.minFilter!==wd&&M.minFilter!==so||M.type===Ai&&e.has("OES_texture_float_linear")===!1||a===!1&&M.type===ql&&e.has("OES_texture_half_float_linear")===!1)return;(M.anisotropy>1||s.get(M).__currentAnisotropy)&&(t.texParameterf(L,ye.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(M.anisotropy,i.getMaxAnisotropy())),s.get(M).__currentAnisotropy=M.anisotropy)}}function he(L,M){let Q=!1;L.__webglInit===void 0&&(L.__webglInit=!0,M.addEventListener("dispose",B));const ye=M.source;let X=b.get(ye);X===void 0&&(X={},b.set(ye,X));const se=ne(M);if(se!==L.__cacheKey){X[se]===void 0&&(X[se]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,Q=!0),X[se].usedTimes++;const Ae=X[L.__cacheKey];Ae!==void 0&&(X[L.__cacheKey].usedTimes--,Ae.usedTimes===0&&k(M)),L.__cacheKey=se,L.__webglTexture=X[se].texture}return Q}function _e(L,M,Q){let ye=t.TEXTURE_2D;(M.isDataArrayTexture||M.isCompressedArrayTexture)&&(ye=t.TEXTURE_2D_ARRAY),M.isData3DTexture&&(ye=t.TEXTURE_3D);const X=he(L,M),se=M.source;n.bindTexture(ye,L.__webglTexture,t.TEXTURE0+Q);const Ae=s.get(se);if(se.version!==Ae.__version||X===!0){n.activeTexture(t.TEXTURE0+Q);const Ce=Ft.getPrimaries(Ft.workingColorSpace),Ue=M.colorSpace===_s?null:Ft.getPrimaries(M.colorSpace),Ze=M.colorSpace===_s||Ce===Ue?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,M.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,M.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,M.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ze);const ft=R(M)&&S(M.image)===!1;let Be=v(M.image,ft,!1,u);Be=De(M,Be);const pt=S(Be)||a,st=r.convert(M.format,M.colorSpace);let Ye=r.convert(M.type),nt=I(M.internalFormat,st,Ye,M.colorSpace,M.isVideoTexture);Z(ye,M,pt);let je;const yt=M.mipmaps,ee=a&&M.isVideoTexture!==!0&&nt!==DN,Qe=Ae.__version===void 0||X===!0,Ve=C(M,Be,pt);if(M.isDepthTexture)nt=t.DEPTH_COMPONENT,a?M.type===Ai?nt=t.DEPTH_COMPONENT32F:M.type===ar?nt=t.DEPTH_COMPONENT24:M.type===Kr?nt=t.DEPTH24_STENCIL8:nt=t.DEPTH_COMPONENT16:M.type===Ai&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),M.format===jr&&nt===t.DEPTH_COMPONENT&&M.type!==$E&&M.type!==ar&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),M.type=ar,Ye=r.convert(M.type)),M.format===_a&&nt===t.DEPTH_COMPONENT&&(nt=t.DEPTH_STENCIL,M.type!==Kr&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),M.type=Kr,Ye=r.convert(M.type))),Qe&&(ee?n.texStorage2D(t.TEXTURE_2D,1,nt,Be.width,Be.height):n.texImage2D(t.TEXTURE_2D,0,nt,Be.width,Be.height,0,st,Ye,null));else if(M.isDataTexture)if(yt.length>0&&pt){ee&&Qe&&n.texStorage2D(t.TEXTURE_2D,Ve,nt,yt[0].width,yt[0].height);for(let Oe=0,He=yt.length;Oe>=1,He>>=1}}else if(yt.length>0&&pt){ee&&Qe&&n.texStorage2D(t.TEXTURE_2D,Ve,nt,yt[0].width,yt[0].height);for(let Oe=0,He=yt.length;Oe0&&Qe++,n.texStorage2D(t.TEXTURE_CUBE_MAP,Qe,je,Be[0].width,Be[0].height));for(let Oe=0;Oe<6;Oe++)if(ft){yt?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,0,0,0,Be[Oe].width,Be[Oe].height,Ye,nt,Be[Oe].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,0,je,Be[Oe].width,Be[Oe].height,0,Ye,nt,Be[Oe].data);for(let He=0;He>se),Be=Math.max(1,M.height>>se);X===t.TEXTURE_3D||X===t.TEXTURE_2D_ARRAY?n.texImage3D(X,se,Ue,ft,Be,M.depth,0,Ae,Ce,null):n.texImage2D(X,se,Ue,ft,Be,0,Ae,Ce,null)}n.bindFramebuffer(t.FRAMEBUFFER,L),Re(M)?f.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,ye,X,s.get(Q).__webglTexture,0,ie(M)):(X===t.TEXTURE_2D||X>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&X<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,ye,X,s.get(Q).__webglTexture,se),n.bindFramebuffer(t.FRAMEBUFFER,null)}function N(L,M,Q){if(t.bindRenderbuffer(t.RENDERBUFFER,L),M.depthBuffer&&!M.stencilBuffer){let ye=a===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(Q||Re(M)){const X=M.depthTexture;X&&X.isDepthTexture&&(X.type===Ai?ye=t.DEPTH_COMPONENT32F:X.type===ar&&(ye=t.DEPTH_COMPONENT24));const se=ie(M);Re(M)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,se,ye,M.width,M.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,se,ye,M.width,M.height)}else t.renderbufferStorage(t.RENDERBUFFER,ye,M.width,M.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,L)}else if(M.depthBuffer&&M.stencilBuffer){const ye=ie(M);Q&&Re(M)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,ye,t.DEPTH24_STENCIL8,M.width,M.height):Re(M)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,ye,t.DEPTH24_STENCIL8,M.width,M.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,M.width,M.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,L)}else{const ye=M.isWebGLMultipleRenderTargets===!0?M.texture:[M.texture];for(let X=0;X0){Q.__webglFramebuffer[Ce]=[];for(let Ue=0;Ue0){Q.__webglFramebuffer=[];for(let Ce=0;Ce0&&Re(L)===!1){const Ce=se?M:[M];Q.__webglMultisampledFramebuffer=t.createFramebuffer(),Q.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,Q.__webglMultisampledFramebuffer);for(let Ue=0;Ue0)for(let Ue=0;Ue0)for(let Ue=0;Ue0&&Re(L)===!1){const M=L.isWebGLMultipleRenderTargets?L.texture:[L.texture],Q=L.width,ye=L.height;let X=t.COLOR_BUFFER_BIT;const se=[],Ae=L.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Ce=s.get(L),Ue=L.isWebGLMultipleRenderTargets===!0;if(Ue)for(let Ze=0;Ze0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&M.__useRenderToTexture!==!1}function ge(L){const M=o.render.frame;_.get(L)!==M&&(_.set(L,M),L.update())}function De(L,M){const Q=L.colorSpace,ye=L.format,X=L.type;return L.isCompressedTexture===!0||L.isVideoTexture===!0||L.format===nb||Q!==wn&&Q!==_s&&(Ft.getTransfer(Q)===Kt?a===!1?e.has("EXT_sRGB")===!0&&ye===ps?(L.format=nb,L.minFilter=zn,L.generateMipmaps=!1):M=BN.sRGBToLinear(M):(ye!==ps||X!==_r)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Q)),M}this.allocateTextureUnit=W,this.resetTextureUnits=F,this.setTexture2D=le,this.setTexture2DArray=me,this.setTexture3D=Se,this.setTextureCube=de,this.rebindTextures=ce,this.setupRenderTarget=re,this.updateRenderTargetMipmap=xe,this.updateMultisampleRenderTarget=Ne,this.setupDepthRenderbuffer=Y,this.setupFrameBufferTexture=Pe,this.useMultisampledRTT=Re}function jIt(t,e,n){const s=n.isWebGL2;function i(r,o=_s){let a;const c=Ft.getTransfer(o);if(r===_r)return t.UNSIGNED_BYTE;if(r===NN)return t.UNSIGNED_SHORT_4_4_4_4;if(r===ON)return t.UNSIGNED_SHORT_5_5_5_1;if(r===mAt)return t.BYTE;if(r===gAt)return t.SHORT;if(r===$E)return t.UNSIGNED_SHORT;if(r===AN)return t.INT;if(r===ar)return t.UNSIGNED_INT;if(r===Ai)return t.FLOAT;if(r===ql)return s?t.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(r===bAt)return t.ALPHA;if(r===ps)return t.RGBA;if(r===EAt)return t.LUMINANCE;if(r===yAt)return t.LUMINANCE_ALPHA;if(r===jr)return t.DEPTH_COMPONENT;if(r===_a)return t.DEPTH_STENCIL;if(r===nb)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(r===vAt)return t.RED;if(r===MN)return t.RED_INTEGER;if(r===SAt)return t.RG;if(r===IN)return t.RG_INTEGER;if(r===kN)return t.RGBA_INTEGER;if(r===Cm||r===wm||r===Rm||r===Am)if(c===Kt)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(r===Cm)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===wm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===Rm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===Am)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(r===Cm)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===wm)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===Rm)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===Am)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===L1||r===P1||r===F1||r===U1)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(r===L1)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===P1)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===F1)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===U1)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===DN)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===B1||r===G1)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(r===B1)return c===Kt?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(r===G1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===V1||r===z1||r===H1||r===q1||r===$1||r===Y1||r===W1||r===K1||r===j1||r===Q1||r===X1||r===Z1||r===J1||r===eC)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(r===V1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===z1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===H1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===q1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===$1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Y1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===W1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===K1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===j1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===Q1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===X1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Z1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===J1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===eC)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===Nm||r===tC||r===nC)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(r===Nm)return c===Kt?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===tC)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===nC)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===TAt||r===sC||r===iC||r===rC)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(r===Nm)return a.COMPRESSED_RED_RGTC1_EXT;if(r===sC)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===iC)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===rC)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Kr?s?t.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):t[r]!==void 0?t[r]:null}return{convert:i}}class QIt extends Fn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Hr extends Jt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const XIt={type:"move"};class Jm{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Hr,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Hr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new oe,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new oe),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Hr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new oe,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new oe),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const s of e.hand.values())this._getHandJoint(n,s)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,s){let i=null,r=null,o=null;const a=this._targetRay,c=this._grip,d=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const g of e.hand.values()){const b=n.getJointPose(g,s),E=this._getHandJoint(d,g);b!==null&&(E.matrix.fromArray(b.transform.matrix),E.matrix.decompose(E.position,E.rotation,E.scale),E.matrixWorldNeedsUpdate=!0,E.jointRadius=b.radius),E.visible=b!==null}const u=d.joints["index-finger-tip"],h=d.joints["thumb-tip"],f=u.position.distanceTo(h.position),m=.02,_=.005;d.inputState.pinching&&f>m+_?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&f<=m-_&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else c!==null&&e.gripSpace&&(r=n.getPose(e.gripSpace,s),r!==null&&(c.matrix.fromArray(r.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,r.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(r.linearVelocity)):c.hasLinearVelocity=!1,r.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(r.angularVelocity)):c.hasAngularVelocity=!1));a!==null&&(i=n.getPose(e.targetRaySpace,s),i===null&&r!==null&&(i=r),i!==null&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(XIt)))}return a!==null&&(a.visible=i!==null),c!==null&&(c.visible=r!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const s=new Hr;s.matrixAutoUpdate=!1,s.visible=!1,e.joints[n.jointName]=s,e.add(s)}return e.joints[n.jointName]}}class ZIt extends Fa{constructor(e,n){super();const s=this;let i=null,r=1,o=null,a="local-floor",c=1,d=null,u=null,h=null,f=null,m=null,_=null;const g=n.getContextAttributes();let b=null,E=null;const y=[],v=[],S=new At;let R=null;const w=new Fn;w.layers.enable(1),w.viewport=new $t;const A=new Fn;A.layers.enable(2),A.viewport=new $t;const I=[w,A],C=new QIt;C.layers.enable(1),C.layers.enable(2);let O=null,B=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(de){let Ee=y[de];return Ee===void 0&&(Ee=new Jm,y[de]=Ee),Ee.getTargetRaySpace()},this.getControllerGrip=function(de){let Ee=y[de];return Ee===void 0&&(Ee=new Jm,y[de]=Ee),Ee.getGripSpace()},this.getHand=function(de){let Ee=y[de];return Ee===void 0&&(Ee=new Jm,y[de]=Ee),Ee.getHandSpace()};function H(de){const Ee=v.indexOf(de.inputSource);if(Ee===-1)return;const Me=y[Ee];Me!==void 0&&(Me.update(de.inputSource,de.frame,d||o),Me.dispatchEvent({type:de.type,data:de.inputSource}))}function te(){i.removeEventListener("select",H),i.removeEventListener("selectstart",H),i.removeEventListener("selectend",H),i.removeEventListener("squeeze",H),i.removeEventListener("squeezestart",H),i.removeEventListener("squeezeend",H),i.removeEventListener("end",te),i.removeEventListener("inputsourceschange",k);for(let de=0;de=0&&(v[ke]=null,y[ke].disconnect(Me))}for(let Ee=0;Ee=v.length){v.push(Me),ke=he;break}else if(v[he]===null){v[he]=Me,ke=he;break}if(ke===-1)break}const Z=y[ke];Z&&Z.connect(Me)}}const $=new oe,q=new oe;function F(de,Ee,Me){$.setFromMatrixPosition(Ee.matrixWorld),q.setFromMatrixPosition(Me.matrixWorld);const ke=$.distanceTo(q),Z=Ee.projectionMatrix.elements,he=Me.projectionMatrix.elements,_e=Z[14]/(Z[10]-1),we=Z[14]/(Z[10]+1),Pe=(Z[9]+1)/Z[5],N=(Z[9]-1)/Z[5],z=(Z[8]-1)/Z[0],Y=(he[8]+1)/he[0],ce=_e*z,re=_e*Y,xe=ke/(-z+Y),Ne=xe*-z;Ee.matrixWorld.decompose(de.position,de.quaternion,de.scale),de.translateX(Ne),de.translateZ(xe),de.matrixWorld.compose(de.position,de.quaternion,de.scale),de.matrixWorldInverse.copy(de.matrixWorld).invert();const ie=_e+xe,Re=we+xe,ge=ce-Ne,De=re+(ke-Ne),L=Pe*we/Re*ie,M=N*we/Re*ie;de.projectionMatrix.makePerspective(ge,De,L,M,ie,Re),de.projectionMatrixInverse.copy(de.projectionMatrix).invert()}function W(de,Ee){Ee===null?de.matrixWorld.copy(de.matrix):de.matrixWorld.multiplyMatrices(Ee.matrixWorld,de.matrix),de.matrixWorldInverse.copy(de.matrixWorld).invert()}this.updateCamera=function(de){if(i===null)return;C.near=A.near=w.near=de.near,C.far=A.far=w.far=de.far,(O!==C.near||B!==C.far)&&(i.updateRenderState({depthNear:C.near,depthFar:C.far}),O=C.near,B=C.far);const Ee=de.parent,Me=C.cameras;W(C,Ee);for(let ke=0;ke0&&(b.alphaTest.value=E.alphaTest);const y=e.get(E).envMap;if(y&&(b.envMap.value=y,b.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,b.reflectivity.value=E.reflectivity,b.ior.value=E.ior,b.refractionRatio.value=E.refractionRatio),E.lightMap){b.lightMap.value=E.lightMap;const v=t._useLegacyLights===!0?Math.PI:1;b.lightMapIntensity.value=E.lightMapIntensity*v,n(E.lightMap,b.lightMapTransform)}E.aoMap&&(b.aoMap.value=E.aoMap,b.aoMapIntensity.value=E.aoMapIntensity,n(E.aoMap,b.aoMapTransform))}function o(b,E){b.diffuse.value.copy(E.color),b.opacity.value=E.opacity,E.map&&(b.map.value=E.map,n(E.map,b.mapTransform))}function a(b,E){b.dashSize.value=E.dashSize,b.totalSize.value=E.dashSize+E.gapSize,b.scale.value=E.scale}function c(b,E,y,v){b.diffuse.value.copy(E.color),b.opacity.value=E.opacity,b.size.value=E.size*y,b.scale.value=v*.5,E.map&&(b.map.value=E.map,n(E.map,b.uvTransform)),E.alphaMap&&(b.alphaMap.value=E.alphaMap,n(E.alphaMap,b.alphaMapTransform)),E.alphaTest>0&&(b.alphaTest.value=E.alphaTest)}function d(b,E){b.diffuse.value.copy(E.color),b.opacity.value=E.opacity,b.rotation.value=E.rotation,E.map&&(b.map.value=E.map,n(E.map,b.mapTransform)),E.alphaMap&&(b.alphaMap.value=E.alphaMap,n(E.alphaMap,b.alphaMapTransform)),E.alphaTest>0&&(b.alphaTest.value=E.alphaTest)}function u(b,E){b.specular.value.copy(E.specular),b.shininess.value=Math.max(E.shininess,1e-4)}function h(b,E){E.gradientMap&&(b.gradientMap.value=E.gradientMap)}function f(b,E){b.metalness.value=E.metalness,E.metalnessMap&&(b.metalnessMap.value=E.metalnessMap,n(E.metalnessMap,b.metalnessMapTransform)),b.roughness.value=E.roughness,E.roughnessMap&&(b.roughnessMap.value=E.roughnessMap,n(E.roughnessMap,b.roughnessMapTransform)),e.get(E).envMap&&(b.envMapIntensity.value=E.envMapIntensity)}function m(b,E,y){b.ior.value=E.ior,E.sheen>0&&(b.sheenColor.value.copy(E.sheenColor).multiplyScalar(E.sheen),b.sheenRoughness.value=E.sheenRoughness,E.sheenColorMap&&(b.sheenColorMap.value=E.sheenColorMap,n(E.sheenColorMap,b.sheenColorMapTransform)),E.sheenRoughnessMap&&(b.sheenRoughnessMap.value=E.sheenRoughnessMap,n(E.sheenRoughnessMap,b.sheenRoughnessMapTransform))),E.clearcoat>0&&(b.clearcoat.value=E.clearcoat,b.clearcoatRoughness.value=E.clearcoatRoughness,E.clearcoatMap&&(b.clearcoatMap.value=E.clearcoatMap,n(E.clearcoatMap,b.clearcoatMapTransform)),E.clearcoatRoughnessMap&&(b.clearcoatRoughnessMap.value=E.clearcoatRoughnessMap,n(E.clearcoatRoughnessMap,b.clearcoatRoughnessMapTransform)),E.clearcoatNormalMap&&(b.clearcoatNormalMap.value=E.clearcoatNormalMap,n(E.clearcoatNormalMap,b.clearcoatNormalMapTransform),b.clearcoatNormalScale.value.copy(E.clearcoatNormalScale),E.side===$n&&b.clearcoatNormalScale.value.negate())),E.iridescence>0&&(b.iridescence.value=E.iridescence,b.iridescenceIOR.value=E.iridescenceIOR,b.iridescenceThicknessMinimum.value=E.iridescenceThicknessRange[0],b.iridescenceThicknessMaximum.value=E.iridescenceThicknessRange[1],E.iridescenceMap&&(b.iridescenceMap.value=E.iridescenceMap,n(E.iridescenceMap,b.iridescenceMapTransform)),E.iridescenceThicknessMap&&(b.iridescenceThicknessMap.value=E.iridescenceThicknessMap,n(E.iridescenceThicknessMap,b.iridescenceThicknessMapTransform))),E.transmission>0&&(b.transmission.value=E.transmission,b.transmissionSamplerMap.value=y.texture,b.transmissionSamplerSize.value.set(y.width,y.height),E.transmissionMap&&(b.transmissionMap.value=E.transmissionMap,n(E.transmissionMap,b.transmissionMapTransform)),b.thickness.value=E.thickness,E.thicknessMap&&(b.thicknessMap.value=E.thicknessMap,n(E.thicknessMap,b.thicknessMapTransform)),b.attenuationDistance.value=E.attenuationDistance,b.attenuationColor.value.copy(E.attenuationColor)),E.anisotropy>0&&(b.anisotropyVector.value.set(E.anisotropy*Math.cos(E.anisotropyRotation),E.anisotropy*Math.sin(E.anisotropyRotation)),E.anisotropyMap&&(b.anisotropyMap.value=E.anisotropyMap,n(E.anisotropyMap,b.anisotropyMapTransform))),b.specularIntensity.value=E.specularIntensity,b.specularColor.value.copy(E.specularColor),E.specularColorMap&&(b.specularColorMap.value=E.specularColorMap,n(E.specularColorMap,b.specularColorMapTransform)),E.specularIntensityMap&&(b.specularIntensityMap.value=E.specularIntensityMap,n(E.specularIntensityMap,b.specularIntensityMapTransform))}function _(b,E){E.matcap&&(b.matcap.value=E.matcap)}function g(b,E){const y=e.get(E).light;b.referencePosition.value.setFromMatrixPosition(y.matrixWorld),b.nearDistance.value=y.shadow.camera.near,b.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:s,refreshMaterialUniforms:i}}function ekt(t,e,n,s){let i={},r={},o=[];const a=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function c(y,v){const S=v.program;s.uniformBlockBinding(y,S)}function d(y,v){let S=i[y.id];S===void 0&&(_(y),S=u(y),i[y.id]=S,y.addEventListener("dispose",b));const R=v.program;s.updateUBOMapping(y,R);const w=e.render.frame;r[y.id]!==w&&(f(y),r[y.id]=w)}function u(y){const v=h();y.__bindingPointIndex=v;const S=t.createBuffer(),R=y.__size,w=y.usage;return t.bindBuffer(t.UNIFORM_BUFFER,S),t.bufferData(t.UNIFORM_BUFFER,R,w),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,v,S),S}function h(){for(let y=0;y0){w=S%R;const H=R-w;w!==0&&H-O.boundary<0&&(S+=R-w,C.__offset=S)}S+=O.storage}return w=S%R,w>0&&(S+=R-w),y.__size=S,y.__cache={},this}function g(y){const v={boundary:0,storage:0};return typeof y=="number"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function b(y){const v=y.target;v.removeEventListener("dispose",b);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),t.deleteBuffer(i[v.id]),delete i[v.id],delete r[v.id]}function E(){for(const y in i)t.deleteBuffer(i[y]);o=[],i={},r={}}return{bind:c,update:d,dispose:E}}class nO{constructor(e={}){const{canvas:n=XAt(),context:s=null,depth:i=!0,stencil:r=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:c=!0,preserveDrawingBuffer:d=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let f;s!==null?f=s.getContextAttributes().alpha:f=o;const m=new Uint32Array(4),_=new Int32Array(4);let g=null,b=null;const E=[],y=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=tn,this._useLegacyLights=!1,this.toneMapping=pr,this.toneMappingExposure=1;const v=this;let S=!1,R=0,w=0,A=null,I=-1,C=null;const O=new $t,B=new $t;let H=null;const te=new _t(0);let k=0,$=n.width,q=n.height,F=1,W=null,ne=null;const le=new $t(0,0,$,q),me=new $t(0,0,$,q);let Se=!1;const de=new jE;let Ee=!1,Me=!1,ke=null;const Z=new xt,he=new At,_e=new oe,we={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Pe(){return A===null?F:1}let N=s;function z(U,ue){for(let be=0;be{function Xe(){if(ve.forEach(function(it){Ne.get(it).currentProgram.isReady()&&ve.delete(it)}),ve.size===0){fe(U);return}setTimeout(Xe,10)}Y.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let Nt=null;function sn(U){Nt&&Nt(U)}function En(){yn.stop()}function Gt(){yn.start()}const yn=new jN;yn.setAnimationLoop(sn),typeof self<"u"&&yn.setContext(self),this.setAnimationLoop=function(U){Nt=U,je.setAnimationLoop(U),U===null?yn.stop():yn.start()},je.addEventListener("sessionstart",En),je.addEventListener("sessionend",Gt),this.render=function(U,ue){if(ue!==void 0&&ue.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;U.matrixWorldAutoUpdate===!0&&U.updateMatrixWorld(),ue.parent===null&&ue.matrixWorldAutoUpdate===!0&&ue.updateMatrixWorld(),je.enabled===!0&&je.isPresenting===!0&&(je.cameraAutoUpdate===!0&&je.updateCamera(ue),ue=je.getCamera()),U.isScene===!0&&U.onBeforeRender(v,U,ue,A),b=se.get(U,y.length),b.init(),y.push(b),Z.multiplyMatrices(ue.projectionMatrix,ue.matrixWorldInverse),de.setFromProjectionMatrix(Z),Me=this.localClippingEnabled,Ee=Ae.init(this.clippingPlanes,Me),g=X.get(U,E.length),g.init(),E.push(g),rs(U,ue,0,v.sortObjects),g.finish(),v.sortObjects===!0&&g.sort(W,ne),this.info.render.frame++,Ee===!0&&Ae.beginShadows();const be=b.state.shadowsArray;if(Ce.render(be,U,ue),Ee===!0&&Ae.endShadows(),this.info.autoReset===!0&&this.info.reset(),Ue.render(g,U),b.setupLights(v._useLegacyLights),ue.isArrayCamera){const ve=ue.cameras;for(let fe=0,Xe=ve.length;fe0?b=y[y.length-1]:b=null,E.pop(),E.length>0?g=E[E.length-1]:g=null};function rs(U,ue,be,ve){if(U.visible===!1)return;if(U.layers.test(ue.layers)){if(U.isGroup)be=U.renderOrder;else if(U.isLOD)U.autoUpdate===!0&&U.update(ue);else if(U.isLight)b.pushLight(U),U.castShadow&&b.pushShadow(U);else if(U.isSprite){if(!U.frustumCulled||de.intersectsSprite(U)){ve&&_e.setFromMatrixPosition(U.matrixWorld).applyMatrix4(Z);const it=M.update(U),at=U.material;at.visible&&g.push(U,it,at,be,_e.z,null)}}else if((U.isMesh||U.isLine||U.isPoints)&&(!U.frustumCulled||de.intersectsObject(U))){const it=M.update(U),at=U.material;if(ve&&(U.boundingSphere!==void 0?(U.boundingSphere===null&&U.computeBoundingSphere(),_e.copy(U.boundingSphere.center)):(it.boundingSphere===null&&it.computeBoundingSphere(),_e.copy(it.boundingSphere.center)),_e.applyMatrix4(U.matrixWorld).applyMatrix4(Z)),Array.isArray(at)){const ut=it.groups;for(let Et=0,ht=ut.length;Et0&&lp(fe,Xe,ue,be),ve&&re.viewport(O.copy(ve)),fe.length>0&&uo(fe,ue,be),Xe.length>0&&uo(Xe,ue,be),it.length>0&&uo(it,ue,be),re.buffers.depth.setTest(!0),re.buffers.depth.setMask(!0),re.buffers.color.setMask(!0),re.setPolygonOffset(!1)}function lp(U,ue,be,ve){if((be.isScene===!0?be.overrideMaterial:null)!==null)return;const Xe=ce.isWebGL2;ke===null&&(ke=new io(1,1,{generateMipmaps:!0,type:Y.has("EXT_color_buffer_half_float")?ql:_r,minFilter:so,samples:Xe?4:0})),v.getDrawingBufferSize(he),Xe?ke.setSize(he.x,he.y):ke.setSize(lu(he.x),lu(he.y));const it=v.getRenderTarget();v.setRenderTarget(ke),v.getClearColor(te),k=v.getClearAlpha(),k<1&&v.setClearColor(16777215,.5),v.clear();const at=v.toneMapping;v.toneMapping=pr,uo(U,be,ve),ie.updateMultisampleRenderTarget(ke),ie.updateRenderTargetMipmap(ke);let ut=!1;for(let Et=0,ht=ue.length;Et0),mt=!!be.morphAttributes.position,Zt=!!be.morphAttributes.normal,kn=!!be.morphAttributes.color;let rn=pr;ve.toneMapped&&(A===null||A.isXRRenderTarget===!0)&&(rn=v.toneMapping);const ws=be.morphAttributes.position||be.morphAttributes.normal||be.morphAttributes.color,Wt=ws!==void 0?ws.length:0,vt=Ne.get(ve),Ha=b.state.lights;if(Ee===!0&&(Me===!0||U!==C)){const Gn=U===C&&ve.id===I;Ae.setState(ve,U,Gn)}let Qt=!1;ve.version===vt.__version?(vt.needsLights&&vt.lightsStateVersion!==Ha.state.version||vt.outputColorSpace!==at||fe.isBatchedMesh&&vt.batching===!1||!fe.isBatchedMesh&&vt.batching===!0||fe.isInstancedMesh&&vt.instancing===!1||!fe.isInstancedMesh&&vt.instancing===!0||fe.isSkinnedMesh&&vt.skinning===!1||!fe.isSkinnedMesh&&vt.skinning===!0||fe.isInstancedMesh&&vt.instancingColor===!0&&fe.instanceColor===null||fe.isInstancedMesh&&vt.instancingColor===!1&&fe.instanceColor!==null||vt.envMap!==ut||ve.fog===!0&&vt.fog!==Xe||vt.numClippingPlanes!==void 0&&(vt.numClippingPlanes!==Ae.numPlanes||vt.numIntersection!==Ae.numIntersection)||vt.vertexAlphas!==Et||vt.vertexTangents!==ht||vt.morphTargets!==mt||vt.morphNormals!==Zt||vt.morphColors!==kn||vt.toneMapping!==rn||ce.isWebGL2===!0&&vt.morphTargetsCount!==Wt)&&(Qt=!0):(Qt=!0,vt.__version=ve.version);let fi=vt.currentProgram;Qt===!0&&(fi=po(ve,ue,fe));let pc=!1,vr=!1,qa=!1;const fn=fi.getUniforms(),mi=vt.uniforms;if(re.useProgram(fi.program)&&(pc=!0,vr=!0,qa=!0),ve.id!==I&&(I=ve.id,vr=!0),pc||C!==U){fn.setValue(N,"projectionMatrix",U.projectionMatrix),fn.setValue(N,"viewMatrix",U.matrixWorldInverse);const Gn=fn.map.cameraPosition;Gn!==void 0&&Gn.setValue(N,_e.setFromMatrixPosition(U.matrixWorld)),ce.logarithmicDepthBuffer&&fn.setValue(N,"logDepthBufFC",2/(Math.log(U.far+1)/Math.LN2)),(ve.isMeshPhongMaterial||ve.isMeshToonMaterial||ve.isMeshLambertMaterial||ve.isMeshBasicMaterial||ve.isMeshStandardMaterial||ve.isShaderMaterial)&&fn.setValue(N,"isOrthographic",U.isOrthographicCamera===!0),C!==U&&(C=U,vr=!0,qa=!0)}if(fe.isSkinnedMesh){fn.setOptional(N,fe,"bindMatrix"),fn.setOptional(N,fe,"bindMatrixInverse");const Gn=fe.skeleton;Gn&&(ce.floatVertexTextures?(Gn.boneTexture===null&&Gn.computeBoneTexture(),fn.setValue(N,"boneTexture",Gn.boneTexture,ie)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}fe.isBatchedMesh&&(fn.setOptional(N,fe,"batchingTexture"),fn.setValue(N,"batchingTexture",fe._matricesTexture,ie));const $a=be.morphAttributes;if(($a.position!==void 0||$a.normal!==void 0||$a.color!==void 0&&ce.isWebGL2===!0)&&Ze.update(fe,be,fi),(vr||vt.receiveShadow!==fe.receiveShadow)&&(vt.receiveShadow=fe.receiveShadow,fn.setValue(N,"receiveShadow",fe.receiveShadow)),ve.isMeshGouraudMaterial&&ve.envMap!==null&&(mi.envMap.value=ut,mi.flipEnvMap.value=ut.isCubeTexture&&ut.isRenderTargetTexture===!1?-1:1),vr&&(fn.setValue(N,"toneMappingExposure",v.toneMappingExposure),vt.needsLights&&dp(mi,qa),Xe&&ve.fog===!0&&ye.refreshFogUniforms(mi,Xe),ye.refreshMaterialUniforms(mi,ve,F,q,ke),Rd.upload(N,dc(vt),mi,ie)),ve.isShaderMaterial&&ve.uniformsNeedUpdate===!0&&(Rd.upload(N,dc(vt),mi,ie),ve.uniformsNeedUpdate=!1),ve.isSpriteMaterial&&fn.setValue(N,"center",fe.center),fn.setValue(N,"modelViewMatrix",fe.modelViewMatrix),fn.setValue(N,"normalMatrix",fe.normalMatrix),fn.setValue(N,"modelMatrix",fe.matrixWorld),ve.isShaderMaterial||ve.isRawShaderMaterial){const Gn=ve.uniformsGroups;for(let Ya=0,pp=Gn.length;Ya0&&ie.useMultisampledRTT(U)===!1?fe=Ne.get(U).__webglMultisampledFramebuffer:Array.isArray(ht)?fe=ht[be]:fe=ht,O.copy(U.viewport),B.copy(U.scissor),H=U.scissorTest}else O.copy(le).multiplyScalar(F).floor(),B.copy(me).multiplyScalar(F).floor(),H=Se;if(re.bindFramebuffer(N.FRAMEBUFFER,fe)&&ce.drawBuffers&&ve&&re.drawBuffers(U,fe),re.viewport(O),re.scissor(B),re.setScissorTest(H),Xe){const ut=Ne.get(U.texture);N.framebufferTexture2D(N.FRAMEBUFFER,N.COLOR_ATTACHMENT0,N.TEXTURE_CUBE_MAP_POSITIVE_X+ue,ut.__webglTexture,be)}else if(it){const ut=Ne.get(U.texture),Et=ue||0;N.framebufferTextureLayer(N.FRAMEBUFFER,N.COLOR_ATTACHMENT0,ut.__webglTexture,be||0,Et)}I=-1},this.readRenderTargetPixels=function(U,ue,be,ve,fe,Xe,it){if(!(U&&U.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let at=Ne.get(U).__webglFramebuffer;if(U.isWebGLCubeRenderTarget&&it!==void 0&&(at=at[it]),at){re.bindFramebuffer(N.FRAMEBUFFER,at);try{const ut=U.texture,Et=ut.format,ht=ut.type;if(Et!==ps&&pt.convert(Et)!==N.getParameter(N.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const mt=ht===ql&&(Y.has("EXT_color_buffer_half_float")||ce.isWebGL2&&Y.has("EXT_color_buffer_float"));if(ht!==_r&&pt.convert(ht)!==N.getParameter(N.IMPLEMENTATION_COLOR_READ_TYPE)&&!(ht===Ai&&(ce.isWebGL2||Y.has("OES_texture_float")||Y.has("WEBGL_color_buffer_float")))&&!mt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ue>=0&&ue<=U.width-ve&&be>=0&&be<=U.height-fe&&N.readPixels(ue,be,ve,fe,pt.convert(Et),pt.convert(ht),Xe)}finally{const ut=A!==null?Ne.get(A).__webglFramebuffer:null;re.bindFramebuffer(N.FRAMEBUFFER,ut)}}},this.copyFramebufferToTexture=function(U,ue,be=0){const ve=Math.pow(2,-be),fe=Math.floor(ue.image.width*ve),Xe=Math.floor(ue.image.height*ve);ie.setTexture2D(ue,0),N.copyTexSubImage2D(N.TEXTURE_2D,be,0,0,U.x,U.y,fe,Xe),re.unbindTexture()},this.copyTextureToTexture=function(U,ue,be,ve=0){const fe=ue.image.width,Xe=ue.image.height,it=pt.convert(be.format),at=pt.convert(be.type);ie.setTexture2D(be,0),N.pixelStorei(N.UNPACK_FLIP_Y_WEBGL,be.flipY),N.pixelStorei(N.UNPACK_PREMULTIPLY_ALPHA_WEBGL,be.premultiplyAlpha),N.pixelStorei(N.UNPACK_ALIGNMENT,be.unpackAlignment),ue.isDataTexture?N.texSubImage2D(N.TEXTURE_2D,ve,U.x,U.y,fe,Xe,it,at,ue.image.data):ue.isCompressedTexture?N.compressedTexSubImage2D(N.TEXTURE_2D,ve,U.x,U.y,ue.mipmaps[0].width,ue.mipmaps[0].height,it,ue.mipmaps[0].data):N.texSubImage2D(N.TEXTURE_2D,ve,U.x,U.y,it,at,ue.image),ve===0&&be.generateMipmaps&&N.generateMipmap(N.TEXTURE_2D),re.unbindTexture()},this.copyTextureToTexture3D=function(U,ue,be,ve,fe=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=U.max.x-U.min.x+1,it=U.max.y-U.min.y+1,at=U.max.z-U.min.z+1,ut=pt.convert(ve.format),Et=pt.convert(ve.type);let ht;if(ve.isData3DTexture)ie.setTexture3D(ve,0),ht=N.TEXTURE_3D;else if(ve.isDataArrayTexture)ie.setTexture2DArray(ve,0),ht=N.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}N.pixelStorei(N.UNPACK_FLIP_Y_WEBGL,ve.flipY),N.pixelStorei(N.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ve.premultiplyAlpha),N.pixelStorei(N.UNPACK_ALIGNMENT,ve.unpackAlignment);const mt=N.getParameter(N.UNPACK_ROW_LENGTH),Zt=N.getParameter(N.UNPACK_IMAGE_HEIGHT),kn=N.getParameter(N.UNPACK_SKIP_PIXELS),rn=N.getParameter(N.UNPACK_SKIP_ROWS),ws=N.getParameter(N.UNPACK_SKIP_IMAGES),Wt=be.isCompressedTexture?be.mipmaps[0]:be.image;N.pixelStorei(N.UNPACK_ROW_LENGTH,Wt.width),N.pixelStorei(N.UNPACK_IMAGE_HEIGHT,Wt.height),N.pixelStorei(N.UNPACK_SKIP_PIXELS,U.min.x),N.pixelStorei(N.UNPACK_SKIP_ROWS,U.min.y),N.pixelStorei(N.UNPACK_SKIP_IMAGES,U.min.z),be.isDataTexture||be.isData3DTexture?N.texSubImage3D(ht,fe,ue.x,ue.y,ue.z,Xe,it,at,ut,Et,Wt.data):be.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),N.compressedTexSubImage3D(ht,fe,ue.x,ue.y,ue.z,Xe,it,at,ut,Wt.data)):N.texSubImage3D(ht,fe,ue.x,ue.y,ue.z,Xe,it,at,ut,Et,Wt),N.pixelStorei(N.UNPACK_ROW_LENGTH,mt),N.pixelStorei(N.UNPACK_IMAGE_HEIGHT,Zt),N.pixelStorei(N.UNPACK_SKIP_PIXELS,kn),N.pixelStorei(N.UNPACK_SKIP_ROWS,rn),N.pixelStorei(N.UNPACK_SKIP_IMAGES,ws),fe===0&&ve.generateMipmaps&&N.generateMipmap(ht),re.unbindTexture()},this.initTexture=function(U){U.isCubeTexture?ie.setTextureCube(U,0):U.isData3DTexture?ie.setTexture3D(U,0):U.isDataArrayTexture||U.isCompressedArrayTexture?ie.setTexture2DArray(U,0):ie.setTexture2D(U,0),re.unbindTexture()},this.resetState=function(){R=0,w=0,A=null,re.reset(),st.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ni}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===WE?"display-p3":"srgb",n.unpackColorSpace=Ft.workingColorSpace===tp?"display-p3":"srgb"}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===tn?Qr:PN}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Qr?tn:wn}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class tkt extends nO{}tkt.prototype.isWebGL1Renderer=!0;class nkt extends Jt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class skt{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=tb,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Gs()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn('THREE.InterleavedBuffer: "updateRange" is deprecated and removed in r169. Use "addUpdateRange()" instead.'),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,s){e*=this.stride,s*=n.stride;for(let i=0,r=this.stride;ic)continue;f.applyMatrix4(this.matrixWorld);const I=e.ray.origin.distanceTo(f);Ie.far||n.push({distance:I,point:h.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const E=Math.max(0,o.start),y=Math.min(b.count,o.start+o.count);for(let v=E,S=y-1;vc)continue;f.applyMatrix4(this.matrixWorld);const w=e.ray.origin.distanceTo(f);we.far||n.push({distance:w,point:h.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,s=Object.keys(n);if(s.length>0){const i=n[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r0){const i=n[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;ri.far)return;r.push({distance:d,distanceToRay:Math.sqrt(a),point:c,index:e,face:null,object:o})}}class ny extends Vs{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new _t(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _t(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=YE,this.normalScale=new At(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Bi extends ny{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new At(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Nn(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(n){this.ior=(1+.4*n)/(1-.4*n)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new _t(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new _t(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new _t(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class uw extends Vs{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new _t(16777215),this.specular=new _t(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _t(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=YE,this.normalScale=new At(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=qE,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}function cd(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function _kt(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function hkt(t){function e(i,r){return t[i]-t[r]}const n=t.length,s=new Array(n);for(let i=0;i!==n;++i)s[i]=i;return s.sort(e),s}function pw(t,e,n){const s=t.length,i=new t.constructor(s);for(let r=0,o=0;o!==s;++r){const a=n[r]*e;for(let c=0;c!==e;++c)i[o++]=t[a+c]}return i}function oO(t,e,n,s){let i=1,r=t[0];for(;r!==void 0&&r[s]===void 0;)r=t[i++];if(r===void 0)return;let o=r[s];if(o!==void 0)if(Array.isArray(o))do o=r[s],o!==void 0&&(e.push(r.time),n.push.apply(n,o)),r=t[i++];while(r!==void 0);else if(o.toArray!==void 0)do o=r[s],o!==void 0&&(e.push(r.time),o.toArray(n,n.length)),r=t[i++];while(r!==void 0);else do o=r[s],o!==void 0&&(e.push(r.time),n.push(o)),r=t[i++];while(r!==void 0)}class rc{constructor(e,n,s,i){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=i!==void 0?i:new n.constructor(s),this.sampleValues=n,this.valueSize=s,this.settings=null,this.DefaultSettings_={}}evaluate(e){const n=this.parameterPositions;let s=this._cachedIndex,i=n[s],r=n[s-1];e:{t:{let o;n:{s:if(!(e=r)){const a=n[1];e=r)break t}o=s,s=0;break n}break e}for(;s>>1;en;)--o;if(++o,r!==0||o!==i){r>=o&&(o=Math.max(o,1),r=o-1);const a=this.getValueSize();this.times=s.slice(r,o),this.values=this.values.slice(r*a,o*a)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const s=this.times,i=this.values,r=s.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==r;a++){const c=s[a];if(typeof c=="number"&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),e=!1;break}if(o!==null&&o>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,o),e=!1;break}o=c}if(i!==void 0&&_kt(i))for(let a=0,c=i.length;a!==c;++a){const d=i[a];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),s=this.getValueSize(),i=this.getInterpolation()===Om,r=e.length-1;let o=1;for(let a=1;a0){e[o]=e[r];for(let a=r*s,c=o*s,d=0;d!==s;++d)n[c+d]=n[a+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=n.slice(0,o*s)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),s=this.constructor,i=new s(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}hi.prototype.TimeBufferType=Float32Array;hi.prototype.ValueBufferType=Float32Array;hi.prototype.DefaultInterpolation=ha;class Ba extends hi{}Ba.prototype.ValueTypeName="bool";Ba.prototype.ValueBufferType=Array;Ba.prototype.DefaultInterpolation=$l;Ba.prototype.InterpolantFactoryMethodLinear=void 0;Ba.prototype.InterpolantFactoryMethodSmooth=void 0;class aO extends hi{}aO.prototype.ValueTypeName="color";class ga extends hi{}ga.prototype.ValueTypeName="number";class bkt extends rc{constructor(e,n,s,i){super(e,n,s,i)}interpolate_(e,n,s,i){const r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,c=(s-n)/(i-n);let d=e*a;for(let u=d+a;d!==u;d+=4)yr.slerpFlat(r,0,o,d-a,o,d,c);return r}}class oo extends hi{InterpolantFactoryMethodLinear(e){return new bkt(this.times,this.values,this.getValueSize(),e)}}oo.prototype.ValueTypeName="quaternion";oo.prototype.DefaultInterpolation=ha;oo.prototype.InterpolantFactoryMethodSmooth=void 0;class Ga extends hi{}Ga.prototype.ValueTypeName="string";Ga.prototype.ValueBufferType=Array;Ga.prototype.DefaultInterpolation=$l;Ga.prototype.InterpolantFactoryMethodLinear=void 0;Ga.prototype.InterpolantFactoryMethodSmooth=void 0;class ba extends hi{}ba.prototype.ValueTypeName="vector";class Ekt{constructor(e,n=-1,s,i=xAt){this.name=e,this.tracks=s,this.duration=n,this.blendMode=i,this.uuid=Gs(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],s=e.tracks,i=1/(e.fps||1);for(let o=0,a=s.length;o!==a;++o)n.push(vkt(s[o]).scale(i));const r=new this(e.name,e.duration,n,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const n=[],s=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,o=s.length;r!==o;++r)n.push(hi.toJSON(s[r]));return i}static CreateFromMorphTargetSequence(e,n,s,i){const r=n.length,o=[];for(let a=0;a1){const h=u[1];let f=i[h];f||(i[h]=f=[]),f.push(d)}}const o=[];for(const a in i)o.push(this.CreateFromMorphTargetSequence(a,i[a],n,s));return o}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const s=function(h,f,m,_,g){if(m.length!==0){const b=[],E=[];oO(m,b,E,_),b.length!==0&&g.push(new h(f,b,E))}},i=[],r=e.name||"default",o=e.fps||30,a=e.blendMode;let c=e.length||-1;const d=e.hierarchy||[];for(let h=0;h{n&&n(r),this.manager.itemEnd(e)},0),r;if(Ti[e]!==void 0){Ti[e].push({onLoad:n,onProgress:s,onError:i});return}Ti[e]=[],Ti[e].push({onLoad:n,onProgress:s,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,c=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const u=Ti[e],h=d.body.getReader(),f=d.headers.get("Content-Length")||d.headers.get("X-File-Size"),m=f?parseInt(f):0,_=m!==0;let g=0;const b=new ReadableStream({start(E){y();function y(){h.read().then(({done:v,value:S})=>{if(v)E.close();else{g+=S.byteLength;const R=new ProgressEvent("progress",{lengthComputable:_,loaded:g,total:m});for(let w=0,A=u.length;w{switch(c){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(u=>new DOMParser().parseFromString(u,a));case"json":return d.json();default:if(a===void 0)return d.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),f=h&&h[1]?h[1].toLowerCase():void 0,m=new TextDecoder(f);return d.arrayBuffer().then(_=>m.decode(_))}}}).then(d=>{Ea.add(e,d);const u=Ti[e];delete Ti[e];for(let h=0,f=u.length;h{const u=Ti[e];if(u===void 0)throw this.manager.itemError(e),d;delete Ti[e];for(let h=0,f=u.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Ckt extends Va{constructor(e){super(e)}load(e,n,s,i){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Ea.get(e);if(o!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(o),r.manager.itemEnd(e)},0),o;const a=Yl("img");function c(){u(),Ea.add(e,this),n&&n(this),r.manager.itemEnd(e)}function d(h){u(),i&&i(h),r.manager.itemError(e),r.manager.itemEnd(e)}function u(){a.removeEventListener("load",c,!1),a.removeEventListener("error",d,!1)}return a.addEventListener("load",c,!1),a.addEventListener("error",d,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(e),a.src=e,a}}class cO extends Va{constructor(e){super(e)}load(e,n,s,i){const r=new Cn,o=new Ckt(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(a){r.image=a,r.needsUpdate=!0,n!==void 0&&n(r)},s,i),r}}class rp extends Jt{constructor(e,n=1){super(),this.isLight=!0,this.type="Light",this.color=new _t(e),this.intensity=n}dispose(){}copy(e,n){return super.copy(e,n),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const n=super.toJSON(e);return n.object.color=this.color.getHex(),n.object.intensity=this.intensity,this.groundColor!==void 0&&(n.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(n.object.distance=this.distance),this.angle!==void 0&&(n.object.angle=this.angle),this.decay!==void 0&&(n.object.decay=this.decay),this.penumbra!==void 0&&(n.object.penumbra=this.penumbra),this.shadow!==void 0&&(n.object.shadow=this.shadow.toJSON()),n}}const sg=new xt,_w=new oe,hw=new oe;class sy{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new At(512,512),this.map=null,this.mapPass=null,this.matrix=new xt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new jE,this._frameExtents=new At(1,1),this._viewportCount=1,this._viewports=[new $t(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const n=this.camera,s=this.matrix;_w.setFromMatrixPosition(e.matrixWorld),n.position.copy(_w),hw.setFromMatrixPosition(e.target.matrixWorld),n.lookAt(hw),n.updateMatrixWorld(),sg.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(sg),s.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),s.multiply(sg)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class wkt extends sy{constructor(){super(new Fn(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const n=this.camera,s=fa*2*e.angle*this.focus,i=this.mapSize.width/this.mapSize.height,r=e.distance||n.far;(s!==n.fov||i!==n.aspect||r!==n.far)&&(n.fov=s,n.aspect=i,n.far=r,n.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class Rkt extends rp{constructor(e,n,s=0,i=Math.PI/3,r=0,o=2){super(e,n),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(Jt.DEFAULT_UP),this.updateMatrix(),this.target=new Jt,this.distance=s,this.angle=i,this.penumbra=r,this.decay=o,this.map=null,this.shadow=new wkt}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,n){return super.copy(e,n),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const fw=new xt,rl=new oe,ig=new oe;class Akt extends sy{constructor(){super(new Fn(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new At(4,2),this._viewportCount=6,this._viewports=[new $t(2,1,1,1),new $t(0,1,1,1),new $t(3,1,1,1),new $t(1,1,1,1),new $t(3,0,1,1),new $t(1,0,1,1)],this._cubeDirections=[new oe(1,0,0),new oe(-1,0,0),new oe(0,0,1),new oe(0,0,-1),new oe(0,1,0),new oe(0,-1,0)],this._cubeUps=[new oe(0,1,0),new oe(0,1,0),new oe(0,1,0),new oe(0,1,0),new oe(0,0,1),new oe(0,0,-1)]}updateMatrices(e,n=0){const s=this.camera,i=this.matrix,r=e.distance||s.far;r!==s.far&&(s.far=r,s.updateProjectionMatrix()),rl.setFromMatrixPosition(e.matrixWorld),s.position.copy(rl),ig.copy(s.position),ig.add(this._cubeDirections[n]),s.up.copy(this._cubeUps[n]),s.lookAt(ig),s.updateMatrixWorld(),i.makeTranslation(-rl.x,-rl.y,-rl.z),fw.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),this._frustum.setFromProjectionMatrix(fw)}}class Nkt extends rp{constructor(e,n,s=0,i=2){super(e,n),this.isPointLight=!0,this.type="PointLight",this.distance=s,this.decay=i,this.shadow=new Akt}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,n){return super.copy(e,n),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class Okt extends sy{constructor(){super(new XE(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class dO extends rp{constructor(e,n){super(e,n),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(Jt.DEFAULT_UP),this.updateMatrix(),this.target=new Jt,this.shadow=new Okt}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class Mkt extends rp{constructor(e,n){super(e,n),this.isAmbientLight=!0,this.type="AmbientLight"}}class wl{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let s=0,i=e.length;s"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,s,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Ea.get(e);if(o!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(o),r.manager.itemEnd(e)},0),o;const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader,fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(c){Ea.add(e,c),n&&n(c),r.manager.itemEnd(e)}).catch(function(c){i&&i(c),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}const iy="\\[\\]\\.:\\/",kkt=new RegExp("["+iy+"]","g"),ry="[^"+iy+"]",Dkt="[^"+iy.replace("\\.","")+"]",Lkt=/((?:WC+[\/:])*)/.source.replace("WC",ry),Pkt=/(WCOD+)?/.source.replace("WCOD",Dkt),Fkt=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ry),Ukt=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ry),Bkt=new RegExp("^"+Lkt+Pkt+Fkt+Ukt+"$"),Gkt=["material","materials","bones","map"];class Vkt{constructor(e,n,s){const i=s||Bt.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const s=this._targetGroup.nCachedObjects_,i=this._bindings[s];i!==void 0&&i.getValue(e,n)}setValue(e,n){const s=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=s.length;i!==r;++i)s[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,s=e.length;n!==s;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,s=e.length;n!==s;++n)e[n].unbind()}}class Bt{constructor(e,n,s){this.path=n,this.parsedPath=s||Bt.parseTrackName(n),this.node=Bt.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,s){return e&&e.isAnimationObjectGroup?new Bt.Composite(e,n,s):new Bt(e,n,s)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(kkt,"")}static parseTrackName(e){const n=Bkt.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const s={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=s.nodeName&&s.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=s.nodeName.substring(i+1);Gkt.indexOf(r)!==-1&&(s.nodeName=s.nodeName.substring(0,i),s.objectName=r)}if(s.propertyName===null||s.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return s}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const s=e.skeleton.getBoneByName(n);if(s!==void 0)return s}if(e.children){const s=function(r){for(let o=0;o=2.0 are supported."));return}const d=new yDt(r,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});d.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u=0&&a[h]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+h+'".')}}d.setExtensions(o),d.setPlugins(a),d.parse(s,i)}parseAsync(e,n){const s=this;return new Promise(function(i,r){s.parse(e,n,i,r)})}}function Hkt(){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 Rt={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_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 qkt{constructor(e){this.parser=e,this.name=Rt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let s=0,i=n.length;s=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,r.source,o)}}class sDt{constructor(e){this.parser=e,this.name=Rt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,s=this.parser,i=s.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],a=i.images[o.source];let c=s.textureLoader;if(a.uri){const d=s.options.manager.getHandler(a.uri);d!==null&&(c=d)}return this.detectSupport().then(function(d){if(d)return s.loadTextureImage(e,o.source,c);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return s.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 iDt{constructor(e){this.parser=e,this.name=Rt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,s=this.parser,i=s.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],a=i.images[o.source];let c=s.textureLoader;if(a.uri){const d=s.options.manager.getHandler(a.uri);d!==null&&(c=d)}return this.detectSupport().then(function(d){if(d)return s.loadTextureImage(e,o.source,c);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return s.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 rDt{constructor(e){this.name=Rt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,s=n.bufferViews[e];if(s.extensions&&s.extensions[this.name]){const i=s.extensions[this.name],r=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.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 r.then(function(a){const c=i.byteOffset||0,d=i.byteLength||0,u=i.count,h=i.byteStride,f=new Uint8Array(a,c,d);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(u,h,f,i.mode,i.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(u*h);return o.decodeGltfBuffer(new Uint8Array(m),u,h,f,i.mode,i.filter),m})})}else return null}}class oDt{constructor(e){this.name=Rt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,s=n.nodes[e];if(!s.extensions||!s.extensions[this.name]||s.mesh===void 0)return null;const i=n.meshes[s.mesh];for(const d of i.primitives)if(d.mode!==cs.TRIANGLES&&d.mode!==cs.TRIANGLE_STRIP&&d.mode!==cs.TRIANGLE_FAN&&d.mode!==void 0)return null;const o=s.extensions[this.name].attributes,a=[],c={};for(const d in o)a.push(this.parser.getDependency("accessor",o[d]).then(u=>(c[d]=u,c[d])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(d=>{const u=d.pop(),h=u.isGroup?u.children:[u],f=d[0].count,m=[];for(const _ of h){const g=new xt,b=new oe,E=new yr,y=new oe(1,1,1),v=new ckt(_.geometry,_.material,f);for(let S=0;S0||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const EDt=new xt;class yDt{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new Hkt,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 s=!1,i=!1,r=-1;typeof navigator<"u"&&(s=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,r=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||s||i&&r<98?this.textureLoader=new cO(this.options.manager):this.textureLoader=new Ikt(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new lO(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 s=this,i=this.json,r=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([s.getDependencies("scene"),s.getDependencies("animation"),s.getDependencies("camera")])}).then(function(o){const a={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:s,userData:{}};return Or(r,a,i),ir(a,i),Promise.all(s._invokeAll(function(c){return c.afterRoot&&c.afterRoot(a)})).then(function(){e(a)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],s=this.json.meshes||[];for(let i=0,r=n.length;i{const c=this.associations.get(o);c!=null&&this.associations.set(a,c);for(const[d,u]of o.children.entries())r(u,a.children[d])};return r(s,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let s=0;s=2&&b.setY(C,w[A*c+1]),c>=3&&b.setZ(C,w[A*c+2]),c>=4&&b.setW(C,w[A*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return b})}loadTexture(e){const n=this.json,s=this.options,r=n.textures[e].source,o=n.images[r];let a=this.textureLoader;if(o.uri){const c=s.manager.getHandler(o.uri);c!==null&&(a=c)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,n,s){const i=this,r=this.json,o=r.textures[e],a=r.images[n],c=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[c])return this.textureCache[c];const d=this.loadImageSource(n,s).then(function(u){u.flipY=!1,u.name=o.name||a.name||"",u.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(u.name=a.uri);const f=(r.samplers||{})[o.sampler]||{};return u.magFilter=bw[f.magFilter]||zn,u.minFilter=bw[f.minFilter]||so,u.wrapS=Ew[f.wrapS]||pa,u.wrapT=Ew[f.wrapT]||pa,i.associations.set(u,{textures:e}),u}).catch(function(){return null});return this.textureCache[c]=d,d}loadImageSource(e,n){const s=this,i=this.json,r=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(h=>h.clone());const o=i.images[e],a=self.URL||self.webkitURL;let c=o.uri||"",d=!1;if(o.bufferView!==void 0)c=s.getDependency("bufferView",o.bufferView).then(function(h){d=!0;const f=new Blob([h],{type:o.mimeType});return c=a.createObjectURL(f),c});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const u=Promise.resolve(c).then(function(h){return new Promise(function(f,m){let _=f;n.isImageBitmapLoader===!0&&(_=function(g){const b=new Cn(g);b.needsUpdate=!0,f(b)}),n.load(wl.resolveURL(h,r.path),_,void 0,m)})}).then(function(h){return d===!0&&a.revokeObjectURL(c),h.userData.mimeType=o.mimeType||bDt(o.uri),h}).catch(function(h){throw console.error("THREE.GLTFLoader: Couldn't load texture",c),h});return this.sourceCache[e]=u,u}assignTexture(e,n,s,i){const r=this;return this.getDependency("texture",s.index).then(function(o){if(!o)return null;if(s.texCoord!==void 0&&s.texCoord>0&&(o=o.clone(),o.channel=s.texCoord),r.extensions[Rt.KHR_TEXTURE_TRANSFORM]){const a=s.extensions!==void 0?s.extensions[Rt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const c=r.associations.get(o);o=r.extensions[Rt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),r.associations.set(o,c)}}return i!==void 0&&(o.colorSpace=i),e[n]=o,o})}assignFinalMaterial(e){const n=e.geometry;let s=e.material;const i=n.attributes.tangent===void 0,r=n.attributes.color!==void 0,o=n.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+s.uuid;let c=this.cache.get(a);c||(c=new rO,Vs.prototype.copy.call(c,s),c.color.copy(s.color),c.map=s.map,c.sizeAttenuation=!1,this.cache.add(a,c)),s=c}else if(e.isLine){const a="LineBasicMaterial:"+s.uuid;let c=this.cache.get(a);c||(c=new iO,Vs.prototype.copy.call(c,s),c.color.copy(s.color),c.map=s.map,this.cache.add(a,c)),s=c}if(i||r||o){let a="ClonedMaterial:"+s.uuid+":";i&&(a+="derivative-tangents:"),r&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let c=this.cache.get(a);c||(c=s.clone(),r&&(c.vertexColors=!0),o&&(c.flatShading=!0),i&&(c.normalScale&&(c.normalScale.y*=-1),c.clearcoatNormalScale&&(c.clearcoatNormalScale.y*=-1)),this.cache.add(a,c),this.associations.set(c,this.associations.get(s))),s=c}e.material=s}getMaterialType(){return ny}loadMaterial(e){const n=this,s=this.json,i=this.extensions,r=s.materials[e];let o;const a={},c=r.extensions||{},d=[];if(c[Rt.KHR_MATERIALS_UNLIT]){const h=i[Rt.KHR_MATERIALS_UNLIT];o=h.getMaterialType(),d.push(h.extendParams(a,r,n))}else{const h=r.pbrMetallicRoughness||{};if(a.color=new _t(1,1,1),a.opacity=1,Array.isArray(h.baseColorFactor)){const f=h.baseColorFactor;a.color.setRGB(f[0],f[1],f[2],wn),a.opacity=f[3]}h.baseColorTexture!==void 0&&d.push(n.assignTexture(a,"map",h.baseColorTexture,tn)),a.metalness=h.metallicFactor!==void 0?h.metallicFactor:1,a.roughness=h.roughnessFactor!==void 0?h.roughnessFactor:1,h.metallicRoughnessTexture!==void 0&&(d.push(n.assignTexture(a,"metalnessMap",h.metallicRoughnessTexture)),d.push(n.assignTexture(a,"roughnessMap",h.metallicRoughnessTexture))),o=this._invokeOne(function(f){return f.getMaterialType&&f.getMaterialType(e)}),d.push(Promise.all(this._invokeAll(function(f){return f.extendMaterialParams&&f.extendMaterialParams(e,a)})))}r.doubleSided===!0&&(a.side=Js);const u=r.alphaMode||og.OPAQUE;if(u===og.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,u===og.MASK&&(a.alphaTest=r.alphaCutoff!==void 0?r.alphaCutoff:.5)),r.normalTexture!==void 0&&o!==lr&&(d.push(n.assignTexture(a,"normalMap",r.normalTexture)),a.normalScale=new At(1,1),r.normalTexture.scale!==void 0)){const h=r.normalTexture.scale;a.normalScale.set(h,h)}if(r.occlusionTexture!==void 0&&o!==lr&&(d.push(n.assignTexture(a,"aoMap",r.occlusionTexture)),r.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=r.occlusionTexture.strength)),r.emissiveFactor!==void 0&&o!==lr){const h=r.emissiveFactor;a.emissive=new _t().setRGB(h[0],h[1],h[2],wn)}return r.emissiveTexture!==void 0&&o!==lr&&d.push(n.assignTexture(a,"emissiveMap",r.emissiveTexture,tn)),Promise.all(d).then(function(){const h=new o(a);return r.name&&(h.name=r.name),ir(h,r),n.associations.set(h,{materials:e}),r.extensions&&Or(i,h,r),h})}createUniqueName(e){const n=Bt.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,s=this.extensions,i=this.primitiveCache;function r(a){return s[Rt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,n).then(function(c){return yw(c,a,n)})}const o=[];for(let a=0,c=e.length;a0&&mDt(E,r),E.name=n.createUniqueName(r.name||"mesh_"+e),ir(E,r),b.extensions&&Or(i,E,b),n.assignFinalMaterial(E),h.push(E)}for(let m=0,_=h.length;m<_;m++)n.associations.set(h[m],{meshes:e,primitives:m});if(h.length===1)return r.extensions&&Or(i,h[0],r),h[0];const f=new Hr;r.extensions&&Or(i,f,r),n.associations.set(f,{meshes:e});for(let m=0,_=h.length;m<_;m++)f.add(h[m]);return f})}loadCamera(e){let n;const s=this.json.cameras[e],i=s[s.type];if(!i){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return s.type==="perspective"?n=new Fn(QAt.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):s.type==="orthographic"&&(n=new XE(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),s.name&&(n.name=this.createUniqueName(s.name)),ir(n,s),Promise.resolve(n)}loadSkin(e){const n=this.json.skins[e],s=[];for(let i=0,r=n.joints.length;i1?u=new Hr:d.length===1?u=d[0]:u=new Jt,u!==d[0])for(let h=0,f=d.length;h{const h=new Map;for(const[f,m]of i.associations)(f instanceof Vs||f instanceof Cn)&&h.set(f,m);return u.traverse(f=>{const m=i.associations.get(f);m!=null&&h.set(f,m)}),h};return i.associations=d(r),r})}_createAnimationTracks(e,n,s,i,r){const o=[],a=e.name?e.name:e.uuid,c=[];ji[r.path]===ji.weights?e.traverse(function(f){f.morphTargetInfluences&&c.push(f.name?f.name:f.uuid)}):c.push(a);let d;switch(ji[r.path]){case ji.weights:d=ga;break;case ji.rotation:d=oo;break;case ji.position:case ji.scale:d=ba;break;default:switch(s.itemSize){case 1:d=ga;break;case 2:case 3:default:d=ba;break}break}const u=i.interpolation!==void 0?_Dt[i.interpolation]:ha,h=this._getArrayFromAccessor(s);for(let f=0,m=c.length;f{ze.replace()})},stopVideoStream(){this.isVideoActive=!1,this.imageData=null,qe.emit("stop_webcam_video_stream"),Le(()=>{ze.replace()})},startDrag(t){this.isDragging=!0,this.zIndex=5001,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY,document.addEventListener("mousemove",this.drag),document.addEventListener("mouseup",this.stopDrag)},drag(t){if(this.isDragging){const e=t.clientX-this.dragStart.x,n=t.clientY-this.dragStart.y;this.position.bottom-=n,this.position.right-=e,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY}},stopDrag(){this.isDragging=!1,this.zIndex=0,document.removeEventListener("mousemove",this.drag),document.removeEventListener("mouseup",this.stopDrag)}},mounted(){ze.replace(),qe.on("video_stream_image",t=>{if(this.isVideoActive){this.imageDataUrl="data:image/jpeg;base64,"+t,this.frameCount++;const e=Date.now();e-this.lastFrameTime>=1e3&&(this.frameRate=this.frameCount,this.frameCount=0,this.lastFrameTime=e)}})}},TDt=["src"],xDt=["src"],CDt={class:"controls"},wDt=l("i",{"data-feather":"video"},null,-1),RDt=[wDt],ADt=l("i",{"data-feather":"video"},null,-1),NDt=[ADt],ODt={key:2};function MDt(t,e,n,s,i,r){return T(),x("div",{class:"floating-frame bg-white",style:Ht({bottom:i.position.bottom+"px",right:i.position.right+"px","z-index":i.zIndex}),onMousedown:e[4]||(e[4]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[5]||(e[5]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},[l("div",{class:"handle",onMousedown:e[0]||(e[0]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[1]||(e[1]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},"Drag Me",32),i.isVideoActive&&i.imageDataUrl!=null?(T(),x("img",{key:0,src:i.imageDataUrl,alt:"Webcam Frame",width:"300",height:"300"},null,8,TDt)):G("",!0),i.isVideoActive&&i.imageDataUrl==null?(T(),x("p",{key:1,src:i.imageDataUrl,alt:"Webcam Frame",width:"300",height:"300"},"Loading. Please wait...",8,xDt)):G("",!0),l("div",CDt,[i.isVideoActive?G("",!0):(T(),x("button",{key:0,class:"bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded",onClick:e[2]||(e[2]=(...o)=>r.startVideoStream&&r.startVideoStream(...o))},RDt)),i.isVideoActive?(T(),x("button",{key:1,class:"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded",onClick:e[3]||(e[3]=(...o)=>r.stopVideoStream&&r.stopVideoStream(...o))},NDt)):G("",!0),i.isVideoActive?(T(),x("span",ODt,"FPS: "+K(i.frameRate),1)):G("",!0)])],36)}const IDt=ot(SDt,[["render",MDt]]);const kDt={data(){return{isAudioActive:!1,imageDataUrl:null,isDragging:!1,position:{bottom:0,right:0},dragStart:{x:0,y:0},zIndex:0,frameRate:0,frameCount:0,lastFrameTime:Date.now()}},methods:{startAudioStream(){qe.emit("start_audio_stream",()=>{this.isAudioActive=!0}),Le(()=>{ze.replace()})},stopAudioStream(){qe.emit("stop_audio_stream",()=>{this.isAudioActive=!1,this.imageDataUrl=null}),Le(()=>{ze.replace()})},startDrag(t){this.isDragging=!0,this.zIndex=5001,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY,document.addEventListener("mousemove",this.drag),document.addEventListener("mouseup",this.stopDrag)},drag(t){if(this.isDragging){const e=t.clientX-this.dragStart.x,n=t.clientY-this.dragStart.y;this.position.bottom-=n,this.position.right-=e,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY}},stopDrag(){this.isDragging=!1,this.zIndex=0,document.removeEventListener("mousemove",this.drag),document.removeEventListener("mouseup",this.stopDrag)}},mounted(){ze.replace(),qe.on("update_spectrogram",t=>{if(this.isAudioActive){this.imageDataUrl="data:image/jpeg;base64,"+t,this.frameCount++;const e=Date.now();e-this.lastFrameTime>=1e3&&(this.frameRate=this.frameCount,this.frameCount=0,this.lastFrameTime=e)}})}},DDt=["src"],LDt={class:"controls"},PDt=l("i",{"data-feather":"mic"},null,-1),FDt=[PDt],UDt=l("i",{"data-feather":"mic"},null,-1),BDt=[UDt];function GDt(t,e,n,s,i,r){return T(),x("div",{class:"floating-frame bg-white",style:Ht({bottom:i.position.bottom+"px",right:i.position.right+"px","z-index":i.zIndex}),onMousedown:e[4]||(e[4]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[5]||(e[5]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},[l("div",{class:"handle",onMousedown:e[0]||(e[0]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[1]||(e[1]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},"Drag Me",32),i.isAudioActive&&i.imageDataUrl!=null?(T(),x("img",{key:0,src:i.imageDataUrl,alt:"Spectrogram",width:"300",height:"300"},null,8,DDt)):G("",!0),l("div",LDt,[i.isAudioActive?G("",!0):(T(),x("button",{key:0,class:"bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded",onClick:e[2]||(e[2]=(...o)=>r.startAudioStream&&r.startAudioStream(...o))},FDt)),i.isAudioActive?(T(),x("button",{key:1,class:"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded",onClick:e[3]||(e[3]=(...o)=>r.stopAudioStream&&r.stopAudioStream(...o))},BDt)):G("",!0)])],36)}const VDt=ot(kDt,[["render",GDt]]);const zDt={data(){return{activePersonality:null}},props:{personality:{type:Object,default:()=>({})}},components:{VideoFrame:IDt,AudioFrame:VDt},computed:{isReady:{get(){return this.$store.state.ready}}},watch:{"$store.state.mountedPersArr":"updatePersonality","$store.state.config.active_personality_id":"updatePersonality"},async mounted(){for(;this.isReady===!1;)await new Promise(t=>setTimeout(t,100));console.log("Personality:",this.personality),this.initWebGLScene(),this.updatePersonality(),Le(()=>{ze.replace()}),this.$refs.video_frame.position={bottom:0,right:0},this.$refs.audio_frame.position={bottom:0,right:100}},beforeDestroy(){},methods:{initWebGLScene(){this.scene=new nkt,this.camera=new Fn(75,window.innerWidth/window.innerHeight,.1,1e3),this.renderer=new nO,this.renderer.setSize(window.innerWidth,window.innerHeight),this.$refs.webglContainer.appendChild(this.renderer.domElement);const t=new hr,e=new uw({color:65280});this.cube=new Un(t,e),this.scene.add(this.cube);const n=new Mkt(4210752),s=new dO(16777215,.5);s.position.set(0,1,0),this.scene.add(n),this.scene.add(s),this.camera.position.z=5,this.animate()},updatePersonality(){const{mountedPersArr:t,config:e}=this.$store.state;this.activePersonality=t[e.active_personality_id],this.activePersonality.avatar?this.showBoxWithAvatar(this.activePersonality.avatar):this.showDefaultCube(),this.$emit("update:personality",this.activePersonality)},loadScene(t){new zkt().load(t,n=>{this.scene.remove(this.cube),this.cube=n.scene,this.scene.add(this.cube)})},showBoxWithAvatar(t){this.cube&&this.scene.remove(this.cube);const e=new hr,n=new cO().load(t),s=new lr({map:n});this.cube=new Un(e,s),this.scene.add(this.cube)},showDefaultCube(){this.scene.remove(this.cube);const t=new hr,e=new uw({color:65280});this.cube=new Un(t,e),this.scene.add(this.cube)},animate(){requestAnimationFrame(this.animate),this.cube&&(this.cube.rotation.x+=.01,this.cube.rotation.y+=.01),this.renderer.render(this.scene,this.camera)}}},HDt={ref:"webglContainer"},qDt={class:"flex-col y-overflow scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},$Dt={key:0,class:"text-center"},YDt={key:1,class:"text-center"},WDt={class:"floating-frame2"},KDt=["innerHTML"];function jDt(t,e,n,s,i,r){const o=tt("VideoFrame"),a=tt("AudioFrame");return T(),x(Fe,null,[l("div",HDt,null,512),l("div",qDt,[!i.activePersonality||!i.activePersonality.scene_path?(T(),x("div",$Dt," Personality does not have a 3d avatar. ")):G("",!0),!i.activePersonality||!i.activePersonality.avatar||i.activePersonality.avatar===""?(T(),x("div",YDt," Personality does not have an avatar. ")):G("",!0),l("div",WDt,[l("div",{innerHTML:t.htmlContent},null,8,KDt)])]),V(o,{ref:"video_frame"},null,512),V(a,{ref:"audio_frame"},null,512)],64)}const QDt=ot(zDt,[["render",jDt]]);let dd;const XDt=new Uint8Array(16);function ZDt(){if(!dd&&(dd=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!dd))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return dd(XDt)}const vn=[];for(let t=0;t<256;++t)vn.push((t+256).toString(16).slice(1));function JDt(t,e=0){return vn[t[e+0]]+vn[t[e+1]]+vn[t[e+2]]+vn[t[e+3]]+"-"+vn[t[e+4]]+vn[t[e+5]]+"-"+vn[t[e+6]]+vn[t[e+7]]+"-"+vn[t[e+8]]+vn[t[e+9]]+"-"+vn[t[e+10]]+vn[t[e+11]]+vn[t[e+12]]+vn[t[e+13]]+vn[t[e+14]]+vn[t[e+15]]}const eLt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),vw={randomUUID:eLt};function Mi(t,e,n){if(vw.randomUUID&&!e&&!t)return vw.randomUUID();t=t||{};const s=t.random||(t.rng||ZDt)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=s[i];return e}return JDt(s)}class Xr{constructor(){this.listenerMap=new Map,this._listeners=[],this.proxyMap=new Map,this.proxies=[]}get listeners(){return this._listeners.concat(this.proxies.flatMap(e=>e()))}subscribe(e,n){this.listenerMap.has(e)&&(console.warn(`Already subscribed. Unsubscribing for you. +}`;function JIt(t,e,n){let s=new jE;const i=new At,r=new At,o=new $t,a=new jIt({depthPacking:DAt}),c=new QIt,d={},u=n.maxTextureSize,h={[Li]:$n,[$n]:Li,[Js]:Js},f=new ro({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new At},radius:{value:4}},vertexShader:XIt,fragmentShader:ZIt}),m=f.clone();m.defines.HORIZONTAL_PASS=1;const _=new _i;_.setAttribute("position",new Bn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new Un(_,f),b=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=CN;let E=this.type;this.render=function(R,w,A){if(b.enabled===!1||b.autoUpdate===!1&&b.needsUpdate===!1||R.length===0)return;const I=t.getRenderTarget(),C=t.getActiveCubeFace(),O=t.getActiveMipmapLevel(),B=t.state;B.setBlending(ur),B.buffers.color.setClear(1,1,1,1),B.buffers.depth.setTest(!0),B.setScissorTest(!1);const H=E!==Ci&&this.type===Ci,te=E===Ci&&this.type!==Ci;for(let k=0,$=R.length;k<$;k++){const q=R[k],F=q.shadow;if(F===void 0){console.warn("THREE.WebGLShadowMap:",q,"has no shadow.");continue}if(F.autoUpdate===!1&&F.needsUpdate===!1)continue;i.copy(F.mapSize);const W=F.getFrameExtents();if(i.multiply(W),r.copy(F.mapSize),(i.x>u||i.y>u)&&(i.x>u&&(r.x=Math.floor(u/W.x),i.x=r.x*W.x,F.mapSize.x=r.x),i.y>u&&(r.y=Math.floor(u/W.y),i.y=r.y*W.y,F.mapSize.y=r.y)),F.map===null||H===!0||te===!0){const le=this.type!==Ci?{minFilter:gn,magFilter:gn}:{};F.map!==null&&F.map.dispose(),F.map=new io(i.x,i.y,le),F.map.texture.name=q.name+".shadowMap",F.camera.updateProjectionMatrix()}t.setRenderTarget(F.map),t.clear();const ne=F.getViewportCount();for(let le=0;le0||w.map&&w.alphaTest>0){const B=C.uuid,H=w.uuid;let te=d[B];te===void 0&&(te={},d[B]=te);let k=te[H];k===void 0&&(k=C.clone(),te[H]=k),C=k}if(C.visible=w.visible,C.wireframe=w.wireframe,I===Ci?C.side=w.shadowSide!==null?w.shadowSide:w.side:C.side=w.shadowSide!==null?w.shadowSide:h[w.side],C.alphaMap=w.alphaMap,C.alphaTest=w.alphaTest,C.map=w.map,C.clipShadows=w.clipShadows,C.clippingPlanes=w.clippingPlanes,C.clipIntersection=w.clipIntersection,C.displacementMap=w.displacementMap,C.displacementScale=w.displacementScale,C.displacementBias=w.displacementBias,C.wireframeLinewidth=w.wireframeLinewidth,C.linewidth=w.linewidth,A.isPointLight===!0&&C.isMeshDistanceMaterial===!0){const B=t.properties.get(C);B.light=A}return C}function S(R,w,A,I,C){if(R.visible===!1)return;if(R.layers.test(w.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&C===Ci)&&(!R.frustumCulled||s.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(A.matrixWorldInverse,R.matrixWorld);const H=e.update(R),te=R.material;if(Array.isArray(te)){const k=H.groups;for(let $=0,q=k.length;$=1):le.indexOf("OpenGL ES")!==-1&&(ne=parseFloat(/^OpenGL ES (\d)/.exec(le)[1]),W=ne>=2);let me=null,Se={};const de=t.getParameter(t.SCISSOR_BOX),Ee=t.getParameter(t.VIEWPORT),Me=new $t().fromArray(de),ke=new $t().fromArray(Ee);function Z(ee,Qe,Ve,Oe){const He=new Uint8Array(4),lt=t.createTexture();t.bindTexture(ee,lt),t.texParameteri(ee,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(ee,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let Nt=0;Nt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),_=new WeakMap;let g;const b=new WeakMap;let E=!1;try{E=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(L,M){return E?new OffscreenCanvas(L,M):Yl("canvas")}function v(L,M,Q,ye){let X=1;if((L.width>ye||L.height>ye)&&(X=ye/Math.max(L.width,L.height)),X<1||M===!0)if(typeof HTMLImageElement<"u"&&L instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&L instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&L instanceof ImageBitmap){const se=M?lu:Math.floor,Ae=se(X*L.width),Ce=se(X*L.height);g===void 0&&(g=y(Ae,Ce));const Ue=Q?y(Ae,Ce):g;return Ue.width=Ae,Ue.height=Ce,Ue.getContext("2d").drawImage(L,0,0,Ae,Ce),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+L.width+"x"+L.height+") to ("+Ae+"x"+Ce+")."),Ue}else return"data"in L&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+L.width+"x"+L.height+")."),L;return L}function S(L){return sb(L.width)&&sb(L.height)}function R(L){return a?!1:L.wrapS!==us||L.wrapT!==us||L.minFilter!==gn&&L.minFilter!==zn}function w(L,M){return L.generateMipmaps&&M&&L.minFilter!==gn&&L.minFilter!==zn}function A(L){t.generateMipmap(L)}function I(L,M,Q,ye,X=!1){if(a===!1)return M;if(L!==null){if(t[L]!==void 0)return t[L];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+L+"'")}let se=M;if(M===t.RED&&(Q===t.FLOAT&&(se=t.R32F),Q===t.HALF_FLOAT&&(se=t.R16F),Q===t.UNSIGNED_BYTE&&(se=t.R8)),M===t.RED_INTEGER&&(Q===t.UNSIGNED_BYTE&&(se=t.R8UI),Q===t.UNSIGNED_SHORT&&(se=t.R16UI),Q===t.UNSIGNED_INT&&(se=t.R32UI),Q===t.BYTE&&(se=t.R8I),Q===t.SHORT&&(se=t.R16I),Q===t.INT&&(se=t.R32I)),M===t.RG&&(Q===t.FLOAT&&(se=t.RG32F),Q===t.HALF_FLOAT&&(se=t.RG16F),Q===t.UNSIGNED_BYTE&&(se=t.RG8)),M===t.RGBA){const Ae=X?iu:Ft.getTransfer(ye);Q===t.FLOAT&&(se=t.RGBA32F),Q===t.HALF_FLOAT&&(se=t.RGBA16F),Q===t.UNSIGNED_BYTE&&(se=Ae===Kt?t.SRGB8_ALPHA8:t.RGBA8),Q===t.UNSIGNED_SHORT_4_4_4_4&&(se=t.RGBA4),Q===t.UNSIGNED_SHORT_5_5_5_1&&(se=t.RGB5_A1)}return(se===t.R16F||se===t.R32F||se===t.RG16F||se===t.RG32F||se===t.RGBA16F||se===t.RGBA32F)&&e.get("EXT_color_buffer_float"),se}function C(L,M,Q){return w(L,Q)===!0||L.isFramebufferTexture&&L.minFilter!==gn&&L.minFilter!==zn?Math.log2(Math.max(M.width,M.height))+1:L.mipmaps!==void 0&&L.mipmaps.length>0?L.mipmaps.length:L.isCompressedTexture&&Array.isArray(L.image)?M.mipmaps.length:1}function O(L){return L===gn||L===Jg||L===wd?t.NEAREST:t.LINEAR}function B(L){const M=L.target;M.removeEventListener("dispose",B),te(M),M.isVideoTexture&&_.delete(M)}function H(L){const M=L.target;M.removeEventListener("dispose",H),$(M)}function te(L){const M=s.get(L);if(M.__webglInit===void 0)return;const Q=L.source,ye=b.get(Q);if(ye){const X=ye[M.__cacheKey];X.usedTimes--,X.usedTimes===0&&k(L),Object.keys(ye).length===0&&b.delete(Q)}s.remove(L)}function k(L){const M=s.get(L);t.deleteTexture(M.__webglTexture);const Q=L.source,ye=b.get(Q);delete ye[M.__cacheKey],o.memory.textures--}function $(L){const M=L.texture,Q=s.get(L),ye=s.get(M);if(ye.__webglTexture!==void 0&&(t.deleteTexture(ye.__webglTexture),o.memory.textures--),L.depthTexture&&L.depthTexture.dispose(),L.isWebGLCubeRenderTarget)for(let X=0;X<6;X++){if(Array.isArray(Q.__webglFramebuffer[X]))for(let se=0;se=c&&console.warn("THREE.WebGLTextures: Trying to use "+L+" texture units while this GPU supports only "+c),q+=1,L}function ne(L){const M=[];return M.push(L.wrapS),M.push(L.wrapT),M.push(L.wrapR||0),M.push(L.magFilter),M.push(L.minFilter),M.push(L.anisotropy),M.push(L.internalFormat),M.push(L.format),M.push(L.type),M.push(L.generateMipmaps),M.push(L.premultiplyAlpha),M.push(L.flipY),M.push(L.unpackAlignment),M.push(L.colorSpace),M.join()}function le(L,M){const Q=s.get(L);if(L.isVideoTexture&&ge(L),L.isRenderTargetTexture===!1&&L.version>0&&Q.__version!==L.version){const ye=L.image;if(ye===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(ye.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{_e(Q,L,M);return}}n.bindTexture(t.TEXTURE_2D,Q.__webglTexture,t.TEXTURE0+M)}function me(L,M){const Q=s.get(L);if(L.version>0&&Q.__version!==L.version){_e(Q,L,M);return}n.bindTexture(t.TEXTURE_2D_ARRAY,Q.__webglTexture,t.TEXTURE0+M)}function Se(L,M){const Q=s.get(L);if(L.version>0&&Q.__version!==L.version){_e(Q,L,M);return}n.bindTexture(t.TEXTURE_3D,Q.__webglTexture,t.TEXTURE0+M)}function de(L,M){const Q=s.get(L);if(L.version>0&&Q.__version!==L.version){we(Q,L,M);return}n.bindTexture(t.TEXTURE_CUBE_MAP,Q.__webglTexture,t.TEXTURE0+M)}const Ee={[pa]:t.REPEAT,[us]:t.CLAMP_TO_EDGE,[su]:t.MIRRORED_REPEAT},Me={[gn]:t.NEAREST,[Jg]:t.NEAREST_MIPMAP_NEAREST,[wd]:t.NEAREST_MIPMAP_LINEAR,[zn]:t.LINEAR,[RN]:t.LINEAR_MIPMAP_NEAREST,[so]:t.LINEAR_MIPMAP_LINEAR},ke={[PAt]:t.NEVER,[zAt]:t.ALWAYS,[FAt]:t.LESS,[FN]:t.LEQUAL,[UAt]:t.EQUAL,[VAt]:t.GEQUAL,[BAt]:t.GREATER,[GAt]:t.NOTEQUAL};function Z(L,M,Q){if(Q?(t.texParameteri(L,t.TEXTURE_WRAP_S,Ee[M.wrapS]),t.texParameteri(L,t.TEXTURE_WRAP_T,Ee[M.wrapT]),(L===t.TEXTURE_3D||L===t.TEXTURE_2D_ARRAY)&&t.texParameteri(L,t.TEXTURE_WRAP_R,Ee[M.wrapR]),t.texParameteri(L,t.TEXTURE_MAG_FILTER,Me[M.magFilter]),t.texParameteri(L,t.TEXTURE_MIN_FILTER,Me[M.minFilter])):(t.texParameteri(L,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(L,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(L===t.TEXTURE_3D||L===t.TEXTURE_2D_ARRAY)&&t.texParameteri(L,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(M.wrapS!==us||M.wrapT!==us)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(L,t.TEXTURE_MAG_FILTER,O(M.magFilter)),t.texParameteri(L,t.TEXTURE_MIN_FILTER,O(M.minFilter)),M.minFilter!==gn&&M.minFilter!==zn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),M.compareFunction&&(t.texParameteri(L,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(L,t.TEXTURE_COMPARE_FUNC,ke[M.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const ye=e.get("EXT_texture_filter_anisotropic");if(M.magFilter===gn||M.minFilter!==wd&&M.minFilter!==so||M.type===Ai&&e.has("OES_texture_float_linear")===!1||a===!1&&M.type===ql&&e.has("OES_texture_half_float_linear")===!1)return;(M.anisotropy>1||s.get(M).__currentAnisotropy)&&(t.texParameterf(L,ye.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(M.anisotropy,i.getMaxAnisotropy())),s.get(M).__currentAnisotropy=M.anisotropy)}}function he(L,M){let Q=!1;L.__webglInit===void 0&&(L.__webglInit=!0,M.addEventListener("dispose",B));const ye=M.source;let X=b.get(ye);X===void 0&&(X={},b.set(ye,X));const se=ne(M);if(se!==L.__cacheKey){X[se]===void 0&&(X[se]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,Q=!0),X[se].usedTimes++;const Ae=X[L.__cacheKey];Ae!==void 0&&(X[L.__cacheKey].usedTimes--,Ae.usedTimes===0&&k(M)),L.__cacheKey=se,L.__webglTexture=X[se].texture}return Q}function _e(L,M,Q){let ye=t.TEXTURE_2D;(M.isDataArrayTexture||M.isCompressedArrayTexture)&&(ye=t.TEXTURE_2D_ARRAY),M.isData3DTexture&&(ye=t.TEXTURE_3D);const X=he(L,M),se=M.source;n.bindTexture(ye,L.__webglTexture,t.TEXTURE0+Q);const Ae=s.get(se);if(se.version!==Ae.__version||X===!0){n.activeTexture(t.TEXTURE0+Q);const Ce=Ft.getPrimaries(Ft.workingColorSpace),Ue=M.colorSpace===_s?null:Ft.getPrimaries(M.colorSpace),Ze=M.colorSpace===_s||Ce===Ue?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,M.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,M.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,M.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ze);const ft=R(M)&&S(M.image)===!1;let Be=v(M.image,ft,!1,u);Be=De(M,Be);const pt=S(Be)||a,st=r.convert(M.format,M.colorSpace);let Ye=r.convert(M.type),nt=I(M.internalFormat,st,Ye,M.colorSpace,M.isVideoTexture);Z(ye,M,pt);let je;const yt=M.mipmaps,ee=a&&M.isVideoTexture!==!0&&nt!==DN,Qe=Ae.__version===void 0||X===!0,Ve=C(M,Be,pt);if(M.isDepthTexture)nt=t.DEPTH_COMPONENT,a?M.type===Ai?nt=t.DEPTH_COMPONENT32F:M.type===ar?nt=t.DEPTH_COMPONENT24:M.type===Kr?nt=t.DEPTH24_STENCIL8:nt=t.DEPTH_COMPONENT16:M.type===Ai&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),M.format===jr&&nt===t.DEPTH_COMPONENT&&M.type!==$E&&M.type!==ar&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),M.type=ar,Ye=r.convert(M.type)),M.format===_a&&nt===t.DEPTH_COMPONENT&&(nt=t.DEPTH_STENCIL,M.type!==Kr&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),M.type=Kr,Ye=r.convert(M.type))),Qe&&(ee?n.texStorage2D(t.TEXTURE_2D,1,nt,Be.width,Be.height):n.texImage2D(t.TEXTURE_2D,0,nt,Be.width,Be.height,0,st,Ye,null));else if(M.isDataTexture)if(yt.length>0&&pt){ee&&Qe&&n.texStorage2D(t.TEXTURE_2D,Ve,nt,yt[0].width,yt[0].height);for(let Oe=0,He=yt.length;Oe>=1,He>>=1}}else if(yt.length>0&&pt){ee&&Qe&&n.texStorage2D(t.TEXTURE_2D,Ve,nt,yt[0].width,yt[0].height);for(let Oe=0,He=yt.length;Oe0&&Qe++,n.texStorage2D(t.TEXTURE_CUBE_MAP,Qe,je,Be[0].width,Be[0].height));for(let Oe=0;Oe<6;Oe++)if(ft){yt?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,0,0,0,Be[Oe].width,Be[Oe].height,Ye,nt,Be[Oe].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,0,je,Be[Oe].width,Be[Oe].height,0,Ye,nt,Be[Oe].data);for(let He=0;He>se),Be=Math.max(1,M.height>>se);X===t.TEXTURE_3D||X===t.TEXTURE_2D_ARRAY?n.texImage3D(X,se,Ue,ft,Be,M.depth,0,Ae,Ce,null):n.texImage2D(X,se,Ue,ft,Be,0,Ae,Ce,null)}n.bindFramebuffer(t.FRAMEBUFFER,L),Re(M)?f.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,ye,X,s.get(Q).__webglTexture,0,ie(M)):(X===t.TEXTURE_2D||X>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&X<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,ye,X,s.get(Q).__webglTexture,se),n.bindFramebuffer(t.FRAMEBUFFER,null)}function N(L,M,Q){if(t.bindRenderbuffer(t.RENDERBUFFER,L),M.depthBuffer&&!M.stencilBuffer){let ye=a===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(Q||Re(M)){const X=M.depthTexture;X&&X.isDepthTexture&&(X.type===Ai?ye=t.DEPTH_COMPONENT32F:X.type===ar&&(ye=t.DEPTH_COMPONENT24));const se=ie(M);Re(M)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,se,ye,M.width,M.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,se,ye,M.width,M.height)}else t.renderbufferStorage(t.RENDERBUFFER,ye,M.width,M.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,L)}else if(M.depthBuffer&&M.stencilBuffer){const ye=ie(M);Q&&Re(M)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,ye,t.DEPTH24_STENCIL8,M.width,M.height):Re(M)?f.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,ye,t.DEPTH24_STENCIL8,M.width,M.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,M.width,M.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,L)}else{const ye=M.isWebGLMultipleRenderTargets===!0?M.texture:[M.texture];for(let X=0;X0){Q.__webglFramebuffer[Ce]=[];for(let Ue=0;Ue0){Q.__webglFramebuffer=[];for(let Ce=0;Ce0&&Re(L)===!1){const Ce=se?M:[M];Q.__webglMultisampledFramebuffer=t.createFramebuffer(),Q.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,Q.__webglMultisampledFramebuffer);for(let Ue=0;Ue0)for(let Ue=0;Ue0)for(let Ue=0;Ue0&&Re(L)===!1){const M=L.isWebGLMultipleRenderTargets?L.texture:[L.texture],Q=L.width,ye=L.height;let X=t.COLOR_BUFFER_BIT;const se=[],Ae=L.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Ce=s.get(L),Ue=L.isWebGLMultipleRenderTargets===!0;if(Ue)for(let Ze=0;Ze0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&M.__useRenderToTexture!==!1}function ge(L){const M=o.render.frame;_.get(L)!==M&&(_.set(L,M),L.update())}function De(L,M){const Q=L.colorSpace,ye=L.format,X=L.type;return L.isCompressedTexture===!0||L.isVideoTexture===!0||L.format===nb||Q!==wn&&Q!==_s&&(Ft.getTransfer(Q)===Kt?a===!1?e.has("EXT_sRGB")===!0&&ye===ps?(L.format=nb,L.minFilter=zn,L.generateMipmaps=!1):M=BN.sRGBToLinear(M):(ye!==ps||X!==_r)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Q)),M}this.allocateTextureUnit=W,this.resetTextureUnits=F,this.setTexture2D=le,this.setTexture2DArray=me,this.setTexture3D=Se,this.setTextureCube=de,this.rebindTextures=ce,this.setupRenderTarget=re,this.updateRenderTargetMipmap=xe,this.updateMultisampleRenderTarget=Ne,this.setupDepthRenderbuffer=Y,this.setupFrameBufferTexture=Pe,this.useMultisampledRTT=Re}function nkt(t,e,n){const s=n.isWebGL2;function i(r,o=_s){let a;const c=Ft.getTransfer(o);if(r===_r)return t.UNSIGNED_BYTE;if(r===NN)return t.UNSIGNED_SHORT_4_4_4_4;if(r===ON)return t.UNSIGNED_SHORT_5_5_5_1;if(r===TAt)return t.BYTE;if(r===xAt)return t.SHORT;if(r===$E)return t.UNSIGNED_SHORT;if(r===AN)return t.INT;if(r===ar)return t.UNSIGNED_INT;if(r===Ai)return t.FLOAT;if(r===ql)return s?t.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(r===CAt)return t.ALPHA;if(r===ps)return t.RGBA;if(r===wAt)return t.LUMINANCE;if(r===RAt)return t.LUMINANCE_ALPHA;if(r===jr)return t.DEPTH_COMPONENT;if(r===_a)return t.DEPTH_STENCIL;if(r===nb)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(r===AAt)return t.RED;if(r===MN)return t.RED_INTEGER;if(r===NAt)return t.RG;if(r===IN)return t.RG_INTEGER;if(r===kN)return t.RGBA_INTEGER;if(r===Cm||r===wm||r===Rm||r===Am)if(c===Kt)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(r===Cm)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===wm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===Rm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===Am)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(r===Cm)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===wm)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===Rm)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===Am)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===L1||r===P1||r===F1||r===U1)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(r===L1)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===P1)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===F1)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===U1)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===DN)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(r===B1||r===G1)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(r===B1)return c===Kt?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(r===G1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===V1||r===z1||r===H1||r===q1||r===$1||r===Y1||r===W1||r===K1||r===j1||r===Q1||r===X1||r===Z1||r===J1||r===eC)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(r===V1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===z1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===H1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===q1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===$1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===Y1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===W1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===K1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===j1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===Q1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===X1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===Z1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===J1)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===eC)return c===Kt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===Nm||r===tC||r===nC)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(r===Nm)return c===Kt?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===tC)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===nC)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===OAt||r===sC||r===iC||r===rC)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(r===Nm)return a.COMPRESSED_RED_RGTC1_EXT;if(r===sC)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===iC)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===rC)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Kr?s?t.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):t[r]!==void 0?t[r]:null}return{convert:i}}class skt extends Fn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Hr extends Jt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const ikt={type:"move"};class Jm{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Hr,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Hr,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ae,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ae),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Hr,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ae,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ae),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const s of e.hand.values())this._getHandJoint(n,s)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,s){let i=null,r=null,o=null;const a=this._targetRay,c=this._grip,d=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const g of e.hand.values()){const b=n.getJointPose(g,s),E=this._getHandJoint(d,g);b!==null&&(E.matrix.fromArray(b.transform.matrix),E.matrix.decompose(E.position,E.rotation,E.scale),E.matrixWorldNeedsUpdate=!0,E.jointRadius=b.radius),E.visible=b!==null}const u=d.joints["index-finger-tip"],h=d.joints["thumb-tip"],f=u.position.distanceTo(h.position),m=.02,_=.005;d.inputState.pinching&&f>m+_?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&f<=m-_&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else c!==null&&e.gripSpace&&(r=n.getPose(e.gripSpace,s),r!==null&&(c.matrix.fromArray(r.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,r.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(r.linearVelocity)):c.hasLinearVelocity=!1,r.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(r.angularVelocity)):c.hasAngularVelocity=!1));a!==null&&(i=n.getPose(e.targetRaySpace,s),i===null&&r!==null&&(i=r),i!==null&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(ikt)))}return a!==null&&(a.visible=i!==null),c!==null&&(c.visible=r!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const s=new Hr;s.matrixAutoUpdate=!1,s.visible=!1,e.joints[n.jointName]=s,e.add(s)}return e.joints[n.jointName]}}class rkt extends Fa{constructor(e,n){super();const s=this;let i=null,r=1,o=null,a="local-floor",c=1,d=null,u=null,h=null,f=null,m=null,_=null;const g=n.getContextAttributes();let b=null,E=null;const y=[],v=[],S=new At;let R=null;const w=new Fn;w.layers.enable(1),w.viewport=new $t;const A=new Fn;A.layers.enable(2),A.viewport=new $t;const I=[w,A],C=new skt;C.layers.enable(1),C.layers.enable(2);let O=null,B=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(de){let Ee=y[de];return Ee===void 0&&(Ee=new Jm,y[de]=Ee),Ee.getTargetRaySpace()},this.getControllerGrip=function(de){let Ee=y[de];return Ee===void 0&&(Ee=new Jm,y[de]=Ee),Ee.getGripSpace()},this.getHand=function(de){let Ee=y[de];return Ee===void 0&&(Ee=new Jm,y[de]=Ee),Ee.getHandSpace()};function H(de){const Ee=v.indexOf(de.inputSource);if(Ee===-1)return;const Me=y[Ee];Me!==void 0&&(Me.update(de.inputSource,de.frame,d||o),Me.dispatchEvent({type:de.type,data:de.inputSource}))}function te(){i.removeEventListener("select",H),i.removeEventListener("selectstart",H),i.removeEventListener("selectend",H),i.removeEventListener("squeeze",H),i.removeEventListener("squeezestart",H),i.removeEventListener("squeezeend",H),i.removeEventListener("end",te),i.removeEventListener("inputsourceschange",k);for(let de=0;de=0&&(v[ke]=null,y[ke].disconnect(Me))}for(let Ee=0;Ee=v.length){v.push(Me),ke=he;break}else if(v[he]===null){v[he]=Me,ke=he;break}if(ke===-1)break}const Z=y[ke];Z&&Z.connect(Me)}}const $=new ae,q=new ae;function F(de,Ee,Me){$.setFromMatrixPosition(Ee.matrixWorld),q.setFromMatrixPosition(Me.matrixWorld);const ke=$.distanceTo(q),Z=Ee.projectionMatrix.elements,he=Me.projectionMatrix.elements,_e=Z[14]/(Z[10]-1),we=Z[14]/(Z[10]+1),Pe=(Z[9]+1)/Z[5],N=(Z[9]-1)/Z[5],z=(Z[8]-1)/Z[0],Y=(he[8]+1)/he[0],ce=_e*z,re=_e*Y,xe=ke/(-z+Y),Ne=xe*-z;Ee.matrixWorld.decompose(de.position,de.quaternion,de.scale),de.translateX(Ne),de.translateZ(xe),de.matrixWorld.compose(de.position,de.quaternion,de.scale),de.matrixWorldInverse.copy(de.matrixWorld).invert();const ie=_e+xe,Re=we+xe,ge=ce-Ne,De=re+(ke-Ne),L=Pe*we/Re*ie,M=N*we/Re*ie;de.projectionMatrix.makePerspective(ge,De,L,M,ie,Re),de.projectionMatrixInverse.copy(de.projectionMatrix).invert()}function W(de,Ee){Ee===null?de.matrixWorld.copy(de.matrix):de.matrixWorld.multiplyMatrices(Ee.matrixWorld,de.matrix),de.matrixWorldInverse.copy(de.matrixWorld).invert()}this.updateCamera=function(de){if(i===null)return;C.near=A.near=w.near=de.near,C.far=A.far=w.far=de.far,(O!==C.near||B!==C.far)&&(i.updateRenderState({depthNear:C.near,depthFar:C.far}),O=C.near,B=C.far);const Ee=de.parent,Me=C.cameras;W(C,Ee);for(let ke=0;ke0&&(b.alphaTest.value=E.alphaTest);const y=e.get(E).envMap;if(y&&(b.envMap.value=y,b.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,b.reflectivity.value=E.reflectivity,b.ior.value=E.ior,b.refractionRatio.value=E.refractionRatio),E.lightMap){b.lightMap.value=E.lightMap;const v=t._useLegacyLights===!0?Math.PI:1;b.lightMapIntensity.value=E.lightMapIntensity*v,n(E.lightMap,b.lightMapTransform)}E.aoMap&&(b.aoMap.value=E.aoMap,b.aoMapIntensity.value=E.aoMapIntensity,n(E.aoMap,b.aoMapTransform))}function o(b,E){b.diffuse.value.copy(E.color),b.opacity.value=E.opacity,E.map&&(b.map.value=E.map,n(E.map,b.mapTransform))}function a(b,E){b.dashSize.value=E.dashSize,b.totalSize.value=E.dashSize+E.gapSize,b.scale.value=E.scale}function c(b,E,y,v){b.diffuse.value.copy(E.color),b.opacity.value=E.opacity,b.size.value=E.size*y,b.scale.value=v*.5,E.map&&(b.map.value=E.map,n(E.map,b.uvTransform)),E.alphaMap&&(b.alphaMap.value=E.alphaMap,n(E.alphaMap,b.alphaMapTransform)),E.alphaTest>0&&(b.alphaTest.value=E.alphaTest)}function d(b,E){b.diffuse.value.copy(E.color),b.opacity.value=E.opacity,b.rotation.value=E.rotation,E.map&&(b.map.value=E.map,n(E.map,b.mapTransform)),E.alphaMap&&(b.alphaMap.value=E.alphaMap,n(E.alphaMap,b.alphaMapTransform)),E.alphaTest>0&&(b.alphaTest.value=E.alphaTest)}function u(b,E){b.specular.value.copy(E.specular),b.shininess.value=Math.max(E.shininess,1e-4)}function h(b,E){E.gradientMap&&(b.gradientMap.value=E.gradientMap)}function f(b,E){b.metalness.value=E.metalness,E.metalnessMap&&(b.metalnessMap.value=E.metalnessMap,n(E.metalnessMap,b.metalnessMapTransform)),b.roughness.value=E.roughness,E.roughnessMap&&(b.roughnessMap.value=E.roughnessMap,n(E.roughnessMap,b.roughnessMapTransform)),e.get(E).envMap&&(b.envMapIntensity.value=E.envMapIntensity)}function m(b,E,y){b.ior.value=E.ior,E.sheen>0&&(b.sheenColor.value.copy(E.sheenColor).multiplyScalar(E.sheen),b.sheenRoughness.value=E.sheenRoughness,E.sheenColorMap&&(b.sheenColorMap.value=E.sheenColorMap,n(E.sheenColorMap,b.sheenColorMapTransform)),E.sheenRoughnessMap&&(b.sheenRoughnessMap.value=E.sheenRoughnessMap,n(E.sheenRoughnessMap,b.sheenRoughnessMapTransform))),E.clearcoat>0&&(b.clearcoat.value=E.clearcoat,b.clearcoatRoughness.value=E.clearcoatRoughness,E.clearcoatMap&&(b.clearcoatMap.value=E.clearcoatMap,n(E.clearcoatMap,b.clearcoatMapTransform)),E.clearcoatRoughnessMap&&(b.clearcoatRoughnessMap.value=E.clearcoatRoughnessMap,n(E.clearcoatRoughnessMap,b.clearcoatRoughnessMapTransform)),E.clearcoatNormalMap&&(b.clearcoatNormalMap.value=E.clearcoatNormalMap,n(E.clearcoatNormalMap,b.clearcoatNormalMapTransform),b.clearcoatNormalScale.value.copy(E.clearcoatNormalScale),E.side===$n&&b.clearcoatNormalScale.value.negate())),E.iridescence>0&&(b.iridescence.value=E.iridescence,b.iridescenceIOR.value=E.iridescenceIOR,b.iridescenceThicknessMinimum.value=E.iridescenceThicknessRange[0],b.iridescenceThicknessMaximum.value=E.iridescenceThicknessRange[1],E.iridescenceMap&&(b.iridescenceMap.value=E.iridescenceMap,n(E.iridescenceMap,b.iridescenceMapTransform)),E.iridescenceThicknessMap&&(b.iridescenceThicknessMap.value=E.iridescenceThicknessMap,n(E.iridescenceThicknessMap,b.iridescenceThicknessMapTransform))),E.transmission>0&&(b.transmission.value=E.transmission,b.transmissionSamplerMap.value=y.texture,b.transmissionSamplerSize.value.set(y.width,y.height),E.transmissionMap&&(b.transmissionMap.value=E.transmissionMap,n(E.transmissionMap,b.transmissionMapTransform)),b.thickness.value=E.thickness,E.thicknessMap&&(b.thicknessMap.value=E.thicknessMap,n(E.thicknessMap,b.thicknessMapTransform)),b.attenuationDistance.value=E.attenuationDistance,b.attenuationColor.value.copy(E.attenuationColor)),E.anisotropy>0&&(b.anisotropyVector.value.set(E.anisotropy*Math.cos(E.anisotropyRotation),E.anisotropy*Math.sin(E.anisotropyRotation)),E.anisotropyMap&&(b.anisotropyMap.value=E.anisotropyMap,n(E.anisotropyMap,b.anisotropyMapTransform))),b.specularIntensity.value=E.specularIntensity,b.specularColor.value.copy(E.specularColor),E.specularColorMap&&(b.specularColorMap.value=E.specularColorMap,n(E.specularColorMap,b.specularColorMapTransform)),E.specularIntensityMap&&(b.specularIntensityMap.value=E.specularIntensityMap,n(E.specularIntensityMap,b.specularIntensityMapTransform))}function _(b,E){E.matcap&&(b.matcap.value=E.matcap)}function g(b,E){const y=e.get(E).light;b.referencePosition.value.setFromMatrixPosition(y.matrixWorld),b.nearDistance.value=y.shadow.camera.near,b.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:s,refreshMaterialUniforms:i}}function akt(t,e,n,s){let i={},r={},o=[];const a=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function c(y,v){const S=v.program;s.uniformBlockBinding(y,S)}function d(y,v){let S=i[y.id];S===void 0&&(_(y),S=u(y),i[y.id]=S,y.addEventListener("dispose",b));const R=v.program;s.updateUBOMapping(y,R);const w=e.render.frame;r[y.id]!==w&&(f(y),r[y.id]=w)}function u(y){const v=h();y.__bindingPointIndex=v;const S=t.createBuffer(),R=y.__size,w=y.usage;return t.bindBuffer(t.UNIFORM_BUFFER,S),t.bufferData(t.UNIFORM_BUFFER,R,w),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,v,S),S}function h(){for(let y=0;y0){w=S%R;const H=R-w;w!==0&&H-O.boundary<0&&(S+=R-w,C.__offset=S)}S+=O.storage}return w=S%R,w>0&&(S+=R-w),y.__size=S,y.__cache={},this}function g(y){const v={boundary:0,storage:0};return typeof y=="number"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function b(y){const v=y.target;v.removeEventListener("dispose",b);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),t.deleteBuffer(i[v.id]),delete i[v.id],delete r[v.id]}function E(){for(const y in i)t.deleteBuffer(i[y]);o=[],i={},r={}}return{bind:c,update:d,dispose:E}}class nO{constructor(e={}){const{canvas:n=i2t(),context:s=null,depth:i=!0,stencil:r=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:c=!0,preserveDrawingBuffer:d=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let f;s!==null?f=s.getContextAttributes().alpha:f=o;const m=new Uint32Array(4),_=new Int32Array(4);let g=null,b=null;const E=[],y=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=tn,this._useLegacyLights=!1,this.toneMapping=pr,this.toneMappingExposure=1;const v=this;let S=!1,R=0,w=0,A=null,I=-1,C=null;const O=new $t,B=new $t;let H=null;const te=new _t(0);let k=0,$=n.width,q=n.height,F=1,W=null,ne=null;const le=new $t(0,0,$,q),me=new $t(0,0,$,q);let Se=!1;const de=new jE;let Ee=!1,Me=!1,ke=null;const Z=new xt,he=new At,_e=new ae,we={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Pe(){return A===null?F:1}let N=s;function z(U,ue){for(let be=0;be{function Xe(){if(ve.forEach(function(it){Ne.get(it).currentProgram.isReady()&&ve.delete(it)}),ve.size===0){fe(U);return}setTimeout(Xe,10)}Y.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let Nt=null;function sn(U){Nt&&Nt(U)}function En(){yn.stop()}function Gt(){yn.start()}const yn=new jN;yn.setAnimationLoop(sn),typeof self<"u"&&yn.setContext(self),this.setAnimationLoop=function(U){Nt=U,je.setAnimationLoop(U),U===null?yn.stop():yn.start()},je.addEventListener("sessionstart",En),je.addEventListener("sessionend",Gt),this.render=function(U,ue){if(ue!==void 0&&ue.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;U.matrixWorldAutoUpdate===!0&&U.updateMatrixWorld(),ue.parent===null&&ue.matrixWorldAutoUpdate===!0&&ue.updateMatrixWorld(),je.enabled===!0&&je.isPresenting===!0&&(je.cameraAutoUpdate===!0&&je.updateCamera(ue),ue=je.getCamera()),U.isScene===!0&&U.onBeforeRender(v,U,ue,A),b=se.get(U,y.length),b.init(),y.push(b),Z.multiplyMatrices(ue.projectionMatrix,ue.matrixWorldInverse),de.setFromProjectionMatrix(Z),Me=this.localClippingEnabled,Ee=Ae.init(this.clippingPlanes,Me),g=X.get(U,E.length),g.init(),E.push(g),rs(U,ue,0,v.sortObjects),g.finish(),v.sortObjects===!0&&g.sort(W,ne),this.info.render.frame++,Ee===!0&&Ae.beginShadows();const be=b.state.shadowsArray;if(Ce.render(be,U,ue),Ee===!0&&Ae.endShadows(),this.info.autoReset===!0&&this.info.reset(),Ue.render(g,U),b.setupLights(v._useLegacyLights),ue.isArrayCamera){const ve=ue.cameras;for(let fe=0,Xe=ve.length;fe0?b=y[y.length-1]:b=null,E.pop(),E.length>0?g=E[E.length-1]:g=null};function rs(U,ue,be,ve){if(U.visible===!1)return;if(U.layers.test(ue.layers)){if(U.isGroup)be=U.renderOrder;else if(U.isLOD)U.autoUpdate===!0&&U.update(ue);else if(U.isLight)b.pushLight(U),U.castShadow&&b.pushShadow(U);else if(U.isSprite){if(!U.frustumCulled||de.intersectsSprite(U)){ve&&_e.setFromMatrixPosition(U.matrixWorld).applyMatrix4(Z);const it=M.update(U),at=U.material;at.visible&&g.push(U,it,at,be,_e.z,null)}}else if((U.isMesh||U.isLine||U.isPoints)&&(!U.frustumCulled||de.intersectsObject(U))){const it=M.update(U),at=U.material;if(ve&&(U.boundingSphere!==void 0?(U.boundingSphere===null&&U.computeBoundingSphere(),_e.copy(U.boundingSphere.center)):(it.boundingSphere===null&&it.computeBoundingSphere(),_e.copy(it.boundingSphere.center)),_e.applyMatrix4(U.matrixWorld).applyMatrix4(Z)),Array.isArray(at)){const ut=it.groups;for(let Et=0,ht=ut.length;Et0&&lp(fe,Xe,ue,be),ve&&re.viewport(O.copy(ve)),fe.length>0&&uo(fe,ue,be),Xe.length>0&&uo(Xe,ue,be),it.length>0&&uo(it,ue,be),re.buffers.depth.setTest(!0),re.buffers.depth.setMask(!0),re.buffers.color.setMask(!0),re.setPolygonOffset(!1)}function lp(U,ue,be,ve){if((be.isScene===!0?be.overrideMaterial:null)!==null)return;const Xe=ce.isWebGL2;ke===null&&(ke=new io(1,1,{generateMipmaps:!0,type:Y.has("EXT_color_buffer_half_float")?ql:_r,minFilter:so,samples:Xe?4:0})),v.getDrawingBufferSize(he),Xe?ke.setSize(he.x,he.y):ke.setSize(lu(he.x),lu(he.y));const it=v.getRenderTarget();v.setRenderTarget(ke),v.getClearColor(te),k=v.getClearAlpha(),k<1&&v.setClearColor(16777215,.5),v.clear();const at=v.toneMapping;v.toneMapping=pr,uo(U,be,ve),ie.updateMultisampleRenderTarget(ke),ie.updateRenderTargetMipmap(ke);let ut=!1;for(let Et=0,ht=ue.length;Et0),mt=!!be.morphAttributes.position,Zt=!!be.morphAttributes.normal,kn=!!be.morphAttributes.color;let rn=pr;ve.toneMapped&&(A===null||A.isXRRenderTarget===!0)&&(rn=v.toneMapping);const ws=be.morphAttributes.position||be.morphAttributes.normal||be.morphAttributes.color,Wt=ws!==void 0?ws.length:0,vt=Ne.get(ve),Ha=b.state.lights;if(Ee===!0&&(Me===!0||U!==C)){const Gn=U===C&&ve.id===I;Ae.setState(ve,U,Gn)}let Qt=!1;ve.version===vt.__version?(vt.needsLights&&vt.lightsStateVersion!==Ha.state.version||vt.outputColorSpace!==at||fe.isBatchedMesh&&vt.batching===!1||!fe.isBatchedMesh&&vt.batching===!0||fe.isInstancedMesh&&vt.instancing===!1||!fe.isInstancedMesh&&vt.instancing===!0||fe.isSkinnedMesh&&vt.skinning===!1||!fe.isSkinnedMesh&&vt.skinning===!0||fe.isInstancedMesh&&vt.instancingColor===!0&&fe.instanceColor===null||fe.isInstancedMesh&&vt.instancingColor===!1&&fe.instanceColor!==null||vt.envMap!==ut||ve.fog===!0&&vt.fog!==Xe||vt.numClippingPlanes!==void 0&&(vt.numClippingPlanes!==Ae.numPlanes||vt.numIntersection!==Ae.numIntersection)||vt.vertexAlphas!==Et||vt.vertexTangents!==ht||vt.morphTargets!==mt||vt.morphNormals!==Zt||vt.morphColors!==kn||vt.toneMapping!==rn||ce.isWebGL2===!0&&vt.morphTargetsCount!==Wt)&&(Qt=!0):(Qt=!0,vt.__version=ve.version);let fi=vt.currentProgram;Qt===!0&&(fi=po(ve,ue,fe));let pc=!1,vr=!1,qa=!1;const fn=fi.getUniforms(),mi=vt.uniforms;if(re.useProgram(fi.program)&&(pc=!0,vr=!0,qa=!0),ve.id!==I&&(I=ve.id,vr=!0),pc||C!==U){fn.setValue(N,"projectionMatrix",U.projectionMatrix),fn.setValue(N,"viewMatrix",U.matrixWorldInverse);const Gn=fn.map.cameraPosition;Gn!==void 0&&Gn.setValue(N,_e.setFromMatrixPosition(U.matrixWorld)),ce.logarithmicDepthBuffer&&fn.setValue(N,"logDepthBufFC",2/(Math.log(U.far+1)/Math.LN2)),(ve.isMeshPhongMaterial||ve.isMeshToonMaterial||ve.isMeshLambertMaterial||ve.isMeshBasicMaterial||ve.isMeshStandardMaterial||ve.isShaderMaterial)&&fn.setValue(N,"isOrthographic",U.isOrthographicCamera===!0),C!==U&&(C=U,vr=!0,qa=!0)}if(fe.isSkinnedMesh){fn.setOptional(N,fe,"bindMatrix"),fn.setOptional(N,fe,"bindMatrixInverse");const Gn=fe.skeleton;Gn&&(ce.floatVertexTextures?(Gn.boneTexture===null&&Gn.computeBoneTexture(),fn.setValue(N,"boneTexture",Gn.boneTexture,ie)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}fe.isBatchedMesh&&(fn.setOptional(N,fe,"batchingTexture"),fn.setValue(N,"batchingTexture",fe._matricesTexture,ie));const $a=be.morphAttributes;if(($a.position!==void 0||$a.normal!==void 0||$a.color!==void 0&&ce.isWebGL2===!0)&&Ze.update(fe,be,fi),(vr||vt.receiveShadow!==fe.receiveShadow)&&(vt.receiveShadow=fe.receiveShadow,fn.setValue(N,"receiveShadow",fe.receiveShadow)),ve.isMeshGouraudMaterial&&ve.envMap!==null&&(mi.envMap.value=ut,mi.flipEnvMap.value=ut.isCubeTexture&&ut.isRenderTargetTexture===!1?-1:1),vr&&(fn.setValue(N,"toneMappingExposure",v.toneMappingExposure),vt.needsLights&&dp(mi,qa),Xe&&ve.fog===!0&&ye.refreshFogUniforms(mi,Xe),ye.refreshMaterialUniforms(mi,ve,F,q,ke),Rd.upload(N,dc(vt),mi,ie)),ve.isShaderMaterial&&ve.uniformsNeedUpdate===!0&&(Rd.upload(N,dc(vt),mi,ie),ve.uniformsNeedUpdate=!1),ve.isSpriteMaterial&&fn.setValue(N,"center",fe.center),fn.setValue(N,"modelViewMatrix",fe.modelViewMatrix),fn.setValue(N,"normalMatrix",fe.normalMatrix),fn.setValue(N,"modelMatrix",fe.matrixWorld),ve.isShaderMaterial||ve.isRawShaderMaterial){const Gn=ve.uniformsGroups;for(let Ya=0,pp=Gn.length;Ya0&&ie.useMultisampledRTT(U)===!1?fe=Ne.get(U).__webglMultisampledFramebuffer:Array.isArray(ht)?fe=ht[be]:fe=ht,O.copy(U.viewport),B.copy(U.scissor),H=U.scissorTest}else O.copy(le).multiplyScalar(F).floor(),B.copy(me).multiplyScalar(F).floor(),H=Se;if(re.bindFramebuffer(N.FRAMEBUFFER,fe)&&ce.drawBuffers&&ve&&re.drawBuffers(U,fe),re.viewport(O),re.scissor(B),re.setScissorTest(H),Xe){const ut=Ne.get(U.texture);N.framebufferTexture2D(N.FRAMEBUFFER,N.COLOR_ATTACHMENT0,N.TEXTURE_CUBE_MAP_POSITIVE_X+ue,ut.__webglTexture,be)}else if(it){const ut=Ne.get(U.texture),Et=ue||0;N.framebufferTextureLayer(N.FRAMEBUFFER,N.COLOR_ATTACHMENT0,ut.__webglTexture,be||0,Et)}I=-1},this.readRenderTargetPixels=function(U,ue,be,ve,fe,Xe,it){if(!(U&&U.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let at=Ne.get(U).__webglFramebuffer;if(U.isWebGLCubeRenderTarget&&it!==void 0&&(at=at[it]),at){re.bindFramebuffer(N.FRAMEBUFFER,at);try{const ut=U.texture,Et=ut.format,ht=ut.type;if(Et!==ps&&pt.convert(Et)!==N.getParameter(N.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const mt=ht===ql&&(Y.has("EXT_color_buffer_half_float")||ce.isWebGL2&&Y.has("EXT_color_buffer_float"));if(ht!==_r&&pt.convert(ht)!==N.getParameter(N.IMPLEMENTATION_COLOR_READ_TYPE)&&!(ht===Ai&&(ce.isWebGL2||Y.has("OES_texture_float")||Y.has("WEBGL_color_buffer_float")))&&!mt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ue>=0&&ue<=U.width-ve&&be>=0&&be<=U.height-fe&&N.readPixels(ue,be,ve,fe,pt.convert(Et),pt.convert(ht),Xe)}finally{const ut=A!==null?Ne.get(A).__webglFramebuffer:null;re.bindFramebuffer(N.FRAMEBUFFER,ut)}}},this.copyFramebufferToTexture=function(U,ue,be=0){const ve=Math.pow(2,-be),fe=Math.floor(ue.image.width*ve),Xe=Math.floor(ue.image.height*ve);ie.setTexture2D(ue,0),N.copyTexSubImage2D(N.TEXTURE_2D,be,0,0,U.x,U.y,fe,Xe),re.unbindTexture()},this.copyTextureToTexture=function(U,ue,be,ve=0){const fe=ue.image.width,Xe=ue.image.height,it=pt.convert(be.format),at=pt.convert(be.type);ie.setTexture2D(be,0),N.pixelStorei(N.UNPACK_FLIP_Y_WEBGL,be.flipY),N.pixelStorei(N.UNPACK_PREMULTIPLY_ALPHA_WEBGL,be.premultiplyAlpha),N.pixelStorei(N.UNPACK_ALIGNMENT,be.unpackAlignment),ue.isDataTexture?N.texSubImage2D(N.TEXTURE_2D,ve,U.x,U.y,fe,Xe,it,at,ue.image.data):ue.isCompressedTexture?N.compressedTexSubImage2D(N.TEXTURE_2D,ve,U.x,U.y,ue.mipmaps[0].width,ue.mipmaps[0].height,it,ue.mipmaps[0].data):N.texSubImage2D(N.TEXTURE_2D,ve,U.x,U.y,it,at,ue.image),ve===0&&be.generateMipmaps&&N.generateMipmap(N.TEXTURE_2D),re.unbindTexture()},this.copyTextureToTexture3D=function(U,ue,be,ve,fe=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=U.max.x-U.min.x+1,it=U.max.y-U.min.y+1,at=U.max.z-U.min.z+1,ut=pt.convert(ve.format),Et=pt.convert(ve.type);let ht;if(ve.isData3DTexture)ie.setTexture3D(ve,0),ht=N.TEXTURE_3D;else if(ve.isDataArrayTexture)ie.setTexture2DArray(ve,0),ht=N.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}N.pixelStorei(N.UNPACK_FLIP_Y_WEBGL,ve.flipY),N.pixelStorei(N.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ve.premultiplyAlpha),N.pixelStorei(N.UNPACK_ALIGNMENT,ve.unpackAlignment);const mt=N.getParameter(N.UNPACK_ROW_LENGTH),Zt=N.getParameter(N.UNPACK_IMAGE_HEIGHT),kn=N.getParameter(N.UNPACK_SKIP_PIXELS),rn=N.getParameter(N.UNPACK_SKIP_ROWS),ws=N.getParameter(N.UNPACK_SKIP_IMAGES),Wt=be.isCompressedTexture?be.mipmaps[0]:be.image;N.pixelStorei(N.UNPACK_ROW_LENGTH,Wt.width),N.pixelStorei(N.UNPACK_IMAGE_HEIGHT,Wt.height),N.pixelStorei(N.UNPACK_SKIP_PIXELS,U.min.x),N.pixelStorei(N.UNPACK_SKIP_ROWS,U.min.y),N.pixelStorei(N.UNPACK_SKIP_IMAGES,U.min.z),be.isDataTexture||be.isData3DTexture?N.texSubImage3D(ht,fe,ue.x,ue.y,ue.z,Xe,it,at,ut,Et,Wt.data):be.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),N.compressedTexSubImage3D(ht,fe,ue.x,ue.y,ue.z,Xe,it,at,ut,Wt.data)):N.texSubImage3D(ht,fe,ue.x,ue.y,ue.z,Xe,it,at,ut,Et,Wt),N.pixelStorei(N.UNPACK_ROW_LENGTH,mt),N.pixelStorei(N.UNPACK_IMAGE_HEIGHT,Zt),N.pixelStorei(N.UNPACK_SKIP_PIXELS,kn),N.pixelStorei(N.UNPACK_SKIP_ROWS,rn),N.pixelStorei(N.UNPACK_SKIP_IMAGES,ws),fe===0&&ve.generateMipmaps&&N.generateMipmap(ht),re.unbindTexture()},this.initTexture=function(U){U.isCubeTexture?ie.setTextureCube(U,0):U.isData3DTexture?ie.setTexture3D(U,0):U.isDataArrayTexture||U.isCompressedArrayTexture?ie.setTexture2DArray(U,0):ie.setTexture2D(U,0),re.unbindTexture()},this.resetState=function(){R=0,w=0,A=null,re.reset(),st.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ni}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===WE?"display-p3":"srgb",n.unpackColorSpace=Ft.workingColorSpace===tp?"display-p3":"srgb"}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===tn?Qr:PN}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Qr?tn:wn}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class lkt extends nO{}lkt.prototype.isWebGL1Renderer=!0;class ckt extends Jt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class dkt{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=tb,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Gs()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn('THREE.InterleavedBuffer: "updateRange" is deprecated and removed in r169. Use "addUpdateRange()" instead.'),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,s){e*=this.stride,s*=n.stride;for(let i=0,r=this.stride;ic)continue;f.applyMatrix4(this.matrixWorld);const I=e.ray.origin.distanceTo(f);Ie.far||n.push({distance:I,point:h.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const E=Math.max(0,o.start),y=Math.min(b.count,o.start+o.count);for(let v=E,S=y-1;vc)continue;f.applyMatrix4(this.matrixWorld);const w=e.ray.origin.distanceTo(f);we.far||n.push({distance:w,point:h.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,s=Object.keys(n);if(s.length>0){const i=n[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r0){const i=n[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;ri.far)return;r.push({distance:d,distanceToRay:Math.sqrt(a),point:c,index:e,face:null,object:o})}}class ny extends Vs{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new _t(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _t(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=YE,this.normalScale=new At(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Bi extends ny{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new At(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Nn(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(n){this.ior=(1+.4*n)/(1-.4*n)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new _t(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new _t(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new _t(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class uw extends Vs{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new _t(16777215),this.specular=new _t(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _t(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=YE,this.normalScale=new At(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=qE,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}function cd(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function ykt(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function vkt(t){function e(i,r){return t[i]-t[r]}const n=t.length,s=new Array(n);for(let i=0;i!==n;++i)s[i]=i;return s.sort(e),s}function pw(t,e,n){const s=t.length,i=new t.constructor(s);for(let r=0,o=0;o!==s;++r){const a=n[r]*e;for(let c=0;c!==e;++c)i[o++]=t[a+c]}return i}function oO(t,e,n,s){let i=1,r=t[0];for(;r!==void 0&&r[s]===void 0;)r=t[i++];if(r===void 0)return;let o=r[s];if(o!==void 0)if(Array.isArray(o))do o=r[s],o!==void 0&&(e.push(r.time),n.push.apply(n,o)),r=t[i++];while(r!==void 0);else if(o.toArray!==void 0)do o=r[s],o!==void 0&&(e.push(r.time),o.toArray(n,n.length)),r=t[i++];while(r!==void 0);else do o=r[s],o!==void 0&&(e.push(r.time),n.push(o)),r=t[i++];while(r!==void 0)}class rc{constructor(e,n,s,i){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=i!==void 0?i:new n.constructor(s),this.sampleValues=n,this.valueSize=s,this.settings=null,this.DefaultSettings_={}}evaluate(e){const n=this.parameterPositions;let s=this._cachedIndex,i=n[s],r=n[s-1];e:{t:{let o;n:{s:if(!(e=r)){const a=n[1];e=r)break t}o=s,s=0;break n}break e}for(;s>>1;en;)--o;if(++o,r!==0||o!==i){r>=o&&(o=Math.max(o,1),r=o-1);const a=this.getValueSize();this.times=s.slice(r,o),this.values=this.values.slice(r*a,o*a)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const s=this.times,i=this.values,r=s.length;r===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==r;a++){const c=s[a];if(typeof c=="number"&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),e=!1;break}if(o!==null&&o>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,o),e=!1;break}o=c}if(i!==void 0&&ykt(i))for(let a=0,c=i.length;a!==c;++a){const d=i[a];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),s=this.getValueSize(),i=this.getInterpolation()===Om,r=e.length-1;let o=1;for(let a=1;a0){e[o]=e[r];for(let a=r*s,c=o*s,d=0;d!==s;++d)n[c+d]=n[a+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=n.slice(0,o*s)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),s=this.constructor,i=new s(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}hi.prototype.TimeBufferType=Float32Array;hi.prototype.ValueBufferType=Float32Array;hi.prototype.DefaultInterpolation=ha;class Ba extends hi{}Ba.prototype.ValueTypeName="bool";Ba.prototype.ValueBufferType=Array;Ba.prototype.DefaultInterpolation=$l;Ba.prototype.InterpolantFactoryMethodLinear=void 0;Ba.prototype.InterpolantFactoryMethodSmooth=void 0;class aO extends hi{}aO.prototype.ValueTypeName="color";class ga extends hi{}ga.prototype.ValueTypeName="number";class Ckt extends rc{constructor(e,n,s,i){super(e,n,s,i)}interpolate_(e,n,s,i){const r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,c=(s-n)/(i-n);let d=e*a;for(let u=d+a;d!==u;d+=4)yr.slerpFlat(r,0,o,d-a,o,d,c);return r}}class oo extends hi{InterpolantFactoryMethodLinear(e){return new Ckt(this.times,this.values,this.getValueSize(),e)}}oo.prototype.ValueTypeName="quaternion";oo.prototype.DefaultInterpolation=ha;oo.prototype.InterpolantFactoryMethodSmooth=void 0;class Ga extends hi{}Ga.prototype.ValueTypeName="string";Ga.prototype.ValueBufferType=Array;Ga.prototype.DefaultInterpolation=$l;Ga.prototype.InterpolantFactoryMethodLinear=void 0;Ga.prototype.InterpolantFactoryMethodSmooth=void 0;class ba extends hi{}ba.prototype.ValueTypeName="vector";class wkt{constructor(e,n=-1,s,i=MAt){this.name=e,this.tracks=s,this.duration=n,this.blendMode=i,this.uuid=Gs(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],s=e.tracks,i=1/(e.fps||1);for(let o=0,a=s.length;o!==a;++o)n.push(Akt(s[o]).scale(i));const r=new this(e.name,e.duration,n,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const n=[],s=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let r=0,o=s.length;r!==o;++r)n.push(hi.toJSON(s[r]));return i}static CreateFromMorphTargetSequence(e,n,s,i){const r=n.length,o=[];for(let a=0;a1){const h=u[1];let f=i[h];f||(i[h]=f=[]),f.push(d)}}const o=[];for(const a in i)o.push(this.CreateFromMorphTargetSequence(a,i[a],n,s));return o}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const s=function(h,f,m,_,g){if(m.length!==0){const b=[],E=[];oO(m,b,E,_),b.length!==0&&g.push(new h(f,b,E))}},i=[],r=e.name||"default",o=e.fps||30,a=e.blendMode;let c=e.length||-1;const d=e.hierarchy||[];for(let h=0;h{n&&n(r),this.manager.itemEnd(e)},0),r;if(Ti[e]!==void 0){Ti[e].push({onLoad:n,onProgress:s,onError:i});return}Ti[e]=[],Ti[e].push({onLoad:n,onProgress:s,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,c=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const u=Ti[e],h=d.body.getReader(),f=d.headers.get("Content-Length")||d.headers.get("X-File-Size"),m=f?parseInt(f):0,_=m!==0;let g=0;const b=new ReadableStream({start(E){y();function y(){h.read().then(({done:v,value:S})=>{if(v)E.close();else{g+=S.byteLength;const R=new ProgressEvent("progress",{lengthComputable:_,loaded:g,total:m});for(let w=0,A=u.length;w{switch(c){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(u=>new DOMParser().parseFromString(u,a));case"json":return d.json();default:if(a===void 0)return d.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),f=h&&h[1]?h[1].toLowerCase():void 0,m=new TextDecoder(f);return d.arrayBuffer().then(_=>m.decode(_))}}}).then(d=>{Ea.add(e,d);const u=Ti[e];delete Ti[e];for(let h=0,f=u.length;h{const u=Ti[e];if(u===void 0)throw this.manager.itemError(e),d;delete Ti[e];for(let h=0,f=u.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Ikt extends Va{constructor(e){super(e)}load(e,n,s,i){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Ea.get(e);if(o!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(o),r.manager.itemEnd(e)},0),o;const a=Yl("img");function c(){u(),Ea.add(e,this),n&&n(this),r.manager.itemEnd(e)}function d(h){u(),i&&i(h),r.manager.itemError(e),r.manager.itemEnd(e)}function u(){a.removeEventListener("load",c,!1),a.removeEventListener("error",d,!1)}return a.addEventListener("load",c,!1),a.addEventListener("error",d,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(e),a.src=e,a}}class cO extends Va{constructor(e){super(e)}load(e,n,s,i){const r=new Cn,o=new Ikt(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(a){r.image=a,r.needsUpdate=!0,n!==void 0&&n(r)},s,i),r}}class rp extends Jt{constructor(e,n=1){super(),this.isLight=!0,this.type="Light",this.color=new _t(e),this.intensity=n}dispose(){}copy(e,n){return super.copy(e,n),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const n=super.toJSON(e);return n.object.color=this.color.getHex(),n.object.intensity=this.intensity,this.groundColor!==void 0&&(n.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(n.object.distance=this.distance),this.angle!==void 0&&(n.object.angle=this.angle),this.decay!==void 0&&(n.object.decay=this.decay),this.penumbra!==void 0&&(n.object.penumbra=this.penumbra),this.shadow!==void 0&&(n.object.shadow=this.shadow.toJSON()),n}}const sg=new xt,_w=new ae,hw=new ae;class sy{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new At(512,512),this.map=null,this.mapPass=null,this.matrix=new xt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new jE,this._frameExtents=new At(1,1),this._viewportCount=1,this._viewports=[new $t(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const n=this.camera,s=this.matrix;_w.setFromMatrixPosition(e.matrixWorld),n.position.copy(_w),hw.setFromMatrixPosition(e.target.matrixWorld),n.lookAt(hw),n.updateMatrixWorld(),sg.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(sg),s.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),s.multiply(sg)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class kkt extends sy{constructor(){super(new Fn(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const n=this.camera,s=fa*2*e.angle*this.focus,i=this.mapSize.width/this.mapSize.height,r=e.distance||n.far;(s!==n.fov||i!==n.aspect||r!==n.far)&&(n.fov=s,n.aspect=i,n.far=r,n.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class Dkt extends rp{constructor(e,n,s=0,i=Math.PI/3,r=0,o=2){super(e,n),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(Jt.DEFAULT_UP),this.updateMatrix(),this.target=new Jt,this.distance=s,this.angle=i,this.penumbra=r,this.decay=o,this.map=null,this.shadow=new kkt}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,n){return super.copy(e,n),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const fw=new xt,rl=new ae,ig=new ae;class Lkt extends sy{constructor(){super(new Fn(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new At(4,2),this._viewportCount=6,this._viewports=[new $t(2,1,1,1),new $t(0,1,1,1),new $t(3,1,1,1),new $t(1,1,1,1),new $t(3,0,1,1),new $t(1,0,1,1)],this._cubeDirections=[new ae(1,0,0),new ae(-1,0,0),new ae(0,0,1),new ae(0,0,-1),new ae(0,1,0),new ae(0,-1,0)],this._cubeUps=[new ae(0,1,0),new ae(0,1,0),new ae(0,1,0),new ae(0,1,0),new ae(0,0,1),new ae(0,0,-1)]}updateMatrices(e,n=0){const s=this.camera,i=this.matrix,r=e.distance||s.far;r!==s.far&&(s.far=r,s.updateProjectionMatrix()),rl.setFromMatrixPosition(e.matrixWorld),s.position.copy(rl),ig.copy(s.position),ig.add(this._cubeDirections[n]),s.up.copy(this._cubeUps[n]),s.lookAt(ig),s.updateMatrixWorld(),i.makeTranslation(-rl.x,-rl.y,-rl.z),fw.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),this._frustum.setFromProjectionMatrix(fw)}}class Pkt extends rp{constructor(e,n,s=0,i=2){super(e,n),this.isPointLight=!0,this.type="PointLight",this.distance=s,this.decay=i,this.shadow=new Lkt}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,n){return super.copy(e,n),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class Fkt extends sy{constructor(){super(new XE(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class dO extends rp{constructor(e,n){super(e,n),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(Jt.DEFAULT_UP),this.updateMatrix(),this.target=new Jt,this.shadow=new Fkt}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class Ukt extends rp{constructor(e,n){super(e,n),this.isAmbientLight=!0,this.type="AmbientLight"}}class wl{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let s=0,i=e.length;s"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,s,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Ea.get(e);if(o!==void 0)return r.manager.itemStart(e),setTimeout(function(){n&&n(o),r.manager.itemEnd(e)},0),o;const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader,fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(c){Ea.add(e,c),n&&n(c),r.manager.itemEnd(e)}).catch(function(c){i&&i(c),r.manager.itemError(e),r.manager.itemEnd(e)}),r.manager.itemStart(e)}}const iy="\\[\\]\\.:\\/",Gkt=new RegExp("["+iy+"]","g"),ry="[^"+iy+"]",Vkt="[^"+iy.replace("\\.","")+"]",zkt=/((?:WC+[\/:])*)/.source.replace("WC",ry),Hkt=/(WCOD+)?/.source.replace("WCOD",Vkt),qkt=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ry),$kt=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ry),Ykt=new RegExp("^"+zkt+Hkt+qkt+$kt+"$"),Wkt=["material","materials","bones","map"];class Kkt{constructor(e,n,s){const i=s||Bt.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const s=this._targetGroup.nCachedObjects_,i=this._bindings[s];i!==void 0&&i.getValue(e,n)}setValue(e,n){const s=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=s.length;i!==r;++i)s[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,s=e.length;n!==s;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,s=e.length;n!==s;++n)e[n].unbind()}}class Bt{constructor(e,n,s){this.path=n,this.parsedPath=s||Bt.parseTrackName(n),this.node=Bt.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,s){return e&&e.isAnimationObjectGroup?new Bt.Composite(e,n,s):new Bt(e,n,s)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Gkt,"")}static parseTrackName(e){const n=Ykt.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const s={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=s.nodeName&&s.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const r=s.nodeName.substring(i+1);Wkt.indexOf(r)!==-1&&(s.nodeName=s.nodeName.substring(0,i),s.objectName=r)}if(s.propertyName===null||s.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return s}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const s=e.skeleton.getBoneByName(n);if(s!==void 0)return s}if(e.children){const s=function(r){for(let o=0;o=2.0 are supported."));return}const d=new RDt(r,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});d.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u=0&&a[h]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+h+'".')}}d.setExtensions(o),d.setPlugins(a),d.parse(s,i)}parseAsync(e,n){const s=this;return new Promise(function(i,r){s.parse(e,n,i,r)})}}function Qkt(){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 Rt={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_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 Xkt{constructor(e){this.parser=e,this.name=Rt.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let s=0,i=n.length;s=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,r.source,o)}}class dDt{constructor(e){this.parser=e,this.name=Rt.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,s=this.parser,i=s.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],a=i.images[o.source];let c=s.textureLoader;if(a.uri){const d=s.options.manager.getHandler(a.uri);d!==null&&(c=d)}return this.detectSupport().then(function(d){if(d)return s.loadTextureImage(e,o.source,c);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return s.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 uDt{constructor(e){this.parser=e,this.name=Rt.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,s=this.parser,i=s.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],a=i.images[o.source];let c=s.textureLoader;if(a.uri){const d=s.options.manager.getHandler(a.uri);d!==null&&(c=d)}return this.detectSupport().then(function(d){if(d)return s.loadTextureImage(e,o.source,c);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return s.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 pDt{constructor(e){this.name=Rt.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,s=n.bufferViews[e];if(s.extensions&&s.extensions[this.name]){const i=s.extensions[this.name],r=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.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 r.then(function(a){const c=i.byteOffset||0,d=i.byteLength||0,u=i.count,h=i.byteStride,f=new Uint8Array(a,c,d);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(u,h,f,i.mode,i.filter).then(function(m){return m.buffer}):o.ready.then(function(){const m=new ArrayBuffer(u*h);return o.decodeGltfBuffer(new Uint8Array(m),u,h,f,i.mode,i.filter),m})})}else return null}}class _Dt{constructor(e){this.name=Rt.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,s=n.nodes[e];if(!s.extensions||!s.extensions[this.name]||s.mesh===void 0)return null;const i=n.meshes[s.mesh];for(const d of i.primitives)if(d.mode!==cs.TRIANGLES&&d.mode!==cs.TRIANGLE_STRIP&&d.mode!==cs.TRIANGLE_FAN&&d.mode!==void 0)return null;const o=s.extensions[this.name].attributes,a=[],c={};for(const d in o)a.push(this.parser.getDependency("accessor",o[d]).then(u=>(c[d]=u,c[d])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(d=>{const u=d.pop(),h=u.isGroup?u.children:[u],f=d[0].count,m=[];for(const _ of h){const g=new xt,b=new ae,E=new yr,y=new ae(1,1,1),v=new mkt(_.geometry,_.material,f);for(let S=0;S0||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const wDt=new xt;class RDt{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new Qkt,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 s=!1,i=!1,r=-1;typeof navigator<"u"&&(s=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,r=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||s||i&&r<98?this.textureLoader=new cO(this.options.manager):this.textureLoader=new Bkt(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new lO(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 s=this,i=this.json,r=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([s.getDependencies("scene"),s.getDependencies("animation"),s.getDependencies("camera")])}).then(function(o){const a={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:s,userData:{}};return Or(r,a,i),ir(a,i),Promise.all(s._invokeAll(function(c){return c.afterRoot&&c.afterRoot(a)})).then(function(){e(a)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],s=this.json.meshes||[];for(let i=0,r=n.length;i{const c=this.associations.get(o);c!=null&&this.associations.set(a,c);for(const[d,u]of o.children.entries())r(u,a.children[d])};return r(s,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let s=0;s=2&&b.setY(C,w[A*c+1]),c>=3&&b.setZ(C,w[A*c+2]),c>=4&&b.setW(C,w[A*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return b})}loadTexture(e){const n=this.json,s=this.options,r=n.textures[e].source,o=n.images[r];let a=this.textureLoader;if(o.uri){const c=s.manager.getHandler(o.uri);c!==null&&(a=c)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,n,s){const i=this,r=this.json,o=r.textures[e],a=r.images[n],c=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[c])return this.textureCache[c];const d=this.loadImageSource(n,s).then(function(u){u.flipY=!1,u.name=o.name||a.name||"",u.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(u.name=a.uri);const f=(r.samplers||{})[o.sampler]||{};return u.magFilter=bw[f.magFilter]||zn,u.minFilter=bw[f.minFilter]||so,u.wrapS=Ew[f.wrapS]||pa,u.wrapT=Ew[f.wrapT]||pa,i.associations.set(u,{textures:e}),u}).catch(function(){return null});return this.textureCache[c]=d,d}loadImageSource(e,n){const s=this,i=this.json,r=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(h=>h.clone());const o=i.images[e],a=self.URL||self.webkitURL;let c=o.uri||"",d=!1;if(o.bufferView!==void 0)c=s.getDependency("bufferView",o.bufferView).then(function(h){d=!0;const f=new Blob([h],{type:o.mimeType});return c=a.createObjectURL(f),c});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const u=Promise.resolve(c).then(function(h){return new Promise(function(f,m){let _=f;n.isImageBitmapLoader===!0&&(_=function(g){const b=new Cn(g);b.needsUpdate=!0,f(b)}),n.load(wl.resolveURL(h,r.path),_,void 0,m)})}).then(function(h){return d===!0&&a.revokeObjectURL(c),h.userData.mimeType=o.mimeType||CDt(o.uri),h}).catch(function(h){throw console.error("THREE.GLTFLoader: Couldn't load texture",c),h});return this.sourceCache[e]=u,u}assignTexture(e,n,s,i){const r=this;return this.getDependency("texture",s.index).then(function(o){if(!o)return null;if(s.texCoord!==void 0&&s.texCoord>0&&(o=o.clone(),o.channel=s.texCoord),r.extensions[Rt.KHR_TEXTURE_TRANSFORM]){const a=s.extensions!==void 0?s.extensions[Rt.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const c=r.associations.get(o);o=r.extensions[Rt.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),r.associations.set(o,c)}}return i!==void 0&&(o.colorSpace=i),e[n]=o,o})}assignFinalMaterial(e){const n=e.geometry;let s=e.material;const i=n.attributes.tangent===void 0,r=n.attributes.color!==void 0,o=n.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+s.uuid;let c=this.cache.get(a);c||(c=new rO,Vs.prototype.copy.call(c,s),c.color.copy(s.color),c.map=s.map,c.sizeAttenuation=!1,this.cache.add(a,c)),s=c}else if(e.isLine){const a="LineBasicMaterial:"+s.uuid;let c=this.cache.get(a);c||(c=new iO,Vs.prototype.copy.call(c,s),c.color.copy(s.color),c.map=s.map,this.cache.add(a,c)),s=c}if(i||r||o){let a="ClonedMaterial:"+s.uuid+":";i&&(a+="derivative-tangents:"),r&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let c=this.cache.get(a);c||(c=s.clone(),r&&(c.vertexColors=!0),o&&(c.flatShading=!0),i&&(c.normalScale&&(c.normalScale.y*=-1),c.clearcoatNormalScale&&(c.clearcoatNormalScale.y*=-1)),this.cache.add(a,c),this.associations.set(c,this.associations.get(s))),s=c}e.material=s}getMaterialType(){return ny}loadMaterial(e){const n=this,s=this.json,i=this.extensions,r=s.materials[e];let o;const a={},c=r.extensions||{},d=[];if(c[Rt.KHR_MATERIALS_UNLIT]){const h=i[Rt.KHR_MATERIALS_UNLIT];o=h.getMaterialType(),d.push(h.extendParams(a,r,n))}else{const h=r.pbrMetallicRoughness||{};if(a.color=new _t(1,1,1),a.opacity=1,Array.isArray(h.baseColorFactor)){const f=h.baseColorFactor;a.color.setRGB(f[0],f[1],f[2],wn),a.opacity=f[3]}h.baseColorTexture!==void 0&&d.push(n.assignTexture(a,"map",h.baseColorTexture,tn)),a.metalness=h.metallicFactor!==void 0?h.metallicFactor:1,a.roughness=h.roughnessFactor!==void 0?h.roughnessFactor:1,h.metallicRoughnessTexture!==void 0&&(d.push(n.assignTexture(a,"metalnessMap",h.metallicRoughnessTexture)),d.push(n.assignTexture(a,"roughnessMap",h.metallicRoughnessTexture))),o=this._invokeOne(function(f){return f.getMaterialType&&f.getMaterialType(e)}),d.push(Promise.all(this._invokeAll(function(f){return f.extendMaterialParams&&f.extendMaterialParams(e,a)})))}r.doubleSided===!0&&(a.side=Js);const u=r.alphaMode||og.OPAQUE;if(u===og.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,u===og.MASK&&(a.alphaTest=r.alphaCutoff!==void 0?r.alphaCutoff:.5)),r.normalTexture!==void 0&&o!==lr&&(d.push(n.assignTexture(a,"normalMap",r.normalTexture)),a.normalScale=new At(1,1),r.normalTexture.scale!==void 0)){const h=r.normalTexture.scale;a.normalScale.set(h,h)}if(r.occlusionTexture!==void 0&&o!==lr&&(d.push(n.assignTexture(a,"aoMap",r.occlusionTexture)),r.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=r.occlusionTexture.strength)),r.emissiveFactor!==void 0&&o!==lr){const h=r.emissiveFactor;a.emissive=new _t().setRGB(h[0],h[1],h[2],wn)}return r.emissiveTexture!==void 0&&o!==lr&&d.push(n.assignTexture(a,"emissiveMap",r.emissiveTexture,tn)),Promise.all(d).then(function(){const h=new o(a);return r.name&&(h.name=r.name),ir(h,r),n.associations.set(h,{materials:e}),r.extensions&&Or(i,h,r),h})}createUniqueName(e){const n=Bt.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,s=this.extensions,i=this.primitiveCache;function r(a){return s[Rt.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,n).then(function(c){return yw(c,a,n)})}const o=[];for(let a=0,c=e.length;a0&&TDt(E,r),E.name=n.createUniqueName(r.name||"mesh_"+e),ir(E,r),b.extensions&&Or(i,E,b),n.assignFinalMaterial(E),h.push(E)}for(let m=0,_=h.length;m<_;m++)n.associations.set(h[m],{meshes:e,primitives:m});if(h.length===1)return r.extensions&&Or(i,h[0],r),h[0];const f=new Hr;r.extensions&&Or(i,f,r),n.associations.set(f,{meshes:e});for(let m=0,_=h.length;m<_;m++)f.add(h[m]);return f})}loadCamera(e){let n;const s=this.json.cameras[e],i=s[s.type];if(!i){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return s.type==="perspective"?n=new Fn(s2t.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):s.type==="orthographic"&&(n=new XE(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),s.name&&(n.name=this.createUniqueName(s.name)),ir(n,s),Promise.resolve(n)}loadSkin(e){const n=this.json.skins[e],s=[];for(let i=0,r=n.joints.length;i1?u=new Hr:d.length===1?u=d[0]:u=new Jt,u!==d[0])for(let h=0,f=d.length;h{const h=new Map;for(const[f,m]of i.associations)(f instanceof Vs||f instanceof Cn)&&h.set(f,m);return u.traverse(f=>{const m=i.associations.get(f);m!=null&&h.set(f,m)}),h};return i.associations=d(r),r})}_createAnimationTracks(e,n,s,i,r){const o=[],a=e.name?e.name:e.uuid,c=[];ji[r.path]===ji.weights?e.traverse(function(f){f.morphTargetInfluences&&c.push(f.name?f.name:f.uuid)}):c.push(a);let d;switch(ji[r.path]){case ji.weights:d=ga;break;case ji.rotation:d=oo;break;case ji.position:case ji.scale:d=ba;break;default:switch(s.itemSize){case 1:d=ga;break;case 2:case 3:default:d=ba;break}break}const u=i.interpolation!==void 0?yDt[i.interpolation]:ha,h=this._getArrayFromAccessor(s);for(let f=0,m=c.length;f{ze.replace()})},stopVideoStream(){this.isVideoActive=!1,this.imageData=null,qe.emit("stop_webcam_video_stream"),Le(()=>{ze.replace()})},startDrag(t){this.isDragging=!0,this.zIndex=5001,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY,document.addEventListener("mousemove",this.drag),document.addEventListener("mouseup",this.stopDrag)},drag(t){if(this.isDragging){const e=t.clientX-this.dragStart.x,n=t.clientY-this.dragStart.y;this.position.bottom-=n,this.position.right-=e,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY}},stopDrag(){this.isDragging=!1,this.zIndex=0,document.removeEventListener("mousemove",this.drag),document.removeEventListener("mouseup",this.stopDrag)}},mounted(){ze.replace(),qe.on("video_stream_image",t=>{if(this.isVideoActive){this.imageDataUrl="data:image/jpeg;base64,"+t,this.frameCount++;const e=Date.now();e-this.lastFrameTime>=1e3&&(this.frameRate=this.frameCount,this.frameCount=0,this.lastFrameTime=e)}})}},ODt=["src"],MDt=["src"],IDt={class:"controls"},kDt=l("i",{"data-feather":"video"},null,-1),DDt=[kDt],LDt=l("i",{"data-feather":"video"},null,-1),PDt=[LDt],FDt={key:2};function UDt(t,e,n,s,i,r){return T(),x("div",{class:"floating-frame bg-white",style:Ht({bottom:i.position.bottom+"px",right:i.position.right+"px","z-index":i.zIndex}),onMousedown:e[4]||(e[4]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[5]||(e[5]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},[l("div",{class:"handle",onMousedown:e[0]||(e[0]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[1]||(e[1]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},"Drag Me",32),i.isVideoActive&&i.imageDataUrl!=null?(T(),x("img",{key:0,src:i.imageDataUrl,alt:"Webcam Frame",width:"300",height:"300"},null,8,ODt)):G("",!0),i.isVideoActive&&i.imageDataUrl==null?(T(),x("p",{key:1,src:i.imageDataUrl,alt:"Webcam Frame",width:"300",height:"300"},"Loading. Please wait...",8,MDt)):G("",!0),l("div",IDt,[i.isVideoActive?G("",!0):(T(),x("button",{key:0,class:"bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded",onClick:e[2]||(e[2]=(...o)=>r.startVideoStream&&r.startVideoStream(...o))},DDt)),i.isVideoActive?(T(),x("button",{key:1,class:"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded",onClick:e[3]||(e[3]=(...o)=>r.stopVideoStream&&r.stopVideoStream(...o))},PDt)):G("",!0),i.isVideoActive?(T(),x("span",FDt,"FPS: "+K(i.frameRate),1)):G("",!0)])],36)}const BDt=ot(NDt,[["render",UDt]]);const GDt={data(){return{isAudioActive:!1,imageDataUrl:null,isDragging:!1,position:{bottom:0,right:0},dragStart:{x:0,y:0},zIndex:0,frameRate:0,frameCount:0,lastFrameTime:Date.now()}},methods:{startAudioStream(){qe.emit("start_audio_stream",()=>{this.isAudioActive=!0}),Le(()=>{ze.replace()})},stopAudioStream(){qe.emit("stop_audio_stream",()=>{this.isAudioActive=!1,this.imageDataUrl=null}),Le(()=>{ze.replace()})},startDrag(t){this.isDragging=!0,this.zIndex=5001,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY,document.addEventListener("mousemove",this.drag),document.addEventListener("mouseup",this.stopDrag)},drag(t){if(this.isDragging){const e=t.clientX-this.dragStart.x,n=t.clientY-this.dragStart.y;this.position.bottom-=n,this.position.right-=e,this.dragStart.x=t.clientX,this.dragStart.y=t.clientY}},stopDrag(){this.isDragging=!1,this.zIndex=0,document.removeEventListener("mousemove",this.drag),document.removeEventListener("mouseup",this.stopDrag)}},mounted(){ze.replace(),qe.on("update_spectrogram",t=>{if(this.isAudioActive){this.imageDataUrl="data:image/jpeg;base64,"+t,this.frameCount++;const e=Date.now();e-this.lastFrameTime>=1e3&&(this.frameRate=this.frameCount,this.frameCount=0,this.lastFrameTime=e)}})}},VDt=["src"],zDt={class:"controls"},HDt=l("i",{"data-feather":"mic"},null,-1),qDt=[HDt],$Dt=l("i",{"data-feather":"mic"},null,-1),YDt=[$Dt];function WDt(t,e,n,s,i,r){return T(),x("div",{class:"floating-frame bg-white",style:Ht({bottom:i.position.bottom+"px",right:i.position.right+"px","z-index":i.zIndex}),onMousedown:e[4]||(e[4]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[5]||(e[5]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},[l("div",{class:"handle",onMousedown:e[0]||(e[0]=j((...o)=>r.startDrag&&r.startDrag(...o),["stop"])),onMouseup:e[1]||(e[1]=j((...o)=>r.stopDrag&&r.stopDrag(...o),["stop"]))},"Drag Me",32),i.isAudioActive&&i.imageDataUrl!=null?(T(),x("img",{key:0,src:i.imageDataUrl,alt:"Spectrogram",width:"300",height:"300"},null,8,VDt)):G("",!0),l("div",zDt,[i.isAudioActive?G("",!0):(T(),x("button",{key:0,class:"bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded",onClick:e[2]||(e[2]=(...o)=>r.startAudioStream&&r.startAudioStream(...o))},qDt)),i.isAudioActive?(T(),x("button",{key:1,class:"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded",onClick:e[3]||(e[3]=(...o)=>r.stopAudioStream&&r.stopAudioStream(...o))},YDt)):G("",!0)])],36)}const KDt=ot(GDt,[["render",WDt]]);const jDt={data(){return{activePersonality:null}},props:{personality:{type:Object,default:()=>({})}},components:{VideoFrame:BDt,AudioFrame:KDt},computed:{isReady:{get(){return this.$store.state.ready}}},watch:{"$store.state.mountedPersArr":"updatePersonality","$store.state.config.active_personality_id":"updatePersonality"},async mounted(){for(;this.isReady===!1;)await new Promise(t=>setTimeout(t,100));console.log("Personality:",this.personality),this.initWebGLScene(),this.updatePersonality(),Le(()=>{ze.replace()}),this.$refs.video_frame.position={bottom:0,right:0},this.$refs.audio_frame.position={bottom:0,right:100}},beforeDestroy(){},methods:{initWebGLScene(){this.scene=new ckt,this.camera=new Fn(75,window.innerWidth/window.innerHeight,.1,1e3),this.renderer=new nO,this.renderer.setSize(window.innerWidth,window.innerHeight),this.$refs.webglContainer.appendChild(this.renderer.domElement);const t=new hr,e=new uw({color:65280});this.cube=new Un(t,e),this.scene.add(this.cube);const n=new Ukt(4210752),s=new dO(16777215,.5);s.position.set(0,1,0),this.scene.add(n),this.scene.add(s),this.camera.position.z=5,this.animate()},updatePersonality(){const{mountedPersArr:t,config:e}=this.$store.state;this.activePersonality=t[e.active_personality_id],this.activePersonality.avatar?this.showBoxWithAvatar(this.activePersonality.avatar):this.showDefaultCube(),this.$emit("update:personality",this.activePersonality)},loadScene(t){new jkt().load(t,n=>{this.scene.remove(this.cube),this.cube=n.scene,this.scene.add(this.cube)})},showBoxWithAvatar(t){this.cube&&this.scene.remove(this.cube);const e=new hr,n=new cO().load(t),s=new lr({map:n});this.cube=new Un(e,s),this.scene.add(this.cube)},showDefaultCube(){this.scene.remove(this.cube);const t=new hr,e=new uw({color:65280});this.cube=new Un(t,e),this.scene.add(this.cube)},animate(){requestAnimationFrame(this.animate),this.cube&&(this.cube.rotation.x+=.01,this.cube.rotation.y+=.01),this.renderer.render(this.scene,this.camera)}}},QDt={ref:"webglContainer"},XDt={class:"flex-col y-overflow scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},ZDt={key:0,class:"text-center"},JDt={key:1,class:"text-center"},eLt={class:"floating-frame2"},tLt=["innerHTML"];function nLt(t,e,n,s,i,r){const o=tt("VideoFrame"),a=tt("AudioFrame");return T(),x(Fe,null,[l("div",QDt,null,512),l("div",XDt,[!i.activePersonality||!i.activePersonality.scene_path?(T(),x("div",ZDt," Personality does not have a 3d avatar. ")):G("",!0),!i.activePersonality||!i.activePersonality.avatar||i.activePersonality.avatar===""?(T(),x("div",JDt," Personality does not have an avatar. ")):G("",!0),l("div",eLt,[l("div",{innerHTML:t.htmlContent},null,8,tLt)])]),V(o,{ref:"video_frame"},null,512),V(a,{ref:"audio_frame"},null,512)],64)}const sLt=ot(jDt,[["render",nLt]]);let dd;const iLt=new Uint8Array(16);function rLt(){if(!dd&&(dd=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!dd))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return dd(iLt)}const vn=[];for(let t=0;t<256;++t)vn.push((t+256).toString(16).slice(1));function oLt(t,e=0){return vn[t[e+0]]+vn[t[e+1]]+vn[t[e+2]]+vn[t[e+3]]+"-"+vn[t[e+4]]+vn[t[e+5]]+"-"+vn[t[e+6]]+vn[t[e+7]]+"-"+vn[t[e+8]]+vn[t[e+9]]+"-"+vn[t[e+10]]+vn[t[e+11]]+vn[t[e+12]]+vn[t[e+13]]+vn[t[e+14]]+vn[t[e+15]]}const aLt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),vw={randomUUID:aLt};function Mi(t,e,n){if(vw.randomUUID&&!e&&!t)return vw.randomUUID();t=t||{};const s=t.random||(t.rng||rLt)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=s[i];return e}return oLt(s)}class Xr{constructor(){this.listenerMap=new Map,this._listeners=[],this.proxyMap=new Map,this.proxies=[]}get listeners(){return this._listeners.concat(this.proxies.flatMap(e=>e()))}subscribe(e,n){this.listenerMap.has(e)&&(console.warn(`Already subscribed. Unsubscribing for you. Please check that you don't accidentally use the same token twice to register two different handlers for the same event/hook.`),this.unsubscribe(e)),this.listenerMap.set(e,n),this._listeners.push(n)}unsubscribe(e){if(this.listenerMap.has(e)){const n=this.listenerMap.get(e);this.listenerMap.delete(e);const s=this._listeners.indexOf(n);s>=0&&this._listeners.splice(s,1)}}registerProxy(e,n){this.proxyMap.has(e)&&(console.warn(`Already subscribed. Unsubscribing for you. -Please check that you don't accidentally use the same token twice to register two different proxies for the same event/hook.`),this.unregisterProxy(e)),this.proxyMap.set(e,n),this.proxies.push(n)}unregisterProxy(e){if(!this.proxyMap.has(e))return;const n=this.proxyMap.get(e);this.proxyMap.delete(e);const s=this.proxies.indexOf(n);s>=0&&this.proxies.splice(s,1)}}class zt extends Xr{constructor(e){super(),this.entity=e}emit(e){this.listeners.forEach(n=>n(e,this.entity))}}class Mn extends Xr{constructor(e){super(),this.entity=e}emit(e){let n=!1;const s=()=>[n=!0];for(const i of Array.from(this.listeners.values()))if(i(e,s,this.entity),n)return{prevented:!0};return{prevented:!1}}}class _O extends Xr{execute(e,n){let s=e;for(const i of this.listeners)s=i(s,n);return s}}class ss extends _O{constructor(e){super(),this.entity=e}execute(e){return super.execute(e,this.entity)}}class tLt extends Xr{constructor(e){super(),this.entity=e}execute(e){const n=[];for(const s of this.listeners)n.push(s(e,this.entity));return n}}function js(){const t=Symbol(),e=new Map,n=new Set,s=(c,d)=>{d instanceof Xr&&d.registerProxy(t,()=>{var u,h;return(h=(u=e.get(c))===null||u===void 0?void 0:u.listeners)!==null&&h!==void 0?h:[]})},i=c=>{const d=new Xr;e.set(c,d),n.forEach(u=>s(c,u[c]))},r=c=>{n.add(c);for(const d of e.keys())s(d,c[d])},o=c=>{for(const d of e.keys())c[d]instanceof Xr&&c[d].unregisterProxy(t);n.delete(c)},a=()=>{n.forEach(c=>o(c)),e.clear()};return new Proxy({},{get(c,d){return d==="addTarget"?r:d==="removeTarget"?o:d==="destroy"?a:typeof d!="string"||d.startsWith("_")?c[d]:(e.has(d)||i(d),e.get(d))}})}class Sw{constructor(e,n){if(this.destructed=!1,this.events={destruct:new zt(this)},!e||!n)throw new Error("Cannot initialize connection with null/undefined for 'from' or 'to' values");this.id=Mi(),this.from=e,this.to=n,this.from.connectionCount++,this.to.connectionCount++}destruct(){this.events.destruct.emit(),this.from.connectionCount--,this.to.connectionCount--,this.destructed=!0}}class hO{constructor(e,n){if(!e||!n)throw new Error("Cannot initialize connection with null/undefined for 'from' or 'to' values");this.id=Mi(),this.from=e,this.to=n}}function cb(t,e){return Object.fromEntries(Object.entries(t).map(([n,s])=>[n,e(s)]))}class fO{constructor(){this._title="",this.id=Mi(),this.events={loaded:new zt(this),beforeAddInput:new Mn(this),addInput:new zt(this),beforeRemoveInput:new Mn(this),removeInput:new zt(this),beforeAddOutput:new Mn(this),addOutput:new zt(this),beforeRemoveOutput:new Mn(this),removeOutput:new zt(this),beforeTitleChanged:new Mn(this),titleChanged:new zt(this),update:new zt(this)},this.hooks={beforeLoad:new ss(this),afterSave:new ss(this)}}get graph(){return this.graphInstance}get title(){return this._title}set title(e){this.events.beforeTitleChanged.emit(e).prevented||(this._title=e,this.events.titleChanged.emit(e))}addInput(e,n){return this.addInterface("input",e,n)}addOutput(e,n){return this.addInterface("output",e,n)}removeInput(e){return this.removeInterface("input",e)}removeOutput(e){return this.removeInterface("output",e)}registerGraph(e){this.graphInstance=e}load(e){this.hooks.beforeLoad.execute(e),this.id=e.id,this._title=e.title,Object.entries(e.inputs).forEach(([n,s])=>{this.inputs[n]&&(this.inputs[n].load(s),this.inputs[n].nodeId=this.id)}),Object.entries(e.outputs).forEach(([n,s])=>{this.outputs[n]&&(this.outputs[n].load(s),this.outputs[n].nodeId=this.id)}),this.events.loaded.emit(this)}save(){const e=cb(this.inputs,i=>i.save()),n=cb(this.outputs,i=>i.save()),s={type:this.type,id:this.id,title:this.title,inputs:e,outputs:n};return this.hooks.afterSave.execute(s)}onPlaced(){}onDestroy(){}initializeIo(){Object.entries(this.inputs).forEach(([e,n])=>this.initializeIntf("input",e,n)),Object.entries(this.outputs).forEach(([e,n])=>this.initializeIntf("output",e,n))}initializeIntf(e,n,s){s.isInput=e==="input",s.nodeId=this.id,s.events.setValue.subscribe(this,()=>this.events.update.emit({type:e,name:n,intf:s}))}addInterface(e,n,s){const i=e==="input"?this.events.beforeAddInput:this.events.beforeAddOutput,r=e==="input"?this.events.addInput:this.events.addOutput,o=e==="input"?this.inputs:this.outputs;return i.emit(s).prevented?!1:(o[n]=s,this.initializeIntf(e,n,s),r.emit(s),!0)}removeInterface(e,n){const s=e==="input"?this.events.beforeRemoveInput:this.events.beforeRemoveOutput,i=e==="input"?this.events.removeInput:this.events.removeOutput,r=e==="input"?this.inputs[n]:this.outputs[n];if(!r||s.emit(r).prevented)return!1;if(r.connectionCount>0)if(this.graphInstance)this.graphInstance.connections.filter(a=>a.from===r||a.to===r).forEach(a=>{this.graphInstance.removeConnection(a)});else throw new Error("Interface is connected, but no graph instance is specified. Unable to delete interface");return r.events.setValue.unsubscribe(this),e==="input"?delete this.inputs[n]:delete this.outputs[n],i.emit(r),!0}}let mO=class extends fO{load(e){super.load(e)}save(){return super.save()}};function za(t){return class extends mO{constructor(){var e,n;super(),this.type=t.type,this.inputs={},this.outputs={},this.calculate=t.calculate?(s,i)=>t.calculate.call(this,s,i):void 0,this._title=(e=t.title)!==null&&e!==void 0?e:t.type,this.executeFactory("input",t.inputs),this.executeFactory("output",t.outputs),(n=t.onCreate)===null||n===void 0||n.call(this)}onPlaced(){var e;(e=t.onPlaced)===null||e===void 0||e.call(this)}onDestroy(){var e;(e=t.onDestroy)===null||e===void 0||e.call(this)}executeFactory(e,n){Object.keys(n||{}).forEach(s=>{const i=n[s]();e==="input"?this.addInput(s,i):this.addOutput(s,i)})}}}class Xt{set connectionCount(e){this._connectionCount=e,this.events.setConnectionCount.emit(e)}get connectionCount(){return this._connectionCount}set value(e){this.events.beforeSetValue.emit(e).prevented||(this._value=e,this.events.setValue.emit(e))}get value(){return this._value}constructor(e,n){this.id=Mi(),this.nodeId="",this.port=!0,this.hidden=!1,this.events={setConnectionCount:new zt(this),beforeSetValue:new Mn(this),setValue:new zt(this),updated:new zt(this)},this.hooks={load:new ss(this),save:new ss(this)},this._connectionCount=0,this.name=e,this._value=n}load(e){this.id=e.id,this.templateId=e.templateId,this.value=e.value,this.hooks.load.execute(e)}save(){const e={id:this.id,templateId:this.templateId,value:this.value};return this.hooks.save.execute(e)}setComponent(e){return this.component=e,this}setPort(e){return this.port=e,this}setHidden(e){return this.hidden=e,this}use(e,...n){return e(this,...n),this}}const ya="__baklava_SubgraphInputNode",va="__baklava_SubgraphOutputNode";class gO extends mO{constructor(){super(),this.graphInterfaceId=Mi()}onPlaced(){super.onPlaced(),this.initializeIo()}save(){return{...super.save(),graphInterfaceId:this.graphInterfaceId}}load(e){super.load(e),this.graphInterfaceId=e.graphInterfaceId}}class bO extends gO{constructor(){super(...arguments),this.type=ya,this.inputs={name:new Xt("Name","Input")},this.outputs={placeholder:new Xt("Value",void 0)}}static isGraphInputNode(e){return e.type===ya}}class EO extends gO{constructor(){super(...arguments),this.type=va,this.inputs={name:new Xt("Name","Output"),placeholder:new Xt("Value",void 0)},this.outputs={output:new Xt("Output",void 0).setHidden(!0)},this.calculate=({placeholder:e})=>({output:e})}static isGraphOutputNode(e){return e.type===va}}class oc{get nodes(){return this._nodes}get connections(){return this._connections}get loading(){return this._loading}get destroying(){return this._destroying}get inputs(){return this.nodes.filter(n=>n.type===ya).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.placeholder.id}))}get outputs(){return this.nodes.filter(n=>n.type===va).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.output.id}))}constructor(e,n){this.id=Mi(),this.activeTransactions=0,this._nodes=[],this._connections=[],this._loading=!1,this._destroying=!1,this.events={beforeAddNode:new Mn(this),addNode:new zt(this),beforeRemoveNode:new Mn(this),removeNode:new zt(this),beforeAddConnection:new Mn(this),addConnection:new zt(this),checkConnection:new Mn(this),beforeRemoveConnection:new Mn(this),removeConnection:new zt(this)},this.hooks={save:new ss(this),load:new ss(this),checkConnection:new tLt(this)},this.nodeEvents=js(),this.nodeHooks=js(),this.connectionEvents=js(),this.editor=e,this.template=n,e.registerGraph(this)}addNode(e){if(!this.events.beforeAddNode.emit(e).prevented)return this.nodeEvents.addTarget(e.events),this.nodeHooks.addTarget(e.hooks),e.registerGraph(this),this._nodes.push(e),e=this.nodes.find(n=>n.id===e.id),e.onPlaced(),this.events.addNode.emit(e),e}removeNode(e){if(this.nodes.includes(e)){if(this.events.beforeRemoveNode.emit(e).prevented)return;const n=[...Object.values(e.inputs),...Object.values(e.outputs)];this.connections.filter(s=>n.includes(s.from)||n.includes(s.to)).forEach(s=>this.removeConnection(s)),this._nodes.splice(this.nodes.indexOf(e),1),this.events.removeNode.emit(e),e.onDestroy(),this.nodeEvents.removeTarget(e.events),this.nodeHooks.removeTarget(e.hooks)}}addConnection(e,n){const s=this.checkConnection(e,n);if(!s.connectionAllowed||this.events.beforeAddConnection.emit({from:e,to:n}).prevented)return;for(const r of s.connectionsInDanger){const o=this.connections.find(a=>a.id===r.id);o&&this.removeConnection(o)}const i=new Sw(s.dummyConnection.from,s.dummyConnection.to);return this.internalAddConnection(i),i}removeConnection(e){if(this.connections.includes(e)){if(this.events.beforeRemoveConnection.emit(e).prevented)return;e.destruct(),this._connections.splice(this.connections.indexOf(e),1),this.events.removeConnection.emit(e),this.connectionEvents.removeTarget(e.events)}}checkConnection(e,n){if(!e||!n)return{connectionAllowed:!1};const s=this.findNodeById(e.nodeId),i=this.findNodeById(n.nodeId);if(s&&i&&s===i)return{connectionAllowed:!1};if(e.isInput&&!n.isInput){const a=e;e=n,n=a}if(e.isInput||!n.isInput)return{connectionAllowed:!1};if(this.connections.some(a=>a.from===e&&a.to===n))return{connectionAllowed:!1};if(this.events.checkConnection.emit({from:e,to:n}).prevented)return{connectionAllowed:!1};const r=this.hooks.checkConnection.execute({from:e,to:n});if(r.some(a=>!a.connectionAllowed))return{connectionAllowed:!1};const o=Array.from(new Set(r.flatMap(a=>a.connectionsInDanger)));return{connectionAllowed:!0,dummyConnection:new hO(e,n),connectionsInDanger:o}}findNodeInterface(e){for(const n of this.nodes){for(const s in n.inputs){const i=n.inputs[s];if(i.id===e)return i}for(const s in n.outputs){const i=n.outputs[s];if(i.id===e)return i}}}findNodeById(e){return this.nodes.find(n=>n.id===e)}load(e){try{this._loading=!0;const n=[];for(let s=this.connections.length-1;s>=0;s--)this.removeConnection(this.connections[s]);for(let s=this.nodes.length-1;s>=0;s--)this.removeNode(this.nodes[s]);this.id=e.id;for(const s of e.nodes){const i=this.editor.nodeTypes.get(s.type);if(!i){n.push(`Node type ${s.type} is not registered`);continue}const r=new i.type;this.addNode(r),r.load(s)}for(const s of e.connections){const i=this.findNodeInterface(s.from),r=this.findNodeInterface(s.to);if(i)if(r){const o=new Sw(i,r);o.id=s.id,this.internalAddConnection(o)}else{n.push(`Could not find interface with id ${s.to}`);continue}else{n.push(`Could not find interface with id ${s.from}`);continue}}return this.hooks.load.execute(e),n}finally{this._loading=!1}}save(){const e={id:this.id,nodes:this.nodes.map(n=>n.save()),connections:this.connections.map(n=>({id:n.id,from:n.from.id,to:n.to.id})),inputs:this.inputs,outputs:this.outputs};return this.hooks.save.execute(e)}destroy(){this._destroying=!0;for(const e of this.nodes)this.removeNode(e);this.editor.unregisterGraph(this)}internalAddConnection(e){this.connectionEvents.addTarget(e.events),this._connections.push(e),this.events.addConnection.emit(e)}}const Wl="__baklava_GraphNode-";function Sa(t){return Wl+t.id}function nLt(t){return class extends fO{constructor(){super(...arguments),this.type=Sa(t),this.inputs={},this.outputs={},this.template=t,this.calculate=async(n,s)=>{var i;if(!this.subgraph)throw new Error(`GraphNode ${this.id}: calculate called without subgraph being initialized`);if(!s.engine||typeof s.engine!="object")throw new Error(`GraphNode ${this.id}: calculate called but no engine provided in context`);const r=s.engine.getInputValues(this.subgraph);for(const c of this.subgraph.inputs)r.set(c.nodeInterfaceId,n[c.id]);const o=await s.engine.runGraph(this.subgraph,r,s.globalValues),a={};for(const c of this.subgraph.outputs)a[c.id]=(i=o.get(c.nodeId))===null||i===void 0?void 0:i.get("output");return a._calculationResults=o,a}}get title(){return this._title}set title(n){this.template.name=n}load(n){if(!this.subgraph)throw new Error("Cannot load a graph node without a graph");if(!this.template)throw new Error("Unable to load graph node without graph template");this.subgraph.load(n.graphState),super.load(n)}save(){if(!this.subgraph)throw new Error("Cannot save a graph node without a graph");return{...super.save(),graphState:this.subgraph.save()}}onPlaced(){this.template.events.updated.subscribe(this,()=>this.initialize()),this.template.events.nameChanged.subscribe(this,n=>{this._title=n}),this.initialize()}onDestroy(){var n;this.template.events.updated.unsubscribe(this),this.template.events.nameChanged.unsubscribe(this),(n=this.subgraph)===null||n===void 0||n.destroy()}initialize(){this.subgraph&&this.subgraph.destroy(),this.subgraph=this.template.createGraph(),this._title=this.template.name,this.updateInterfaces(),this.events.update.emit(null)}updateInterfaces(){if(!this.subgraph)throw new Error("Trying to update interfaces without graph instance");for(const n of this.subgraph.inputs)n.id in this.inputs?this.inputs[n.id].name=n.name:this.addInput(n.id,new Xt(n.name,void 0));for(const n of Object.keys(this.inputs))this.subgraph.inputs.some(s=>s.id===n)||this.removeInput(n);for(const n of this.subgraph.outputs)n.id in this.outputs?this.outputs[n.id].name=n.name:this.addOutput(n.id,new Xt(n.name,void 0));for(const n of Object.keys(this.outputs))this.subgraph.outputs.some(s=>s.id===n)||this.removeOutput(n);this.addOutput("_calculationResults",new Xt("_calculationResults",void 0).setHidden(!0))}}}class op{static fromGraph(e,n){return new op(e.save(),n)}get name(){return this._name}set name(e){this._name=e,this.events.nameChanged.emit(e);const n=this.editor.nodeTypes.get(Sa(this));n&&(n.title=e)}get inputs(){return this.nodes.filter(n=>n.type===ya).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.placeholder.id}))}get outputs(){return this.nodes.filter(n=>n.type===va).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.output.id}))}constructor(e,n){this.id=Mi(),this._name="Subgraph",this.events={nameChanged:new zt(this),updated:new zt(this)},this.hooks={beforeLoad:new ss(this),afterSave:new ss(this)},this.editor=n,e.id&&(this.id=e.id),e.name&&(this._name=e.name),this.update(e)}update(e){this.nodes=e.nodes,this.connections=e.connections,this.events.updated.emit()}save(){return{id:this.id,name:this.name,nodes:this.nodes,connections:this.connections,inputs:this.inputs,outputs:this.outputs}}createGraph(e){const n=new Map,s=f=>{const m=Mi();return n.set(f,m),m},i=f=>{const m=n.get(f);if(!m)throw new Error(`Unable to create graph from template: Could not map old id ${f} to new id`);return m},r=f=>cb(f,m=>({id:s(m.id),templateId:m.id,value:m.value})),o=this.nodes.map(f=>({...f,id:s(f.id),inputs:r(f.inputs),outputs:r(f.outputs)})),a=this.connections.map(f=>({id:s(f.id),from:i(f.from),to:i(f.to)})),c=this.inputs.map(f=>({id:f.id,name:f.name,nodeId:i(f.nodeId),nodeInterfaceId:i(f.nodeInterfaceId)})),d=this.outputs.map(f=>({id:f.id,name:f.name,nodeId:i(f.nodeId),nodeInterfaceId:i(f.nodeInterfaceId)})),u={id:Mi(),nodes:o,connections:a,inputs:c,outputs:d};return e||(e=new oc(this.editor)),e.load(u).forEach(f=>console.warn(f)),e.template=this,e}}class sLt{get nodeTypes(){return this._nodeTypes}get graph(){return this._graph}get graphTemplates(){return this._graphTemplates}get graphs(){return this._graphs}get loading(){return this._loading}constructor(){this.events={loaded:new zt(this),beforeRegisterNodeType:new Mn(this),registerNodeType:new zt(this),beforeUnregisterNodeType:new Mn(this),unregisterNodeType:new zt(this),beforeAddGraphTemplate:new Mn(this),addGraphTemplate:new zt(this),beforeRemoveGraphTemplate:new Mn(this),removeGraphTemplate:new zt(this),registerGraph:new zt(this),unregisterGraph:new zt(this)},this.hooks={save:new ss(this),load:new ss(this)},this.graphTemplateEvents=js(),this.graphTemplateHooks=js(),this.graphEvents=js(),this.graphHooks=js(),this.nodeEvents=js(),this.nodeHooks=js(),this.connectionEvents=js(),this._graphs=new Set,this._nodeTypes=new Map,this._graph=new oc(this),this._graphTemplates=[],this._loading=!1,this.registerNodeType(bO),this.registerNodeType(EO)}registerNodeType(e,n){var s,i;if(this.events.beforeRegisterNodeType.emit({type:e,options:n}).prevented)return;const r=new e;this._nodeTypes.set(r.type,{type:e,category:(s=n==null?void 0:n.category)!==null&&s!==void 0?s:"default",title:(i=n==null?void 0:n.title)!==null&&i!==void 0?i:r.title}),this.events.registerNodeType.emit({type:e,options:n})}unregisterNodeType(e){const n=typeof e=="string"?e:new e().type;if(this.nodeTypes.has(n)){if(this.events.beforeUnregisterNodeType.emit(n).prevented)return;this._nodeTypes.delete(n),this.events.unregisterNodeType.emit(n)}}addGraphTemplate(e){if(this.events.beforeAddGraphTemplate.emit(e).prevented)return;this._graphTemplates.push(e),this.graphTemplateEvents.addTarget(e.events),this.graphTemplateHooks.addTarget(e.hooks);const n=nLt(e);this.registerNodeType(n,{category:"Subgraphs",title:e.name}),this.events.addGraphTemplate.emit(e)}removeGraphTemplate(e){if(this.graphTemplates.includes(e)){if(this.events.beforeRemoveGraphTemplate.emit(e).prevented)return;const n=Sa(e);for(const s of[this.graph,...this.graphs.values()]){const i=s.nodes.filter(r=>r.type===n);for(const r of i)s.removeNode(r)}this.unregisterNodeType(n),this._graphTemplates.splice(this._graphTemplates.indexOf(e),1),this.graphTemplateEvents.removeTarget(e.events),this.graphTemplateHooks.removeTarget(e.hooks),this.events.removeGraphTemplate.emit(e)}}registerGraph(e){this.graphEvents.addTarget(e.events),this.graphHooks.addTarget(e.hooks),this.nodeEvents.addTarget(e.nodeEvents),this.nodeHooks.addTarget(e.nodeHooks),this.connectionEvents.addTarget(e.connectionEvents),this.events.registerGraph.emit(e),this._graphs.add(e)}unregisterGraph(e){this.graphEvents.removeTarget(e.events),this.graphHooks.removeTarget(e.hooks),this.nodeEvents.removeTarget(e.nodeEvents),this.nodeHooks.removeTarget(e.nodeHooks),this.connectionEvents.removeTarget(e.connectionEvents),this.events.unregisterGraph.emit(e),this._graphs.delete(e)}load(e){try{this._loading=!0,e=this.hooks.load.execute(e),e.graphTemplates.forEach(s=>{const i=new op(s,this);this.addGraphTemplate(i)});const n=this._graph.load(e.graph);return this.events.loaded.emit(),n.forEach(s=>console.warn(s)),n}finally{this._loading=!1}}save(){const e={graph:this.graph.save(),graphTemplates:this.graphTemplates.map(n=>n.save())};return this.hooks.save.execute(e)}}function iLt(t,e){const n=new Map;e.graphs.forEach(s=>{s.nodes.forEach(i=>n.set(i.id,i))}),t.forEach((s,i)=>{const r=n.get(i);r&&s.forEach((o,a)=>{const c=r.outputs[a];c&&(c.value=o)})})}class yO extends Error{constructor(){super("Cycle detected")}}function rLt(t){return typeof t=="string"}function vO(t,e){const n=new Map,s=new Map,i=new Map;let r,o;if(t instanceof oc)r=t.nodes,o=t.connections;else{if(!e)throw new Error("Invalid argument value: expected array of connections");r=t,o=e}r.forEach(d=>{Object.values(d.inputs).forEach(u=>n.set(u.id,d.id)),Object.values(d.outputs).forEach(u=>n.set(u.id,d.id))}),r.forEach(d=>{const u=o.filter(f=>f.from&&n.get(f.from.id)===d.id),h=new Set(u.map(f=>n.get(f.to.id)).filter(rLt));s.set(d.id,h),i.set(d,u)});const a=r.slice();o.forEach(d=>{const u=a.findIndex(h=>n.get(d.to.id)===h.id);u>=0&&a.splice(u,1)});const c=[];for(;a.length>0;){const d=a.pop();c.push(d);const u=s.get(d.id);for(;u.size>0;){const h=u.values().next().value;if(u.delete(h),Array.from(s.values()).every(f=>!f.has(h))){const f=r.find(m=>m.id===h);a.push(f)}}}if(Array.from(s.values()).some(d=>d.size>0))throw new yO;return{calculationOrder:c,connectionsFromNode:i,interfaceIdToNodeId:n}}function oLt(t,e){try{return vO(t,e),!1}catch(n){if(n instanceof yO)return!0;throw n}}var Vn;(function(t){t.Running="Running",t.Idle="Idle",t.Paused="Paused",t.Stopped="Stopped"})(Vn||(Vn={}));class aLt{get status(){return this.isRunning?Vn.Running:this.internalStatus}constructor(e){this.editor=e,this.events={beforeRun:new Mn(this),afterRun:new zt(this),statusChange:new zt(this),beforeNodeCalculation:new zt(this),afterNodeCalculation:new zt(this)},this.hooks={gatherCalculationData:new ss(this),transferData:new _O},this.recalculateOrder=!0,this.internalStatus=Vn.Stopped,this.isRunning=!1,this.editor.nodeEvents.update.subscribe(this,(n,s)=>{s.graph&&!s.graph.loading&&s.graph.activeTransactions===0&&this.internalOnChange(s,n??void 0)}),this.editor.graphEvents.addNode.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.removeNode.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.addConnection.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.removeConnection.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphHooks.checkConnection.subscribe(this,n=>this.checkConnection(n.from,n.to))}start(){this.internalStatus===Vn.Stopped&&(this.internalStatus=Vn.Idle,this.events.statusChange.emit(this.status))}pause(){this.internalStatus===Vn.Idle&&(this.internalStatus=Vn.Paused,this.events.statusChange.emit(this.status))}resume(){this.internalStatus===Vn.Paused&&(this.internalStatus=Vn.Idle,this.events.statusChange.emit(this.status))}stop(){(this.internalStatus===Vn.Idle||this.internalStatus===Vn.Paused)&&(this.internalStatus=Vn.Stopped,this.events.statusChange.emit(this.status))}async runOnce(e,...n){if(this.events.beforeRun.emit(e).prevented)return null;try{this.isRunning=!0,this.events.statusChange.emit(this.status),this.recalculateOrder&&this.calculateOrder();const s=await this.execute(e,...n);return this.events.afterRun.emit(s),s}finally{this.isRunning=!1,this.events.statusChange.emit(this.status)}}checkConnection(e,n){if(e.templateId){const r=this.findInterfaceByTemplateId(this.editor.graph.nodes,e.templateId);if(!r)return{connectionAllowed:!0,connectionsInDanger:[]};e=r}if(n.templateId){const r=this.findInterfaceByTemplateId(this.editor.graph.nodes,n.templateId);if(!r)return{connectionAllowed:!0,connectionsInDanger:[]};n=r}const s=new hO(e,n);let i=this.editor.graph.connections.slice();return n.allowMultipleConnections||(i=i.filter(r=>r.to!==n)),i.push(s),oLt(this.editor.graph.nodes,i)?{connectionAllowed:!1,connectionsInDanger:[]}:{connectionAllowed:!0,connectionsInDanger:n.allowMultipleConnections?[]:this.editor.graph.connections.filter(r=>r.to===n)}}calculateOrder(){this.recalculateOrder=!0}async calculateWithoutData(...e){const n=this.hooks.gatherCalculationData.execute(void 0);return await this.runOnce(n,...e)}validateNodeCalculationOutput(e,n){if(typeof n!="object")throw new Error(`Invalid calculation return value from node ${e.id} (type ${e.type})`);Object.keys(e.outputs).forEach(s=>{if(!(s in n))throw new Error(`Calculation return value from node ${e.id} (type ${e.type}) is missing key "${s}"`)})}internalOnChange(e,n){this.internalStatus===Vn.Idle&&this.onChange(this.recalculateOrder,e,n)}findInterfaceByTemplateId(e,n){for(const s of e)for(const i of[...Object.values(s.inputs),...Object.values(s.outputs)])if(i.templateId===n)return i;return null}}class lLt extends aLt{constructor(e){super(e),this.order=new Map}start(){super.start(),this.recalculateOrder=!0,this.calculateWithoutData()}async runGraph(e,n,s){this.order.has(e.id)||this.order.set(e.id,vO(e));const{calculationOrder:i,connectionsFromNode:r}=this.order.get(e.id),o=new Map;for(const a of i){const c={};Object.entries(a.inputs).forEach(([u,h])=>{c[u]=this.getInterfaceValue(n,h.id)}),this.events.beforeNodeCalculation.emit({inputValues:c,node:a});let d;if(a.calculate)d=await a.calculate(c,{globalValues:s,engine:this});else{d={};for(const[u,h]of Object.entries(a.outputs))d[u]=this.getInterfaceValue(n,h.id)}this.validateNodeCalculationOutput(a,d),this.events.afterNodeCalculation.emit({outputValues:d,node:a}),o.set(a.id,new Map(Object.entries(d))),r.has(a)&&r.get(a).forEach(u=>{var h;const f=(h=Object.entries(a.outputs).find(([,_])=>_.id===u.from.id))===null||h===void 0?void 0:h[0];if(!f)throw new Error(`Could not find key for interface ${u.from.id} +Please check that you don't accidentally use the same token twice to register two different proxies for the same event/hook.`),this.unregisterProxy(e)),this.proxyMap.set(e,n),this.proxies.push(n)}unregisterProxy(e){if(!this.proxyMap.has(e))return;const n=this.proxyMap.get(e);this.proxyMap.delete(e);const s=this.proxies.indexOf(n);s>=0&&this.proxies.splice(s,1)}}class zt extends Xr{constructor(e){super(),this.entity=e}emit(e){this.listeners.forEach(n=>n(e,this.entity))}}class Mn extends Xr{constructor(e){super(),this.entity=e}emit(e){let n=!1;const s=()=>[n=!0];for(const i of Array.from(this.listeners.values()))if(i(e,s,this.entity),n)return{prevented:!0};return{prevented:!1}}}class _O extends Xr{execute(e,n){let s=e;for(const i of this.listeners)s=i(s,n);return s}}class ss extends _O{constructor(e){super(),this.entity=e}execute(e){return super.execute(e,this.entity)}}class lLt extends Xr{constructor(e){super(),this.entity=e}execute(e){const n=[];for(const s of this.listeners)n.push(s(e,this.entity));return n}}function js(){const t=Symbol(),e=new Map,n=new Set,s=(c,d)=>{d instanceof Xr&&d.registerProxy(t,()=>{var u,h;return(h=(u=e.get(c))===null||u===void 0?void 0:u.listeners)!==null&&h!==void 0?h:[]})},i=c=>{const d=new Xr;e.set(c,d),n.forEach(u=>s(c,u[c]))},r=c=>{n.add(c);for(const d of e.keys())s(d,c[d])},o=c=>{for(const d of e.keys())c[d]instanceof Xr&&c[d].unregisterProxy(t);n.delete(c)},a=()=>{n.forEach(c=>o(c)),e.clear()};return new Proxy({},{get(c,d){return d==="addTarget"?r:d==="removeTarget"?o:d==="destroy"?a:typeof d!="string"||d.startsWith("_")?c[d]:(e.has(d)||i(d),e.get(d))}})}class Sw{constructor(e,n){if(this.destructed=!1,this.events={destruct:new zt(this)},!e||!n)throw new Error("Cannot initialize connection with null/undefined for 'from' or 'to' values");this.id=Mi(),this.from=e,this.to=n,this.from.connectionCount++,this.to.connectionCount++}destruct(){this.events.destruct.emit(),this.from.connectionCount--,this.to.connectionCount--,this.destructed=!0}}class hO{constructor(e,n){if(!e||!n)throw new Error("Cannot initialize connection with null/undefined for 'from' or 'to' values");this.id=Mi(),this.from=e,this.to=n}}function cb(t,e){return Object.fromEntries(Object.entries(t).map(([n,s])=>[n,e(s)]))}class fO{constructor(){this._title="",this.id=Mi(),this.events={loaded:new zt(this),beforeAddInput:new Mn(this),addInput:new zt(this),beforeRemoveInput:new Mn(this),removeInput:new zt(this),beforeAddOutput:new Mn(this),addOutput:new zt(this),beforeRemoveOutput:new Mn(this),removeOutput:new zt(this),beforeTitleChanged:new Mn(this),titleChanged:new zt(this),update:new zt(this)},this.hooks={beforeLoad:new ss(this),afterSave:new ss(this)}}get graph(){return this.graphInstance}get title(){return this._title}set title(e){this.events.beforeTitleChanged.emit(e).prevented||(this._title=e,this.events.titleChanged.emit(e))}addInput(e,n){return this.addInterface("input",e,n)}addOutput(e,n){return this.addInterface("output",e,n)}removeInput(e){return this.removeInterface("input",e)}removeOutput(e){return this.removeInterface("output",e)}registerGraph(e){this.graphInstance=e}load(e){this.hooks.beforeLoad.execute(e),this.id=e.id,this._title=e.title,Object.entries(e.inputs).forEach(([n,s])=>{this.inputs[n]&&(this.inputs[n].load(s),this.inputs[n].nodeId=this.id)}),Object.entries(e.outputs).forEach(([n,s])=>{this.outputs[n]&&(this.outputs[n].load(s),this.outputs[n].nodeId=this.id)}),this.events.loaded.emit(this)}save(){const e=cb(this.inputs,i=>i.save()),n=cb(this.outputs,i=>i.save()),s={type:this.type,id:this.id,title:this.title,inputs:e,outputs:n};return this.hooks.afterSave.execute(s)}onPlaced(){}onDestroy(){}initializeIo(){Object.entries(this.inputs).forEach(([e,n])=>this.initializeIntf("input",e,n)),Object.entries(this.outputs).forEach(([e,n])=>this.initializeIntf("output",e,n))}initializeIntf(e,n,s){s.isInput=e==="input",s.nodeId=this.id,s.events.setValue.subscribe(this,()=>this.events.update.emit({type:e,name:n,intf:s}))}addInterface(e,n,s){const i=e==="input"?this.events.beforeAddInput:this.events.beforeAddOutput,r=e==="input"?this.events.addInput:this.events.addOutput,o=e==="input"?this.inputs:this.outputs;return i.emit(s).prevented?!1:(o[n]=s,this.initializeIntf(e,n,s),r.emit(s),!0)}removeInterface(e,n){const s=e==="input"?this.events.beforeRemoveInput:this.events.beforeRemoveOutput,i=e==="input"?this.events.removeInput:this.events.removeOutput,r=e==="input"?this.inputs[n]:this.outputs[n];if(!r||s.emit(r).prevented)return!1;if(r.connectionCount>0)if(this.graphInstance)this.graphInstance.connections.filter(a=>a.from===r||a.to===r).forEach(a=>{this.graphInstance.removeConnection(a)});else throw new Error("Interface is connected, but no graph instance is specified. Unable to delete interface");return r.events.setValue.unsubscribe(this),e==="input"?delete this.inputs[n]:delete this.outputs[n],i.emit(r),!0}}let mO=class extends fO{load(e){super.load(e)}save(){return super.save()}};function za(t){return class extends mO{constructor(){var e,n;super(),this.type=t.type,this.inputs={},this.outputs={},this.calculate=t.calculate?(s,i)=>t.calculate.call(this,s,i):void 0,this._title=(e=t.title)!==null&&e!==void 0?e:t.type,this.executeFactory("input",t.inputs),this.executeFactory("output",t.outputs),(n=t.onCreate)===null||n===void 0||n.call(this)}onPlaced(){var e;(e=t.onPlaced)===null||e===void 0||e.call(this)}onDestroy(){var e;(e=t.onDestroy)===null||e===void 0||e.call(this)}executeFactory(e,n){Object.keys(n||{}).forEach(s=>{const i=n[s]();e==="input"?this.addInput(s,i):this.addOutput(s,i)})}}}class Xt{set connectionCount(e){this._connectionCount=e,this.events.setConnectionCount.emit(e)}get connectionCount(){return this._connectionCount}set value(e){this.events.beforeSetValue.emit(e).prevented||(this._value=e,this.events.setValue.emit(e))}get value(){return this._value}constructor(e,n){this.id=Mi(),this.nodeId="",this.port=!0,this.hidden=!1,this.events={setConnectionCount:new zt(this),beforeSetValue:new Mn(this),setValue:new zt(this),updated:new zt(this)},this.hooks={load:new ss(this),save:new ss(this)},this._connectionCount=0,this.name=e,this._value=n}load(e){this.id=e.id,this.templateId=e.templateId,this.value=e.value,this.hooks.load.execute(e)}save(){const e={id:this.id,templateId:this.templateId,value:this.value};return this.hooks.save.execute(e)}setComponent(e){return this.component=e,this}setPort(e){return this.port=e,this}setHidden(e){return this.hidden=e,this}use(e,...n){return e(this,...n),this}}const ya="__baklava_SubgraphInputNode",va="__baklava_SubgraphOutputNode";class gO extends mO{constructor(){super(),this.graphInterfaceId=Mi()}onPlaced(){super.onPlaced(),this.initializeIo()}save(){return{...super.save(),graphInterfaceId:this.graphInterfaceId}}load(e){super.load(e),this.graphInterfaceId=e.graphInterfaceId}}class bO extends gO{constructor(){super(...arguments),this.type=ya,this.inputs={name:new Xt("Name","Input")},this.outputs={placeholder:new Xt("Value",void 0)}}static isGraphInputNode(e){return e.type===ya}}class EO extends gO{constructor(){super(...arguments),this.type=va,this.inputs={name:new Xt("Name","Output"),placeholder:new Xt("Value",void 0)},this.outputs={output:new Xt("Output",void 0).setHidden(!0)},this.calculate=({placeholder:e})=>({output:e})}static isGraphOutputNode(e){return e.type===va}}class oc{get nodes(){return this._nodes}get connections(){return this._connections}get loading(){return this._loading}get destroying(){return this._destroying}get inputs(){return this.nodes.filter(n=>n.type===ya).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.placeholder.id}))}get outputs(){return this.nodes.filter(n=>n.type===va).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.output.id}))}constructor(e,n){this.id=Mi(),this.activeTransactions=0,this._nodes=[],this._connections=[],this._loading=!1,this._destroying=!1,this.events={beforeAddNode:new Mn(this),addNode:new zt(this),beforeRemoveNode:new Mn(this),removeNode:new zt(this),beforeAddConnection:new Mn(this),addConnection:new zt(this),checkConnection:new Mn(this),beforeRemoveConnection:new Mn(this),removeConnection:new zt(this)},this.hooks={save:new ss(this),load:new ss(this),checkConnection:new lLt(this)},this.nodeEvents=js(),this.nodeHooks=js(),this.connectionEvents=js(),this.editor=e,this.template=n,e.registerGraph(this)}addNode(e){if(!this.events.beforeAddNode.emit(e).prevented)return this.nodeEvents.addTarget(e.events),this.nodeHooks.addTarget(e.hooks),e.registerGraph(this),this._nodes.push(e),e=this.nodes.find(n=>n.id===e.id),e.onPlaced(),this.events.addNode.emit(e),e}removeNode(e){if(this.nodes.includes(e)){if(this.events.beforeRemoveNode.emit(e).prevented)return;const n=[...Object.values(e.inputs),...Object.values(e.outputs)];this.connections.filter(s=>n.includes(s.from)||n.includes(s.to)).forEach(s=>this.removeConnection(s)),this._nodes.splice(this.nodes.indexOf(e),1),this.events.removeNode.emit(e),e.onDestroy(),this.nodeEvents.removeTarget(e.events),this.nodeHooks.removeTarget(e.hooks)}}addConnection(e,n){const s=this.checkConnection(e,n);if(!s.connectionAllowed||this.events.beforeAddConnection.emit({from:e,to:n}).prevented)return;for(const r of s.connectionsInDanger){const o=this.connections.find(a=>a.id===r.id);o&&this.removeConnection(o)}const i=new Sw(s.dummyConnection.from,s.dummyConnection.to);return this.internalAddConnection(i),i}removeConnection(e){if(this.connections.includes(e)){if(this.events.beforeRemoveConnection.emit(e).prevented)return;e.destruct(),this._connections.splice(this.connections.indexOf(e),1),this.events.removeConnection.emit(e),this.connectionEvents.removeTarget(e.events)}}checkConnection(e,n){if(!e||!n)return{connectionAllowed:!1};const s=this.findNodeById(e.nodeId),i=this.findNodeById(n.nodeId);if(s&&i&&s===i)return{connectionAllowed:!1};if(e.isInput&&!n.isInput){const a=e;e=n,n=a}if(e.isInput||!n.isInput)return{connectionAllowed:!1};if(this.connections.some(a=>a.from===e&&a.to===n))return{connectionAllowed:!1};if(this.events.checkConnection.emit({from:e,to:n}).prevented)return{connectionAllowed:!1};const r=this.hooks.checkConnection.execute({from:e,to:n});if(r.some(a=>!a.connectionAllowed))return{connectionAllowed:!1};const o=Array.from(new Set(r.flatMap(a=>a.connectionsInDanger)));return{connectionAllowed:!0,dummyConnection:new hO(e,n),connectionsInDanger:o}}findNodeInterface(e){for(const n of this.nodes){for(const s in n.inputs){const i=n.inputs[s];if(i.id===e)return i}for(const s in n.outputs){const i=n.outputs[s];if(i.id===e)return i}}}findNodeById(e){return this.nodes.find(n=>n.id===e)}load(e){try{this._loading=!0;const n=[];for(let s=this.connections.length-1;s>=0;s--)this.removeConnection(this.connections[s]);for(let s=this.nodes.length-1;s>=0;s--)this.removeNode(this.nodes[s]);this.id=e.id;for(const s of e.nodes){const i=this.editor.nodeTypes.get(s.type);if(!i){n.push(`Node type ${s.type} is not registered`);continue}const r=new i.type;this.addNode(r),r.load(s)}for(const s of e.connections){const i=this.findNodeInterface(s.from),r=this.findNodeInterface(s.to);if(i)if(r){const o=new Sw(i,r);o.id=s.id,this.internalAddConnection(o)}else{n.push(`Could not find interface with id ${s.to}`);continue}else{n.push(`Could not find interface with id ${s.from}`);continue}}return this.hooks.load.execute(e),n}finally{this._loading=!1}}save(){const e={id:this.id,nodes:this.nodes.map(n=>n.save()),connections:this.connections.map(n=>({id:n.id,from:n.from.id,to:n.to.id})),inputs:this.inputs,outputs:this.outputs};return this.hooks.save.execute(e)}destroy(){this._destroying=!0;for(const e of this.nodes)this.removeNode(e);this.editor.unregisterGraph(this)}internalAddConnection(e){this.connectionEvents.addTarget(e.events),this._connections.push(e),this.events.addConnection.emit(e)}}const Wl="__baklava_GraphNode-";function Sa(t){return Wl+t.id}function cLt(t){return class extends fO{constructor(){super(...arguments),this.type=Sa(t),this.inputs={},this.outputs={},this.template=t,this.calculate=async(n,s)=>{var i;if(!this.subgraph)throw new Error(`GraphNode ${this.id}: calculate called without subgraph being initialized`);if(!s.engine||typeof s.engine!="object")throw new Error(`GraphNode ${this.id}: calculate called but no engine provided in context`);const r=s.engine.getInputValues(this.subgraph);for(const c of this.subgraph.inputs)r.set(c.nodeInterfaceId,n[c.id]);const o=await s.engine.runGraph(this.subgraph,r,s.globalValues),a={};for(const c of this.subgraph.outputs)a[c.id]=(i=o.get(c.nodeId))===null||i===void 0?void 0:i.get("output");return a._calculationResults=o,a}}get title(){return this._title}set title(n){this.template.name=n}load(n){if(!this.subgraph)throw new Error("Cannot load a graph node without a graph");if(!this.template)throw new Error("Unable to load graph node without graph template");this.subgraph.load(n.graphState),super.load(n)}save(){if(!this.subgraph)throw new Error("Cannot save a graph node without a graph");return{...super.save(),graphState:this.subgraph.save()}}onPlaced(){this.template.events.updated.subscribe(this,()=>this.initialize()),this.template.events.nameChanged.subscribe(this,n=>{this._title=n}),this.initialize()}onDestroy(){var n;this.template.events.updated.unsubscribe(this),this.template.events.nameChanged.unsubscribe(this),(n=this.subgraph)===null||n===void 0||n.destroy()}initialize(){this.subgraph&&this.subgraph.destroy(),this.subgraph=this.template.createGraph(),this._title=this.template.name,this.updateInterfaces(),this.events.update.emit(null)}updateInterfaces(){if(!this.subgraph)throw new Error("Trying to update interfaces without graph instance");for(const n of this.subgraph.inputs)n.id in this.inputs?this.inputs[n.id].name=n.name:this.addInput(n.id,new Xt(n.name,void 0));for(const n of Object.keys(this.inputs))this.subgraph.inputs.some(s=>s.id===n)||this.removeInput(n);for(const n of this.subgraph.outputs)n.id in this.outputs?this.outputs[n.id].name=n.name:this.addOutput(n.id,new Xt(n.name,void 0));for(const n of Object.keys(this.outputs))this.subgraph.outputs.some(s=>s.id===n)||this.removeOutput(n);this.addOutput("_calculationResults",new Xt("_calculationResults",void 0).setHidden(!0))}}}class op{static fromGraph(e,n){return new op(e.save(),n)}get name(){return this._name}set name(e){this._name=e,this.events.nameChanged.emit(e);const n=this.editor.nodeTypes.get(Sa(this));n&&(n.title=e)}get inputs(){return this.nodes.filter(n=>n.type===ya).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.placeholder.id}))}get outputs(){return this.nodes.filter(n=>n.type===va).map(n=>({id:n.graphInterfaceId,name:n.inputs.name.value,nodeId:n.id,nodeInterfaceId:n.outputs.output.id}))}constructor(e,n){this.id=Mi(),this._name="Subgraph",this.events={nameChanged:new zt(this),updated:new zt(this)},this.hooks={beforeLoad:new ss(this),afterSave:new ss(this)},this.editor=n,e.id&&(this.id=e.id),e.name&&(this._name=e.name),this.update(e)}update(e){this.nodes=e.nodes,this.connections=e.connections,this.events.updated.emit()}save(){return{id:this.id,name:this.name,nodes:this.nodes,connections:this.connections,inputs:this.inputs,outputs:this.outputs}}createGraph(e){const n=new Map,s=f=>{const m=Mi();return n.set(f,m),m},i=f=>{const m=n.get(f);if(!m)throw new Error(`Unable to create graph from template: Could not map old id ${f} to new id`);return m},r=f=>cb(f,m=>({id:s(m.id),templateId:m.id,value:m.value})),o=this.nodes.map(f=>({...f,id:s(f.id),inputs:r(f.inputs),outputs:r(f.outputs)})),a=this.connections.map(f=>({id:s(f.id),from:i(f.from),to:i(f.to)})),c=this.inputs.map(f=>({id:f.id,name:f.name,nodeId:i(f.nodeId),nodeInterfaceId:i(f.nodeInterfaceId)})),d=this.outputs.map(f=>({id:f.id,name:f.name,nodeId:i(f.nodeId),nodeInterfaceId:i(f.nodeInterfaceId)})),u={id:Mi(),nodes:o,connections:a,inputs:c,outputs:d};return e||(e=new oc(this.editor)),e.load(u).forEach(f=>console.warn(f)),e.template=this,e}}class dLt{get nodeTypes(){return this._nodeTypes}get graph(){return this._graph}get graphTemplates(){return this._graphTemplates}get graphs(){return this._graphs}get loading(){return this._loading}constructor(){this.events={loaded:new zt(this),beforeRegisterNodeType:new Mn(this),registerNodeType:new zt(this),beforeUnregisterNodeType:new Mn(this),unregisterNodeType:new zt(this),beforeAddGraphTemplate:new Mn(this),addGraphTemplate:new zt(this),beforeRemoveGraphTemplate:new Mn(this),removeGraphTemplate:new zt(this),registerGraph:new zt(this),unregisterGraph:new zt(this)},this.hooks={save:new ss(this),load:new ss(this)},this.graphTemplateEvents=js(),this.graphTemplateHooks=js(),this.graphEvents=js(),this.graphHooks=js(),this.nodeEvents=js(),this.nodeHooks=js(),this.connectionEvents=js(),this._graphs=new Set,this._nodeTypes=new Map,this._graph=new oc(this),this._graphTemplates=[],this._loading=!1,this.registerNodeType(bO),this.registerNodeType(EO)}registerNodeType(e,n){var s,i;if(this.events.beforeRegisterNodeType.emit({type:e,options:n}).prevented)return;const r=new e;this._nodeTypes.set(r.type,{type:e,category:(s=n==null?void 0:n.category)!==null&&s!==void 0?s:"default",title:(i=n==null?void 0:n.title)!==null&&i!==void 0?i:r.title}),this.events.registerNodeType.emit({type:e,options:n})}unregisterNodeType(e){const n=typeof e=="string"?e:new e().type;if(this.nodeTypes.has(n)){if(this.events.beforeUnregisterNodeType.emit(n).prevented)return;this._nodeTypes.delete(n),this.events.unregisterNodeType.emit(n)}}addGraphTemplate(e){if(this.events.beforeAddGraphTemplate.emit(e).prevented)return;this._graphTemplates.push(e),this.graphTemplateEvents.addTarget(e.events),this.graphTemplateHooks.addTarget(e.hooks);const n=cLt(e);this.registerNodeType(n,{category:"Subgraphs",title:e.name}),this.events.addGraphTemplate.emit(e)}removeGraphTemplate(e){if(this.graphTemplates.includes(e)){if(this.events.beforeRemoveGraphTemplate.emit(e).prevented)return;const n=Sa(e);for(const s of[this.graph,...this.graphs.values()]){const i=s.nodes.filter(r=>r.type===n);for(const r of i)s.removeNode(r)}this.unregisterNodeType(n),this._graphTemplates.splice(this._graphTemplates.indexOf(e),1),this.graphTemplateEvents.removeTarget(e.events),this.graphTemplateHooks.removeTarget(e.hooks),this.events.removeGraphTemplate.emit(e)}}registerGraph(e){this.graphEvents.addTarget(e.events),this.graphHooks.addTarget(e.hooks),this.nodeEvents.addTarget(e.nodeEvents),this.nodeHooks.addTarget(e.nodeHooks),this.connectionEvents.addTarget(e.connectionEvents),this.events.registerGraph.emit(e),this._graphs.add(e)}unregisterGraph(e){this.graphEvents.removeTarget(e.events),this.graphHooks.removeTarget(e.hooks),this.nodeEvents.removeTarget(e.nodeEvents),this.nodeHooks.removeTarget(e.nodeHooks),this.connectionEvents.removeTarget(e.connectionEvents),this.events.unregisterGraph.emit(e),this._graphs.delete(e)}load(e){try{this._loading=!0,e=this.hooks.load.execute(e),e.graphTemplates.forEach(s=>{const i=new op(s,this);this.addGraphTemplate(i)});const n=this._graph.load(e.graph);return this.events.loaded.emit(),n.forEach(s=>console.warn(s)),n}finally{this._loading=!1}}save(){const e={graph:this.graph.save(),graphTemplates:this.graphTemplates.map(n=>n.save())};return this.hooks.save.execute(e)}}function uLt(t,e){const n=new Map;e.graphs.forEach(s=>{s.nodes.forEach(i=>n.set(i.id,i))}),t.forEach((s,i)=>{const r=n.get(i);r&&s.forEach((o,a)=>{const c=r.outputs[a];c&&(c.value=o)})})}class yO extends Error{constructor(){super("Cycle detected")}}function pLt(t){return typeof t=="string"}function vO(t,e){const n=new Map,s=new Map,i=new Map;let r,o;if(t instanceof oc)r=t.nodes,o=t.connections;else{if(!e)throw new Error("Invalid argument value: expected array of connections");r=t,o=e}r.forEach(d=>{Object.values(d.inputs).forEach(u=>n.set(u.id,d.id)),Object.values(d.outputs).forEach(u=>n.set(u.id,d.id))}),r.forEach(d=>{const u=o.filter(f=>f.from&&n.get(f.from.id)===d.id),h=new Set(u.map(f=>n.get(f.to.id)).filter(pLt));s.set(d.id,h),i.set(d,u)});const a=r.slice();o.forEach(d=>{const u=a.findIndex(h=>n.get(d.to.id)===h.id);u>=0&&a.splice(u,1)});const c=[];for(;a.length>0;){const d=a.pop();c.push(d);const u=s.get(d.id);for(;u.size>0;){const h=u.values().next().value;if(u.delete(h),Array.from(s.values()).every(f=>!f.has(h))){const f=r.find(m=>m.id===h);a.push(f)}}}if(Array.from(s.values()).some(d=>d.size>0))throw new yO;return{calculationOrder:c,connectionsFromNode:i,interfaceIdToNodeId:n}}function _Lt(t,e){try{return vO(t,e),!1}catch(n){if(n instanceof yO)return!0;throw n}}var Vn;(function(t){t.Running="Running",t.Idle="Idle",t.Paused="Paused",t.Stopped="Stopped"})(Vn||(Vn={}));class hLt{get status(){return this.isRunning?Vn.Running:this.internalStatus}constructor(e){this.editor=e,this.events={beforeRun:new Mn(this),afterRun:new zt(this),statusChange:new zt(this),beforeNodeCalculation:new zt(this),afterNodeCalculation:new zt(this)},this.hooks={gatherCalculationData:new ss(this),transferData:new _O},this.recalculateOrder=!0,this.internalStatus=Vn.Stopped,this.isRunning=!1,this.editor.nodeEvents.update.subscribe(this,(n,s)=>{s.graph&&!s.graph.loading&&s.graph.activeTransactions===0&&this.internalOnChange(s,n??void 0)}),this.editor.graphEvents.addNode.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.removeNode.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.addConnection.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.removeConnection.subscribe(this,(n,s)=>{this.recalculateOrder=!0,!s.loading&&s.activeTransactions===0&&this.internalOnChange()}),this.editor.graphHooks.checkConnection.subscribe(this,n=>this.checkConnection(n.from,n.to))}start(){this.internalStatus===Vn.Stopped&&(this.internalStatus=Vn.Idle,this.events.statusChange.emit(this.status))}pause(){this.internalStatus===Vn.Idle&&(this.internalStatus=Vn.Paused,this.events.statusChange.emit(this.status))}resume(){this.internalStatus===Vn.Paused&&(this.internalStatus=Vn.Idle,this.events.statusChange.emit(this.status))}stop(){(this.internalStatus===Vn.Idle||this.internalStatus===Vn.Paused)&&(this.internalStatus=Vn.Stopped,this.events.statusChange.emit(this.status))}async runOnce(e,...n){if(this.events.beforeRun.emit(e).prevented)return null;try{this.isRunning=!0,this.events.statusChange.emit(this.status),this.recalculateOrder&&this.calculateOrder();const s=await this.execute(e,...n);return this.events.afterRun.emit(s),s}finally{this.isRunning=!1,this.events.statusChange.emit(this.status)}}checkConnection(e,n){if(e.templateId){const r=this.findInterfaceByTemplateId(this.editor.graph.nodes,e.templateId);if(!r)return{connectionAllowed:!0,connectionsInDanger:[]};e=r}if(n.templateId){const r=this.findInterfaceByTemplateId(this.editor.graph.nodes,n.templateId);if(!r)return{connectionAllowed:!0,connectionsInDanger:[]};n=r}const s=new hO(e,n);let i=this.editor.graph.connections.slice();return n.allowMultipleConnections||(i=i.filter(r=>r.to!==n)),i.push(s),_Lt(this.editor.graph.nodes,i)?{connectionAllowed:!1,connectionsInDanger:[]}:{connectionAllowed:!0,connectionsInDanger:n.allowMultipleConnections?[]:this.editor.graph.connections.filter(r=>r.to===n)}}calculateOrder(){this.recalculateOrder=!0}async calculateWithoutData(...e){const n=this.hooks.gatherCalculationData.execute(void 0);return await this.runOnce(n,...e)}validateNodeCalculationOutput(e,n){if(typeof n!="object")throw new Error(`Invalid calculation return value from node ${e.id} (type ${e.type})`);Object.keys(e.outputs).forEach(s=>{if(!(s in n))throw new Error(`Calculation return value from node ${e.id} (type ${e.type}) is missing key "${s}"`)})}internalOnChange(e,n){this.internalStatus===Vn.Idle&&this.onChange(this.recalculateOrder,e,n)}findInterfaceByTemplateId(e,n){for(const s of e)for(const i of[...Object.values(s.inputs),...Object.values(s.outputs)])if(i.templateId===n)return i;return null}}class fLt extends hLt{constructor(e){super(e),this.order=new Map}start(){super.start(),this.recalculateOrder=!0,this.calculateWithoutData()}async runGraph(e,n,s){this.order.has(e.id)||this.order.set(e.id,vO(e));const{calculationOrder:i,connectionsFromNode:r}=this.order.get(e.id),o=new Map;for(const a of i){const c={};Object.entries(a.inputs).forEach(([u,h])=>{c[u]=this.getInterfaceValue(n,h.id)}),this.events.beforeNodeCalculation.emit({inputValues:c,node:a});let d;if(a.calculate)d=await a.calculate(c,{globalValues:s,engine:this});else{d={};for(const[u,h]of Object.entries(a.outputs))d[u]=this.getInterfaceValue(n,h.id)}this.validateNodeCalculationOutput(a,d),this.events.afterNodeCalculation.emit({outputValues:d,node:a}),o.set(a.id,new Map(Object.entries(d))),r.has(a)&&r.get(a).forEach(u=>{var h;const f=(h=Object.entries(a.outputs).find(([,_])=>_.id===u.from.id))===null||h===void 0?void 0:h[0];if(!f)throw new Error(`Could not find key for interface ${u.from.id} This is likely a Baklava internal issue. Please report it on GitHub.`);const m=this.hooks.transferData.execute(d[f],u);u.to.allowMultipleConnections?n.has(u.to.id)?n.get(u.to.id).push(m):n.set(u.to.id,[m]):n.set(u.to.id,m)})}return o}async execute(e){this.recalculateOrder&&(this.order.clear(),this.recalculateOrder=!1);const n=this.getInputValues(this.editor.graph);return await this.runGraph(this.editor.graph,n,e)}getInputValues(e){const n=new Map;for(const s of e.nodes)Object.values(s.inputs).forEach(i=>{i.connectionCount===0&&n.set(i.id,i.value)}),s.calculate||Object.values(s.outputs).forEach(i=>{n.set(i.id,i.value)});return n}onChange(e){this.recalculateOrder=e||this.recalculateOrder,this.calculateWithoutData()}getInterfaceValue(e,n){if(!e.has(n))throw new Error(`Could not find value for interface ${n} -This is likely a Baklava internal issue. Please report it on GitHub.`);return e.get(n)}}let db=null;function cLt(t){db=t}function xs(){if(!db)throw new Error("providePlugin() must be called before usePlugin()");return{viewModel:db}}function Ws(){const{viewModel:t}=xs();return{graph:kd(t.value,"displayedGraph"),switchGraph:t.value.switchGraph}}function SO(t){const{graph:e}=Ws(),n=ct(null),s=ct(null);return{dragging:et(()=>!!n.value),onPointerDown:c=>{n.value={x:c.pageX,y:c.pageY},s.value={x:t.value.x,y:t.value.y}},onPointerMove:c=>{if(n.value){const d=c.pageX-n.value.x,u=c.pageY-n.value.y;t.value.x=s.value.x+d/e.value.scaling,t.value.y=s.value.y+u/e.value.scaling}},onPointerUp:()=>{n.value=null,s.value=null}}}function TO(t,e,n){if(!e.template)return!1;if(Sa(e.template)===n)return!0;const s=t.graphTemplates.find(r=>Sa(r)===n);return s?s.nodes.filter(r=>r.type.startsWith(Wl)).some(r=>TO(t,e,r.type)):!1}function xO(t){return et(()=>{const e=Array.from(t.value.editor.nodeTypes.entries()),n=new Set(e.map(([,i])=>i.category)),s=[];for(const i of n.values()){let r=e.filter(([,o])=>o.category===i);t.value.displayedGraph.template?r=r.filter(([o])=>!TO(t.value.editor,t.value.displayedGraph,o)):r=r.filter(([o])=>![ya,va].includes(o)),r.length>0&&s.push({name:i,nodeTypes:Object.fromEntries(r)})}return s.sort((i,r)=>i.name==="default"?-1:r.name==="default"||i.name>r.name?1:-1),s})}function CO(){const{graph:t}=Ws();return{transform:(n,s)=>{const i=n/t.value.scaling-t.value.panning.x,r=s/t.value.scaling-t.value.panning.y;return[i,r]}}}function dLt(){const{graph:t}=Ws();let e=[],n=-1,s={x:0,y:0};const i=et(()=>t.value.panning),r=SO(i),o=et(()=>({"transform-origin":"0 0",transform:`scale(${t.value.scaling}) translate(${t.value.panning.x}px, ${t.value.panning.y}px)`})),a=(m,_,g)=>{const b=[m/t.value.scaling-t.value.panning.x,_/t.value.scaling-t.value.panning.y],E=[m/g-t.value.panning.x,_/g-t.value.panning.y],y=[E[0]-b[0],E[1]-b[1]];t.value.panning.x+=y[0],t.value.panning.y+=y[1],t.value.scaling=g},c=m=>{m.preventDefault();let _=m.deltaY;m.deltaMode===1&&(_*=32);const g=t.value.scaling*(1-_/3e3);a(m.offsetX,m.offsetY,g)},d=()=>({ax:e[0].clientX,ay:e[0].clientY,bx:e[1].clientX,by:e[1].clientY});return{styles:o,...r,onPointerDown:m=>{if(e.push(m),r.onPointerDown(m),e.length===2){const{ax:_,ay:g,bx:b,by:E}=d();s={x:_+(b-_)/2,y:g+(E-g)/2}}},onPointerMove:m=>{for(let _=0;_0){const R=t.value.scaling*(1+(S-n)/500);a(s.x,s.y,R)}n=S}else r.onPointerMove(m)},onPointerUp:m=>{e=e.filter(_=>_.pointerId!==m.pointerId),n=-1,r.onPointerUp()},onMouseWheel:c}}var hs=(t=>(t[t.NONE=0]="NONE",t[t.ALLOWED=1]="ALLOWED",t[t.FORBIDDEN=2]="FORBIDDEN",t))(hs||{});const wO=Symbol();function uLt(){const{graph:t}=Ws(),e=ct(null),n=ct(null),s=a=>{e.value&&(e.value.mx=a.offsetX/t.value.scaling-t.value.panning.x,e.value.my=a.offsetY/t.value.scaling-t.value.panning.y)},i=()=>{if(n.value){if(e.value)return;const a=t.value.connections.find(c=>c.to===n.value);n.value.isInput&&a?(e.value={status:hs.NONE,from:a.from},t.value.removeConnection(a)):e.value={status:hs.NONE,from:n.value},e.value.mx=void 0,e.value.my=void 0}},r=()=>{if(e.value&&n.value){if(e.value.from===n.value)return;t.value.addConnection(e.value.from,e.value.to)}e.value=null},o=a=>{if(n.value=a??null,a&&e.value){e.value.to=a;const c=t.value.checkConnection(e.value.from,e.value.to);if(e.value.status=c.connectionAllowed?hs.ALLOWED:hs.FORBIDDEN,c.connectionAllowed){const d=c.connectionsInDanger.map(u=>u.id);t.value.connections.forEach(u=>{d.includes(u.id)&&(u.isInDanger=!0)})}}else!a&&e.value&&(e.value.to=void 0,e.value.status=hs.NONE,t.value.connections.forEach(c=>{c.isInDanger=!1}))};return Yo(wO,{temporaryConnection:e,hoveredOver:o}),{temporaryConnection:e,onMouseMove:s,onMouseDown:i,onMouseUp:r,hoveredOver:o}}function pLt(t){const e=ct(!1),n=ct(0),s=ct(0),i=xO(t),{transform:r}=CO(),o=et(()=>{let u=[];const h={};for(const m of i.value){const _=Object.entries(m.nodeTypes).map(([g,b])=>({label:b.title,value:"addNode:"+g}));m.name==="default"?u=_:h[m.name]=_}const f=[...Object.entries(h).map(([m,_])=>({label:m,submenu:_}))];return f.length>0&&u.length>0&&f.push({isDivider:!0}),f.push(...u),f}),a=et(()=>t.value.settings.contextMenu.additionalItems.length===0?o.value:[{label:"Add node",submenu:o.value},...t.value.settings.contextMenu.additionalItems.map(u=>"isDivider"in u||"submenu"in u?u:{label:u.label,value:"command:"+u.command,disabled:!t.value.commandHandler.canExecuteCommand(u.command)})]);function c(u){e.value=!0,n.value=u.offsetX,s.value=u.offsetY}function d(u){if(u.startsWith("addNode:")){const h=u.substring(8),f=t.value.editor.nodeTypes.get(h);if(!f)return;const m=Wn(new f.type);t.value.displayedGraph.addNode(m);const[_,g]=r(n.value,s.value);m.position.x=_,m.position.y=g}else if(u.startsWith("command:")){const h=u.substring(8);t.value.commandHandler.canExecuteCommand(h)&&t.value.commandHandler.executeCommand(h)}}return{show:e,x:n,y:s,items:a,open:c,onClick:d}}const _Lt=cn({setup(){const{viewModel:t}=xs(),{graph:e}=Ws();return{styles:et(()=>{const s=t.value.settings.background,i=e.value.panning.x*e.value.scaling,r=e.value.panning.y*e.value.scaling,o=e.value.scaling*s.gridSize,a=o/s.gridDivision,c=`${o}px ${o}px, ${o}px ${o}px`,d=e.value.scaling>s.subGridVisibleThreshold?`, ${a}px ${a}px, ${a}px ${a}px`:"";return{backgroundPosition:`left ${i}px top ${r}px`,backgroundSize:`${c} ${d}`}})}}}),dn=(t,e)=>{const n=t.__vccOpts||t;for(const[s,i]of e)n[s]=i;return n};function hLt(t,e,n,s,i,r){return T(),x("div",{class:"background",style:Ht(t.styles)},null,4)}const fLt=dn(_Lt,[["render",hLt]]);function mLt(t){return Gw()?(pM(t),!0):!1}function oy(t){return typeof t=="function"?t():Lt(t)}const RO=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const gLt=Object.prototype.toString,bLt=t=>gLt.call(t)==="[object Object]",Ad=()=>{},ELt=yLt();function yLt(){var t,e;return RO&&((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 vLt(t,e,n=!1){return e.reduce((s,i)=>(i in t&&(!n||t[i]!==void 0)&&(s[i]=t[i]),s),{})}function SLt(t,e={}){if(!pn(t))return WM(t);const n=Array.isArray(t.value)?Array.from({length:t.value.length}):{};for(const s in t.value)n[s]=YM(()=>({get(){return t.value[s]},set(i){var r;if((r=oy(e.replaceRef))!=null?r:!0)if(Array.isArray(t.value)){const a=[...t.value];a[s]=i,t.value=a}else{const a={...t.value,[s]:i};Object.setPrototypeOf(a,Object.getPrototypeOf(t.value)),t.value=a}else t.value[s]=i}}));return n}function _l(t){var e;const n=oy(t);return(e=n==null?void 0:n.$el)!=null?e:n}const ay=RO?window:void 0;function Rl(...t){let e,n,s,i;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,s,i]=t,e=ay):[e,n,s,i]=t,!e)return Ad;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const r=[],o=()=>{r.forEach(u=>u()),r.length=0},a=(u,h,f,m)=>(u.addEventListener(h,f,m),()=>u.removeEventListener(h,f,m)),c=In(()=>[_l(e),oy(i)],([u,h])=>{if(o(),!u)return;const f=bLt(h)?{...h}:h;r.push(...n.flatMap(m=>s.map(_=>a(u,m,_,f))))},{immediate:!0,flush:"post"}),d=()=>{c(),o()};return mLt(d),d}let Tw=!1;function AO(t,e,n={}){const{window:s=ay,ignore:i=[],capture:r=!0,detectIframe:o=!1}=n;if(!s)return Ad;ELt&&!Tw&&(Tw=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",Ad)),s.document.documentElement.addEventListener("click",Ad));let a=!0;const c=f=>i.some(m=>{if(typeof m=="string")return Array.from(s.document.querySelectorAll(m)).some(_=>_===f.target||f.composedPath().includes(_));{const _=_l(m);return _&&(f.target===_||f.composedPath().includes(_))}}),u=[Rl(s,"click",f=>{const m=_l(t);if(!(!m||m===f.target||f.composedPath().includes(m))){if(f.detail===0&&(a=!c(f)),!a){a=!0;return}e(f)}},{passive:!0,capture:r}),Rl(s,"pointerdown",f=>{const m=_l(t);a=!c(f)&&!!(m&&!f.composedPath().includes(m))},{passive:!0}),o&&Rl(s,"blur",f=>{setTimeout(()=>{var m;const _=_l(t);((m=s.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(_!=null&&_.contains(s.document.activeElement))&&e(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const NO={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},TLt=Object.keys(NO);function xLt(t={}){const{target:e=ay}=t,n=ct(!1),s=ct(t.initialValue||{});Object.assign(s.value,NO,s.value);const i=r=>{n.value=!0,!(t.pointerTypes&&!t.pointerTypes.includes(r.pointerType))&&(s.value=vLt(r,TLt,!1))};if(e){const r={passive:!0};Rl(e,["pointerdown","pointermove","pointerup"],i,r),Rl(e,"pointerleave",()=>n.value=!1,r)}return{...SLt(s),isInside:n}}const CLt=["onMouseenter","onMouseleave","onClick"],wLt={class:"flex-fill"},RLt={key:0,class:"__submenu-icon",style:{"line-height":"1em"}},ALt=l("svg",{width:"13",height:"13",viewBox:"-60 120 250 250"},[l("path",{d:"M160.875 279.5625 L70.875 369.5625 L70.875 189.5625 L160.875 279.5625 Z",stroke:"none",fill:"white"})],-1),NLt=[ALt],ly=cn({__name:"ContextMenu",props:{modelValue:{type:Boolean},items:{},x:{default:0},y:{default:0},isNested:{type:Boolean,default:!1},isFlipped:{default:()=>({x:!1,y:!1})},flippable:{type:Boolean,default:!1}},emits:["update:modelValue","click"],setup(t,{emit:e}){const n=t,s=e;let i=null;const r=ct(null),o=ct(-1),a=ct(0),c=ct({x:!1,y:!1}),d=et(()=>n.flippable&&(c.value.x||n.isFlipped.x)),u=et(()=>n.flippable&&(c.value.y||n.isFlipped.y)),h=et(()=>{const y={};return n.isNested||(y.top=(u.value?n.y-a.value:n.y)+"px",y.left=n.x+"px"),y}),f=et(()=>({"--flipped-x":d.value,"--flipped-y":u.value,"--nested":n.isNested})),m=et(()=>n.items.map(y=>({...y,hover:!1})));In([()=>n.y,()=>n.items],()=>{var y,v,S,R;a.value=n.items.length*30;const w=((v=(y=r.value)==null?void 0:y.parentElement)==null?void 0:v.offsetWidth)??0,A=((R=(S=r.value)==null?void 0:S.parentElement)==null?void 0:R.offsetHeight)??0;c.value.x=!n.isNested&&n.x>w*.75,c.value.y=!n.isNested&&n.y+a.value>A-20}),AO(r,()=>{n.modelValue&&s("update:modelValue",!1)});const _=y=>{!y.submenu&&y.value&&(s("click",y.value),s("update:modelValue",!1))},g=y=>{s("click",y),o.value=-1,n.isNested||s("update:modelValue",!1)},b=(y,v)=>{n.items[v].submenu&&(o.value=v,i!==null&&(clearTimeout(i),i=null))},E=(y,v)=>{n.items[v].submenu&&(i=window.setTimeout(()=>{o.value=-1,i=null},200))};return(y,v)=>{const S=tt("ContextMenu",!0);return T(),dt(Fs,{name:"slide-fade"},{default:Ie(()=>[P(l("div",{ref_key:"el",ref:r,class:Ge(["baklava-context-menu",f.value]),style:Ht(h.value)},[(T(!0),x(Fe,null,Ke(m.value,(R,w)=>(T(),x(Fe,null,[R.isDivider?(T(),x("div",{key:`d-${w}`,class:"divider"})):(T(),x("div",{key:`i-${w}`,class:Ge(["item",{submenu:!!R.submenu,"--disabled":!!R.disabled}]),onMouseenter:A=>b(A,w),onMouseleave:A=>E(A,w),onClick:j(A=>_(R),["stop","prevent"])},[l("div",wLt,K(R.label),1),R.submenu?(T(),x("div",RLt,NLt)):G("",!0),R.submenu?(T(),dt(S,{key:1,"model-value":o.value===w,items:R.submenu,"is-nested":!0,"is-flipped":{x:d.value,y:u.value},flippable:y.flippable,onClick:g},null,8,["model-value","items","is-flipped","flippable"])):G("",!0)],42,CLt))],64))),256))],6),[[wt,y.modelValue]])]),_:1})}}}),OLt={},MLt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"16",height:"16",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},ILt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),kLt=l("circle",{cx:"12",cy:"12",r:"1"},null,-1),DLt=l("circle",{cx:"12",cy:"19",r:"1"},null,-1),LLt=l("circle",{cx:"12",cy:"5",r:"1"},null,-1),PLt=[ILt,kLt,DLt,LLt];function FLt(t,e){return T(),x("svg",MLt,PLt)}const OO=dn(OLt,[["render",FLt]]),ULt=["id"],BLt={key:0,class:"__tooltip"},GLt={key:2,class:"align-middle"},xw=cn({__name:"NodeInterface",props:{node:{},intf:{}},setup(t){const e=(b,E=100)=>{const y=b!=null&&b.toString?b.toString():"";return y.length>E?y.slice(0,E)+"...":y},n=t,{viewModel:s}=xs(),{hoveredOver:i,temporaryConnection:r}=Zn(wO),o=ct(null),a=et(()=>n.intf.connectionCount>0),c=ct(!1),d=et(()=>s.value.settings.displayValueOnHover&&c.value),u=et(()=>({"--input":n.intf.isInput,"--output":!n.intf.isInput,"--connected":a.value})),h=et(()=>n.intf.component&&(!n.intf.isInput||!n.intf.port||n.intf.connectionCount===0)),f=()=>{c.value=!0,i(n.intf)},m=()=>{c.value=!1,i(void 0)},_=()=>{o.value&&s.value.hooks.renderInterface.execute({intf:n.intf,el:o.value})},g=()=>{const b=s.value.displayedGraph.sidebar;b.nodeId=n.node.id,b.optionName=n.intf.name,b.visible=!0};return ci(_),Ql(_),(b,E)=>{var y;return T(),x("div",{id:b.intf.id,ref_key:"el",ref:o,class:Ge(["baklava-node-interface",u.value])},[b.intf.port?(T(),x("div",{key:0,class:Ge(["__port",{"--selected":((y=Lt(r))==null?void 0:y.from)===b.intf}]),onPointerover:f,onPointerout:m},[un(b.$slots,"portTooltip",{showTooltip:d.value},()=>[d.value===!0?(T(),x("span",BLt,K(e(b.intf.value)),1)):G("",!0)])],34)):G("",!0),h.value?(T(),dt(Tu(b.intf.component),{key:1,modelValue:b.intf.value,"onUpdate:modelValue":E[0]||(E[0]=v=>b.intf.value=v),node:b.node,intf:b.intf,onOpenSidebar:g},null,40,["modelValue","node","intf"])):(T(),x("span",GLt,K(b.intf.name),1))],10,ULt)}}}),VLt=["id","data-node-type"],zLt={class:"__title-label"},HLt={class:"__menu"},qLt={class:"__outputs"},$Lt={class:"__inputs"},YLt=cn({__name:"Node",props:{node:{},selected:{type:Boolean,default:!1},dragging:{type:Boolean}},emits:["select","start-drag"],setup(t,{emit:e}){const n=t,s=e,{viewModel:i}=xs(),{graph:r,switchGraph:o}=Ws(),a=ct(null),c=ct(!1),d=ct(""),u=ct(null),h=ct(!1),f=ct(!1),m=et(()=>{const B=[{value:"rename",label:"Rename"},{value:"delete",label:"Delete"}];return n.node.type.startsWith(Wl)&&B.push({value:"editSubgraph",label:"Edit Subgraph"}),B}),_=et(()=>({"--selected":n.selected,"--dragging":n.dragging,"--two-column":!!n.node.twoColumn})),g=et(()=>{var B,H;return{top:`${((B=n.node.position)==null?void 0:B.y)??0}px`,left:`${((H=n.node.position)==null?void 0:H.x)??0}px`,"--width":`${n.node.width??i.value.settings.nodes.defaultWidth}px`}}),b=et(()=>Object.values(n.node.inputs).filter(B=>!B.hidden)),E=et(()=>Object.values(n.node.outputs).filter(B=>!B.hidden)),y=()=>{s("select")},v=B=>{n.selected||y(),s("start-drag",B)},S=()=>{f.value=!0},R=async B=>{var H;switch(B){case"delete":r.value.removeNode(n.node);break;case"rename":d.value=n.node.title,c.value=!0,await Le(),(H=u.value)==null||H.focus();break;case"editSubgraph":o(n.node.template);break}},w=()=>{n.node.title=d.value,c.value=!1},A=()=>{a.value&&i.value.hooks.renderNode.execute({node:n.node,el:a.value})},I=B=>{h.value=!0,B.preventDefault()},C=B=>{if(!h.value)return;const H=n.node.width+B.movementX/r.value.scaling,te=i.value.settings.nodes.minWidth,k=i.value.settings.nodes.maxWidth;n.node.width=Math.max(te,Math.min(k,H))},O=()=>{h.value=!1};return ci(()=>{A(),window.addEventListener("mousemove",C),window.addEventListener("mouseup",O)}),Ql(A),Aa(()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",O)}),(B,H)=>(T(),x("div",{id:B.node.id,ref_key:"el",ref:a,class:Ge(["baklava-node",_.value]),style:Ht(g.value),"data-node-type":B.node.type,onPointerdown:y},[Lt(i).settings.nodes.resizable?(T(),x("div",{key:0,class:"__resize-handle",onMousedown:I},null,32)):G("",!0),un(B.$slots,"title",{},()=>[l("div",{class:"__title",onPointerdown:j(v,["self","stop"])},[c.value?P((T(),x("input",{key:1,ref_key:"renameInputEl",ref:u,"onUpdate:modelValue":H[1]||(H[1]=te=>d.value=te),type:"text",class:"baklava-input",placeholder:"Node Name",onBlur:w,onKeydown:zs(w,["enter"])},null,544)),[[pe,d.value]]):(T(),x(Fe,{key:0},[l("div",zLt,K(B.node.title),1),l("div",HLt,[V(OO,{class:"--clickable",onClick:S}),V(ly,{modelValue:f.value,"onUpdate:modelValue":H[0]||(H[0]=te=>f.value=te),x:0,y:0,items:m.value,onClick:R},null,8,["modelValue","items"])])],64))],32)]),un(B.$slots,"content",{},()=>[l("div",{class:"__content",onKeydown:H[2]||(H[2]=zs(j(()=>{},["stop"]),["delete"]))},[l("div",qLt,[(T(!0),x(Fe,null,Ke(E.value,te=>un(B.$slots,"nodeInterface",{key:te.id,type:"output",node:B.node,intf:te},()=>[V(xw,{node:B.node,intf:te},null,8,["node","intf"])])),128))]),l("div",$Lt,[(T(!0),x(Fe,null,Ke(b.value,te=>un(B.$slots,"nodeInterface",{key:te.id,type:"input",node:B.node,intf:te},()=>[V(xw,{node:B.node,intf:te},null,8,["node","intf"])])),128))])],32)])],46,VLt))}}),WLt=cn({props:{x1:{type:Number,required:!0},y1:{type:Number,required:!0},x2:{type:Number,required:!0},y2:{type:Number,required:!0},state:{type:Number,default:hs.NONE},isTemporary:{type:Boolean,default:!1}},setup(t){const{viewModel:e}=xs(),{graph:n}=Ws(),s=(o,a)=>{const c=(o+n.value.panning.x)*n.value.scaling,d=(a+n.value.panning.y)*n.value.scaling;return[c,d]},i=et(()=>{const[o,a]=s(t.x1,t.y1),[c,d]=s(t.x2,t.y2);if(e.value.settings.useStraightConnections)return`M ${o} ${a} L ${c} ${d}`;{const u=.3*Math.abs(o-c);return`M ${o} ${a} C ${o+u} ${a}, ${c-u} ${d}, ${c} ${d}`}}),r=et(()=>({"--temporary":t.isTemporary,"--allowed":t.state===hs.ALLOWED,"--forbidden":t.state===hs.FORBIDDEN}));return{d:i,classes:r}}}),KLt=["d"];function jLt(t,e,n,s,i,r){return T(),x("path",{class:Ge(["baklava-connection",t.classes]),d:t.d},null,10,KLt)}const MO=dn(WLt,[["render",jLt]]);function QLt(t){return document.getElementById(t.id)}function Ta(t){const e=document.getElementById(t.id),n=e==null?void 0:e.getElementsByClassName("__port");return{node:(e==null?void 0:e.closest(".baklava-node"))??null,interface:e,port:n&&n.length>0?n[0]:null}}const XLt=cn({components:{"connection-view":MO},props:{connection:{type:Object,required:!0}},setup(t){const{graph:e}=Ws();let n;const s=ct({x1:0,y1:0,x2:0,y2:0}),i=et(()=>t.connection.isInDanger?hs.FORBIDDEN:hs.NONE),r=et(()=>{var d;return(d=e.value.findNodeById(t.connection.from.nodeId))==null?void 0:d.position}),o=et(()=>{var d;return(d=e.value.findNodeById(t.connection.to.nodeId))==null?void 0:d.position}),a=d=>d.node&&d.interface&&d.port?[d.node.offsetLeft+d.interface.offsetLeft+d.port.offsetLeft+d.port.clientWidth/2,d.node.offsetTop+d.interface.offsetTop+d.port.offsetTop+d.port.clientHeight/2]:[0,0],c=()=>{const d=Ta(t.connection.from),u=Ta(t.connection.to);d.node&&u.node&&(n||(n=new ResizeObserver(()=>{c()}),n.observe(d.node),n.observe(u.node)));const[h,f]=a(d),[m,_]=a(u);s.value={x1:h,y1:f,x2:m,y2:_}};return ci(async()=>{await Le(),c()}),Aa(()=>{n&&n.disconnect()}),In([r,o],()=>c(),{deep:!0}),{d:s,state:i}}});function ZLt(t,e,n,s,i,r){const o=tt("connection-view");return T(),dt(o,{x1:t.d.x1,y1:t.d.y1,x2:t.d.x2,y2:t.d.y2,state:t.state},null,8,["x1","y1","x2","y2","state"])}const JLt=dn(XLt,[["render",ZLt]]);function cu(t){return t.node&&t.interface&&t.port?[t.node.offsetLeft+t.interface.offsetLeft+t.port.offsetLeft+t.port.clientWidth/2,t.node.offsetTop+t.interface.offsetTop+t.port.offsetTop+t.port.clientHeight/2]:[0,0]}const ePt=cn({components:{"connection-view":MO},props:{connection:{type:Object,required:!0}},setup(t){const e=et(()=>t.connection?t.connection.status:hs.NONE);return{d:et(()=>{if(!t.connection)return{input:[0,0],output:[0,0]};const s=cu(Ta(t.connection.from)),i=t.connection.to?cu(Ta(t.connection.to)):[t.connection.mx||s[0],t.connection.my||s[1]];return t.connection.from.isInput?{input:i,output:s}:{input:s,output:i}}),status:e}}});function tPt(t,e,n,s,i,r){const o=tt("connection-view");return T(),dt(o,{x1:t.d.input[0],y1:t.d.input[1],x2:t.d.output[0],y2:t.d.output[1],state:t.status,"is-temporary":""},null,8,["x1","y1","x2","y2","state"])}const nPt=dn(ePt,[["render",tPt]]),sPt=cn({setup(){const{viewModel:t}=xs(),{graph:e}=Ws(),n=ct(null),s=kd(t.value.settings.sidebar,"width"),i=et(()=>t.value.settings.sidebar.resizable),r=et(()=>{const h=e.value.sidebar.nodeId;return e.value.nodes.find(f=>f.id===h)}),o=et(()=>({width:`${s.value}px`})),a=et(()=>r.value?[...Object.values(r.value.inputs),...Object.values(r.value.outputs)].filter(f=>f.displayInSidebar&&f.component):[]),c=()=>{e.value.sidebar.visible=!1},d=()=>{window.addEventListener("mousemove",u),window.addEventListener("mouseup",()=>{window.removeEventListener("mousemove",u)},{once:!0})},u=h=>{var f,m;const _=((m=(f=n.value)==null?void 0:f.parentElement)==null?void 0:m.getBoundingClientRect().width)??500;let g=s.value-h.movementX;g<300?g=300:g>.9*_&&(g=.9*_),s.value=g};return{el:n,graph:e,resizable:i,node:r,styles:o,displayedInterfaces:a,startResize:d,close:c}}}),iPt={class:"__header"},rPt={class:"__node-name"};function oPt(t,e,n,s,i,r){return T(),x("div",{ref:"el",class:Ge(["baklava-sidebar",{"--open":t.graph.sidebar.visible}]),style:Ht(t.styles)},[t.resizable?(T(),x("div",{key:0,class:"__resizer",onMousedown:e[0]||(e[0]=(...o)=>t.startResize&&t.startResize(...o))},null,32)):G("",!0),l("div",iPt,[l("button",{tabindex:"-1",class:"__close",onClick:e[1]||(e[1]=(...o)=>t.close&&t.close(...o))},"×"),l("div",rPt,[l("b",null,K(t.node?t.node.title:""),1)])]),(T(!0),x(Fe,null,Ke(t.displayedInterfaces,o=>(T(),x("div",{key:o.id,class:"__interface"},[(T(),dt(Tu(o.component),{modelValue:o.value,"onUpdate:modelValue":a=>o.value=a,node:t.node,intf:o},null,8,["modelValue","onUpdate:modelValue","node","intf"]))]))),128))],6)}const aPt=dn(sPt,[["render",oPt]]),lPt=cn({__name:"Minimap",setup(t){const{viewModel:e}=xs(),{graph:n}=Ws(),s=ct(null),i=ct(!1);let r,o=!1,a={x1:0,y1:0,x2:0,y2:0},c;const d=()=>{var w,A;if(!r)return;r.canvas.width=s.value.offsetWidth,r.canvas.height=s.value.offsetHeight;const I=new Map,C=new Map;for(const k of n.value.nodes){const $=QLt(k),q=($==null?void 0:$.offsetWidth)??0,F=($==null?void 0:$.offsetHeight)??0,W=((w=k.position)==null?void 0:w.x)??0,ne=((A=k.position)==null?void 0:A.y)??0;I.set(k,{x1:W,y1:ne,x2:W+q,y2:ne+F}),C.set(k,$)}const O={x1:Number.MAX_SAFE_INTEGER,y1:Number.MAX_SAFE_INTEGER,x2:Number.MIN_SAFE_INTEGER,y2:Number.MIN_SAFE_INTEGER};for(const k of I.values())k.x1O.x2&&(O.x2=k.x2),k.y2>O.y2&&(O.y2=k.y2);const B=50;O.x1-=B,O.y1-=B,O.x2+=B,O.y2+=B,a=O;const H=r.canvas.width/r.canvas.height,te=(a.x2-a.x1)/(a.y2-a.y1);if(H>te){const k=(H-te)*(a.y2-a.y1)*.5;a.x1-=k,a.x2+=k}else{const k=a.x2-a.x1,$=a.y2-a.y1,q=(k-H*$)/H*.5;a.y1-=q,a.y2+=q}r.clearRect(0,0,r.canvas.width,r.canvas.height),r.strokeStyle="white";for(const k of n.value.connections){const[$,q]=cu(Ta(k.from)),[F,W]=cu(Ta(k.to)),[ne,le]=u($,q),[me,Se]=u(F,W);if(r.beginPath(),r.moveTo(ne,le),e.value.settings.useStraightConnections)r.lineTo(me,Se);else{const de=.3*Math.abs(ne-me);r.bezierCurveTo(ne+de,le,me-de,Se,me,Se)}r.stroke()}r.strokeStyle="lightgray";for(const[k,$]of I.entries()){const[q,F]=u($.x1,$.y1),[W,ne]=u($.x2,$.y2);r.fillStyle=f(C.get(k)),r.beginPath(),r.rect(q,F,W-q,ne-F),r.fill(),r.stroke()}if(i.value){const k=_(),[$,q]=u(k.x1,k.y1),[F,W]=u(k.x2,k.y2);r.fillStyle="rgba(255, 255, 255, 0.2)",r.fillRect($,q,F-$,W-q)}},u=(w,A)=>[(w-a.x1)/(a.x2-a.x1)*r.canvas.width,(A-a.y1)/(a.y2-a.y1)*r.canvas.height],h=(w,A)=>[w*(a.x2-a.x1)/r.canvas.width+a.x1,A*(a.y2-a.y1)/r.canvas.height+a.y1],f=w=>{if(w){const A=w.querySelector(".__content");if(A){const C=m(A);if(C)return C}const I=m(w);if(I)return I}return"gray"},m=w=>{const A=getComputedStyle(w).backgroundColor;if(A&&A!=="rgba(0, 0, 0, 0)")return A},_=()=>{const w=s.value.parentElement.offsetWidth,A=s.value.parentElement.offsetHeight,I=w/n.value.scaling-n.value.panning.x,C=A/n.value.scaling-n.value.panning.y;return{x1:-n.value.panning.x,y1:-n.value.panning.y,x2:I,y2:C}},g=w=>{w.button===0&&(o=!0,b(w))},b=w=>{if(o){const[A,I]=h(w.offsetX,w.offsetY),C=_(),O=(C.x2-C.x1)/2,B=(C.y2-C.y1)/2;n.value.panning.x=-(A-O),n.value.panning.y=-(I-B)}},E=()=>{o=!1},y=()=>{i.value=!0},v=()=>{i.value=!1,E()};In([i,n.value.panning,()=>n.value.scaling,()=>n.value.connections.length],()=>{d()});const S=et(()=>n.value.nodes.map(w=>w.position)),R=et(()=>n.value.nodes.map(w=>w.width));return In([S,R],()=>{d()},{deep:!0}),ci(()=>{r=s.value.getContext("2d"),r.imageSmoothingQuality="high",d(),c=setInterval(d,500)}),Aa(()=>{clearInterval(c)}),(w,A)=>(T(),x("canvas",{ref_key:"canvas",ref:s,class:"baklava-minimap",onMouseenter:y,onMouseleave:v,onMousedown:j(g,["self"]),onMousemove:j(b,["self"]),onMouseup:E},null,544))}}),cPt=cn({components:{ContextMenu:ly,VerticalDots:OO},props:{type:{type:String,required:!0},title:{type:String,required:!0}},setup(t){const{viewModel:e}=xs(),{switchGraph:n}=Ws(),s=ct(!1),i=et(()=>t.type.startsWith(Wl));return{showContextMenu:s,hasContextMenu:i,contextMenuItems:[{label:"Edit Subgraph",value:"editSubgraph"},{label:"Delete Subgraph",value:"deleteSubgraph"}],openContextMenu:()=>{s.value=!0},onContextMenuClick:c=>{const d=t.type.substring(Wl.length),u=e.value.editor.graphTemplates.find(h=>h.id===d);if(u)switch(c){case"editSubgraph":n(u);break;case"deleteSubgraph":e.value.editor.removeGraphTemplate(u);break}}}}}),dPt=["data-node-type"],uPt={class:"__title"},pPt={class:"__title-label"},_Pt={key:0,class:"__menu"};function hPt(t,e,n,s,i,r){const o=tt("vertical-dots"),a=tt("context-menu");return T(),x("div",{class:"baklava-node --palette","data-node-type":t.type},[l("div",uPt,[l("div",pPt,K(t.title),1),t.hasContextMenu?(T(),x("div",_Pt,[V(o,{class:"--clickable",onPointerdown:e[0]||(e[0]=j(()=>{},["stop","prevent"])),onClick:j(t.openContextMenu,["stop","prevent"])},null,8,["onClick"]),V(a,{modelValue:t.showContextMenu,"onUpdate:modelValue":e[1]||(e[1]=c=>t.showContextMenu=c),x:-100,y:0,items:t.contextMenuItems,onClick:t.onContextMenuClick,onPointerdown:e[2]||(e[2]=j(()=>{},["stop","prevent"]))},null,8,["modelValue","items","onClick"])])):G("",!0)])],8,dPt)}const Cw=dn(cPt,[["render",hPt]]),fPt={class:"baklava-node-palette"},mPt={key:0},gPt=cn({__name:"NodePalette",setup(t){const{viewModel:e}=xs(),{x:n,y:s}=xLt(),{transform:i}=CO(),r=xO(e),o=Zn("editorEl"),a=ct(null),c=et(()=>{if(!a.value||!(o!=null&&o.value))return{};const{left:u,top:h}=o.value.getBoundingClientRect();return{top:`${s.value-h}px`,left:`${n.value-u}px`}}),d=(u,h)=>{a.value={type:u,nodeInformation:h};const f=()=>{const m=Wn(new h.type);e.value.displayedGraph.addNode(m);const _=o.value.getBoundingClientRect(),[g,b]=i(n.value-_.left,s.value-_.top);m.position.x=g,m.position.y=b,a.value=null,document.removeEventListener("pointerup",f)};document.addEventListener("pointerup",f)};return(u,h)=>(T(),x(Fe,null,[l("div",fPt,[(T(!0),x(Fe,null,Ke(Lt(r),f=>(T(),x("section",{key:f.name},[f.name!=="default"?(T(),x("h1",mPt,K(f.name),1)):G("",!0),(T(!0),x(Fe,null,Ke(f.nodeTypes,(m,_)=>(T(),dt(Cw,{key:_,type:_,title:m.title,onPointerdown:g=>d(_,m)},null,8,["type","title","onPointerdown"]))),128))]))),128))]),V(Fs,{name:"fade"},{default:Ie(()=>[a.value?(T(),x("div",{key:0,class:"baklava-dragged-node",style:Ht(c.value)},[V(Cw,{type:a.value.type,title:a.value.nodeInformation.title},null,8,["type","title"])],4)):G("",!0)]),_:1})],64))}});let ud;const bPt=new Uint8Array(16);function EPt(){if(!ud&&(ud=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ud))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ud(bPt)}const Sn=[];for(let t=0;t<256;++t)Sn.push((t+256).toString(16).slice(1));function yPt(t,e=0){return Sn[t[e+0]]+Sn[t[e+1]]+Sn[t[e+2]]+Sn[t[e+3]]+"-"+Sn[t[e+4]]+Sn[t[e+5]]+"-"+Sn[t[e+6]]+Sn[t[e+7]]+"-"+Sn[t[e+8]]+Sn[t[e+9]]+"-"+Sn[t[e+10]]+Sn[t[e+11]]+Sn[t[e+12]]+Sn[t[e+13]]+Sn[t[e+14]]+Sn[t[e+15]]}const vPt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ww={randomUUID:vPt};function du(t,e,n){if(ww.randomUUID&&!e&&!t)return ww.randomUUID();t=t||{};const s=t.random||(t.rng||EPt)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=s[i];return e}return yPt(s)}const Kl="SAVE_SUBGRAPH";function SPt(t,e){const n=()=>{const s=t.value;if(!s.template)throw new Error("Graph template property not set");s.template.update(s.save()),s.template.panning=s.panning,s.template.scaling=s.scaling};e.registerCommand(Kl,{canExecute:()=>{var s;return t.value!==((s=t.value.editor)==null?void 0:s.graph)},execute:n})}const TPt={},xPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},CPt=l("polyline",{points:"6 9 12 15 18 9"},null,-1),wPt=[CPt];function RPt(t,e){return T(),x("svg",xPt,wPt)}const APt=dn(TPt,[["render",RPt]]),NPt=cn({components:{"i-arrow":APt},props:{intf:{type:Object,required:!0}},setup(t){const e=ct(null),n=ct(!1),s=et(()=>t.intf.items.find(o=>typeof o=="string"?o===t.intf.value:o.value===t.intf.value)),i=et(()=>s.value?typeof s.value=="string"?s.value:s.value.text:""),r=o=>{t.intf.value=typeof o=="string"?o:o.value};return AO(e,()=>{n.value=!1}),{el:e,open:n,selectedItem:s,selectedText:i,setSelected:r}}}),OPt=["title"],MPt={class:"__selected"},IPt={class:"__text"},kPt={class:"__icon"},DPt={class:"__dropdown"},LPt={class:"item --header"},PPt=["onClick"];function FPt(t,e,n,s,i,r){const o=tt("i-arrow");return T(),x("div",{ref:"el",class:Ge(["baklava-select",{"--open":t.open}]),title:t.intf.name,onClick:e[0]||(e[0]=a=>t.open=!t.open)},[l("div",MPt,[l("div",IPt,K(t.selectedText),1),l("div",kPt,[V(o)])]),V(Fs,{name:"slide-fade"},{default:Ie(()=>[P(l("div",DPt,[l("div",LPt,K(t.intf.name),1),(T(!0),x(Fe,null,Ke(t.intf.items,(a,c)=>(T(),x("div",{key:c,class:Ge(["item",{"--active":a===t.selectedItem}]),onClick:d=>t.setSelected(a)},K(typeof a=="string"?a:a.text),11,PPt))),128))],512),[[wt,t.open]])]),_:1})],10,OPt)}const UPt=dn(NPt,[["render",FPt]]);class BPt extends Xt{constructor(e,n,s){super(e,n),this.component=jl(UPt),this.items=s}}const GPt=cn({props:{intf:{type:Object,required:!0}}});function VPt(t,e,n,s,i,r){return T(),x("div",null,K(t.intf.value),1)}const zPt=dn(GPt,[["render",VPt]]);class HPt extends Xt{constructor(e,n){super(e,n),this.component=jl(zPt),this.setPort(!1)}}const qPt=cn({props:{intf:{type:Object,required:!0},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(t,{emit:e}){return{v:et({get:()=>t.modelValue,set:s=>{e("update:modelValue",s)}})}}}),$Pt=["placeholder","title"];function YPt(t,e,n,s,i,r){return T(),x("div",null,[P(l("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>t.v=o),type:"text",class:"baklava-input",placeholder:t.intf.name,title:t.intf.name},null,8,$Pt),[[pe,t.v]])])}const WPt=dn(qPt,[["render",YPt]]);class ac extends Xt{constructor(){super(...arguments),this.component=jl(WPt)}}class IO extends bO{constructor(){super(...arguments),this._title="Subgraph Input",this.inputs={name:new ac("Name","Input").setPort(!1)},this.outputs={placeholder:new Xt("Connection",void 0)}}}class kO extends EO{constructor(){super(...arguments),this._title="Subgraph Output",this.inputs={name:new ac("Name","Output").setPort(!1),placeholder:new Xt("Connection",void 0)},this.outputs={output:new Xt("Output",void 0).setHidden(!0)}}}const DO="CREATE_SUBGRAPH",Rw=[ya,va];function KPt(t,e,n){const s=()=>t.value.selectedNodes.filter(r=>!Rw.includes(r.type)).length>0,i=()=>{const{viewModel:r}=xs(),o=t.value,a=t.value.editor;if(o.selectedNodes.length===0)return;const c=o.selectedNodes.filter(C=>!Rw.includes(C.type)),d=c.flatMap(C=>Object.values(C.inputs)),u=c.flatMap(C=>Object.values(C.outputs)),h=o.connections.filter(C=>!u.includes(C.from)&&d.includes(C.to)),f=o.connections.filter(C=>u.includes(C.from)&&!d.includes(C.to)),m=o.connections.filter(C=>u.includes(C.from)&&d.includes(C.to)),_=c.map(C=>C.save()),g=m.map(C=>({id:C.id,from:C.from.id,to:C.to.id})),b=new Map,{xLeft:E,xRight:y,yTop:v}=jPt(c);console.log(E,y,v);for(const[C,O]of h.entries()){const B=new IO;B.inputs.name.value=O.to.name,_.push({...B.save(),position:{x:y-r.value.settings.nodes.defaultWidth-100,y:v+C*200}}),g.push({id:du(),from:B.outputs.placeholder.id,to:O.to.id}),b.set(O.to.id,B.graphInterfaceId)}for(const[C,O]of f.entries()){const B=new kO;B.inputs.name.value=O.from.name,_.push({...B.save(),position:{x:E+100,y:v+C*200}}),g.push({id:du(),from:O.from.id,to:B.inputs.placeholder.id}),b.set(O.from.id,B.graphInterfaceId)}const S=Wn(new op({connections:g,nodes:_,inputs:[],outputs:[]},a));a.addGraphTemplate(S);const R=a.nodeTypes.get(Sa(S));if(!R)throw new Error("Unable to create subgraph: Could not find corresponding graph node type");const w=Wn(new R.type);o.addNode(w);const A=Math.round(c.map(C=>C.position.x).reduce((C,O)=>C+O,0)/c.length),I=Math.round(c.map(C=>C.position.y).reduce((C,O)=>C+O,0)/c.length);w.position.x=A,w.position.y=I,h.forEach(C=>{o.removeConnection(C),o.addConnection(C.from,w.inputs[b.get(C.to.id)])}),f.forEach(C=>{o.removeConnection(C),o.addConnection(w.outputs[b.get(C.from.id)],C.to)}),c.forEach(C=>o.removeNode(C)),e.canExecuteCommand(Kl)&&e.executeCommand(Kl),n(S),t.value.panning={...o.panning},t.value.scaling=o.scaling};e.registerCommand(DO,{canExecute:s,execute:i})}function jPt(t){const e=t.reduce((i,r)=>{const o=r.position.x;return o{const o=r.position.y;return o{const o=r.position.x+r.width;return o>i?o:i},-1/0),xRight:e,yTop:n}}const Aw="DELETE_NODES";function QPt(t,e){e.registerCommand(Aw,{canExecute:()=>t.value.selectedNodes.length>0,execute(){t.value.selectedNodes.forEach(n=>t.value.removeNode(n))}}),e.registerHotkey(["Delete"],Aw)}const LO="SWITCH_TO_MAIN_GRAPH";function XPt(t,e,n){e.registerCommand(LO,{canExecute:()=>t.value!==t.value.editor.graph,execute:()=>{e.executeCommand(Kl),n(t.value.editor.graph)}})}function ZPt(t,e,n){QPt(t,e),KPt(t,e,n),SPt(t,e),XPt(t,e,n)}class Nw{constructor(e,n){this.type=e,e==="addNode"?this.nodeId=n:this.nodeState=n}undo(e){this.type==="addNode"?this.removeNode(e):this.addNode(e)}redo(e){this.type==="addNode"&&this.nodeState?this.addNode(e):this.type==="removeNode"&&this.nodeId&&this.removeNode(e)}addNode(e){const n=e.editor.nodeTypes.get(this.nodeState.type);if(!n)return;const s=new n.type;e.addNode(s),s.load(this.nodeState),this.nodeId=s.id}removeNode(e){const n=e.nodes.find(s=>s.id===this.nodeId);n&&(this.nodeState=n.save(),e.removeNode(n))}}class Ow{constructor(e,n){if(this.type=e,e==="addConnection")this.connectionId=n;else{const s=n;this.connectionState={id:s.id,from:s.from.id,to:s.to.id}}}undo(e){this.type==="addConnection"?this.removeConnection(e):this.addConnection(e)}redo(e){this.type==="addConnection"&&this.connectionState?this.addConnection(e):this.type==="removeConnection"&&this.connectionId&&this.removeConnection(e)}addConnection(e){const n=e.findNodeInterface(this.connectionState.from),s=e.findNodeInterface(this.connectionState.to);!n||!s||e.addConnection(n,s)}removeConnection(e){const n=e.connections.find(s=>s.id===this.connectionId);n&&(this.connectionState={id:n.id,from:n.from.id,to:n.to.id},e.removeConnection(n))}}class JPt{constructor(e){if(this.type="transaction",e.length===0)throw new Error("Can't create a transaction with no steps");this.steps=e}undo(e){for(let n=this.steps.length-1;n>=0;n--)this.steps[n].undo(e)}redo(e){for(let n=0;n{if(!r.value)if(a.value)c.value.push(b);else for(o.value!==i.value.length-1&&(i.value=i.value.slice(0,o.value+1)),i.value.push(b),o.value++;i.value.length>s.value;)i.value.shift()},u=()=>{a.value=!0},h=()=>{a.value=!1,c.value.length>0&&(d(new JPt(c.value)),c.value=[])},f=()=>i.value.length!==0&&o.value!==-1,m=()=>{f()&&(r.value=!0,i.value[o.value--].undo(t.value),r.value=!1)},_=()=>i.value.length!==0&&o.value{_()&&(r.value=!0,i.value[++o.value].redo(t.value),r.value=!1)};return In(t,(b,E)=>{E&&(E.events.addNode.unsubscribe(n),E.events.removeNode.unsubscribe(n),E.events.addConnection.unsubscribe(n),E.events.removeConnection.unsubscribe(n)),b&&(b.events.addNode.subscribe(n,y=>{d(new Nw("addNode",y.id))}),b.events.removeNode.subscribe(n,y=>{d(new Nw("removeNode",y.save()))}),b.events.addConnection.subscribe(n,y=>{d(new Ow("addConnection",y.id))}),b.events.removeConnection.subscribe(n,y=>{d(new Ow("removeConnection",y))}))},{immediate:!0}),e.registerCommand(ub,{canExecute:f,execute:m}),e.registerCommand(pb,{canExecute:_,execute:g}),e.registerCommand(PO,{canExecute:()=>!a.value,execute:u}),e.registerCommand(FO,{canExecute:()=>a.value,execute:h}),e.registerHotkey(["Control","z"],ub),e.registerHotkey(["Control","y"],pb),Wn({maxSteps:s})}const _b="COPY",hb="PASTE",tFt="CLEAR_CLIPBOARD";function nFt(t,e,n){const s=Symbol("ClipboardToken"),i=ct(""),r=ct(""),o=et(()=>!i.value),a=()=>{i.value="",r.value=""},c=()=>{const h=t.value.selectedNodes.flatMap(m=>[...Object.values(m.inputs),...Object.values(m.outputs)]),f=t.value.connections.filter(m=>h.includes(m.from)||h.includes(m.to)).map(m=>({from:m.from.id,to:m.to.id}));r.value=JSON.stringify(f),i.value=JSON.stringify(t.value.selectedNodes.map(m=>m.save()))},d=(h,f,m)=>{for(const _ of h){let g;if((!m||m==="input")&&(g=Object.values(_.inputs).find(b=>b.id===f)),!g&&(!m||m==="output")&&(g=Object.values(_.outputs).find(b=>b.id===f)),g)return g}},u=()=>{if(o.value)return;const h=new Map,f=JSON.parse(i.value),m=JSON.parse(r.value),_=[],g=[],b=t.value;n.executeCommand(PO);for(const E of f){const y=e.value.nodeTypes.get(E.type);if(!y){console.warn(`Node type ${E.type} not registered`);return}const v=new y.type,S=v.id;_.push(v),v.hooks.beforeLoad.subscribe(s,R=>{const w=R;return w.position&&(w.position.x+=100,w.position.y+=100),v.hooks.beforeLoad.unsubscribe(s),w}),b.addNode(v),v.load({...E,id:S}),v.id=S,h.set(E.id,S);for(const R of Object.values(v.inputs)){const w=du();h.set(R.id,w),R.id=w}for(const R of Object.values(v.outputs)){const w=du();h.set(R.id,w),R.id=w}}for(const E of m){const y=d(_,h.get(E.from),"output"),v=d(_,h.get(E.to),"input");if(!y||!v)continue;const S=b.addConnection(y,v);S&&g.push(S)}return t.value.selectedNodes=_,n.executeCommand(FO),{newNodes:_,newConnections:g}};return n.registerCommand(_b,{canExecute:()=>t.value.selectedNodes.length>0,execute:c}),n.registerHotkey(["Control","c"],_b),n.registerCommand(hb,{canExecute:()=>!o.value,execute:u}),n.registerHotkey(["Control","v"],hb),n.registerCommand(tFt,{canExecute:()=>!0,execute:a}),Wn({isEmpty:o})}const sFt="OPEN_SIDEBAR";function iFt(t,e){e.registerCommand(sFt,{execute:n=>{t.value.sidebar.nodeId=n,t.value.sidebar.visible=!0},canExecute:()=>!0})}function rFt(t,e){iFt(t,e)}const oFt={},aFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},lFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),cFt=l("path",{d:"M9 13l-4 -4l4 -4m-4 4h11a4 4 0 0 1 0 8h-1"},null,-1),dFt=[lFt,cFt];function uFt(t,e){return T(),x("svg",aFt,dFt)}const pFt=dn(oFt,[["render",uFt]]),_Ft={},hFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},fFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),mFt=l("path",{d:"M15 13l4 -4l-4 -4m4 4h-11a4 4 0 0 0 0 8h1"},null,-1),gFt=[fFt,mFt];function bFt(t,e){return T(),x("svg",hFt,gFt)}const EFt=dn(_Ft,[["render",bFt]]),yFt={},vFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},SFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),TFt=l("line",{x1:"5",y1:"12",x2:"19",y2:"12"},null,-1),xFt=l("line",{x1:"5",y1:"12",x2:"11",y2:"18"},null,-1),CFt=l("line",{x1:"5",y1:"12",x2:"11",y2:"6"},null,-1),wFt=[SFt,TFt,xFt,CFt];function RFt(t,e){return T(),x("svg",vFt,wFt)}const AFt=dn(yFt,[["render",RFt]]),NFt={},OFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},MFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),IFt=l("path",{d:"M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2"},null,-1),kFt=l("rect",{x:"9",y:"3",width:"6",height:"4",rx:"2"},null,-1),DFt=[MFt,IFt,kFt];function LFt(t,e){return T(),x("svg",OFt,DFt)}const PFt=dn(NFt,[["render",LFt]]),FFt={},UFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},BFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),GFt=l("rect",{x:"8",y:"8",width:"12",height:"12",rx:"2"},null,-1),VFt=l("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"},null,-1),zFt=[BFt,GFt,VFt];function HFt(t,e){return T(),x("svg",UFt,zFt)}const qFt=dn(FFt,[["render",HFt]]),$Ft={},YFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},WFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),KFt=l("path",{d:"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"},null,-1),jFt=l("circle",{cx:"12",cy:"14",r:"2"},null,-1),QFt=l("polyline",{points:"14 4 14 8 8 8 8 4"},null,-1),XFt=[WFt,KFt,jFt,QFt];function ZFt(t,e){return T(),x("svg",YFt,XFt)}const JFt=dn($Ft,[["render",ZFt]]),eUt={},tUt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},nUt=Na('',6),sUt=[nUt];function iUt(t,e){return T(),x("svg",tUt,sUt)}const rUt=dn(eUt,[["render",iUt]]),oUt=cn({props:{command:{type:String,required:!0},title:{type:String,required:!0},icon:{type:Object,required:!1,default:void 0}},setup(){const{viewModel:t}=xs();return{viewModel:t}}}),aUt=["disabled","title"];function lUt(t,e,n,s,i,r){return T(),x("button",{class:"baklava-toolbar-entry baklava-toolbar-button",disabled:!t.viewModel.commandHandler.canExecuteCommand(t.command),title:t.title,onClick:e[0]||(e[0]=o=>t.viewModel.commandHandler.executeCommand(t.command))},[t.icon?(T(),dt(Tu(t.icon),{key:0})):(T(),x(Fe,{key:1},[Je(K(t.title),1)],64))],8,aUt)}const cUt=dn(oUt,[["render",lUt]]),dUt=cn({components:{ToolbarButton:cUt},setup(){const{viewModel:t}=xs();return{isSubgraph:et(()=>t.value.displayedGraph!==t.value.editor.graph),commands:[{command:_b,title:"Copy",icon:qFt},{command:hb,title:"Paste",icon:PFt},{command:ub,title:"Undo",icon:pFt},{command:pb,title:"Redo",icon:EFt},{command:DO,title:"Create Subgraph",icon:rUt}],subgraphCommands:[{command:Kl,title:"Save Subgraph",icon:JFt},{command:LO,title:"Back to Main Graph",icon:AFt}]}}}),uUt={class:"baklava-toolbar"};function pUt(t,e,n,s,i,r){const o=tt("toolbar-button");return T(),x("div",uUt,[(T(!0),x(Fe,null,Ke(t.commands,a=>(T(),dt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)),t.isSubgraph?(T(!0),x(Fe,{key:0},Ke(t.subgraphCommands,a=>(T(),dt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)):G("",!0)])}const _Ut=dn(dUt,[["render",pUt]]),hUt={class:"connections-container"},fUt=cn({__name:"Editor",props:{viewModel:{}},setup(t){const e=t,n=Symbol("EditorToken"),s=kd(e,"viewModel");cLt(s);const i=ct(null);Yo("editorEl",i);const r=et(()=>e.viewModel.displayedGraph.nodes),o=et(()=>e.viewModel.displayedGraph.nodes.map(A=>SO(kd(A,"position")))),a=et(()=>e.viewModel.displayedGraph.connections),c=et(()=>e.viewModel.displayedGraph.selectedNodes),d=dLt(),u=uLt(),h=pLt(s),f=et(()=>({...d.styles.value})),m=ct(0);e.viewModel.editor.hooks.load.subscribe(n,A=>(m.value++,A));const _=A=>{d.onPointerMove(A),u.onMouseMove(A)},g=A=>{A.button===0&&(A.target===i.value&&(S(),d.onPointerDown(A)),u.onMouseDown())},b=A=>{d.onPointerUp(A),u.onMouseUp()},E=A=>{A.key==="Tab"&&A.preventDefault(),e.viewModel.commandHandler.handleKeyDown(A)},y=A=>{e.viewModel.commandHandler.handleKeyUp(A)},v=A=>{["Control","Shift"].some(I=>e.viewModel.commandHandler.pressedKeys.includes(I))||S(),e.viewModel.displayedGraph.selectedNodes.push(A)},S=()=>{e.viewModel.displayedGraph.selectedNodes=[]},R=A=>{for(const I of e.viewModel.displayedGraph.selectedNodes){const C=r.value.indexOf(I),O=o.value[C];O.onPointerDown(A),document.addEventListener("pointermove",O.onPointerMove)}document.addEventListener("pointerup",w)},w=()=>{for(const A of e.viewModel.displayedGraph.selectedNodes){const I=r.value.indexOf(A),C=o.value[I];C.onPointerUp(),document.removeEventListener("pointermove",C.onPointerMove)}document.removeEventListener("pointerup",w)};return(A,I)=>(T(),x("div",{ref_key:"el",ref:i,tabindex:"-1",class:Ge(["baklava-editor",{"baklava-ignore-mouse":!!Lt(u).temporaryConnection.value||Lt(d).dragging.value,"--temporary-connection":!!Lt(u).temporaryConnection.value}]),onPointermove:j(_,["self"]),onPointerdown:g,onPointerup:b,onWheel:I[1]||(I[1]=j((...C)=>Lt(d).onMouseWheel&&Lt(d).onMouseWheel(...C),["self"])),onKeydown:E,onKeyup:y,onContextmenu:I[2]||(I[2]=j((...C)=>Lt(h).open&&Lt(h).open(...C),["self","prevent"]))},[un(A.$slots,"background",{},()=>[V(fLt)]),un(A.$slots,"toolbar",{},()=>[V(_Ut)]),un(A.$slots,"palette",{},()=>[V(gPt)]),(T(),x("svg",hUt,[(T(!0),x(Fe,null,Ke(a.value,C=>(T(),x("g",{key:C.id+m.value.toString()},[un(A.$slots,"connection",{connection:C},()=>[V(JLt,{connection:C},null,8,["connection"])])]))),128)),un(A.$slots,"temporaryConnection",{temporaryConnection:Lt(u).temporaryConnection.value},()=>[Lt(u).temporaryConnection.value?(T(),dt(nPt,{key:0,connection:Lt(u).temporaryConnection.value},null,8,["connection"])):G("",!0)])])),l("div",{class:"node-container",style:Ht(f.value)},[V(ii,{name:"fade"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(r.value,(C,O)=>un(A.$slots,"node",{key:C.id+m.value.toString(),node:C,selected:c.value.includes(C),dragging:o.value[O].dragging.value,onSelect:B=>v(C),onStartDrag:R},()=>[V(YLt,{node:C,selected:c.value.includes(C),dragging:o.value[O].dragging.value,onSelect:B=>v(C),onStartDrag:R},null,8,["node","selected","dragging","onSelect"])])),128))]),_:3})],4),un(A.$slots,"sidebar",{},()=>[V(aPt)]),un(A.$slots,"minimap",{},()=>[A.viewModel.settings.enableMinimap?(T(),dt(lPt,{key:0})):G("",!0)]),un(A.$slots,"contextMenu",{contextMenu:Lt(h)},()=>[A.viewModel.settings.contextMenu.enabled?(T(),dt(ly,{key:0,modelValue:Lt(h).show.value,"onUpdate:modelValue":I[0]||(I[0]=C=>Lt(h).show.value=C),items:Lt(h).items.value,x:Lt(h).x.value,y:Lt(h).y.value,onClick:Lt(h).onClick},null,8,["modelValue","items","x","y","onClick"])):G("",!0)])],34))}}),mUt=["INPUT","TEXTAREA","SELECT"];function gUt(t){const e=ct([]),n=ct([]);return{pressedKeys:e,handleKeyDown:o=>{var a;e.value.includes(o.key)||e.value.push(o.key),!mUt.includes(((a=document.activeElement)==null?void 0:a.tagName)??"")&&n.value.forEach(c=>{c.keys.every(d=>e.value.includes(d))&&t(c.commandName)})},handleKeyUp:o=>{const a=e.value.indexOf(o.key);a>=0&&e.value.splice(a,1)},registerHotkey:(o,a)=>{n.value.push({keys:o,commandName:a})}}}const bUt=()=>{const t=ct(new Map),e=(r,o)=>{if(t.value.has(r))throw new Error(`Command "${r}" already exists`);t.value.set(r,o)},n=(r,o=!1,...a)=>{if(!t.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return}return t.value.get(r).execute(...a)},s=(r,o=!1,...a)=>{if(!t.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return!1}return t.value.get(r).canExecute(a)},i=gUt(n);return Wn({registerCommand:e,executeCommand:n,canExecuteCommand:s,...i})},EUt=t=>!(t instanceof oc);function yUt(t,e){return{switchGraph:s=>{let i;if(EUt(s))i=new oc(t.value),s.createGraph(i);else{if(s!==t.value.graph)throw new Error("Can only switch using 'Graph' instance when it is the root graph. Otherwise a 'GraphTemplate' must be used.");i=s}e.value&&e.value!==t.value.graph&&e.value.destroy(),i.panning=i.panning??s.panning??{x:0,y:0},i.scaling=i.scaling??s.scaling??1,i.selectedNodes=i.selectedNodes??[],i.sidebar=i.sidebar??{visible:!1,nodeId:"",optionName:""},e.value=i}}}function vUt(t,e){t.position=t.position??{x:0,y:0},t.disablePointerEvents=!1,t.twoColumn=t.twoColumn??!1,t.width=t.width??e.defaultWidth}const SUt=()=>({useStraightConnections:!1,enableMinimap:!1,background:{gridSize:100,gridDivision:5,subGridVisibleThreshold:.6},sidebar:{width:300,resizable:!0},displayValueOnHover:!1,nodes:{defaultWidth:200,maxWidth:320,minWidth:150,resizable:!1},contextMenu:{enabled:!0,additionalItems:[]}});function TUt(t){const e=ct(t??new sLt),n=Symbol("ViewModelToken"),s=ct(null),i=VM(s),{switchGraph:r}=yUt(e,s),o=et(()=>i.value&&i.value!==e.value.graph),a=Wn(SUt()),c=bUt(),d=eFt(i,c),u=nFt(i,e,c),h={renderNode:new ss(null),renderInterface:new ss(null)};return ZPt(i,c,r),rFt(i,c),In(e,(f,m)=>{m&&(m.events.registerGraph.unsubscribe(n),m.graphEvents.beforeAddNode.unsubscribe(n),f.nodeHooks.beforeLoad.unsubscribe(n),f.nodeHooks.afterSave.unsubscribe(n),f.graphTemplateHooks.beforeLoad.unsubscribe(n),f.graphTemplateHooks.afterSave.unsubscribe(n),f.graph.hooks.load.unsubscribe(n),f.graph.hooks.save.unsubscribe(n)),f&&(f.nodeHooks.beforeLoad.subscribe(n,(_,g)=>(g.position=_.position??{x:0,y:0},g.width=_.width??a.nodes.defaultWidth,g.twoColumn=_.twoColumn??!1,_)),f.nodeHooks.afterSave.subscribe(n,(_,g)=>(_.position=g.position,_.width=g.width,_.twoColumn=g.twoColumn,_)),f.graphTemplateHooks.beforeLoad.subscribe(n,(_,g)=>(g.panning=_.panning,g.scaling=_.scaling,_)),f.graphTemplateHooks.afterSave.subscribe(n,(_,g)=>(_.panning=g.panning,_.scaling=g.scaling,_)),f.graph.hooks.load.subscribe(n,(_,g)=>(g.panning=_.panning,g.scaling=_.scaling,_)),f.graph.hooks.save.subscribe(n,(_,g)=>(_.panning=g.panning,_.scaling=g.scaling,_)),f.graphEvents.beforeAddNode.subscribe(n,_=>vUt(_,{defaultWidth:a.nodes.defaultWidth})),e.value.registerNodeType(IO,{category:"Subgraphs"}),e.value.registerNodeType(kO,{category:"Subgraphs"}),r(f.graph))},{immediate:!0}),Wn({editor:e,displayedGraph:i,isSubgraph:o,settings:a,commandHandler:c,history:d,clipboard:u,hooks:h,switchGraph:r})}const xUt=za({type:"PersonalityNode",title:"Personality",inputs:{request:()=>new Xt("Request",""),agent_name:()=>new BPt("Personality","",Ms.state.config.personalities).setPort(!1)},outputs:{response:()=>new Xt("Response","")},async calculate({request:t}){console.log(Ms.state.config.personalities);let e="";try{e=(await ae.post("/generate",{params:{text:t}})).data}catch(n){console.error(n)}return{display:e,response:e}}}),CUt=za({type:"RAGNode",title:"RAG",inputs:{request:()=>new Xt("Prompt",""),document_path:()=>new ac("Document path","").setPort(!1)},outputs:{prompt:()=>new Xt("Prompt with Data","")},async calculate({request:t,document_path:e}){let n="";try{n=(await ae.get("/rag",{params:{text:t,doc_path:e}})).data}catch(s){console.error(s)}return{response:n}}}),Mw=za({type:"Task",title:"Task",inputs:{description:()=>new ac("Task description","").setPort(!1)},outputs:{prompt:()=>new Xt("Prompt")},calculate({description:t}){return{prompt:t}}}),Iw=za({type:"TextDisplayNode",title:"TextDisplay",inputs:{text2display:()=>new Xt("Input","")},outputs:{response:()=>new HPt("Text","")},async calculate({request:t}){}}),kw=za({type:"LLMNode",title:"LLM",inputs:{request:()=>new Xt("Request","")},outputs:{response:()=>new Xt("Response","")},async calculate({request:t}){console.log(Ms.state.config.personalities);let e="";try{e=(await ae.post("/generate",{params:{text:t}})).data}catch(n){console.error(n)}return{display:e,response:e}}}),wUt=za({type:"MultichoiceNode",title:"Multichoice",inputs:{question:()=>new Xt("Question",""),outputs:()=>new ac("choices, one per line","","").setPort(!1)},outputs:{response:()=>new Xt("Response","")}}),RUt=cn({components:{"baklava-editor":fUt},setup(){const t=TUt(),e=new lLt(t.editor);t.editor.registerNodeType(xUt),t.editor.registerNodeType(Mw),t.editor.registerNodeType(CUt),t.editor.registerNodeType(Iw),t.editor.registerNodeType(kw),t.editor.registerNodeType(wUt);const n=Symbol();e.events.afterRun.subscribe(n,a=>{e.pause(),iLt(a,t.editor),e.resume()}),e.start();function s(a,c,d){const u=new a;return t.displayedGraph.addNode(u),u.position.x=c,u.position.y=d,u}const i=s(Mw,300,140),r=s(kw,550,140),o=s(Iw,850,140);return t.displayedGraph.addConnection(i.outputs.prompt,r.inputs.request),t.displayedGraph.addConnection(r.outputs.response,o.inputs.text2display),{baklava:t,saveGraph:()=>{const a=e.export();localStorage.setItem("myGraph",JSON.stringify(a))},loadGraph:()=>{const a=JSON.parse(localStorage.getItem("myGraph"));e.import(a)}}}}),AUt={style:{width:"100vw",height:"100vh"}};function NUt(t,e,n,s,i,r){const o=tt("baklava-editor");return T(),x("div",AUt,[V(o,{"view-model":t.baklava},null,8,["view-model"]),l("button",{onClick:e[0]||(e[0]=(...a)=>t.saveGraph&&t.saveGraph(...a))},"Save Graph"),l("button",{onClick:e[1]||(e[1]=(...a)=>t.loadGraph&&t.loadGraph(...a))},"Load Graph")])}const OUt=ot(RUt,[["render",NUt]]),MUt={},IUt={style:{width:"100vw",height:"100vh"}},kUt=["src"];function DUt(t,e,n,s,i,r){return T(),x("div",IUt,[l("iframe",{src:t.$store.state.config.comfyui_base_url,class:"m-0 p-0 w-full h-full"},null,8,kUt)])}const LUt=ot(MUt,[["render",DUt]]),PUt={},FUt={style:{width:"100vw",height:"100vh"}},UUt=["src"];function BUt(t,e,n,s,i,r){return T(),x("div",FUt,[l("iframe",{src:t.$store.state.config.sd_base_url,class:"m-0 p-0 w-full h-full"},null,8,UUt)])}const GUt=ot(PUt,[["render",BUt]]);const VUt={name:"AppCard",props:{app:{type:Object,required:!0},isFavorite:{type:Boolean,default:!1}},methods:{formatDate(t){const e={year:"numeric",month:"short",day:"numeric"};return new Date(t).toLocaleDateString(void 0,e)}}},is=t=>(vs("data-v-192425d2"),t=t(),Ss(),t),zUt={class:"app-card bg-white border rounded-xl shadow-lg p-6 hover:shadow-xl transition duration-300 ease-in-out flex flex-col h-full"},HUt={class:"flex-grow"},qUt={class:"flex items-center mb-4"},$Ut=["src"],YUt={class:"font-bold text-xl text-gray-800"},WUt={class:"text-sm text-gray-600"},KUt={class:"text-sm text-gray-600"},jUt={class:"text-sm text-gray-600"},QUt={class:"text-sm text-gray-600"},XUt={class:"mb-4"},ZUt=is(()=>l("h4",{class:"font-semibold mb-1 text-gray-700"},"Description:",-1)),JUt={class:"text-sm text-gray-600 h-20 overflow-y-auto"},e3t={class:"text-sm text-gray-600 mb-2"},t3t={key:0,class:"mb-4"},n3t=is(()=>l("h4",{class:"font-semibold mb-1 text-gray-700"},"Disclaimer:",-1)),s3t={class:"text-xs text-gray-500 italic h-16 overflow-y-auto"},i3t={class:"mt-auto pt-4 border-t"},r3t={class:"flex justify-between items-center flex-wrap"},o3t=["title"],a3t=["fill"],l3t=is(()=>l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"},null,-1)),c3t=[l3t],d3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)),u3t=[d3t],p3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)),_3t=[p3t],h3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1)),f3t=[h3t],m3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)),g3t=[m3t],b3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1)),E3t=[b3t],y3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1)),v3t=[y3t],S3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1)),T3t=[S3t],x3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 12h14M12 5l7 7-7 7"})],-1)),C3t=[x3t],w3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)),R3t=is(()=>l("span",{class:"absolute top-0 right-0 inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-100 transform translate-x-1/2 -translate-y-1/2 bg-red-600 rounded-full"},"!",-1)),A3t=[w3t,R3t];function N3t(t,e,n,s,i,r){return T(),x("div",zUt,[l("div",HUt,[l("div",qUt,[l("img",{src:n.app.icon,alt:"App Icon",class:"w-16 h-16 rounded-full border border-gray-300 mr-4"},null,8,$Ut),l("div",null,[l("h3",YUt,K(n.app.name),1),l("p",WUt,"Author: "+K(n.app.author),1),l("p",KUt,"Version: "+K(n.app.version),1),l("p",jUt,"Creation date: "+K(r.formatDate(n.app.creation_date)),1),l("p",QUt,"Last update: "+K(r.formatDate(n.app.last_update_date)),1),l("p",{class:Ge(["text-sm",n.app.is_public?"text-green-600":"text-orange-600"])},K(n.app.is_public?"Public App":"Local App"),3)])]),l("div",XUt,[ZUt,l("p",JUt,K(n.app.description),1)]),l("p",e3t,"AI Model: "+K(n.app.model_name),1),n.app.disclaimer&&n.app.disclaimer.trim()!==""?(T(),x("div",t3t,[n3t,l("p",s3t,K(n.app.disclaimer),1)])):G("",!0)]),l("div",i3t,[l("div",r3t,[l("button",{onClick:e[0]||(e[0]=j(o=>t.$emit("toggle-favorite",n.app.uid),["stop"])),class:"text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out",title:n.isFavorite?"Remove from favorites":"Add to favorites"},[(T(),x("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:n.isFavorite?"currentColor":"none",viewBox:"0 0 24 24",stroke:"currentColor"},c3t,8,a3t))],8,o3t),n.app.installed?(T(),x("button",{key:0,onClick:e[1]||(e[1]=j(o=>t.$emit("uninstall",n.app.folder_name),["stop"])),class:"text-red-500 hover:text-red-600 transition duration-300 ease-in-out",title:"Uninstall"},u3t)):n.app.existsInFolder?(T(),x("button",{key:1,onClick:e[2]||(e[2]=j(o=>t.$emit("delete",n.app.name),["stop"])),class:"text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out",title:"Delete"},_3t)):(T(),x("button",{key:2,onClick:e[3]||(e[3]=j(o=>t.$emit("install",n.app.folder_name),["stop"])),class:"text-blue-500 hover:text-blue-600 transition duration-300 ease-in-out",title:"Install"},f3t)),n.app.installed?(T(),x("button",{key:3,onClick:e[4]||(e[4]=j(o=>t.$emit("edit",n.app),["stop"])),class:"text-purple-500 hover:text-purple-600 transition duration-300 ease-in-out",title:"Edit"},g3t)):G("",!0),l("button",{onClick:e[5]||(e[5]=j(o=>t.$emit("download",n.app.folder_name),["stop"])),class:"text-green-500 hover:text-green-600 transition duration-300 ease-in-out",title:"Download"},E3t),l("button",{onClick:e[6]||(e[6]=j(o=>t.$emit("view",n.app),["stop"])),class:"text-gray-500 hover:text-gray-600 transition duration-300 ease-in-out",title:"View"},v3t),n.app.installed?(T(),x("button",{key:4,onClick:e[7]||(e[7]=j(o=>t.$emit("open",n.app),["stop"])),class:"text-indigo-500 hover:text-indigo-600 transition duration-300 ease-in-out",title:"Open"},T3t)):G("",!0),n.app.has_server&&n.app.installed?(T(),x("button",{key:5,onClick:e[8]||(e[8]=j(o=>t.$emit("start-server",n.app.folder_name),["stop"])),class:"text-teal-500 hover:text-teal-600 transition duration-300 ease-in-out",title:"Start Server"},C3t)):G("",!0),n.app.has_update?(T(),x("button",{key:6,onClick:e[9]||(e[9]=j(o=>t.$emit("install",n.app.folder_name),["stop"])),class:"relative text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out animate-pulse",title:"Update Available"},A3t)):G("",!0)])])])}const O3t=ot(VUt,[["render",N3t],["__scopeId","data-v-192425d2"]]),M3t={components:{AppCard:O3t},data(){return{apps:[],githubApps:[],favorites:[],selectedCategory:"all",selectedApp:null,appCode:"",loading:!1,message:"",successMessage:!0,searchQuery:"",selectedFile:null,isUploading:!1,error:"",sortBy:"update",sortOrder:"desc",showOnlyInstalled:!1}},computed:{currentCategoryName(){return this.selectedCategory==="all"?"All Apps":this.selectedCategory},combinedApps(){this.apps.map(e=>e.name);const t=new Map(this.apps.map(e=>[e.name,{...e,installed:!0,existsInFolder:!0}]));return this.githubApps.forEach(e=>{t.has(e.name)||t.set(e.name,{...e,installed:!1,existsInFolder:!1})}),Array.from(t.values())},categories(){return[...new Set(this.combinedApps.map(t=>t.category))]},filteredApps(){return this.combinedApps.filter(t=>{const e=t.name.toLowerCase().includes(this.searchQuery.toLowerCase())||t.description.toLowerCase().includes(this.searchQuery.toLowerCase())||t.author.toLowerCase().includes(this.searchQuery.toLowerCase()),n=this.selectedCategory==="all"||t.category===this.selectedCategory,s=!this.showOnlyInstalled||t.installed;return e&&n&&s})},sortedAndFilteredApps(){return this.filteredApps.sort((t,e)=>{let n=0;switch(this.sortBy){case"name":n=t.name.localeCompare(e.name);break;case"author":n=t.author.localeCompare(e.author);break;case"date":n=new Date(t.creation_date)-new Date(e.creation_date);break;case"update":n=new Date(t.last_update_date)-new Date(e.last_update_date);break}return this.sortOrder==="asc"?n:-n})},favoriteApps(){return this.combinedApps.filter(t=>this.favorites.includes(t.uid))}},methods:{toggleSortOrder(){this.sortOrder=this.sortOrder==="asc"?"desc":"asc"},toggleFavorite(t){const e=this.favorites.indexOf(t);e===-1?this.favorites.push(t):this.favorites.splice(e,1),this.saveFavoritesToLocalStorage()},saveFavoritesToLocalStorage(){localStorage.setItem("appZooFavorites",JSON.stringify(this.favorites))},loadFavoritesFromLocalStorage(){const t=localStorage.getItem("appZooFavorites");console.log("savedFavorites",t),t&&(this.favorites=JSON.parse(t))},startServer(t){const e={client_id:this.$store.state.client_id,app_name:t};this.$store.state.messageBox.showBlockingMessage(`Loading server. -This may take some time the first time as some libraries need to be installed.`),ae.post("/apps/start_server",e).then(n=>{this.$store.state.messageBox.hideMessage(),console.log("Server start initiated:",n.data.message),this.$notify({type:"success",title:"Server Starting",text:n.data.message})}).catch(n=>{var s,i;this.$store.state.messageBox.hideMessage(),console.error("Error starting server:",n),this.$notify({type:"error",title:"Server Start Failed",text:((i=(s=n.response)==null?void 0:s.data)==null?void 0:i.detail)||"An error occurred while starting the server"})})},triggerFileInput(){this.$refs.fileInput.click()},onFileSelected(t){this.selectedFile=t.target.files[0],this.message="",this.error="",this.uploadApp()},async uploadApp(){var e,n;if(!this.selectedFile){this.error="Please select a file to upload.";return}this.isUploading=!0,this.message="",this.error="";const t=new FormData;t.append("file",this.selectedFile),t.append("client_id",this.$store.state.client_id);try{const s=await ae.post("/upload_app",t,{headers:{"Content-Type":"multipart/form-data"}});this.message=s.data.message,this.$refs.fileInput.value="",this.selectedFile=null}catch(s){console.error("Error uploading app:",s),this.error=((n=(e=s.response)==null?void 0:e.data)==null?void 0:n.detail)||"Failed to upload the app. Please try again."}finally{this.isUploading=!1}},async fetchApps(){this.loading=!0;try{const t=await ae.get("/apps");this.apps=t.data,this.showMessage("Refresh successful!",!0)}catch{this.showMessage("Failed to refresh apps.",!1)}finally{this.loading=!1}},async openAppsFolder(){this.loading=!0;try{console.log("opening apps folder");const t=await ae.post("/show_apps_folder",{client_id:this.$store.state.client_id})}catch{this.showMessage("Failed to open apps folder.",!1)}finally{this.loading=!1}},async fetchGithubApps(){this.loading=!0;try{const t=await ae.get("/github/apps");this.githubApps=t.data.apps,await this.fetchApps()}catch{this.showMessage("Failed to refresh GitHub apps.",!1)}finally{this.loading=!1}},async handleAppClick(t){if(t.installed){this.selectedApp=t;const e=await ae.get(`/apps/${t.folder_name}/index.html`);this.appCode=e.data}else this.showMessage(`Please install ${t.folder_name} to view its code.`,!1)},backToZoo(){this.selectedApp=null,this.appCode=""},async installApp(t){this.loading=!0,this.$store.state.messageBox.showBlockingMessage(`Installing app ${t}`);try{await ae.post(`/install/${t}`,{client_id:this.$store.state.client_id}),this.showMessage("Installation succeeded!",!0)}catch{this.showMessage("Installation failed.",!1)}finally{this.loading=!1,this.fetchApps(),this.fetchGithubApps(),this.$store.state.messageBox.hideMessage()}},async uninstallApp(t){this.loading=!0;try{await ae.post(`/uninstall/${t}`,{client_id:this.$store.state.client_id}),this.showMessage("Uninstallation succeeded!",!0)}catch{this.showMessage("Uninstallation failed.",!1)}finally{this.loading=!1,this.fetchApps()}},async deleteApp(t){this.loading=!0;try{await ae.post(`/delete/${t}`,{client_id:this.$store.state.client_id}),this.showMessage("Deletion succeeded!",!0)}catch{this.showMessage("Deletion failed.",!1)}finally{this.loading=!1,this.fetchApps()}},async editApp(t){this.loading=!0;try{const e=await ae.post("/open_app_in_vscode",{client_id:this.$store.state.client_id,app_name:t.folder_name});this.showMessage(e.data.message,!0)}catch{this.showMessage("Failed to open folder in VSCode.",!1)}finally{this.loading=!1}},async downloadApp(t){this.isLoading=!0,this.error=null;try{const e=await ae.post("/download_app",{client_id:this.$store.state.client_id,app_name:t},{responseType:"arraybuffer"}),n=e.headers["content-disposition"],s=n&&n.match(/filename="?(.+)"?/i),i=s?s[1]:"app.zip",r=new Blob([e.data],{type:"application/zip"}),o=window.URL.createObjectURL(r),a=document.createElement("a");a.style.display="none",a.href=o,a.download=i,document.body.appendChild(a),a.click(),window.URL.revokeObjectURL(o),document.body.removeChild(a)}catch(e){console.error("Error downloading app:",e),this.error="Failed to download the app. Please try again."}finally{this.isLoading=!1}},openApp(t){t.installed?window.open(`/apps/${t.folder_name}/index.html?client_id=${this.$store.state.client_id}`,"_blank"):this.showMessage(`Please install ${t.name} before opening.`,!1)},showMessage(t,e){this.message=t,this.successMessage=e,setTimeout(()=>{this.message=""},3e3)}},mounted(){this.fetchGithubApps(),this.loadFavoritesFromLocalStorage()}},I3t={class:"app-zoo background-color w-full p-6 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},k3t={class:"panels-color shadow-lg rounded-lg p-4 max-w-4xl mx-auto mb-50 pb-50"},D3t={class:"flex flex-wrap items-center justify-between gap-4"},L3t={class:"flex items-center space-x-4"},P3t=l("svg",{class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),F3t=l("svg",{class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z"})],-1),U3t=["disabled"],B3t={key:0},G3t={key:1,class:"error"},V3t={class:"relative flex-grow max-w-md"},z3t=l("svg",{class:"w-5 h-5 text-gray-400 absolute left-3 top-1/2 transform -translate-y-1/2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1),H3t={class:"flex items-center space-x-4"},q3t=l("label",{for:"category-select",class:"font-semibold"},"Category:",-1),$3t=l("option",{value:"all"},"All Categories",-1),Y3t=["value"],W3t={class:"flex items-center space-x-4"},K3t={for:"installed-only",class:"font-semibold"},j3t={class:"flex items-center space-x-4"},Q3t=l("label",{for:"sort-select",class:"font-semibold"},"Sort by:",-1),X3t=l("option",{value:"name"},"Name",-1),Z3t=l("option",{value:"author"},"Author",-1),J3t=l("option",{value:"date"},"Creation Date",-1),e4t=l("option",{value:"update"},"Last Update",-1),t4t=[X3t,Z3t,J3t,e4t],n4t={key:0,class:"flex justify-center items-center space-x-2 my-8","aria-live":"polite"},s4t=l("div",{class:"animate-spin rounded-full h-10 w-10 border-t-2 border-b-2 border-blue-500"},null,-1),i4t=l("span",{class:"text-xl text-gray-700 font-semibold"},"Loading...",-1),r4t=[s4t,i4t],o4t={key:1},a4t=l("h2",{class:"text-2xl font-bold mb-4"},"Favorite Apps",-1),l4t={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mb-8"},c4t={class:"text-2xl font-bold mb-4"},d4t={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"},u4t={key:2,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50"},p4t={class:"bg-white rounded-lg p-6 w-11/12 h-5/6 flex flex-col"},_4t={class:"flex justify-between items-center mb-4"},h4t={class:"text-2xl font-bold"},f4t=["srcdoc"],m4t={key:1,class:"text-center text-red-500"};function g4t(t,e,n,s,i,r){const o=tt("app-card");return T(),x("div",I3t,[l("nav",k3t,[l("div",D3t,[l("div",L3t,[l("button",{onClick:e[0]||(e[0]=(...a)=>r.fetchGithubApps&&r.fetchGithubApps(...a)),class:"btn btn-primary","aria-label":"Refresh apps from GitHub"},[P3t,Je(" Refresh ")]),l("button",{onClick:e[1]||(e[1]=(...a)=>r.openAppsFolder&&r.openAppsFolder(...a)),class:"btn btn-secondary","aria-label":"Open apps folder"},[F3t,Je(" Open Folder ")]),l("input",{type:"file",onChange:e[2]||(e[2]=(...a)=>r.onFileSelected&&r.onFileSelected(...a)),accept:".zip",ref:"fileInput",style:{display:"none"}},null,544),l("button",{onClick:e[3]||(e[3]=(...a)=>r.triggerFileInput&&r.triggerFileInput(...a)),disabled:i.isUploading,class:"btn-secondary text-green-500 hover:text-green-600 transition duration-300 ease-in-out",title:"Upload App"},K(i.isUploading?"Uploading...":"Upload App"),9,U3t)]),i.message?(T(),x("p",B3t,K(i.message),1)):G("",!0),i.error?(T(),x("p",G3t,K(i.error),1)):G("",!0),l("div",V3t,[P(l("input",{"onUpdate:modelValue":e[4]||(e[4]=a=>i.searchQuery=a),placeholder:"Search apps...",class:"w-full border-b-2 border-gray-300 px-4 py-2 pl-10 focus:outline-none focus:border-blue-500 transition duration-300 ease-in-out","aria-label":"Search apps"},null,512),[[pe,i.searchQuery]]),z3t]),l("div",H3t,[q3t,P(l("select",{id:"category-select","onUpdate:modelValue":e[5]||(e[5]=a=>i.selectedCategory=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},[$3t,(T(!0),x(Fe,null,Ke(r.categories,a=>(T(),x("option",{key:a,value:a},K(a),9,Y3t))),128))],512),[[Dt,i.selectedCategory]])]),l("div",W3t,[l("label",K3t,[P(l("input",{id:"installed-only",type:"checkbox","onUpdate:modelValue":e[6]||(e[6]=a=>i.showOnlyInstalled=a),class:"mr-2"},null,512),[[$e,i.showOnlyInstalled]]),Je(" Show only installed apps ")])]),l("div",j3t,[Q3t,P(l("select",{id:"sort-select","onUpdate:modelValue":e[7]||(e[7]=a=>i.sortBy=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},t4t,512),[[Dt,i.sortBy]]),l("button",{onClick:e[8]||(e[8]=(...a)=>r.toggleSortOrder&&r.toggleSortOrder(...a)),class:"btn btn-secondary"},K(i.sortOrder==="asc"?"↑":"↓"),1)])])]),i.loading?(T(),x("div",n4t,r4t)):(T(),x("div",o4t,[a4t,l("div",l4t,[(T(!0),x(Fe,null,Ke(r.favoriteApps,a=>(T(),dt(o,{key:a.uid,app:a,onToggleFavorite:r.toggleFavorite,onInstall:r.installApp,onUninstall:r.uninstallApp,onDelete:r.deleteApp,onEdit:r.editApp,onDownload:r.downloadApp,onView:r.handleAppClick,onOpen:r.openApp,onStartServer:r.startServer},null,8,["app","onToggleFavorite","onInstall","onUninstall","onDelete","onEdit","onDownload","onView","onOpen","onStartServer"]))),128))]),l("h2",c4t,K(r.currentCategoryName)+" ("+K(r.sortedAndFilteredApps.length)+")",1),l("div",d4t,[(T(!0),x(Fe,null,Ke(r.sortedAndFilteredApps,a=>(T(),dt(o,{key:a.uid,app:a,onToggleFavorite:r.toggleFavorite,onInstall:r.installApp,onUninstall:r.uninstallApp,onDelete:r.deleteApp,onEdit:r.editApp,onDownload:r.downloadApp,onView:r.handleAppClick,onOpen:r.openApp,onStartServer:r.startServer},null,8,["app","onToggleFavorite","onInstall","onUninstall","onDelete","onEdit","onDownload","onView","onOpen","onStartServer"]))),128))])])),i.selectedApp?(T(),x("div",u4t,[l("div",p4t,[l("div",_4t,[l("h2",h4t,K(i.selectedApp.name),1),l("button",{onClick:e[9]||(e[9]=(...a)=>r.backToZoo&&r.backToZoo(...a)),class:"bg-gray-300 hover:bg-gray-400 px-4 py-2 rounded-lg transition duration-300 ease-in-out"},"Close")]),i.appCode?(T(),x("iframe",{key:0,srcdoc:i.appCode,class:"flex-grow border-none"},null,8,f4t)):(T(),x("p",m4t,"Please install this app to view its code."))])])):G("",!0),i.message?(T(),x("div",{key:3,class:Ge(["fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-md",{"bg-green-100 text-green-800":i.successMessage,"bg-red-100 text-red-800":!i.successMessage}])},K(i.message),3)):G("",!0)])}const b4t=ot(M3t,[["render",g4t]]);const E4t={components:{PersonalityEntry:RE},data(){return{personalities:[],githubApps:[],favorites:[],selectedCategory:"all",selectedApp:null,appCode:"",loading:!1,message:"",successMessage:!0,searchQuery:"",selectedFile:null,isUploading:!1,error:"",sortBy:"name",sortOrder:"asc"}},computed:{currentCategoryName(){return this.selectedCategory=="all"?"All Personalities":this.selectedCategory},configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},combinedApps(){this.personalities.map(e=>e.name);const t=new Map(this.personalities.map(e=>[e.name,{...e,installed:!0,existsInFolder:!0}]));return this.githubApps.forEach(e=>{t.has(e.name)||t.set(e.name,{...e,installed:!1,existsInFolder:!1})}),Array.from(t.values())},categories(){return[...new Set(this.combinedApps.map(t=>t.category))].sort((t,e)=>t.localeCompare(e))},filteredApps(){return this.combinedApps.filter(t=>{const e=t.name.toLowerCase().includes(this.searchQuery.toLowerCase())||t.author.toLowerCase().includes(this.searchQuery.toLowerCase())||t.description.toLowerCase().includes(this.searchQuery.toLowerCase()),n=this.selectedCategory==="all"||t.category===this.selectedCategory;return e&&n})},sortedAndFilteredApps(){return this.filteredApps.sort((t,e)=>{let n=0;switch(this.sortBy){case"name":n=t.name.localeCompare(e.name);break;case"author":n=t.author.localeCompare(e.author);break;case"date":n=new Date(t.creation_date)-new Date(e.creation_date);break;case"update":n=new Date(t.last_update_date)-new Date(e.last_update_date);break}return this.sortOrder==="asc"?n:-n})},favoriteApps(){return this.combinedApps.filter(t=>this.favorites.includes(t.uid))}},methods:{async onPersonalitySelected(t){if(console.log("on pers",t),this.isLoading&&this.$store.state.toast.showToast("Loading... please wait",4,!1),this.isLoading=!0,console.log("selecting ",t),t){if(t.selected){this.$store.state.toast.showToast("Personality already selected",4,!0),this.isLoading=!1;return}let e=t.language==null?t.full_path:t.full_path+":"+t.language;if(console.log("pth",e),t.isMounted&&this.configFile.personalities.includes(e)){const n=await this.select_personality(t);console.log("pers is mounted",n),n&&n.status&&n.active_personality_id>-1?this.$store.state.toast.showToast(`Selected personality: +This is likely a Baklava internal issue. Please report it on GitHub.`);return e.get(n)}}let db=null;function mLt(t){db=t}function xs(){if(!db)throw new Error("providePlugin() must be called before usePlugin()");return{viewModel:db}}function Ws(){const{viewModel:t}=xs();return{graph:kd(t.value,"displayedGraph"),switchGraph:t.value.switchGraph}}function SO(t){const{graph:e}=Ws(),n=ct(null),s=ct(null);return{dragging:et(()=>!!n.value),onPointerDown:c=>{n.value={x:c.pageX,y:c.pageY},s.value={x:t.value.x,y:t.value.y}},onPointerMove:c=>{if(n.value){const d=c.pageX-n.value.x,u=c.pageY-n.value.y;t.value.x=s.value.x+d/e.value.scaling,t.value.y=s.value.y+u/e.value.scaling}},onPointerUp:()=>{n.value=null,s.value=null}}}function TO(t,e,n){if(!e.template)return!1;if(Sa(e.template)===n)return!0;const s=t.graphTemplates.find(r=>Sa(r)===n);return s?s.nodes.filter(r=>r.type.startsWith(Wl)).some(r=>TO(t,e,r.type)):!1}function xO(t){return et(()=>{const e=Array.from(t.value.editor.nodeTypes.entries()),n=new Set(e.map(([,i])=>i.category)),s=[];for(const i of n.values()){let r=e.filter(([,o])=>o.category===i);t.value.displayedGraph.template?r=r.filter(([o])=>!TO(t.value.editor,t.value.displayedGraph,o)):r=r.filter(([o])=>![ya,va].includes(o)),r.length>0&&s.push({name:i,nodeTypes:Object.fromEntries(r)})}return s.sort((i,r)=>i.name==="default"?-1:r.name==="default"||i.name>r.name?1:-1),s})}function CO(){const{graph:t}=Ws();return{transform:(n,s)=>{const i=n/t.value.scaling-t.value.panning.x,r=s/t.value.scaling-t.value.panning.y;return[i,r]}}}function gLt(){const{graph:t}=Ws();let e=[],n=-1,s={x:0,y:0};const i=et(()=>t.value.panning),r=SO(i),o=et(()=>({"transform-origin":"0 0",transform:`scale(${t.value.scaling}) translate(${t.value.panning.x}px, ${t.value.panning.y}px)`})),a=(m,_,g)=>{const b=[m/t.value.scaling-t.value.panning.x,_/t.value.scaling-t.value.panning.y],E=[m/g-t.value.panning.x,_/g-t.value.panning.y],y=[E[0]-b[0],E[1]-b[1]];t.value.panning.x+=y[0],t.value.panning.y+=y[1],t.value.scaling=g},c=m=>{m.preventDefault();let _=m.deltaY;m.deltaMode===1&&(_*=32);const g=t.value.scaling*(1-_/3e3);a(m.offsetX,m.offsetY,g)},d=()=>({ax:e[0].clientX,ay:e[0].clientY,bx:e[1].clientX,by:e[1].clientY});return{styles:o,...r,onPointerDown:m=>{if(e.push(m),r.onPointerDown(m),e.length===2){const{ax:_,ay:g,bx:b,by:E}=d();s={x:_+(b-_)/2,y:g+(E-g)/2}}},onPointerMove:m=>{for(let _=0;_0){const R=t.value.scaling*(1+(S-n)/500);a(s.x,s.y,R)}n=S}else r.onPointerMove(m)},onPointerUp:m=>{e=e.filter(_=>_.pointerId!==m.pointerId),n=-1,r.onPointerUp()},onMouseWheel:c}}var hs=(t=>(t[t.NONE=0]="NONE",t[t.ALLOWED=1]="ALLOWED",t[t.FORBIDDEN=2]="FORBIDDEN",t))(hs||{});const wO=Symbol();function bLt(){const{graph:t}=Ws(),e=ct(null),n=ct(null),s=a=>{e.value&&(e.value.mx=a.offsetX/t.value.scaling-t.value.panning.x,e.value.my=a.offsetY/t.value.scaling-t.value.panning.y)},i=()=>{if(n.value){if(e.value)return;const a=t.value.connections.find(c=>c.to===n.value);n.value.isInput&&a?(e.value={status:hs.NONE,from:a.from},t.value.removeConnection(a)):e.value={status:hs.NONE,from:n.value},e.value.mx=void 0,e.value.my=void 0}},r=()=>{if(e.value&&n.value){if(e.value.from===n.value)return;t.value.addConnection(e.value.from,e.value.to)}e.value=null},o=a=>{if(n.value=a??null,a&&e.value){e.value.to=a;const c=t.value.checkConnection(e.value.from,e.value.to);if(e.value.status=c.connectionAllowed?hs.ALLOWED:hs.FORBIDDEN,c.connectionAllowed){const d=c.connectionsInDanger.map(u=>u.id);t.value.connections.forEach(u=>{d.includes(u.id)&&(u.isInDanger=!0)})}}else!a&&e.value&&(e.value.to=void 0,e.value.status=hs.NONE,t.value.connections.forEach(c=>{c.isInDanger=!1}))};return Yo(wO,{temporaryConnection:e,hoveredOver:o}),{temporaryConnection:e,onMouseMove:s,onMouseDown:i,onMouseUp:r,hoveredOver:o}}function ELt(t){const e=ct(!1),n=ct(0),s=ct(0),i=xO(t),{transform:r}=CO(),o=et(()=>{let u=[];const h={};for(const m of i.value){const _=Object.entries(m.nodeTypes).map(([g,b])=>({label:b.title,value:"addNode:"+g}));m.name==="default"?u=_:h[m.name]=_}const f=[...Object.entries(h).map(([m,_])=>({label:m,submenu:_}))];return f.length>0&&u.length>0&&f.push({isDivider:!0}),f.push(...u),f}),a=et(()=>t.value.settings.contextMenu.additionalItems.length===0?o.value:[{label:"Add node",submenu:o.value},...t.value.settings.contextMenu.additionalItems.map(u=>"isDivider"in u||"submenu"in u?u:{label:u.label,value:"command:"+u.command,disabled:!t.value.commandHandler.canExecuteCommand(u.command)})]);function c(u){e.value=!0,n.value=u.offsetX,s.value=u.offsetY}function d(u){if(u.startsWith("addNode:")){const h=u.substring(8),f=t.value.editor.nodeTypes.get(h);if(!f)return;const m=Wn(new f.type);t.value.displayedGraph.addNode(m);const[_,g]=r(n.value,s.value);m.position.x=_,m.position.y=g}else if(u.startsWith("command:")){const h=u.substring(8);t.value.commandHandler.canExecuteCommand(h)&&t.value.commandHandler.executeCommand(h)}}return{show:e,x:n,y:s,items:a,open:c,onClick:d}}const yLt=cn({setup(){const{viewModel:t}=xs(),{graph:e}=Ws();return{styles:et(()=>{const s=t.value.settings.background,i=e.value.panning.x*e.value.scaling,r=e.value.panning.y*e.value.scaling,o=e.value.scaling*s.gridSize,a=o/s.gridDivision,c=`${o}px ${o}px, ${o}px ${o}px`,d=e.value.scaling>s.subGridVisibleThreshold?`, ${a}px ${a}px, ${a}px ${a}px`:"";return{backgroundPosition:`left ${i}px top ${r}px`,backgroundSize:`${c} ${d}`}})}}}),dn=(t,e)=>{const n=t.__vccOpts||t;for(const[s,i]of e)n[s]=i;return n};function vLt(t,e,n,s,i,r){return T(),x("div",{class:"background",style:Ht(t.styles)},null,4)}const SLt=dn(yLt,[["render",vLt]]);function TLt(t){return Gw()?(pM(t),!0):!1}function oy(t){return typeof t=="function"?t():Lt(t)}const RO=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const xLt=Object.prototype.toString,CLt=t=>xLt.call(t)==="[object Object]",Ad=()=>{},wLt=RLt();function RLt(){var t,e;return RO&&((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 ALt(t,e,n=!1){return e.reduce((s,i)=>(i in t&&(!n||t[i]!==void 0)&&(s[i]=t[i]),s),{})}function NLt(t,e={}){if(!pn(t))return WM(t);const n=Array.isArray(t.value)?Array.from({length:t.value.length}):{};for(const s in t.value)n[s]=YM(()=>({get(){return t.value[s]},set(i){var r;if((r=oy(e.replaceRef))!=null?r:!0)if(Array.isArray(t.value)){const a=[...t.value];a[s]=i,t.value=a}else{const a={...t.value,[s]:i};Object.setPrototypeOf(a,Object.getPrototypeOf(t.value)),t.value=a}else t.value[s]=i}}));return n}function _l(t){var e;const n=oy(t);return(e=n==null?void 0:n.$el)!=null?e:n}const ay=RO?window:void 0;function Rl(...t){let e,n,s,i;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,s,i]=t,e=ay):[e,n,s,i]=t,!e)return Ad;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const r=[],o=()=>{r.forEach(u=>u()),r.length=0},a=(u,h,f,m)=>(u.addEventListener(h,f,m),()=>u.removeEventListener(h,f,m)),c=In(()=>[_l(e),oy(i)],([u,h])=>{if(o(),!u)return;const f=CLt(h)?{...h}:h;r.push(...n.flatMap(m=>s.map(_=>a(u,m,_,f))))},{immediate:!0,flush:"post"}),d=()=>{c(),o()};return TLt(d),d}let Tw=!1;function AO(t,e,n={}){const{window:s=ay,ignore:i=[],capture:r=!0,detectIframe:o=!1}=n;if(!s)return Ad;wLt&&!Tw&&(Tw=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",Ad)),s.document.documentElement.addEventListener("click",Ad));let a=!0;const c=f=>i.some(m=>{if(typeof m=="string")return Array.from(s.document.querySelectorAll(m)).some(_=>_===f.target||f.composedPath().includes(_));{const _=_l(m);return _&&(f.target===_||f.composedPath().includes(_))}}),u=[Rl(s,"click",f=>{const m=_l(t);if(!(!m||m===f.target||f.composedPath().includes(m))){if(f.detail===0&&(a=!c(f)),!a){a=!0;return}e(f)}},{passive:!0,capture:r}),Rl(s,"pointerdown",f=>{const m=_l(t);a=!c(f)&&!!(m&&!f.composedPath().includes(m))},{passive:!0}),o&&Rl(s,"blur",f=>{setTimeout(()=>{var m;const _=_l(t);((m=s.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(_!=null&&_.contains(s.document.activeElement))&&e(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const NO={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},OLt=Object.keys(NO);function MLt(t={}){const{target:e=ay}=t,n=ct(!1),s=ct(t.initialValue||{});Object.assign(s.value,NO,s.value);const i=r=>{n.value=!0,!(t.pointerTypes&&!t.pointerTypes.includes(r.pointerType))&&(s.value=ALt(r,OLt,!1))};if(e){const r={passive:!0};Rl(e,["pointerdown","pointermove","pointerup"],i,r),Rl(e,"pointerleave",()=>n.value=!1,r)}return{...NLt(s),isInside:n}}const ILt=["onMouseenter","onMouseleave","onClick"],kLt={class:"flex-fill"},DLt={key:0,class:"__submenu-icon",style:{"line-height":"1em"}},LLt=l("svg",{width:"13",height:"13",viewBox:"-60 120 250 250"},[l("path",{d:"M160.875 279.5625 L70.875 369.5625 L70.875 189.5625 L160.875 279.5625 Z",stroke:"none",fill:"white"})],-1),PLt=[LLt],ly=cn({__name:"ContextMenu",props:{modelValue:{type:Boolean},items:{},x:{default:0},y:{default:0},isNested:{type:Boolean,default:!1},isFlipped:{default:()=>({x:!1,y:!1})},flippable:{type:Boolean,default:!1}},emits:["update:modelValue","click"],setup(t,{emit:e}){const n=t,s=e;let i=null;const r=ct(null),o=ct(-1),a=ct(0),c=ct({x:!1,y:!1}),d=et(()=>n.flippable&&(c.value.x||n.isFlipped.x)),u=et(()=>n.flippable&&(c.value.y||n.isFlipped.y)),h=et(()=>{const y={};return n.isNested||(y.top=(u.value?n.y-a.value:n.y)+"px",y.left=n.x+"px"),y}),f=et(()=>({"--flipped-x":d.value,"--flipped-y":u.value,"--nested":n.isNested})),m=et(()=>n.items.map(y=>({...y,hover:!1})));In([()=>n.y,()=>n.items],()=>{var y,v,S,R;a.value=n.items.length*30;const w=((v=(y=r.value)==null?void 0:y.parentElement)==null?void 0:v.offsetWidth)??0,A=((R=(S=r.value)==null?void 0:S.parentElement)==null?void 0:R.offsetHeight)??0;c.value.x=!n.isNested&&n.x>w*.75,c.value.y=!n.isNested&&n.y+a.value>A-20}),AO(r,()=>{n.modelValue&&s("update:modelValue",!1)});const _=y=>{!y.submenu&&y.value&&(s("click",y.value),s("update:modelValue",!1))},g=y=>{s("click",y),o.value=-1,n.isNested||s("update:modelValue",!1)},b=(y,v)=>{n.items[v].submenu&&(o.value=v,i!==null&&(clearTimeout(i),i=null))},E=(y,v)=>{n.items[v].submenu&&(i=window.setTimeout(()=>{o.value=-1,i=null},200))};return(y,v)=>{const S=tt("ContextMenu",!0);return T(),dt(Fs,{name:"slide-fade"},{default:Ie(()=>[P(l("div",{ref_key:"el",ref:r,class:Ge(["baklava-context-menu",f.value]),style:Ht(h.value)},[(T(!0),x(Fe,null,Ke(m.value,(R,w)=>(T(),x(Fe,null,[R.isDivider?(T(),x("div",{key:`d-${w}`,class:"divider"})):(T(),x("div",{key:`i-${w}`,class:Ge(["item",{submenu:!!R.submenu,"--disabled":!!R.disabled}]),onMouseenter:A=>b(A,w),onMouseleave:A=>E(A,w),onClick:j(A=>_(R),["stop","prevent"])},[l("div",kLt,K(R.label),1),R.submenu?(T(),x("div",DLt,PLt)):G("",!0),R.submenu?(T(),dt(S,{key:1,"model-value":o.value===w,items:R.submenu,"is-nested":!0,"is-flipped":{x:d.value,y:u.value},flippable:y.flippable,onClick:g},null,8,["model-value","items","is-flipped","flippable"])):G("",!0)],42,ILt))],64))),256))],6),[[wt,y.modelValue]])]),_:1})}}}),FLt={},ULt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"16",height:"16",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},BLt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),GLt=l("circle",{cx:"12",cy:"12",r:"1"},null,-1),VLt=l("circle",{cx:"12",cy:"19",r:"1"},null,-1),zLt=l("circle",{cx:"12",cy:"5",r:"1"},null,-1),HLt=[BLt,GLt,VLt,zLt];function qLt(t,e){return T(),x("svg",ULt,HLt)}const OO=dn(FLt,[["render",qLt]]),$Lt=["id"],YLt={key:0,class:"__tooltip"},WLt={key:2,class:"align-middle"},xw=cn({__name:"NodeInterface",props:{node:{},intf:{}},setup(t){const e=(b,E=100)=>{const y=b!=null&&b.toString?b.toString():"";return y.length>E?y.slice(0,E)+"...":y},n=t,{viewModel:s}=xs(),{hoveredOver:i,temporaryConnection:r}=Zn(wO),o=ct(null),a=et(()=>n.intf.connectionCount>0),c=ct(!1),d=et(()=>s.value.settings.displayValueOnHover&&c.value),u=et(()=>({"--input":n.intf.isInput,"--output":!n.intf.isInput,"--connected":a.value})),h=et(()=>n.intf.component&&(!n.intf.isInput||!n.intf.port||n.intf.connectionCount===0)),f=()=>{c.value=!0,i(n.intf)},m=()=>{c.value=!1,i(void 0)},_=()=>{o.value&&s.value.hooks.renderInterface.execute({intf:n.intf,el:o.value})},g=()=>{const b=s.value.displayedGraph.sidebar;b.nodeId=n.node.id,b.optionName=n.intf.name,b.visible=!0};return ci(_),Ql(_),(b,E)=>{var y;return T(),x("div",{id:b.intf.id,ref_key:"el",ref:o,class:Ge(["baklava-node-interface",u.value])},[b.intf.port?(T(),x("div",{key:0,class:Ge(["__port",{"--selected":((y=Lt(r))==null?void 0:y.from)===b.intf}]),onPointerover:f,onPointerout:m},[un(b.$slots,"portTooltip",{showTooltip:d.value},()=>[d.value===!0?(T(),x("span",YLt,K(e(b.intf.value)),1)):G("",!0)])],34)):G("",!0),h.value?(T(),dt(Tu(b.intf.component),{key:1,modelValue:b.intf.value,"onUpdate:modelValue":E[0]||(E[0]=v=>b.intf.value=v),node:b.node,intf:b.intf,onOpenSidebar:g},null,40,["modelValue","node","intf"])):(T(),x("span",WLt,K(b.intf.name),1))],10,$Lt)}}}),KLt=["id","data-node-type"],jLt={class:"__title-label"},QLt={class:"__menu"},XLt={class:"__outputs"},ZLt={class:"__inputs"},JLt=cn({__name:"Node",props:{node:{},selected:{type:Boolean,default:!1},dragging:{type:Boolean}},emits:["select","start-drag"],setup(t,{emit:e}){const n=t,s=e,{viewModel:i}=xs(),{graph:r,switchGraph:o}=Ws(),a=ct(null),c=ct(!1),d=ct(""),u=ct(null),h=ct(!1),f=ct(!1),m=et(()=>{const B=[{value:"rename",label:"Rename"},{value:"delete",label:"Delete"}];return n.node.type.startsWith(Wl)&&B.push({value:"editSubgraph",label:"Edit Subgraph"}),B}),_=et(()=>({"--selected":n.selected,"--dragging":n.dragging,"--two-column":!!n.node.twoColumn})),g=et(()=>{var B,H;return{top:`${((B=n.node.position)==null?void 0:B.y)??0}px`,left:`${((H=n.node.position)==null?void 0:H.x)??0}px`,"--width":`${n.node.width??i.value.settings.nodes.defaultWidth}px`}}),b=et(()=>Object.values(n.node.inputs).filter(B=>!B.hidden)),E=et(()=>Object.values(n.node.outputs).filter(B=>!B.hidden)),y=()=>{s("select")},v=B=>{n.selected||y(),s("start-drag",B)},S=()=>{f.value=!0},R=async B=>{var H;switch(B){case"delete":r.value.removeNode(n.node);break;case"rename":d.value=n.node.title,c.value=!0,await Le(),(H=u.value)==null||H.focus();break;case"editSubgraph":o(n.node.template);break}},w=()=>{n.node.title=d.value,c.value=!1},A=()=>{a.value&&i.value.hooks.renderNode.execute({node:n.node,el:a.value})},I=B=>{h.value=!0,B.preventDefault()},C=B=>{if(!h.value)return;const H=n.node.width+B.movementX/r.value.scaling,te=i.value.settings.nodes.minWidth,k=i.value.settings.nodes.maxWidth;n.node.width=Math.max(te,Math.min(k,H))},O=()=>{h.value=!1};return ci(()=>{A(),window.addEventListener("mousemove",C),window.addEventListener("mouseup",O)}),Ql(A),Aa(()=>{window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",O)}),(B,H)=>(T(),x("div",{id:B.node.id,ref_key:"el",ref:a,class:Ge(["baklava-node",_.value]),style:Ht(g.value),"data-node-type":B.node.type,onPointerdown:y},[Lt(i).settings.nodes.resizable?(T(),x("div",{key:0,class:"__resize-handle",onMousedown:I},null,32)):G("",!0),un(B.$slots,"title",{},()=>[l("div",{class:"__title",onPointerdown:j(v,["self","stop"])},[c.value?P((T(),x("input",{key:1,ref_key:"renameInputEl",ref:u,"onUpdate:modelValue":H[1]||(H[1]=te=>d.value=te),type:"text",class:"baklava-input",placeholder:"Node Name",onBlur:w,onKeydown:zs(w,["enter"])},null,544)),[[pe,d.value]]):(T(),x(Fe,{key:0},[l("div",jLt,K(B.node.title),1),l("div",QLt,[V(OO,{class:"--clickable",onClick:S}),V(ly,{modelValue:f.value,"onUpdate:modelValue":H[0]||(H[0]=te=>f.value=te),x:0,y:0,items:m.value,onClick:R},null,8,["modelValue","items"])])],64))],32)]),un(B.$slots,"content",{},()=>[l("div",{class:"__content",onKeydown:H[2]||(H[2]=zs(j(()=>{},["stop"]),["delete"]))},[l("div",XLt,[(T(!0),x(Fe,null,Ke(E.value,te=>un(B.$slots,"nodeInterface",{key:te.id,type:"output",node:B.node,intf:te},()=>[V(xw,{node:B.node,intf:te},null,8,["node","intf"])])),128))]),l("div",ZLt,[(T(!0),x(Fe,null,Ke(b.value,te=>un(B.$slots,"nodeInterface",{key:te.id,type:"input",node:B.node,intf:te},()=>[V(xw,{node:B.node,intf:te},null,8,["node","intf"])])),128))])],32)])],46,KLt))}}),ePt=cn({props:{x1:{type:Number,required:!0},y1:{type:Number,required:!0},x2:{type:Number,required:!0},y2:{type:Number,required:!0},state:{type:Number,default:hs.NONE},isTemporary:{type:Boolean,default:!1}},setup(t){const{viewModel:e}=xs(),{graph:n}=Ws(),s=(o,a)=>{const c=(o+n.value.panning.x)*n.value.scaling,d=(a+n.value.panning.y)*n.value.scaling;return[c,d]},i=et(()=>{const[o,a]=s(t.x1,t.y1),[c,d]=s(t.x2,t.y2);if(e.value.settings.useStraightConnections)return`M ${o} ${a} L ${c} ${d}`;{const u=.3*Math.abs(o-c);return`M ${o} ${a} C ${o+u} ${a}, ${c-u} ${d}, ${c} ${d}`}}),r=et(()=>({"--temporary":t.isTemporary,"--allowed":t.state===hs.ALLOWED,"--forbidden":t.state===hs.FORBIDDEN}));return{d:i,classes:r}}}),tPt=["d"];function nPt(t,e,n,s,i,r){return T(),x("path",{class:Ge(["baklava-connection",t.classes]),d:t.d},null,10,tPt)}const MO=dn(ePt,[["render",nPt]]);function sPt(t){return document.getElementById(t.id)}function Ta(t){const e=document.getElementById(t.id),n=e==null?void 0:e.getElementsByClassName("__port");return{node:(e==null?void 0:e.closest(".baklava-node"))??null,interface:e,port:n&&n.length>0?n[0]:null}}const iPt=cn({components:{"connection-view":MO},props:{connection:{type:Object,required:!0}},setup(t){const{graph:e}=Ws();let n;const s=ct({x1:0,y1:0,x2:0,y2:0}),i=et(()=>t.connection.isInDanger?hs.FORBIDDEN:hs.NONE),r=et(()=>{var d;return(d=e.value.findNodeById(t.connection.from.nodeId))==null?void 0:d.position}),o=et(()=>{var d;return(d=e.value.findNodeById(t.connection.to.nodeId))==null?void 0:d.position}),a=d=>d.node&&d.interface&&d.port?[d.node.offsetLeft+d.interface.offsetLeft+d.port.offsetLeft+d.port.clientWidth/2,d.node.offsetTop+d.interface.offsetTop+d.port.offsetTop+d.port.clientHeight/2]:[0,0],c=()=>{const d=Ta(t.connection.from),u=Ta(t.connection.to);d.node&&u.node&&(n||(n=new ResizeObserver(()=>{c()}),n.observe(d.node),n.observe(u.node)));const[h,f]=a(d),[m,_]=a(u);s.value={x1:h,y1:f,x2:m,y2:_}};return ci(async()=>{await Le(),c()}),Aa(()=>{n&&n.disconnect()}),In([r,o],()=>c(),{deep:!0}),{d:s,state:i}}});function rPt(t,e,n,s,i,r){const o=tt("connection-view");return T(),dt(o,{x1:t.d.x1,y1:t.d.y1,x2:t.d.x2,y2:t.d.y2,state:t.state},null,8,["x1","y1","x2","y2","state"])}const oPt=dn(iPt,[["render",rPt]]);function cu(t){return t.node&&t.interface&&t.port?[t.node.offsetLeft+t.interface.offsetLeft+t.port.offsetLeft+t.port.clientWidth/2,t.node.offsetTop+t.interface.offsetTop+t.port.offsetTop+t.port.clientHeight/2]:[0,0]}const aPt=cn({components:{"connection-view":MO},props:{connection:{type:Object,required:!0}},setup(t){const e=et(()=>t.connection?t.connection.status:hs.NONE);return{d:et(()=>{if(!t.connection)return{input:[0,0],output:[0,0]};const s=cu(Ta(t.connection.from)),i=t.connection.to?cu(Ta(t.connection.to)):[t.connection.mx||s[0],t.connection.my||s[1]];return t.connection.from.isInput?{input:i,output:s}:{input:s,output:i}}),status:e}}});function lPt(t,e,n,s,i,r){const o=tt("connection-view");return T(),dt(o,{x1:t.d.input[0],y1:t.d.input[1],x2:t.d.output[0],y2:t.d.output[1],state:t.status,"is-temporary":""},null,8,["x1","y1","x2","y2","state"])}const cPt=dn(aPt,[["render",lPt]]),dPt=cn({setup(){const{viewModel:t}=xs(),{graph:e}=Ws(),n=ct(null),s=kd(t.value.settings.sidebar,"width"),i=et(()=>t.value.settings.sidebar.resizable),r=et(()=>{const h=e.value.sidebar.nodeId;return e.value.nodes.find(f=>f.id===h)}),o=et(()=>({width:`${s.value}px`})),a=et(()=>r.value?[...Object.values(r.value.inputs),...Object.values(r.value.outputs)].filter(f=>f.displayInSidebar&&f.component):[]),c=()=>{e.value.sidebar.visible=!1},d=()=>{window.addEventListener("mousemove",u),window.addEventListener("mouseup",()=>{window.removeEventListener("mousemove",u)},{once:!0})},u=h=>{var f,m;const _=((m=(f=n.value)==null?void 0:f.parentElement)==null?void 0:m.getBoundingClientRect().width)??500;let g=s.value-h.movementX;g<300?g=300:g>.9*_&&(g=.9*_),s.value=g};return{el:n,graph:e,resizable:i,node:r,styles:o,displayedInterfaces:a,startResize:d,close:c}}}),uPt={class:"__header"},pPt={class:"__node-name"};function _Pt(t,e,n,s,i,r){return T(),x("div",{ref:"el",class:Ge(["baklava-sidebar",{"--open":t.graph.sidebar.visible}]),style:Ht(t.styles)},[t.resizable?(T(),x("div",{key:0,class:"__resizer",onMousedown:e[0]||(e[0]=(...o)=>t.startResize&&t.startResize(...o))},null,32)):G("",!0),l("div",uPt,[l("button",{tabindex:"-1",class:"__close",onClick:e[1]||(e[1]=(...o)=>t.close&&t.close(...o))},"×"),l("div",pPt,[l("b",null,K(t.node?t.node.title:""),1)])]),(T(!0),x(Fe,null,Ke(t.displayedInterfaces,o=>(T(),x("div",{key:o.id,class:"__interface"},[(T(),dt(Tu(o.component),{modelValue:o.value,"onUpdate:modelValue":a=>o.value=a,node:t.node,intf:o},null,8,["modelValue","onUpdate:modelValue","node","intf"]))]))),128))],6)}const hPt=dn(dPt,[["render",_Pt]]),fPt=cn({__name:"Minimap",setup(t){const{viewModel:e}=xs(),{graph:n}=Ws(),s=ct(null),i=ct(!1);let r,o=!1,a={x1:0,y1:0,x2:0,y2:0},c;const d=()=>{var w,A;if(!r)return;r.canvas.width=s.value.offsetWidth,r.canvas.height=s.value.offsetHeight;const I=new Map,C=new Map;for(const k of n.value.nodes){const $=sPt(k),q=($==null?void 0:$.offsetWidth)??0,F=($==null?void 0:$.offsetHeight)??0,W=((w=k.position)==null?void 0:w.x)??0,ne=((A=k.position)==null?void 0:A.y)??0;I.set(k,{x1:W,y1:ne,x2:W+q,y2:ne+F}),C.set(k,$)}const O={x1:Number.MAX_SAFE_INTEGER,y1:Number.MAX_SAFE_INTEGER,x2:Number.MIN_SAFE_INTEGER,y2:Number.MIN_SAFE_INTEGER};for(const k of I.values())k.x1O.x2&&(O.x2=k.x2),k.y2>O.y2&&(O.y2=k.y2);const B=50;O.x1-=B,O.y1-=B,O.x2+=B,O.y2+=B,a=O;const H=r.canvas.width/r.canvas.height,te=(a.x2-a.x1)/(a.y2-a.y1);if(H>te){const k=(H-te)*(a.y2-a.y1)*.5;a.x1-=k,a.x2+=k}else{const k=a.x2-a.x1,$=a.y2-a.y1,q=(k-H*$)/H*.5;a.y1-=q,a.y2+=q}r.clearRect(0,0,r.canvas.width,r.canvas.height),r.strokeStyle="white";for(const k of n.value.connections){const[$,q]=cu(Ta(k.from)),[F,W]=cu(Ta(k.to)),[ne,le]=u($,q),[me,Se]=u(F,W);if(r.beginPath(),r.moveTo(ne,le),e.value.settings.useStraightConnections)r.lineTo(me,Se);else{const de=.3*Math.abs(ne-me);r.bezierCurveTo(ne+de,le,me-de,Se,me,Se)}r.stroke()}r.strokeStyle="lightgray";for(const[k,$]of I.entries()){const[q,F]=u($.x1,$.y1),[W,ne]=u($.x2,$.y2);r.fillStyle=f(C.get(k)),r.beginPath(),r.rect(q,F,W-q,ne-F),r.fill(),r.stroke()}if(i.value){const k=_(),[$,q]=u(k.x1,k.y1),[F,W]=u(k.x2,k.y2);r.fillStyle="rgba(255, 255, 255, 0.2)",r.fillRect($,q,F-$,W-q)}},u=(w,A)=>[(w-a.x1)/(a.x2-a.x1)*r.canvas.width,(A-a.y1)/(a.y2-a.y1)*r.canvas.height],h=(w,A)=>[w*(a.x2-a.x1)/r.canvas.width+a.x1,A*(a.y2-a.y1)/r.canvas.height+a.y1],f=w=>{if(w){const A=w.querySelector(".__content");if(A){const C=m(A);if(C)return C}const I=m(w);if(I)return I}return"gray"},m=w=>{const A=getComputedStyle(w).backgroundColor;if(A&&A!=="rgba(0, 0, 0, 0)")return A},_=()=>{const w=s.value.parentElement.offsetWidth,A=s.value.parentElement.offsetHeight,I=w/n.value.scaling-n.value.panning.x,C=A/n.value.scaling-n.value.panning.y;return{x1:-n.value.panning.x,y1:-n.value.panning.y,x2:I,y2:C}},g=w=>{w.button===0&&(o=!0,b(w))},b=w=>{if(o){const[A,I]=h(w.offsetX,w.offsetY),C=_(),O=(C.x2-C.x1)/2,B=(C.y2-C.y1)/2;n.value.panning.x=-(A-O),n.value.panning.y=-(I-B)}},E=()=>{o=!1},y=()=>{i.value=!0},v=()=>{i.value=!1,E()};In([i,n.value.panning,()=>n.value.scaling,()=>n.value.connections.length],()=>{d()});const S=et(()=>n.value.nodes.map(w=>w.position)),R=et(()=>n.value.nodes.map(w=>w.width));return In([S,R],()=>{d()},{deep:!0}),ci(()=>{r=s.value.getContext("2d"),r.imageSmoothingQuality="high",d(),c=setInterval(d,500)}),Aa(()=>{clearInterval(c)}),(w,A)=>(T(),x("canvas",{ref_key:"canvas",ref:s,class:"baklava-minimap",onMouseenter:y,onMouseleave:v,onMousedown:j(g,["self"]),onMousemove:j(b,["self"]),onMouseup:E},null,544))}}),mPt=cn({components:{ContextMenu:ly,VerticalDots:OO},props:{type:{type:String,required:!0},title:{type:String,required:!0}},setup(t){const{viewModel:e}=xs(),{switchGraph:n}=Ws(),s=ct(!1),i=et(()=>t.type.startsWith(Wl));return{showContextMenu:s,hasContextMenu:i,contextMenuItems:[{label:"Edit Subgraph",value:"editSubgraph"},{label:"Delete Subgraph",value:"deleteSubgraph"}],openContextMenu:()=>{s.value=!0},onContextMenuClick:c=>{const d=t.type.substring(Wl.length),u=e.value.editor.graphTemplates.find(h=>h.id===d);if(u)switch(c){case"editSubgraph":n(u);break;case"deleteSubgraph":e.value.editor.removeGraphTemplate(u);break}}}}}),gPt=["data-node-type"],bPt={class:"__title"},EPt={class:"__title-label"},yPt={key:0,class:"__menu"};function vPt(t,e,n,s,i,r){const o=tt("vertical-dots"),a=tt("context-menu");return T(),x("div",{class:"baklava-node --palette","data-node-type":t.type},[l("div",bPt,[l("div",EPt,K(t.title),1),t.hasContextMenu?(T(),x("div",yPt,[V(o,{class:"--clickable",onPointerdown:e[0]||(e[0]=j(()=>{},["stop","prevent"])),onClick:j(t.openContextMenu,["stop","prevent"])},null,8,["onClick"]),V(a,{modelValue:t.showContextMenu,"onUpdate:modelValue":e[1]||(e[1]=c=>t.showContextMenu=c),x:-100,y:0,items:t.contextMenuItems,onClick:t.onContextMenuClick,onPointerdown:e[2]||(e[2]=j(()=>{},["stop","prevent"]))},null,8,["modelValue","items","onClick"])])):G("",!0)])],8,gPt)}const Cw=dn(mPt,[["render",vPt]]),SPt={class:"baklava-node-palette"},TPt={key:0},xPt=cn({__name:"NodePalette",setup(t){const{viewModel:e}=xs(),{x:n,y:s}=MLt(),{transform:i}=CO(),r=xO(e),o=Zn("editorEl"),a=ct(null),c=et(()=>{if(!a.value||!(o!=null&&o.value))return{};const{left:u,top:h}=o.value.getBoundingClientRect();return{top:`${s.value-h}px`,left:`${n.value-u}px`}}),d=(u,h)=>{a.value={type:u,nodeInformation:h};const f=()=>{const m=Wn(new h.type);e.value.displayedGraph.addNode(m);const _=o.value.getBoundingClientRect(),[g,b]=i(n.value-_.left,s.value-_.top);m.position.x=g,m.position.y=b,a.value=null,document.removeEventListener("pointerup",f)};document.addEventListener("pointerup",f)};return(u,h)=>(T(),x(Fe,null,[l("div",SPt,[(T(!0),x(Fe,null,Ke(Lt(r),f=>(T(),x("section",{key:f.name},[f.name!=="default"?(T(),x("h1",TPt,K(f.name),1)):G("",!0),(T(!0),x(Fe,null,Ke(f.nodeTypes,(m,_)=>(T(),dt(Cw,{key:_,type:_,title:m.title,onPointerdown:g=>d(_,m)},null,8,["type","title","onPointerdown"]))),128))]))),128))]),V(Fs,{name:"fade"},{default:Ie(()=>[a.value?(T(),x("div",{key:0,class:"baklava-dragged-node",style:Ht(c.value)},[V(Cw,{type:a.value.type,title:a.value.nodeInformation.title},null,8,["type","title"])],4)):G("",!0)]),_:1})],64))}});let ud;const CPt=new Uint8Array(16);function wPt(){if(!ud&&(ud=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ud))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ud(CPt)}const Sn=[];for(let t=0;t<256;++t)Sn.push((t+256).toString(16).slice(1));function RPt(t,e=0){return Sn[t[e+0]]+Sn[t[e+1]]+Sn[t[e+2]]+Sn[t[e+3]]+"-"+Sn[t[e+4]]+Sn[t[e+5]]+"-"+Sn[t[e+6]]+Sn[t[e+7]]+"-"+Sn[t[e+8]]+Sn[t[e+9]]+"-"+Sn[t[e+10]]+Sn[t[e+11]]+Sn[t[e+12]]+Sn[t[e+13]]+Sn[t[e+14]]+Sn[t[e+15]]}const APt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ww={randomUUID:APt};function du(t,e,n){if(ww.randomUUID&&!e&&!t)return ww.randomUUID();t=t||{};const s=t.random||(t.rng||wPt)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){n=n||0;for(let i=0;i<16;++i)e[n+i]=s[i];return e}return RPt(s)}const Kl="SAVE_SUBGRAPH";function NPt(t,e){const n=()=>{const s=t.value;if(!s.template)throw new Error("Graph template property not set");s.template.update(s.save()),s.template.panning=s.panning,s.template.scaling=s.scaling};e.registerCommand(Kl,{canExecute:()=>{var s;return t.value!==((s=t.value.editor)==null?void 0:s.graph)},execute:n})}const OPt={},MPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},IPt=l("polyline",{points:"6 9 12 15 18 9"},null,-1),kPt=[IPt];function DPt(t,e){return T(),x("svg",MPt,kPt)}const LPt=dn(OPt,[["render",DPt]]),PPt=cn({components:{"i-arrow":LPt},props:{intf:{type:Object,required:!0}},setup(t){const e=ct(null),n=ct(!1),s=et(()=>t.intf.items.find(o=>typeof o=="string"?o===t.intf.value:o.value===t.intf.value)),i=et(()=>s.value?typeof s.value=="string"?s.value:s.value.text:""),r=o=>{t.intf.value=typeof o=="string"?o:o.value};return AO(e,()=>{n.value=!1}),{el:e,open:n,selectedItem:s,selectedText:i,setSelected:r}}}),FPt=["title"],UPt={class:"__selected"},BPt={class:"__text"},GPt={class:"__icon"},VPt={class:"__dropdown"},zPt={class:"item --header"},HPt=["onClick"];function qPt(t,e,n,s,i,r){const o=tt("i-arrow");return T(),x("div",{ref:"el",class:Ge(["baklava-select",{"--open":t.open}]),title:t.intf.name,onClick:e[0]||(e[0]=a=>t.open=!t.open)},[l("div",UPt,[l("div",BPt,K(t.selectedText),1),l("div",GPt,[V(o)])]),V(Fs,{name:"slide-fade"},{default:Ie(()=>[P(l("div",VPt,[l("div",zPt,K(t.intf.name),1),(T(!0),x(Fe,null,Ke(t.intf.items,(a,c)=>(T(),x("div",{key:c,class:Ge(["item",{"--active":a===t.selectedItem}]),onClick:d=>t.setSelected(a)},K(typeof a=="string"?a:a.text),11,HPt))),128))],512),[[wt,t.open]])]),_:1})],10,FPt)}const $Pt=dn(PPt,[["render",qPt]]);class YPt extends Xt{constructor(e,n,s){super(e,n),this.component=jl($Pt),this.items=s}}const WPt=cn({props:{intf:{type:Object,required:!0}}});function KPt(t,e,n,s,i,r){return T(),x("div",null,K(t.intf.value),1)}const jPt=dn(WPt,[["render",KPt]]);class QPt extends Xt{constructor(e,n){super(e,n),this.component=jl(jPt),this.setPort(!1)}}const XPt=cn({props:{intf:{type:Object,required:!0},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(t,{emit:e}){return{v:et({get:()=>t.modelValue,set:s=>{e("update:modelValue",s)}})}}}),ZPt=["placeholder","title"];function JPt(t,e,n,s,i,r){return T(),x("div",null,[P(l("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>t.v=o),type:"text",class:"baklava-input",placeholder:t.intf.name,title:t.intf.name},null,8,ZPt),[[pe,t.v]])])}const eFt=dn(XPt,[["render",JPt]]);class ac extends Xt{constructor(){super(...arguments),this.component=jl(eFt)}}class IO extends bO{constructor(){super(...arguments),this._title="Subgraph Input",this.inputs={name:new ac("Name","Input").setPort(!1)},this.outputs={placeholder:new Xt("Connection",void 0)}}}class kO extends EO{constructor(){super(...arguments),this._title="Subgraph Output",this.inputs={name:new ac("Name","Output").setPort(!1),placeholder:new Xt("Connection",void 0)},this.outputs={output:new Xt("Output",void 0).setHidden(!0)}}}const DO="CREATE_SUBGRAPH",Rw=[ya,va];function tFt(t,e,n){const s=()=>t.value.selectedNodes.filter(r=>!Rw.includes(r.type)).length>0,i=()=>{const{viewModel:r}=xs(),o=t.value,a=t.value.editor;if(o.selectedNodes.length===0)return;const c=o.selectedNodes.filter(C=>!Rw.includes(C.type)),d=c.flatMap(C=>Object.values(C.inputs)),u=c.flatMap(C=>Object.values(C.outputs)),h=o.connections.filter(C=>!u.includes(C.from)&&d.includes(C.to)),f=o.connections.filter(C=>u.includes(C.from)&&!d.includes(C.to)),m=o.connections.filter(C=>u.includes(C.from)&&d.includes(C.to)),_=c.map(C=>C.save()),g=m.map(C=>({id:C.id,from:C.from.id,to:C.to.id})),b=new Map,{xLeft:E,xRight:y,yTop:v}=nFt(c);console.log(E,y,v);for(const[C,O]of h.entries()){const B=new IO;B.inputs.name.value=O.to.name,_.push({...B.save(),position:{x:y-r.value.settings.nodes.defaultWidth-100,y:v+C*200}}),g.push({id:du(),from:B.outputs.placeholder.id,to:O.to.id}),b.set(O.to.id,B.graphInterfaceId)}for(const[C,O]of f.entries()){const B=new kO;B.inputs.name.value=O.from.name,_.push({...B.save(),position:{x:E+100,y:v+C*200}}),g.push({id:du(),from:O.from.id,to:B.inputs.placeholder.id}),b.set(O.from.id,B.graphInterfaceId)}const S=Wn(new op({connections:g,nodes:_,inputs:[],outputs:[]},a));a.addGraphTemplate(S);const R=a.nodeTypes.get(Sa(S));if(!R)throw new Error("Unable to create subgraph: Could not find corresponding graph node type");const w=Wn(new R.type);o.addNode(w);const A=Math.round(c.map(C=>C.position.x).reduce((C,O)=>C+O,0)/c.length),I=Math.round(c.map(C=>C.position.y).reduce((C,O)=>C+O,0)/c.length);w.position.x=A,w.position.y=I,h.forEach(C=>{o.removeConnection(C),o.addConnection(C.from,w.inputs[b.get(C.to.id)])}),f.forEach(C=>{o.removeConnection(C),o.addConnection(w.outputs[b.get(C.from.id)],C.to)}),c.forEach(C=>o.removeNode(C)),e.canExecuteCommand(Kl)&&e.executeCommand(Kl),n(S),t.value.panning={...o.panning},t.value.scaling=o.scaling};e.registerCommand(DO,{canExecute:s,execute:i})}function nFt(t){const e=t.reduce((i,r)=>{const o=r.position.x;return o{const o=r.position.y;return o{const o=r.position.x+r.width;return o>i?o:i},-1/0),xRight:e,yTop:n}}const Aw="DELETE_NODES";function sFt(t,e){e.registerCommand(Aw,{canExecute:()=>t.value.selectedNodes.length>0,execute(){t.value.selectedNodes.forEach(n=>t.value.removeNode(n))}}),e.registerHotkey(["Delete"],Aw)}const LO="SWITCH_TO_MAIN_GRAPH";function iFt(t,e,n){e.registerCommand(LO,{canExecute:()=>t.value!==t.value.editor.graph,execute:()=>{e.executeCommand(Kl),n(t.value.editor.graph)}})}function rFt(t,e,n){sFt(t,e),tFt(t,e,n),NPt(t,e),iFt(t,e,n)}class Nw{constructor(e,n){this.type=e,e==="addNode"?this.nodeId=n:this.nodeState=n}undo(e){this.type==="addNode"?this.removeNode(e):this.addNode(e)}redo(e){this.type==="addNode"&&this.nodeState?this.addNode(e):this.type==="removeNode"&&this.nodeId&&this.removeNode(e)}addNode(e){const n=e.editor.nodeTypes.get(this.nodeState.type);if(!n)return;const s=new n.type;e.addNode(s),s.load(this.nodeState),this.nodeId=s.id}removeNode(e){const n=e.nodes.find(s=>s.id===this.nodeId);n&&(this.nodeState=n.save(),e.removeNode(n))}}class Ow{constructor(e,n){if(this.type=e,e==="addConnection")this.connectionId=n;else{const s=n;this.connectionState={id:s.id,from:s.from.id,to:s.to.id}}}undo(e){this.type==="addConnection"?this.removeConnection(e):this.addConnection(e)}redo(e){this.type==="addConnection"&&this.connectionState?this.addConnection(e):this.type==="removeConnection"&&this.connectionId&&this.removeConnection(e)}addConnection(e){const n=e.findNodeInterface(this.connectionState.from),s=e.findNodeInterface(this.connectionState.to);!n||!s||e.addConnection(n,s)}removeConnection(e){const n=e.connections.find(s=>s.id===this.connectionId);n&&(this.connectionState={id:n.id,from:n.from.id,to:n.to.id},e.removeConnection(n))}}class oFt{constructor(e){if(this.type="transaction",e.length===0)throw new Error("Can't create a transaction with no steps");this.steps=e}undo(e){for(let n=this.steps.length-1;n>=0;n--)this.steps[n].undo(e)}redo(e){for(let n=0;n{if(!r.value)if(a.value)c.value.push(b);else for(o.value!==i.value.length-1&&(i.value=i.value.slice(0,o.value+1)),i.value.push(b),o.value++;i.value.length>s.value;)i.value.shift()},u=()=>{a.value=!0},h=()=>{a.value=!1,c.value.length>0&&(d(new oFt(c.value)),c.value=[])},f=()=>i.value.length!==0&&o.value!==-1,m=()=>{f()&&(r.value=!0,i.value[o.value--].undo(t.value),r.value=!1)},_=()=>i.value.length!==0&&o.value{_()&&(r.value=!0,i.value[++o.value].redo(t.value),r.value=!1)};return In(t,(b,E)=>{E&&(E.events.addNode.unsubscribe(n),E.events.removeNode.unsubscribe(n),E.events.addConnection.unsubscribe(n),E.events.removeConnection.unsubscribe(n)),b&&(b.events.addNode.subscribe(n,y=>{d(new Nw("addNode",y.id))}),b.events.removeNode.subscribe(n,y=>{d(new Nw("removeNode",y.save()))}),b.events.addConnection.subscribe(n,y=>{d(new Ow("addConnection",y.id))}),b.events.removeConnection.subscribe(n,y=>{d(new Ow("removeConnection",y))}))},{immediate:!0}),e.registerCommand(ub,{canExecute:f,execute:m}),e.registerCommand(pb,{canExecute:_,execute:g}),e.registerCommand(PO,{canExecute:()=>!a.value,execute:u}),e.registerCommand(FO,{canExecute:()=>a.value,execute:h}),e.registerHotkey(["Control","z"],ub),e.registerHotkey(["Control","y"],pb),Wn({maxSteps:s})}const _b="COPY",hb="PASTE",lFt="CLEAR_CLIPBOARD";function cFt(t,e,n){const s=Symbol("ClipboardToken"),i=ct(""),r=ct(""),o=et(()=>!i.value),a=()=>{i.value="",r.value=""},c=()=>{const h=t.value.selectedNodes.flatMap(m=>[...Object.values(m.inputs),...Object.values(m.outputs)]),f=t.value.connections.filter(m=>h.includes(m.from)||h.includes(m.to)).map(m=>({from:m.from.id,to:m.to.id}));r.value=JSON.stringify(f),i.value=JSON.stringify(t.value.selectedNodes.map(m=>m.save()))},d=(h,f,m)=>{for(const _ of h){let g;if((!m||m==="input")&&(g=Object.values(_.inputs).find(b=>b.id===f)),!g&&(!m||m==="output")&&(g=Object.values(_.outputs).find(b=>b.id===f)),g)return g}},u=()=>{if(o.value)return;const h=new Map,f=JSON.parse(i.value),m=JSON.parse(r.value),_=[],g=[],b=t.value;n.executeCommand(PO);for(const E of f){const y=e.value.nodeTypes.get(E.type);if(!y){console.warn(`Node type ${E.type} not registered`);return}const v=new y.type,S=v.id;_.push(v),v.hooks.beforeLoad.subscribe(s,R=>{const w=R;return w.position&&(w.position.x+=100,w.position.y+=100),v.hooks.beforeLoad.unsubscribe(s),w}),b.addNode(v),v.load({...E,id:S}),v.id=S,h.set(E.id,S);for(const R of Object.values(v.inputs)){const w=du();h.set(R.id,w),R.id=w}for(const R of Object.values(v.outputs)){const w=du();h.set(R.id,w),R.id=w}}for(const E of m){const y=d(_,h.get(E.from),"output"),v=d(_,h.get(E.to),"input");if(!y||!v)continue;const S=b.addConnection(y,v);S&&g.push(S)}return t.value.selectedNodes=_,n.executeCommand(FO),{newNodes:_,newConnections:g}};return n.registerCommand(_b,{canExecute:()=>t.value.selectedNodes.length>0,execute:c}),n.registerHotkey(["Control","c"],_b),n.registerCommand(hb,{canExecute:()=>!o.value,execute:u}),n.registerHotkey(["Control","v"],hb),n.registerCommand(lFt,{canExecute:()=>!0,execute:a}),Wn({isEmpty:o})}const dFt="OPEN_SIDEBAR";function uFt(t,e){e.registerCommand(dFt,{execute:n=>{t.value.sidebar.nodeId=n,t.value.sidebar.visible=!0},canExecute:()=>!0})}function pFt(t,e){uFt(t,e)}const _Ft={},hFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},fFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),mFt=l("path",{d:"M9 13l-4 -4l4 -4m-4 4h11a4 4 0 0 1 0 8h-1"},null,-1),gFt=[fFt,mFt];function bFt(t,e){return T(),x("svg",hFt,gFt)}const EFt=dn(_Ft,[["render",bFt]]),yFt={},vFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},SFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),TFt=l("path",{d:"M15 13l4 -4l-4 -4m4 4h-11a4 4 0 0 0 0 8h1"},null,-1),xFt=[SFt,TFt];function CFt(t,e){return T(),x("svg",vFt,xFt)}const wFt=dn(yFt,[["render",CFt]]),RFt={},AFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},NFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),OFt=l("line",{x1:"5",y1:"12",x2:"19",y2:"12"},null,-1),MFt=l("line",{x1:"5",y1:"12",x2:"11",y2:"18"},null,-1),IFt=l("line",{x1:"5",y1:"12",x2:"11",y2:"6"},null,-1),kFt=[NFt,OFt,MFt,IFt];function DFt(t,e){return T(),x("svg",AFt,kFt)}const LFt=dn(RFt,[["render",DFt]]),PFt={},FFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},UFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),BFt=l("path",{d:"M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2"},null,-1),GFt=l("rect",{x:"9",y:"3",width:"6",height:"4",rx:"2"},null,-1),VFt=[UFt,BFt,GFt];function zFt(t,e){return T(),x("svg",FFt,VFt)}const HFt=dn(PFt,[["render",zFt]]),qFt={},$Ft={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},YFt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),WFt=l("rect",{x:"8",y:"8",width:"12",height:"12",rx:"2"},null,-1),KFt=l("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"},null,-1),jFt=[YFt,WFt,KFt];function QFt(t,e){return T(),x("svg",$Ft,jFt)}const XFt=dn(qFt,[["render",QFt]]),ZFt={},JFt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},eUt=l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),tUt=l("path",{d:"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"},null,-1),nUt=l("circle",{cx:"12",cy:"14",r:"2"},null,-1),sUt=l("polyline",{points:"14 4 14 8 8 8 8 4"},null,-1),iUt=[eUt,tUt,nUt,sUt];function rUt(t,e){return T(),x("svg",JFt,iUt)}const oUt=dn(ZFt,[["render",rUt]]),aUt={},lUt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},cUt=Na('',6),dUt=[cUt];function uUt(t,e){return T(),x("svg",lUt,dUt)}const pUt=dn(aUt,[["render",uUt]]),_Ut=cn({props:{command:{type:String,required:!0},title:{type:String,required:!0},icon:{type:Object,required:!1,default:void 0}},setup(){const{viewModel:t}=xs();return{viewModel:t}}}),hUt=["disabled","title"];function fUt(t,e,n,s,i,r){return T(),x("button",{class:"baklava-toolbar-entry baklava-toolbar-button",disabled:!t.viewModel.commandHandler.canExecuteCommand(t.command),title:t.title,onClick:e[0]||(e[0]=o=>t.viewModel.commandHandler.executeCommand(t.command))},[t.icon?(T(),dt(Tu(t.icon),{key:0})):(T(),x(Fe,{key:1},[Je(K(t.title),1)],64))],8,hUt)}const mUt=dn(_Ut,[["render",fUt]]),gUt=cn({components:{ToolbarButton:mUt},setup(){const{viewModel:t}=xs();return{isSubgraph:et(()=>t.value.displayedGraph!==t.value.editor.graph),commands:[{command:_b,title:"Copy",icon:XFt},{command:hb,title:"Paste",icon:HFt},{command:ub,title:"Undo",icon:EFt},{command:pb,title:"Redo",icon:wFt},{command:DO,title:"Create Subgraph",icon:pUt}],subgraphCommands:[{command:Kl,title:"Save Subgraph",icon:oUt},{command:LO,title:"Back to Main Graph",icon:LFt}]}}}),bUt={class:"baklava-toolbar"};function EUt(t,e,n,s,i,r){const o=tt("toolbar-button");return T(),x("div",bUt,[(T(!0),x(Fe,null,Ke(t.commands,a=>(T(),dt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)),t.isSubgraph?(T(!0),x(Fe,{key:0},Ke(t.subgraphCommands,a=>(T(),dt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)):G("",!0)])}const yUt=dn(gUt,[["render",EUt]]),vUt={class:"connections-container"},SUt=cn({__name:"Editor",props:{viewModel:{}},setup(t){const e=t,n=Symbol("EditorToken"),s=kd(e,"viewModel");mLt(s);const i=ct(null);Yo("editorEl",i);const r=et(()=>e.viewModel.displayedGraph.nodes),o=et(()=>e.viewModel.displayedGraph.nodes.map(A=>SO(kd(A,"position")))),a=et(()=>e.viewModel.displayedGraph.connections),c=et(()=>e.viewModel.displayedGraph.selectedNodes),d=gLt(),u=bLt(),h=ELt(s),f=et(()=>({...d.styles.value})),m=ct(0);e.viewModel.editor.hooks.load.subscribe(n,A=>(m.value++,A));const _=A=>{d.onPointerMove(A),u.onMouseMove(A)},g=A=>{A.button===0&&(A.target===i.value&&(S(),d.onPointerDown(A)),u.onMouseDown())},b=A=>{d.onPointerUp(A),u.onMouseUp()},E=A=>{A.key==="Tab"&&A.preventDefault(),e.viewModel.commandHandler.handleKeyDown(A)},y=A=>{e.viewModel.commandHandler.handleKeyUp(A)},v=A=>{["Control","Shift"].some(I=>e.viewModel.commandHandler.pressedKeys.includes(I))||S(),e.viewModel.displayedGraph.selectedNodes.push(A)},S=()=>{e.viewModel.displayedGraph.selectedNodes=[]},R=A=>{for(const I of e.viewModel.displayedGraph.selectedNodes){const C=r.value.indexOf(I),O=o.value[C];O.onPointerDown(A),document.addEventListener("pointermove",O.onPointerMove)}document.addEventListener("pointerup",w)},w=()=>{for(const A of e.viewModel.displayedGraph.selectedNodes){const I=r.value.indexOf(A),C=o.value[I];C.onPointerUp(),document.removeEventListener("pointermove",C.onPointerMove)}document.removeEventListener("pointerup",w)};return(A,I)=>(T(),x("div",{ref_key:"el",ref:i,tabindex:"-1",class:Ge(["baklava-editor",{"baklava-ignore-mouse":!!Lt(u).temporaryConnection.value||Lt(d).dragging.value,"--temporary-connection":!!Lt(u).temporaryConnection.value}]),onPointermove:j(_,["self"]),onPointerdown:g,onPointerup:b,onWheel:I[1]||(I[1]=j((...C)=>Lt(d).onMouseWheel&&Lt(d).onMouseWheel(...C),["self"])),onKeydown:E,onKeyup:y,onContextmenu:I[2]||(I[2]=j((...C)=>Lt(h).open&&Lt(h).open(...C),["self","prevent"]))},[un(A.$slots,"background",{},()=>[V(SLt)]),un(A.$slots,"toolbar",{},()=>[V(yUt)]),un(A.$slots,"palette",{},()=>[V(xPt)]),(T(),x("svg",vUt,[(T(!0),x(Fe,null,Ke(a.value,C=>(T(),x("g",{key:C.id+m.value.toString()},[un(A.$slots,"connection",{connection:C},()=>[V(oPt,{connection:C},null,8,["connection"])])]))),128)),un(A.$slots,"temporaryConnection",{temporaryConnection:Lt(u).temporaryConnection.value},()=>[Lt(u).temporaryConnection.value?(T(),dt(cPt,{key:0,connection:Lt(u).temporaryConnection.value},null,8,["connection"])):G("",!0)])])),l("div",{class:"node-container",style:Ht(f.value)},[V(ii,{name:"fade"},{default:Ie(()=>[(T(!0),x(Fe,null,Ke(r.value,(C,O)=>un(A.$slots,"node",{key:C.id+m.value.toString(),node:C,selected:c.value.includes(C),dragging:o.value[O].dragging.value,onSelect:B=>v(C),onStartDrag:R},()=>[V(JLt,{node:C,selected:c.value.includes(C),dragging:o.value[O].dragging.value,onSelect:B=>v(C),onStartDrag:R},null,8,["node","selected","dragging","onSelect"])])),128))]),_:3})],4),un(A.$slots,"sidebar",{},()=>[V(hPt)]),un(A.$slots,"minimap",{},()=>[A.viewModel.settings.enableMinimap?(T(),dt(fPt,{key:0})):G("",!0)]),un(A.$slots,"contextMenu",{contextMenu:Lt(h)},()=>[A.viewModel.settings.contextMenu.enabled?(T(),dt(ly,{key:0,modelValue:Lt(h).show.value,"onUpdate:modelValue":I[0]||(I[0]=C=>Lt(h).show.value=C),items:Lt(h).items.value,x:Lt(h).x.value,y:Lt(h).y.value,onClick:Lt(h).onClick},null,8,["modelValue","items","x","y","onClick"])):G("",!0)])],34))}}),TUt=["INPUT","TEXTAREA","SELECT"];function xUt(t){const e=ct([]),n=ct([]);return{pressedKeys:e,handleKeyDown:o=>{var a;e.value.includes(o.key)||e.value.push(o.key),!TUt.includes(((a=document.activeElement)==null?void 0:a.tagName)??"")&&n.value.forEach(c=>{c.keys.every(d=>e.value.includes(d))&&t(c.commandName)})},handleKeyUp:o=>{const a=e.value.indexOf(o.key);a>=0&&e.value.splice(a,1)},registerHotkey:(o,a)=>{n.value.push({keys:o,commandName:a})}}}const CUt=()=>{const t=ct(new Map),e=(r,o)=>{if(t.value.has(r))throw new Error(`Command "${r}" already exists`);t.value.set(r,o)},n=(r,o=!1,...a)=>{if(!t.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return}return t.value.get(r).execute(...a)},s=(r,o=!1,...a)=>{if(!t.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return!1}return t.value.get(r).canExecute(a)},i=xUt(n);return Wn({registerCommand:e,executeCommand:n,canExecuteCommand:s,...i})},wUt=t=>!(t instanceof oc);function RUt(t,e){return{switchGraph:s=>{let i;if(wUt(s))i=new oc(t.value),s.createGraph(i);else{if(s!==t.value.graph)throw new Error("Can only switch using 'Graph' instance when it is the root graph. Otherwise a 'GraphTemplate' must be used.");i=s}e.value&&e.value!==t.value.graph&&e.value.destroy(),i.panning=i.panning??s.panning??{x:0,y:0},i.scaling=i.scaling??s.scaling??1,i.selectedNodes=i.selectedNodes??[],i.sidebar=i.sidebar??{visible:!1,nodeId:"",optionName:""},e.value=i}}}function AUt(t,e){t.position=t.position??{x:0,y:0},t.disablePointerEvents=!1,t.twoColumn=t.twoColumn??!1,t.width=t.width??e.defaultWidth}const NUt=()=>({useStraightConnections:!1,enableMinimap:!1,background:{gridSize:100,gridDivision:5,subGridVisibleThreshold:.6},sidebar:{width:300,resizable:!0},displayValueOnHover:!1,nodes:{defaultWidth:200,maxWidth:320,minWidth:150,resizable:!1},contextMenu:{enabled:!0,additionalItems:[]}});function OUt(t){const e=ct(t??new dLt),n=Symbol("ViewModelToken"),s=ct(null),i=VM(s),{switchGraph:r}=RUt(e,s),o=et(()=>i.value&&i.value!==e.value.graph),a=Wn(NUt()),c=CUt(),d=aFt(i,c),u=cFt(i,e,c),h={renderNode:new ss(null),renderInterface:new ss(null)};return rFt(i,c,r),pFt(i,c),In(e,(f,m)=>{m&&(m.events.registerGraph.unsubscribe(n),m.graphEvents.beforeAddNode.unsubscribe(n),f.nodeHooks.beforeLoad.unsubscribe(n),f.nodeHooks.afterSave.unsubscribe(n),f.graphTemplateHooks.beforeLoad.unsubscribe(n),f.graphTemplateHooks.afterSave.unsubscribe(n),f.graph.hooks.load.unsubscribe(n),f.graph.hooks.save.unsubscribe(n)),f&&(f.nodeHooks.beforeLoad.subscribe(n,(_,g)=>(g.position=_.position??{x:0,y:0},g.width=_.width??a.nodes.defaultWidth,g.twoColumn=_.twoColumn??!1,_)),f.nodeHooks.afterSave.subscribe(n,(_,g)=>(_.position=g.position,_.width=g.width,_.twoColumn=g.twoColumn,_)),f.graphTemplateHooks.beforeLoad.subscribe(n,(_,g)=>(g.panning=_.panning,g.scaling=_.scaling,_)),f.graphTemplateHooks.afterSave.subscribe(n,(_,g)=>(_.panning=g.panning,_.scaling=g.scaling,_)),f.graph.hooks.load.subscribe(n,(_,g)=>(g.panning=_.panning,g.scaling=_.scaling,_)),f.graph.hooks.save.subscribe(n,(_,g)=>(_.panning=g.panning,_.scaling=g.scaling,_)),f.graphEvents.beforeAddNode.subscribe(n,_=>AUt(_,{defaultWidth:a.nodes.defaultWidth})),e.value.registerNodeType(IO,{category:"Subgraphs"}),e.value.registerNodeType(kO,{category:"Subgraphs"}),r(f.graph))},{immediate:!0}),Wn({editor:e,displayedGraph:i,isSubgraph:o,settings:a,commandHandler:c,history:d,clipboard:u,hooks:h,switchGraph:r})}const MUt=za({type:"PersonalityNode",title:"Personality",inputs:{request:()=>new Xt("Request",""),agent_name:()=>new YPt("Personality","",Ms.state.config.personalities).setPort(!1)},outputs:{response:()=>new Xt("Response","")},async calculate({request:t}){console.log(Ms.state.config.personalities);let e="";try{e=(await oe.post("/generate",{params:{text:t}})).data}catch(n){console.error(n)}return{display:e,response:e}}}),IUt=za({type:"RAGNode",title:"RAG",inputs:{request:()=>new Xt("Prompt",""),document_path:()=>new ac("Document path","").setPort(!1)},outputs:{prompt:()=>new Xt("Prompt with Data","")},async calculate({request:t,document_path:e}){let n="";try{n=(await oe.get("/rag",{params:{text:t,doc_path:e}})).data}catch(s){console.error(s)}return{response:n}}}),Mw=za({type:"Task",title:"Task",inputs:{description:()=>new ac("Task description","").setPort(!1)},outputs:{prompt:()=>new Xt("Prompt")},calculate({description:t}){return{prompt:t}}}),Iw=za({type:"TextDisplayNode",title:"TextDisplay",inputs:{text2display:()=>new Xt("Input","")},outputs:{response:()=>new QPt("Text","")},async calculate({request:t}){}}),kw=za({type:"LLMNode",title:"LLM",inputs:{request:()=>new Xt("Request","")},outputs:{response:()=>new Xt("Response","")},async calculate({request:t}){console.log(Ms.state.config.personalities);let e="";try{e=(await oe.post("/generate",{params:{text:t}})).data}catch(n){console.error(n)}return{display:e,response:e}}}),kUt=za({type:"MultichoiceNode",title:"Multichoice",inputs:{question:()=>new Xt("Question",""),outputs:()=>new ac("choices, one per line","","").setPort(!1)},outputs:{response:()=>new Xt("Response","")}}),DUt=cn({components:{"baklava-editor":SUt},setup(){const t=OUt(),e=new fLt(t.editor);t.editor.registerNodeType(MUt),t.editor.registerNodeType(Mw),t.editor.registerNodeType(IUt),t.editor.registerNodeType(Iw),t.editor.registerNodeType(kw),t.editor.registerNodeType(kUt);const n=Symbol();e.events.afterRun.subscribe(n,a=>{e.pause(),uLt(a,t.editor),e.resume()}),e.start();function s(a,c,d){const u=new a;return t.displayedGraph.addNode(u),u.position.x=c,u.position.y=d,u}const i=s(Mw,300,140),r=s(kw,550,140),o=s(Iw,850,140);return t.displayedGraph.addConnection(i.outputs.prompt,r.inputs.request),t.displayedGraph.addConnection(r.outputs.response,o.inputs.text2display),{baklava:t,saveGraph:()=>{const a=e.export();localStorage.setItem("myGraph",JSON.stringify(a))},loadGraph:()=>{const a=JSON.parse(localStorage.getItem("myGraph"));e.import(a)}}}}),LUt={style:{width:"100vw",height:"100vh"}};function PUt(t,e,n,s,i,r){const o=tt("baklava-editor");return T(),x("div",LUt,[V(o,{"view-model":t.baklava},null,8,["view-model"]),l("button",{onClick:e[0]||(e[0]=(...a)=>t.saveGraph&&t.saveGraph(...a))},"Save Graph"),l("button",{onClick:e[1]||(e[1]=(...a)=>t.loadGraph&&t.loadGraph(...a))},"Load Graph")])}const FUt=ot(DUt,[["render",PUt]]),UUt={},BUt={style:{width:"100vw",height:"100vh"}},GUt=["src"];function VUt(t,e,n,s,i,r){return T(),x("div",BUt,[l("iframe",{src:t.$store.state.config.comfyui_base_url,class:"m-0 p-0 w-full h-full"},null,8,GUt)])}const zUt=ot(UUt,[["render",VUt]]),HUt={},qUt={style:{width:"100vw",height:"100vh"}},$Ut=["src"];function YUt(t,e,n,s,i,r){return T(),x("div",qUt,[l("iframe",{src:t.$store.state.config.sd_base_url,class:"m-0 p-0 w-full h-full"},null,8,$Ut)])}const WUt=ot(HUt,[["render",YUt]]);const KUt={name:"AppCard",props:{app:{type:Object,required:!0},isFavorite:{type:Boolean,default:!1}},methods:{formatDate(t){const e={year:"numeric",month:"short",day:"numeric"};return new Date(t).toLocaleDateString(void 0,e)}}},is=t=>(vs("data-v-b7c90695"),t=t(),Ss(),t),jUt={class:"app-card bg-white border rounded-xl shadow-lg p-6 hover:shadow-xl transition duration-300 ease-in-out flex flex-col h-full"},QUt={class:"flex-grow"},XUt={class:"flex items-center mb-4"},ZUt=["src"],JUt={class:"font-bold text-xl text-gray-800"},e3t={class:"text-sm text-gray-600"},t3t={class:"text-sm text-gray-600"},n3t={class:"text-sm text-gray-600"},s3t={class:"text-sm text-gray-600"},i3t={class:"text-sm text-gray-600"},r3t={class:"mb-4"},o3t=is(()=>l("h4",{class:"font-semibold mb-1 text-gray-700"},"Description:",-1)),a3t={class:"text-sm text-gray-600 h-20 overflow-y-auto"},l3t={class:"text-sm text-gray-600 mb-2"},c3t={key:0,class:"mb-4"},d3t=is(()=>l("h4",{class:"font-semibold mb-1 text-gray-700"},"Disclaimer:",-1)),u3t={class:"text-xs text-gray-500 italic h-16 overflow-y-auto"},p3t={class:"mt-auto pt-4 border-t"},_3t={class:"flex justify-between items-center flex-wrap"},h3t=["title"],f3t=["fill"],m3t=is(()=>l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"},null,-1)),g3t=[m3t],b3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)),E3t=[b3t],y3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)),v3t=[y3t],S3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1)),T3t=[S3t],x3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)),C3t=[x3t],w3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1)),R3t=[w3t],A3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1)),N3t=[A3t],O3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1)),M3t=[O3t],I3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 12h14M12 5l7 7-7 7"})],-1)),k3t=[I3t],D3t=is(()=>l("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)),L3t=is(()=>l("span",{class:"absolute top-0 right-0 inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-100 transform translate-x-1/2 -translate-y-1/2 bg-red-600 rounded-full"},"!",-1)),P3t=[D3t,L3t];function F3t(t,e,n,s,i,r){return T(),x("div",jUt,[l("div",QUt,[l("div",XUt,[l("img",{src:n.app.icon,alt:"App Icon",class:"w-16 h-16 rounded-full border border-gray-300 mr-4"},null,8,ZUt),l("div",null,[l("h3",JUt,K(n.app.name),1),l("p",e3t,"Author: "+K(n.app.author),1),l("p",t3t,"Version: "+K(n.app.version),1),l("p",n3t,"Category: "+K(n.app.category),1),l("p",s3t,"Creation date: "+K(r.formatDate(n.app.creation_date)),1),l("p",i3t,"Last update: "+K(r.formatDate(n.app.last_update_date)),1),l("p",{class:Ge(["text-sm",n.app.is_public?"text-green-600":"text-orange-600"])},K(n.app.is_public?"Public App":"Local App"),3)])]),l("div",r3t,[o3t,l("p",a3t,K(n.app.description),1)]),l("p",l3t,"AI Model: "+K(n.app.model_name),1),n.app.disclaimer&&n.app.disclaimer.trim()!==""?(T(),x("div",c3t,[d3t,l("p",u3t,K(n.app.disclaimer),1)])):G("",!0)]),l("div",p3t,[l("div",_3t,[l("button",{onClick:e[0]||(e[0]=j(o=>t.$emit("toggle-favorite",n.app.uid),["stop"])),class:"text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out",title:n.isFavorite?"Remove from favorites":"Add to favorites"},[(T(),x("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6",fill:n.isFavorite?"currentColor":"none",viewBox:"0 0 24 24",stroke:"currentColor"},g3t,8,f3t))],8,h3t),n.app.installed?(T(),x("button",{key:0,onClick:e[1]||(e[1]=j(o=>t.$emit("uninstall",n.app.folder_name),["stop"])),class:"text-red-500 hover:text-red-600 transition duration-300 ease-in-out",title:"Uninstall"},E3t)):n.app.existsInFolder?(T(),x("button",{key:1,onClick:e[2]||(e[2]=j(o=>t.$emit("delete",n.app.name),["stop"])),class:"text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out",title:"Delete"},v3t)):(T(),x("button",{key:2,onClick:e[3]||(e[3]=j(o=>t.$emit("install",n.app.folder_name),["stop"])),class:"text-blue-500 hover:text-blue-600 transition duration-300 ease-in-out",title:"Install"},T3t)),n.app.installed?(T(),x("button",{key:3,onClick:e[4]||(e[4]=j(o=>t.$emit("edit",n.app),["stop"])),class:"text-purple-500 hover:text-purple-600 transition duration-300 ease-in-out",title:"Edit"},C3t)):G("",!0),l("button",{onClick:e[5]||(e[5]=j(o=>t.$emit("download",n.app.folder_name),["stop"])),class:"text-green-500 hover:text-green-600 transition duration-300 ease-in-out",title:"Download"},R3t),l("button",{onClick:e[6]||(e[6]=j(o=>t.$emit("view",n.app),["stop"])),class:"text-gray-500 hover:text-gray-600 transition duration-300 ease-in-out",title:"View"},N3t),n.app.installed?(T(),x("button",{key:4,onClick:e[7]||(e[7]=j(o=>t.$emit("open",n.app),["stop"])),class:"text-indigo-500 hover:text-indigo-600 transition duration-300 ease-in-out",title:"Open"},M3t)):G("",!0),n.app.has_server&&n.app.installed?(T(),x("button",{key:5,onClick:e[8]||(e[8]=j(o=>t.$emit("start-server",n.app.folder_name),["stop"])),class:"text-teal-500 hover:text-teal-600 transition duration-300 ease-in-out",title:"Start Server"},k3t)):G("",!0),n.app.has_update?(T(),x("button",{key:6,onClick:e[9]||(e[9]=j(o=>t.$emit("install",n.app.folder_name),["stop"])),class:"relative text-yellow-500 hover:text-yellow-600 transition duration-300 ease-in-out animate-pulse",title:"Update Available"},P3t)):G("",!0)])])])}const U3t=ot(KUt,[["render",F3t],["__scopeId","data-v-b7c90695"]]),B3t={components:{AppCard:U3t},data(){return{apps:[],githubApps:[],favorites:[],selectedCategory:"all",selectedApp:null,appCode:"",loading:!1,message:"",successMessage:!0,searchQuery:"",selectedFile:null,isUploading:!1,error:"",sortBy:"update",sortOrder:"desc",showOnlyInstalled:!1}},computed:{currentCategoryName(){return this.selectedCategory==="all"?"All Apps":this.selectedCategory},combinedApps(){this.apps.map(e=>e.name);const t=new Map(this.apps.map(e=>[e.name,{...e,installed:!0,existsInFolder:!0}]));return this.githubApps.forEach(e=>{t.has(e.name)||t.set(e.name,{...e,installed:!1,existsInFolder:!1})}),Array.from(t.values())},categories(){return[...new Set(this.combinedApps.map(t=>t.category))]},filteredApps(){return this.combinedApps.filter(t=>{const e=t.name.toLowerCase().includes(this.searchQuery.toLowerCase())||t.description.toLowerCase().includes(this.searchQuery.toLowerCase())||t.author.toLowerCase().includes(this.searchQuery.toLowerCase()),n=this.selectedCategory==="all"||t.category===this.selectedCategory,s=!this.showOnlyInstalled||t.installed;return e&&n&&s})},sortedAndFilteredApps(){return this.filteredApps.sort((t,e)=>{let n=0;switch(this.sortBy){case"name":n=t.name.localeCompare(e.name);break;case"author":n=t.author.localeCompare(e.author);break;case"date":n=new Date(t.creation_date)-new Date(e.creation_date);break;case"update":n=new Date(t.last_update_date)-new Date(e.last_update_date);break}return this.sortOrder==="asc"?n:-n})},favoriteApps(){return this.combinedApps.filter(t=>this.favorites.includes(t.uid))}},methods:{toggleSortOrder(){this.sortOrder=this.sortOrder==="asc"?"desc":"asc"},toggleFavorite(t){const e=this.favorites.indexOf(t);e===-1?this.favorites.push(t):this.favorites.splice(e,1),this.saveFavoritesToLocalStorage()},saveFavoritesToLocalStorage(){localStorage.setItem("appZooFavorites",JSON.stringify(this.favorites))},loadFavoritesFromLocalStorage(){const t=localStorage.getItem("appZooFavorites");console.log("savedFavorites",t),t&&(this.favorites=JSON.parse(t))},startServer(t){const e={client_id:this.$store.state.client_id,app_name:t};this.$store.state.messageBox.showBlockingMessage(`Loading server. +This may take some time the first time as some libraries need to be installed.`),oe.post("/apps/start_server",e).then(n=>{this.$store.state.messageBox.hideMessage(),console.log("Server start initiated:",n.data.message),this.$notify({type:"success",title:"Server Starting",text:n.data.message})}).catch(n=>{var s,i;this.$store.state.messageBox.hideMessage(),console.error("Error starting server:",n),this.$notify({type:"error",title:"Server Start Failed",text:((i=(s=n.response)==null?void 0:s.data)==null?void 0:i.detail)||"An error occurred while starting the server"})})},triggerFileInput(){this.$refs.fileInput.click()},onFileSelected(t){this.selectedFile=t.target.files[0],this.message="",this.error="",this.uploadApp()},async uploadApp(){var e,n;if(!this.selectedFile){this.error="Please select a file to upload.";return}this.isUploading=!0,this.message="",this.error="";const t=new FormData;t.append("file",this.selectedFile),t.append("client_id",this.$store.state.client_id);try{const s=await oe.post("/upload_app",t,{headers:{"Content-Type":"multipart/form-data"}});this.message=s.data.message,this.$refs.fileInput.value="",this.selectedFile=null}catch(s){console.error("Error uploading app:",s),this.error=((n=(e=s.response)==null?void 0:e.data)==null?void 0:n.detail)||"Failed to upload the app. Please try again."}finally{this.isUploading=!1}},async fetchApps(){this.loading=!0;try{const t=await oe.get("/apps");this.apps=t.data,this.showMessage("Refresh successful!",!0)}catch{this.showMessage("Failed to refresh apps.",!1)}finally{this.loading=!1}},async openAppsFolder(){this.loading=!0;try{console.log("opening apps folder");const t=await oe.post("/show_apps_folder",{client_id:this.$store.state.client_id})}catch{this.showMessage("Failed to open apps folder.",!1)}finally{this.loading=!1}},async fetchGithubApps(){this.loading=!0;try{const t=await oe.get("/github/apps");this.githubApps=t.data.apps,await this.fetchApps()}catch{this.showMessage("Failed to refresh GitHub apps.",!1)}finally{this.loading=!1}},async handleAppClick(t){if(t.installed){this.selectedApp=t;const e=await oe.get(`/apps/${t.folder_name}/index.html`);this.appCode=e.data}else this.showMessage(`Please install ${t.folder_name} to view its code.`,!1)},backToZoo(){this.selectedApp=null,this.appCode=""},async installApp(t){this.loading=!0,this.$store.state.messageBox.showBlockingMessage(`Installing app ${t}`);try{await oe.post(`/install/${t}`,{client_id:this.$store.state.client_id}),this.showMessage("Installation succeeded!",!0)}catch{this.showMessage("Installation failed.",!1)}finally{this.loading=!1,this.fetchApps(),this.fetchGithubApps(),this.$store.state.messageBox.hideMessage()}},async uninstallApp(t){this.loading=!0;try{await oe.post(`/uninstall/${t}`,{client_id:this.$store.state.client_id}),this.showMessage("Uninstallation succeeded!",!0)}catch{this.showMessage("Uninstallation failed.",!1)}finally{this.loading=!1,this.fetchApps()}},async deleteApp(t){this.loading=!0;try{await oe.post(`/delete/${t}`,{client_id:this.$store.state.client_id}),this.showMessage("Deletion succeeded!",!0)}catch{this.showMessage("Deletion failed.",!1)}finally{this.loading=!1,this.fetchApps()}},async editApp(t){this.loading=!0;try{const e=await oe.post("/open_app_in_vscode",{client_id:this.$store.state.client_id,app_name:t.folder_name});this.showMessage(e.data.message,!0)}catch{this.showMessage("Failed to open folder in VSCode.",!1)}finally{this.loading=!1}},async downloadApp(t){this.isLoading=!0,this.error=null;try{const e=await oe.post("/download_app",{client_id:this.$store.state.client_id,app_name:t},{responseType:"arraybuffer"}),n=e.headers["content-disposition"],s=n&&n.match(/filename="?(.+)"?/i),i=s?s[1]:"app.zip",r=new Blob([e.data],{type:"application/zip"}),o=window.URL.createObjectURL(r),a=document.createElement("a");a.style.display="none",a.href=o,a.download=i,document.body.appendChild(a),a.click(),window.URL.revokeObjectURL(o),document.body.removeChild(a)}catch(e){console.error("Error downloading app:",e),this.error="Failed to download the app. Please try again."}finally{this.isLoading=!1}},openApp(t){t.installed?window.open(`/apps/${t.folder_name}/index.html?client_id=${this.$store.state.client_id}`,"_blank"):this.showMessage(`Please install ${t.name} before opening.`,!1)},showMessage(t,e){this.message=t,this.successMessage=e,setTimeout(()=>{this.message=""},3e3)}},mounted(){this.fetchGithubApps(),this.loadFavoritesFromLocalStorage()}},G3t={class:"app-zoo background-color w-full p-6 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},V3t={class:"panels-color shadow-lg rounded-lg p-4 max-w-4xl mx-auto mb-50 pb-50"},z3t={class:"flex flex-wrap items-center justify-between gap-4"},H3t={class:"flex items-center space-x-4"},q3t=l("svg",{class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),$3t=l("svg",{class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z"})],-1),Y3t=["disabled"],W3t={key:0},K3t={key:1,class:"error"},j3t={class:"relative flex-grow max-w-md"},Q3t=l("svg",{class:"w-5 h-5 text-gray-400 absolute left-3 top-1/2 transform -translate-y-1/2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1),X3t={class:"flex items-center space-x-4"},Z3t=l("label",{for:"category-select",class:"font-semibold"},"Category:",-1),J3t=l("option",{value:"all"},"All Categories",-1),e4t=["value"],t4t={class:"flex items-center space-x-4"},n4t={for:"installed-only",class:"font-semibold"},s4t={class:"flex items-center space-x-4"},i4t=l("label",{for:"sort-select",class:"font-semibold"},"Sort by:",-1),r4t=l("option",{value:"name"},"Name",-1),o4t=l("option",{value:"author"},"Author",-1),a4t=l("option",{value:"date"},"Creation Date",-1),l4t=l("option",{value:"update"},"Last Update",-1),c4t=[r4t,o4t,a4t,l4t],d4t={key:0,class:"flex justify-center items-center space-x-2 my-8","aria-live":"polite"},u4t=l("div",{class:"animate-spin rounded-full h-10 w-10 border-t-2 border-b-2 border-blue-500"},null,-1),p4t=l("span",{class:"text-xl text-gray-700 font-semibold"},"Loading...",-1),_4t=[u4t,p4t],h4t={key:1},f4t=l("h2",{class:"text-2xl font-bold mb-4"},"Favorite Apps",-1),m4t={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mb-8"},g4t={class:"text-2xl font-bold mb-4"},b4t={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"},E4t={key:2,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50"},y4t={class:"bg-white rounded-lg p-6 w-11/12 h-5/6 flex flex-col"},v4t={class:"flex justify-between items-center mb-4"},S4t={class:"text-2xl font-bold"},T4t=["srcdoc"],x4t={key:1,class:"text-center text-red-500"};function C4t(t,e,n,s,i,r){const o=tt("app-card");return T(),x("div",G3t,[l("nav",V3t,[l("div",z3t,[l("div",H3t,[l("button",{onClick:e[0]||(e[0]=(...a)=>r.fetchGithubApps&&r.fetchGithubApps(...a)),class:"btn btn-primary","aria-label":"Refresh apps from GitHub"},[q3t,Je(" Refresh ")]),l("button",{onClick:e[1]||(e[1]=(...a)=>r.openAppsFolder&&r.openAppsFolder(...a)),class:"btn btn-secondary","aria-label":"Open apps folder"},[$3t,Je(" Open Folder ")]),l("input",{type:"file",onChange:e[2]||(e[2]=(...a)=>r.onFileSelected&&r.onFileSelected(...a)),accept:".zip",ref:"fileInput",style:{display:"none"}},null,544),l("button",{onClick:e[3]||(e[3]=(...a)=>r.triggerFileInput&&r.triggerFileInput(...a)),disabled:i.isUploading,class:"btn-secondary text-green-500 hover:text-green-600 transition duration-300 ease-in-out",title:"Upload App"},K(i.isUploading?"Uploading...":"Upload App"),9,Y3t)]),i.message?(T(),x("p",W3t,K(i.message),1)):G("",!0),i.error?(T(),x("p",K3t,K(i.error),1)):G("",!0),l("div",j3t,[P(l("input",{"onUpdate:modelValue":e[4]||(e[4]=a=>i.searchQuery=a),placeholder:"Search apps...",class:"w-full border-b-2 border-gray-300 px-4 py-2 pl-10 focus:outline-none focus:border-blue-500 transition duration-300 ease-in-out","aria-label":"Search apps"},null,512),[[pe,i.searchQuery]]),Q3t]),l("div",X3t,[Z3t,P(l("select",{id:"category-select","onUpdate:modelValue":e[5]||(e[5]=a=>i.selectedCategory=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},[J3t,(T(!0),x(Fe,null,Ke(r.categories,a=>(T(),x("option",{key:a,value:a},K(a),9,e4t))),128))],512),[[Dt,i.selectedCategory]])]),l("div",t4t,[l("label",n4t,[P(l("input",{id:"installed-only",type:"checkbox","onUpdate:modelValue":e[6]||(e[6]=a=>i.showOnlyInstalled=a),class:"mr-2"},null,512),[[$e,i.showOnlyInstalled]]),Je(" Show only installed apps ")])]),l("div",s4t,[i4t,P(l("select",{id:"sort-select","onUpdate:modelValue":e[7]||(e[7]=a=>i.sortBy=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},c4t,512),[[Dt,i.sortBy]]),l("button",{onClick:e[8]||(e[8]=(...a)=>r.toggleSortOrder&&r.toggleSortOrder(...a)),class:"btn btn-secondary"},K(i.sortOrder==="asc"?"↑":"↓"),1)])])]),i.loading?(T(),x("div",d4t,_4t)):(T(),x("div",h4t,[f4t,l("div",m4t,[(T(!0),x(Fe,null,Ke(r.favoriteApps,a=>(T(),dt(o,{key:a.uid,app:a,onToggleFavorite:r.toggleFavorite,onInstall:r.installApp,onUninstall:r.uninstallApp,onDelete:r.deleteApp,onEdit:r.editApp,onDownload:r.downloadApp,onView:r.handleAppClick,onOpen:r.openApp,onStartServer:r.startServer},null,8,["app","onToggleFavorite","onInstall","onUninstall","onDelete","onEdit","onDownload","onView","onOpen","onStartServer"]))),128))]),l("h2",g4t,K(r.currentCategoryName)+" ("+K(r.sortedAndFilteredApps.length)+")",1),l("div",b4t,[(T(!0),x(Fe,null,Ke(r.sortedAndFilteredApps,a=>(T(),dt(o,{key:a.uid,app:a,onToggleFavorite:r.toggleFavorite,onInstall:r.installApp,onUninstall:r.uninstallApp,onDelete:r.deleteApp,onEdit:r.editApp,onDownload:r.downloadApp,onView:r.handleAppClick,onOpen:r.openApp,onStartServer:r.startServer},null,8,["app","onToggleFavorite","onInstall","onUninstall","onDelete","onEdit","onDownload","onView","onOpen","onStartServer"]))),128))])])),i.selectedApp?(T(),x("div",E4t,[l("div",y4t,[l("div",v4t,[l("h2",S4t,K(i.selectedApp.name),1),l("button",{onClick:e[9]||(e[9]=(...a)=>r.backToZoo&&r.backToZoo(...a)),class:"bg-gray-300 hover:bg-gray-400 px-4 py-2 rounded-lg transition duration-300 ease-in-out"},"Close")]),i.appCode?(T(),x("iframe",{key:0,srcdoc:i.appCode,class:"flex-grow border-none"},null,8,T4t)):(T(),x("p",x4t,"Please install this app to view its code."))])])):G("",!0),i.message?(T(),x("div",{key:3,class:Ge(["fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-md",{"bg-green-100 text-green-800":i.successMessage,"bg-red-100 text-red-800":!i.successMessage}])},K(i.message),3)):G("",!0)])}const w4t=ot(B3t,[["render",C4t]]);const R4t={components:{PersonalityEntry:RE},data(){return{personalities:[],githubApps:[],favorites:[],selectedCategory:"all",selectedApp:null,appCode:"",loading:!1,message:"",successMessage:!0,searchQuery:"",selectedFile:null,isUploading:!1,error:"",sortBy:"name",sortOrder:"asc"}},computed:{currentCategoryName(){return this.selectedCategory=="all"?"All Personalities":this.selectedCategory},configFile:{get(){return this.$store.state.config},set(t){this.$store.commit("setConfig",t)}},combinedApps(){this.personalities.map(e=>e.name);const t=new Map(this.personalities.map(e=>[e.name,{...e,installed:!0,existsInFolder:!0}]));return this.githubApps.forEach(e=>{t.has(e.name)||t.set(e.name,{...e,installed:!1,existsInFolder:!1})}),Array.from(t.values())},categories(){return[...new Set(this.combinedApps.map(t=>t.category))].sort((t,e)=>t.localeCompare(e))},filteredApps(){return this.combinedApps.filter(t=>{const e=t.name.toLowerCase().includes(this.searchQuery.toLowerCase())||t.author.toLowerCase().includes(this.searchQuery.toLowerCase())||t.description.toLowerCase().includes(this.searchQuery.toLowerCase()),n=this.selectedCategory==="all"||t.category===this.selectedCategory;return e&&n})},sortedAndFilteredApps(){return this.filteredApps.sort((t,e)=>{let n=0;switch(this.sortBy){case"name":n=t.name.localeCompare(e.name);break;case"author":n=t.author.localeCompare(e.author);break;case"date":n=new Date(t.creation_date)-new Date(e.creation_date);break;case"update":n=new Date(t.last_update_date)-new Date(e.last_update_date);break}return this.sortOrder==="asc"?n:-n})},favoriteApps(){return this.combinedApps.filter(t=>this.favorites.includes(t.uid))}},methods:{async onPersonalitySelected(t){if(console.log("on pers",t),this.isLoading&&this.$store.state.toast.showToast("Loading... please wait",4,!1),this.isLoading=!0,console.log("selecting ",t),t){if(t.selected){this.$store.state.toast.showToast("Personality already selected",4,!0),this.isLoading=!1;return}let e=t.language==null?t.full_path:t.full_path+":"+t.language;if(console.log("pth",e),t.isMounted&&this.configFile.personalities.includes(e)){const n=await this.select_personality(t);console.log("pers is mounted",n),n&&n.status&&n.active_personality_id>-1?this.$store.state.toast.showToast(`Selected personality: `+t.name,4,!0):this.$store.state.toast.showToast(`Error on select personality: `+t.name,4,!1),this.isLoading=!1}else console.log("mounting pers"),this.mountPersonality(t);Le(()=>{feather.replace()})}},onModelSelected(t){if(this.isLoading){this.$store.state.toast.showToast("Loading... please wait",4,!1);return}t&&(t.isInstalled?this.update_model(t.model.name).then(e=>{console.log("update_model",e),this.configFile.model_name=t.model.name,e.status?(this.$store.state.toast.showToast(`Selected model: `+t.name,4,!0),Le(()=>{feather.replace(),this.is_loading_zoo=!1}),this.updateModelsZoo(),this.api_get_req("get_model_status").then(n=>{this.$store.commit("setIsModelOk",n)})):(this.$store.state.toast.showToast(`Couldn't select model: `+t.name,4,!1),Le(()=>{feather.replace()})),this.settingsChanged=!0,this.isModelSelected=!0}):this.$store.state.toast.showToast(`Model: `+t.model.name+` is not installed`,4,!1),Le(()=>{feather.replace()}))},toggleSortOrder(){this.sortOrder=this.sortOrder==="asc"?"desc":"asc"},toggleFavorite(t){console.log("Toggling favorite");const e=this.favorites.indexOf(t);e===-1?this.favorites.push(t):this.favorites.splice(e,1),this.saveFavoritesToLocalStorage()},saveFavoritesToLocalStorage(){localStorage.setItem("appZooFavorites",JSON.stringify(this.favorites))},loadFavoritesFromLocalStorage(){const t=localStorage.getItem("appZooFavorites");console.log("savedFavorites",t),t&&(this.favorites=JSON.parse(t))},startServer(t){const e={client_id:this.$store.state.client_id,app_name:t};this.$store.state.messageBox.showBlockingMessage(`Loading server. -This may take some time the first time as some libraries need to be installed.`),ae.post("/personalities/start_server",e).then(n=>{this.$store.state.messageBox.hideMessage(),console.log("Server start initiated:",n.data.message),this.$notify({type:"success",title:"Server Starting",text:n.data.message})}).catch(n=>{var s,i;this.$store.state.messageBox.hideMessage(),console.error("Error starting server:",n),this.$notify({type:"error",title:"Server Start Failed",text:((i=(s=n.response)==null?void 0:s.data)==null?void 0:i.detail)||"An error occurred while starting the server"})})},triggerFileInput(){this.$refs.fileInput.click()},onFileSelected(t){this.selectedFile=t.target.files[0],this.message="",this.error="",this.uploadApp()},async uploadApp(){var e,n;if(!this.selectedFile){this.error="Please select a file to upload.";return}this.isUploading=!0,this.message="",this.error="";const t=new FormData;t.append("file",this.selectedFile),t.append("client_id",this.$store.state.client_id);try{const s=await ae.post("/upload_app",t,{headers:{"Content-Type":"multipart/form-data"}});this.message=s.data.message,this.$refs.fileInput.value="",this.selectedFile=null}catch(s){console.error("Error uploading app:",s),this.error=((n=(e=s.response)==null?void 0:e.data)==null?void 0:n.detail)||"Failed to upload the app. Please try again."}finally{this.isUploading=!1}},async mount_personality(t){if(!t)return{status:!1,error:"no personality - mount_personality"};try{const e={client_id:this.$store.state.client_id,language:t.language?t.language:"",category:t.category?t.category:"",folder:t.folder?t.folder:""},n=await ae.post("/mount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async mountPersonality(t){if(this.isLoading=!0,console.log("mount pers",t),t.personality.disclaimer!=""&&this.$store.state.messageBox.showMessage(t.personality.disclaimer),!t)return;if(this.configFile.personalities.includes(t.personality.full_path)){this.isLoading=!1,this.$store.state.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(t.personality);console.log("mount_personality res",e),e&&e.status&&e.active_personality_id>-1&&e.personalities.includes(t.personality.full_path)?(this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality mounted",4,!0),t.isMounted=!0,(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: +This may take some time the first time as some libraries need to be installed.`),oe.post("/personalities/start_server",e).then(n=>{this.$store.state.messageBox.hideMessage(),console.log("Server start initiated:",n.data.message),this.$notify({type:"success",title:"Server Starting",text:n.data.message})}).catch(n=>{var s,i;this.$store.state.messageBox.hideMessage(),console.error("Error starting server:",n),this.$notify({type:"error",title:"Server Start Failed",text:((i=(s=n.response)==null?void 0:s.data)==null?void 0:i.detail)||"An error occurred while starting the server"})})},triggerFileInput(){this.$refs.fileInput.click()},onFileSelected(t){this.selectedFile=t.target.files[0],this.message="",this.error="",this.uploadApp()},async uploadApp(){var e,n;if(!this.selectedFile){this.error="Please select a file to upload.";return}this.isUploading=!0,this.message="",this.error="";const t=new FormData;t.append("file",this.selectedFile),t.append("client_id",this.$store.state.client_id);try{const s=await oe.post("/upload_app",t,{headers:{"Content-Type":"multipart/form-data"}});this.message=s.data.message,this.$refs.fileInput.value="",this.selectedFile=null}catch(s){console.error("Error uploading app:",s),this.error=((n=(e=s.response)==null?void 0:e.data)==null?void 0:n.detail)||"Failed to upload the app. Please try again."}finally{this.isUploading=!1}},async mount_personality(t){if(!t)return{status:!1,error:"no personality - mount_personality"};try{const e={client_id:this.$store.state.client_id,language:t.language?t.language:"",category:t.category?t.category:"",folder:t.folder?t.folder:""},n=await oe.post("/mount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async mountPersonality(t){if(this.isLoading=!0,console.log("mount pers",t),t.personality.disclaimer!=""&&this.$store.state.messageBox.showMessage(t.personality.disclaimer),!t)return;if(this.configFile.personalities.includes(t.personality.full_path)){this.isLoading=!1,this.$store.state.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(t.personality);console.log("mount_personality res",e),e&&e.status&&e.active_personality_id>-1&&e.personalities.includes(t.personality.full_path)?(this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality mounted",4,!0),t.isMounted=!0,(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: `+t.personality.name,4,!0),this.$store.dispatch("refreshMountedPersonalities")):(t.isMounted=!1,this.$store.state.toast.showToast(`Could not mount personality Error: `+e.error+` Response: -`+e,4,!1)),this.isLoading=!1},async unmountAll(){await ae.post("/unmount_all_personalities",{client_id:this.$store.state.client_id},{headers:this.posts_headers}),this.$store.dispatch("refreshMountedPersonalities"),this.$store.dispatch("refreshConfig"),this.$store.state.toast.showToast("All personas unmounted",4,!0)},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await ae.post("/unmount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async unmountPersonality(t){if(this.isLoading=!0,!t)return;const e=await this.unmount_personality(t.personality||t);if(e.status){this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality unmounted",4,!0);const n=this.$store.state.personalities.findIndex(a=>a.full_path==t.full_path),s=this.personalitiesFiltered.findIndex(a=>a.full_path==t.full_path),i=this.$refs.personalitiesZoo.findIndex(a=>a.full_path==t.full_path);console.log("ppp",this.$store.state.personalities[n]),this.$store.state.personalities[n].isMounted=!1,s>-1&&(this.personalitiesFiltered[s].isMounted=!1),i>-1&&(this.$refs.personalitiesZoo[i].isMounted=!1),this.$store.dispatch("refreshMountedPersonalities");const r=this.mountedPersArr[this.mountedPersArr.length-1];console.log(r,this.mountedPersArr.length),(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: +`+e,4,!1)),this.isLoading=!1},async unmountAll(){await oe.post("/unmount_all_personalities",{client_id:this.$store.state.client_id},{headers:this.posts_headers}),this.$store.dispatch("refreshMountedPersonalities"),this.$store.dispatch("refreshConfig"),this.$store.state.toast.showToast("All personas unmounted",4,!0)},async unmount_personality(t){if(!t)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:t.language,category:t.category,folder:t.folder};try{const n=await oe.post("/unmount_personality",e,{headers:this.posts_headers});if(n)return n.data}catch(n){console.log(n.message,"unmount_personality - settings");return}},async unmountPersonality(t){if(this.isLoading=!0,!t)return;const e=await this.unmount_personality(t.personality||t);if(e.status){this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality unmounted",4,!0);const n=this.$store.state.personalities.findIndex(a=>a.full_path==t.full_path),s=this.personalitiesFiltered.findIndex(a=>a.full_path==t.full_path),i=this.$refs.personalitiesZoo.findIndex(a=>a.full_path==t.full_path);console.log("ppp",this.$store.state.personalities[n]),this.$store.state.personalities[n].isMounted=!1,s>-1&&(this.personalitiesFiltered[s].isMounted=!1),i>-1&&(this.$refs.personalitiesZoo[i].isMounted=!1),this.$store.dispatch("refreshMountedPersonalities");const r=this.mountedPersArr[this.mountedPersArr.length-1];console.log(r,this.mountedPersArr.length),(await this.select_personality(t.personality)).status&&this.$store.state.toast.showToast(`Selected personality: `+r.name,4,!0)}else this.$store.state.toast.showToast(`Could not unmount personality -Error: `+e.error,4,!1);this.isLoading=!1},editPersonality(t){t=t.personality,ae.post("/get_personality_config",{client_id:this.$store.state.client_id,category:t.category,name:t.folder}).then(e=>{const n=e.data;console.log("Done"),n.status?(this.$store.state.currentPersonConfig=n.config,this.$store.state.showPersonalityEditor=!0,this.$store.state.personality_editor.showPanel(),this.$store.state.selectedPersonality=t):console.error(n.error)}).catch(e=>{console.error(e)})},copyToCustom(t){t=t.personality,ae.post("/copy_to_custom_personas",{category:t.category,name:t.folder}).then(e=>{e.status?(this.$store.state.messageBox.showMessage(`Personality copied to the custom personalities folder: +Error: `+e.error,4,!1);this.isLoading=!1},editPersonality(t){t=t.personality,oe.post("/get_personality_config",{client_id:this.$store.state.client_id,category:t.category,name:t.folder}).then(e=>{const n=e.data;console.log("Done"),n.status?(this.$store.state.currentPersonConfig=n.config,this.$store.state.showPersonalityEditor=!0,this.$store.state.personality_editor.showPanel(),this.$store.state.selectedPersonality=t):console.error(n.error)}).catch(e=>{console.error(e)})},copyToCustom(t){t=t.personality,oe.post("/copy_to_custom_personas",{category:t.category,name:t.folder}).then(e=>{e.status?(this.$store.state.messageBox.showMessage(`Personality copied to the custom personalities folder: Now it's up to you to modify it, enhance it, and maybe even share it. Feel free to add your name as an author, but please remember to keep the original creator's name as well. You have the freedom to give, sell, or keep the personas you create for yourself. The possibilities are endless, they are now yours to mold and customize as you see fit.`),this.$store.dispatch("refreshPersonalitiesZoo")):this.$store.state.toast.showToast(`Personality couldn't be copied to the custom personalities folder: Verify that the personality is not already copied there.`,4,!1)}).catch(e=>{this.$store.state.toast.showToast(`Personality couldn't be copied to the custom personalities folder: -`,4,!1),console.error(e)})},async remountPersonality(t){await this.unmountPersonality(t),await this.mountPersonality(t)},onPersonalityReinstall(t){console.log("on reinstall ",t),this.isLoading=!0,console.log("Personality path:",t.personality.path),ae.post("/reinstall_personality",{client_id:this.$store.state.client_id,name:t.personality.path},{headers:this.posts_headers}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$store.state.toast.showToast("Personality reinstalled successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall personality -`+e.message,4,!1),{status:!1}))},async handleOpenFolder(t){await ae.post("/open_personality_folder",{client_id:this.$store.state.client_id,personality_folder:t.personality.folder})},showMessage(t,e){this.message=t,this.successMessage=e,setTimeout(()=>{this.message=""},3e3)},loadPersonalities(){this.loading=!0,setTimeout(()=>{this.personalities=this.$store.state.personalities,this.loading=!1},500)}},mounted(){this.loadFavoritesFromLocalStorage(),this.loading=!0,setTimeout(()=>{this.personalities=this.$store.state.personalities,this.loading=!1},500)}},Cs=t=>(vs("data-v-4eb18f18"),t=t(),Ss(),t),y4t={class:"app-zoo mb-100 pb-100 background-color w-full p-6 overflow-y-auto h-screen scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},v4t={class:"panels-color shadow-lg rounded-lg p-4 max-w-4xl mx-auto mb-8"},S4t={class:"flex flex-wrap items-center justify-between gap-4"},T4t={key:0},x4t={key:1,class:"error"},C4t={class:"relative flex-grow max-w-md"},w4t=Cs(()=>l("svg",{class:"w-5 h-5 text-gray-400 absolute left-3 top-1/2 transform -translate-y-1/2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),R4t={class:"flex items-center space-x-4"},A4t=Cs(()=>l("label",{for:"category-select",class:"font-semibold"},"Category:",-1)),N4t=Cs(()=>l("option",{value:"all"},"All Categories",-1)),O4t=["value"],M4t={class:"flex items-center space-x-4"},I4t=Cs(()=>l("label",{for:"sort-select",class:"font-semibold"},"Sort by:",-1)),k4t=Cs(()=>l("option",{value:"name"},"Name",-1)),D4t=Cs(()=>l("option",{value:"author"},"Author",-1)),L4t=Cs(()=>l("option",{value:"date"},"Creation Date",-1)),P4t=Cs(()=>l("option",{value:"update"},"Last Update",-1)),F4t=[k4t,D4t,L4t,P4t],U4t={key:0,class:"flex justify-center items-center space-x-2 my-8","aria-live":"polite"},B4t=Cs(()=>l("div",{class:"animate-spin rounded-full h-10 w-10 border-t-2 border-b-2 border-blue-500"},null,-1)),G4t=Cs(()=>l("span",{class:"text-xl text-gray-700 font-semibold"},"Loading...",-1)),V4t=[B4t,G4t],z4t={key:1},H4t={class:"container mx-auto px-4 flex flex-column pb-20"},q4t={key:0},$4t=Cs(()=>l("h2",{class:"text-2xl font-bold my-8"},"Favorite Apps",-1)),Y4t={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-12"},W4t={class:"container mx-auto px-4 flex flex-column pb-20"},K4t={class:"text-2xl font-bold my-8"},j4t={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-12"},Q4t={key:2,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 overflow-y-auto"},X4t={class:"bg-white rounded-lg p-6 w-11/12 h-5/6 flex flex-col"},Z4t={class:"flex justify-between items-center mb-4"},J4t={class:"text-2xl font-bold"},eBt=["srcdoc"],tBt={key:1,class:"text-center text-red-500"},nBt=Cs(()=>l("div",{class:"h-20"},null,-1));function sBt(t,e,n,s,i,r){const o=tt("personality-entry");return T(),x("div",y4t,[l("nav",v4t,[l("div",S4t,[i.message?(T(),x("p",T4t,K(i.message),1)):G("",!0),i.error?(T(),x("p",x4t,K(i.error),1)):G("",!0),l("div",C4t,[P(l("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>i.searchQuery=a),placeholder:"Search personalities...",class:"w-full border-b-2 border-gray-300 px-4 py-2 pl-10 focus:outline-none focus:border-blue-500 transition duration-300 ease-in-out","aria-label":"Search personalities"},null,512),[[pe,i.searchQuery]]),w4t]),l("div",R4t,[A4t,P(l("select",{id:"category-select","onUpdate:modelValue":e[1]||(e[1]=a=>i.selectedCategory=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},[N4t,(T(!0),x(Fe,null,Ke(r.categories,a=>(T(),x("option",{key:a,value:a},K(a),9,O4t))),128))],512),[[Dt,i.selectedCategory]])]),l("div",M4t,[I4t,P(l("select",{id:"sort-select","onUpdate:modelValue":e[2]||(e[2]=a=>i.sortBy=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},F4t,512),[[Dt,i.sortBy]]),l("button",{onClick:e[3]||(e[3]=(...a)=>r.toggleSortOrder&&r.toggleSortOrder(...a)),class:"btn btn-secondary"},K(i.sortOrder==="asc"?"↑":"↓"),1)])])]),i.loading?(T(),x("div",U4t,V4t)):(T(),x("div",z4t,[l("div",H4t,[r.favoriteApps.length>0&&!i.searchQuery?(T(),x("div",q4t,[$4t,l("div",Y4t,[(T(!0),x(Fe,null,Ke(r.favoriteApps,a=>(T(),dt(o,{ref_for:!0,ref:"personalitiesZoo",key:a.uid,personality:a,select_language:!0,full_path:a.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(c=>c===a.full_path||c===a.full_path+":"+a.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-edit":r.editPersonality,"on-copy-to-custom":r.copyToCustom,"on-reinstall":r.onPersonalityReinstall,"on-settings":t.onSettingsPersonality,"on-copy-personality-name":t.onCopyPersonalityName,"on-copy-to_custom":t.onCopyToCustom,"on-open-folder":r.handleOpenFolder,"on-toggle-favorite":r.toggleFavorite},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-edit","on-copy-to-custom","on-reinstall","on-settings","on-copy-personality-name","on-copy-to_custom","on-open-folder","on-toggle-favorite"]))),128))])])):G("",!0)]),l("div",W4t,[l("h2",K4t,K(r.currentCategoryName)+" ("+K(r.sortedAndFilteredApps.length)+")",1),l("div",j4t,[(T(!0),x(Fe,null,Ke(r.sortedAndFilteredApps,a=>(T(),dt(o,{ref_for:!0,ref:"personalitiesZoo",key:a.uid,personality:a,select_language:!0,full_path:a.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(c=>c===a.full_path||c===a.full_path+":"+a.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-edit":r.editPersonality,"on-copy-to-custom":r.copyToCustom,"on-reinstall":r.onPersonalityReinstall,"on-settings":t.onSettingsPersonality,"on-copy-personality-name":t.onCopyPersonalityName,"on-copy-to_custom":t.onCopyToCustom,"on-open-folder":r.handleOpenFolder,"toggle-favorite":r.toggleFavorite},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-edit","on-copy-to-custom","on-reinstall","on-settings","on-copy-personality-name","on-copy-to_custom","on-open-folder","toggle-favorite"]))),128))])])])),i.selectedApp?(T(),x("div",Q4t,[l("div",X4t,[l("div",Z4t,[l("h2",J4t,K(i.selectedApp.name),1),l("button",{onClick:e[4]||(e[4]=(...a)=>t.backToZoo&&t.backToZoo(...a)),class:"bg-gray-300 hover:bg-gray-400 px-4 py-2 rounded-lg transition duration-300 ease-in-out"},"Close")]),i.appCode?(T(),x("iframe",{key:0,srcdoc:i.appCode,class:"flex-grow border-none"},null,8,eBt)):(T(),x("p",tBt,"Please install this app to view its code."))])])):G("",!0),i.message?(T(),x("div",{key:3,class:Ge(["fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-md",{"bg-green-100 text-green-800":i.successMessage,"bg-red-100 text-red-800":!i.successMessage}])},K(i.message),3)):G("",!0),nBt])}const iBt=ot(E4t,[["render",sBt],["__scopeId","data-v-4eb18f18"]]),rBt=HP({history:aP("/"),routes:[{path:"/apps_view/",name:"AppsZoo",component:b4t},{path:"/personalities_view/",name:"PersonalitiesZoo",component:iBt},{path:"/auto_sd_view/",name:"AutoSD",component:GUt},{path:"/comfyui_view/",name:"ComfyUI",component:LUt},{path:"/playground/",name:"playground",component:_nt},{path:"/extensions/",name:"extensions",component:xnt},{path:"/help_view/",name:"help_view",component:Znt},{path:"/settings/",name:"settings",component:Nvt},{path:"/training/",name:"training",component:Qvt},{path:"/quantizing/",name:"quantizing",component:rSt},{path:"/",name:"discussions",component:LRt},{path:"/interactive/",name:"interactive",component:QDt},{path:"/nodes/",name:"nodes",component:OUt}]});const ap=Lk(fZe);function oBt(t){const e={};for(const n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}const Ms=aD({state(){return{is_rt_on:!1,language:"english",languages:[],currentTheme:"",personality_editor:null,showPersonalityEditor:!1,selectedPersonality:null,currentPersonConfig:{ai_name:"",ai_author:"",ai_category:"",ai_language:"",ai_description:"",ai_conditionning:"",ai_disclaimer:"",ai_icon:null},posts_headers:{accept:"application/json","Content-Type":"application/json"},client_id:"",yesNoDialog:null,universalForm:null,toast:null,news:null,messageBox:null,api_get_req:null,api_post_req:null,startSpeechRecognition:null,ready:!1,loading_infos:"",loading_progress:0,version:"unknown",settingsChanged:!1,isConnected:!1,isModelOk:!1,isGenerating:!1,config:null,mountedPers:null,mountedPersArr:[],bindingsZoo:[],modelsArr:[],selectedModel:null,personalities:[],diskUsage:null,ramUsage:null,vramUsage:null,modelsZoo:[],installedModels:[],installedBindings:[],currentModel:null,currentBinding:null,databases:[]}},mutations:{setisRTOn(t,e){t.is_rt_on=e},setLanguages(t,e){t.languages=e},setLanguage(t,e){t.language=e},setIsReady(t,e){t.ready=e},setIsConnected(t,e){t.isConnected=e},setIsModelOk(t,e){t.isModelOk=e},setIsGenerating(t,e){t.isGenerating=e},setConfig(t,e){t.config=e},setPersonalities(t,e){t.personalities=e},setMountedPers(t,e){t.mountedPers=e},setMountedPersArr(t,e){t.mountedPersArr=e},setbindingsZoo(t,e){t.bindingsZoo=e},setModelsArr(t,e){t.modelsArr=e},setselectedModel(t,e){t.selectedModel=e},setDiskUsage(t,e){t.diskUsage=e},setRamUsage(t,e){t.ramUsage=e},setVramUsage(t,e){t.vramUsage=e},setModelsZoo(t,e){t.modelsZoo=e},setCurrentBinding(t,e){t.currentBinding=e},setCurrentModel(t,e){t.currentModel=e},setDatabases(t,e){t.databases=e},setTheme(t){this.currentTheme=t}},getters:{getisRTOn(t){return t.is_rt_on},getLanguages(t){return t.languages},getLanguage(t){return t.language},getIsConnected(t){return t.isConnected},getIsModelOk(t){return t.isModelOk},getIsGenerating(t){return t.isGenerating},getConfig(t){return t.config},getPersonalities(t){return t.personalities},getMountedPersArr(t){return t.mountedPersArr},getMountedPers(t){return t.mountedPers},getbindingsZoo(t){return t.bindingsZoo},getModelsArr(t){return t.modelsArr},getDiskUsage(t){return t.diskUsage},getRamUsage(t){return t.ramUsage},getVramUsage(t){return t.vramUsage},getDatabasesList(t){return t.databases},getModelsZoo(t){return t.modelsZoo},getCyrrentBinding(t){return t.currentBinding},getCurrentModel(t){return t.currentModel}},actions:{async getVersion(){try{let t=await ae.get("/get_lollms_webui_version",{});t&&(this.state.version=t.data)}catch{console.error("Coudln't get version")}},async refreshConfig({commit:t}){console.log("Fetching configuration");try{console.log("Fetching configuration with client id: ",this.state.client_id);const e=await UO("get_config",this.state.client_id);e.active_personality_id<0&&(e.active_personality_id=0);let n=e.personalities[e.active_personality_id].split("/");e.personality_category=n[0],e.personality_folder=n[1],console.log("Recovered config"),console.log(e),console.log("Committing config"),console.log(e),console.log(this.state.config),t("setConfig",e)}catch(e){console.log(e.message,"refreshConfig")}},async refreshDatabase({commit:t}){let e=await Ks("list_databases");console.log("databases:",e),t("setDatabases",e)},async fetchisRTOn({commit:t}){const n=(await ae.get("/is_rt_on")).data.status;t("setisRTOn",n)},async fetchLanguages({commit:t}){console.log("get_personality_languages_list",this.state.client_id);const e=await ae.post("/get_personality_languages_list",{client_id:this.state.client_id});console.log("response",e);const n=e.data;console.log("languages",n),t("setLanguages",n)},async fetchLanguage({commit:t}){console.log("get_personality_language",this.state.client_id);const e=await ae.post("/get_personality_language",{client_id:this.state.client_id});console.log("response",e);const n=e.data;console.log("language",n),t("setLanguage",n)},async changeLanguage({commit:t},e){console.log("Changing language to ",e);let n=await ae.post("/set_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),n=await ae.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",n);const s=n.data;console.log("languages",s),t("setLanguages",s),n=await ae.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",n);const i=n.data;console.log("language",i),t("setLanguage",i),console.log("Language changed successfully:",n.data.message)},async deleteLanguage({commit:t},e){console.log("Deleting ",e);let n=await ae.post("/del_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),n=await ae.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",n);const s=n.data;console.log("languages",s),t("setLanguages",s),n=await ae.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",n);const i=n.data;console.log("language",i),t("setLanguage",i),console.log("Language changed successfully:",n.data.message)},async refreshPersonalitiesZoo({commit:t}){let e=[];const n=await Ks("get_all_personalities"),s=Object.keys(n);console.log("Personalities recovered:"+this.state.config.personalities);for(let i=0;i{let d=!1;for(const h of this.state.config.personalities)if(h.includes(r+"/"+c.folder))if(d=!0,h.includes(":")){const f=h.split(":");c.language=f[1]}else c.language=null;let u={};return u=c,u.category=r,u.full_path=r+"/"+c.folder,u.isMounted=d,u});e.length==0?e=a:e=e.concat(a)}e.sort((i,r)=>i.name.localeCompare(r.name)),t("setPersonalities",e),console.log("Done loading personalities")},refreshMountedPersonalities({commit:t}){this.state.config.active_personality_id<0&&(this.state.config.active_personality_id=0);let e=[];const n=[];for(let s=0;sa.full_path==i||a.full_path==r[0]);if(o>=0){let a=oBt(this.state.personalities[o]);r.length>1&&(a.language=r[1]),a?e.push(a):e.push(this.state.personalities[this.state.personalities.findIndex(c=>c.full_path=="generic/lollms")])}else n.push(s),console.log("Couldn't load personality : ",i)}for(let s=n.length-1;s>=0;s--)console.log("Removing personality : ",this.state.config.personalities[n[s]]),this.state.config.personalities.splice(n[s],1),this.state.config.active_personality_id>n[s]&&(this.state.config.active_personality_id-=1);t("setMountedPersArr",e),this.state.mountedPers=this.state.personalities[this.state.personalities.findIndex(s=>s.full_path==this.state.config.personalities[this.state.config.active_personality_id]||s.full_path+":"+s.language==this.state.config.personalities[this.state.config.active_personality_id])]},async refreshBindings({commit:t}){let e=await Ks("list_bindings");console.log("Loaded bindings zoo :",e),this.state.installedBindings=e.filter(s=>s.installed),console.log("Loaded bindings zoo ",this.state.installedBindings),t("setbindingsZoo",e);const n=e.findIndex(s=>s.name==this.state.config.binding_name);n!=-1&&t("setCurrentBinding",e[n])},async refreshModelsZoo({commit:t}){console.log("Fetching models");const n=(await ae.get("/get_available_models")).data.filter(s=>s.variants&&s.variants.length>0);console.log(`get_available_models: ${n}`),t("setModelsZoo",n)},async refreshModelStatus({commit:t}){let e=await Ks("get_model_status");t("setIsModelOk",e.status)},async refreshModels({commit:t}){console.log("Fetching models");let e=await Ks("list_models");console.log(`Found ${e}`);let n=await Ks("get_active_model");console.log("Selected model ",n),n!=null&&t("setselectedModel",n.model),t("setModelsArr",e),console.log("setModelsArr",e),console.log("this.state.modelsZoo",this.state.modelsZoo),this.state.modelsZoo.map(i=>{i.isInstalled=e.includes(i.name)}),this.state.installedModels=this.state.modelsZoo.filter(i=>i.isInstalled);const s=this.state.modelsZoo.findIndex(i=>i.name==this.state.config.model_name);s!=-1&&t("setCurrentModel",this.state.modelsZoo[s])},async refreshDiskUsage({commit:t}){this.state.diskUsage=await Ks("disk_usage")},async refreshRamUsage({commit:t}){this.state.ramUsage=await Ks("ram_usage")},async refreshVramUsage({commit:t}){const e=await Ks("vram_usage"),n=[];if(e.nb_gpus>0){for(let i=0;i{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$store.state.toast.showToast("Personality reinstalled successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall personality +`+e.message,4,!1),{status:!1}))},async handleOpenFolder(t){await oe.post("/open_personality_folder",{client_id:this.$store.state.client_id,personality_folder:t.personality.folder})},showMessage(t,e){this.message=t,this.successMessage=e,setTimeout(()=>{this.message=""},3e3)},loadPersonalities(){this.loading=!0,setTimeout(()=>{this.personalities=this.$store.state.personalities,this.loading=!1},500)}},mounted(){this.loadFavoritesFromLocalStorage(),this.loading=!0,setTimeout(()=>{this.personalities=this.$store.state.personalities,this.loading=!1},500)}},Cs=t=>(vs("data-v-4eb18f18"),t=t(),Ss(),t),A4t={class:"app-zoo mb-100 pb-100 background-color w-full p-6 overflow-y-auto h-screen scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},N4t={class:"panels-color shadow-lg rounded-lg p-4 max-w-4xl mx-auto mb-8"},O4t={class:"flex flex-wrap items-center justify-between gap-4"},M4t={key:0},I4t={key:1,class:"error"},k4t={class:"relative flex-grow max-w-md"},D4t=Cs(()=>l("svg",{class:"w-5 h-5 text-gray-400 absolute left-3 top-1/2 transform -translate-y-1/2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[l("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),L4t={class:"flex items-center space-x-4"},P4t=Cs(()=>l("label",{for:"category-select",class:"font-semibold"},"Category:",-1)),F4t=Cs(()=>l("option",{value:"all"},"All Categories",-1)),U4t=["value"],B4t={class:"flex items-center space-x-4"},G4t=Cs(()=>l("label",{for:"sort-select",class:"font-semibold"},"Sort by:",-1)),V4t=Cs(()=>l("option",{value:"name"},"Name",-1)),z4t=Cs(()=>l("option",{value:"author"},"Author",-1)),H4t=Cs(()=>l("option",{value:"date"},"Creation Date",-1)),q4t=Cs(()=>l("option",{value:"update"},"Last Update",-1)),$4t=[V4t,z4t,H4t,q4t],Y4t={key:0,class:"flex justify-center items-center space-x-2 my-8","aria-live":"polite"},W4t=Cs(()=>l("div",{class:"animate-spin rounded-full h-10 w-10 border-t-2 border-b-2 border-blue-500"},null,-1)),K4t=Cs(()=>l("span",{class:"text-xl text-gray-700 font-semibold"},"Loading...",-1)),j4t=[W4t,K4t],Q4t={key:1},X4t={class:"container mx-auto px-4 flex flex-column pb-20"},Z4t={key:0},J4t=Cs(()=>l("h2",{class:"text-2xl font-bold my-8"},"Favorite Apps",-1)),eBt={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-12"},tBt={class:"container mx-auto px-4 flex flex-column pb-20"},nBt={class:"text-2xl font-bold my-8"},sBt={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-12"},iBt={key:2,class:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 overflow-y-auto"},rBt={class:"bg-white rounded-lg p-6 w-11/12 h-5/6 flex flex-col"},oBt={class:"flex justify-between items-center mb-4"},aBt={class:"text-2xl font-bold"},lBt=["srcdoc"],cBt={key:1,class:"text-center text-red-500"},dBt=Cs(()=>l("div",{class:"h-20"},null,-1));function uBt(t,e,n,s,i,r){const o=tt("personality-entry");return T(),x("div",A4t,[l("nav",N4t,[l("div",O4t,[i.message?(T(),x("p",M4t,K(i.message),1)):G("",!0),i.error?(T(),x("p",I4t,K(i.error),1)):G("",!0),l("div",k4t,[P(l("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>i.searchQuery=a),placeholder:"Search personalities...",class:"w-full border-b-2 border-gray-300 px-4 py-2 pl-10 focus:outline-none focus:border-blue-500 transition duration-300 ease-in-out","aria-label":"Search personalities"},null,512),[[pe,i.searchQuery]]),D4t]),l("div",L4t,[P4t,P(l("select",{id:"category-select","onUpdate:modelValue":e[1]||(e[1]=a=>i.selectedCategory=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},[F4t,(T(!0),x(Fe,null,Ke(r.categories,a=>(T(),x("option",{key:a,value:a},K(a),9,U4t))),128))],512),[[Dt,i.selectedCategory]])]),l("div",B4t,[G4t,P(l("select",{id:"sort-select","onUpdate:modelValue":e[2]||(e[2]=a=>i.sortBy=a),class:"border-2 border-gray-300 rounded-md px-2 py-1"},$4t,512),[[Dt,i.sortBy]]),l("button",{onClick:e[3]||(e[3]=(...a)=>r.toggleSortOrder&&r.toggleSortOrder(...a)),class:"btn btn-secondary"},K(i.sortOrder==="asc"?"↑":"↓"),1)])])]),i.loading?(T(),x("div",Y4t,j4t)):(T(),x("div",Q4t,[l("div",X4t,[r.favoriteApps.length>0&&!i.searchQuery?(T(),x("div",Z4t,[J4t,l("div",eBt,[(T(!0),x(Fe,null,Ke(r.favoriteApps,a=>(T(),dt(o,{ref_for:!0,ref:"personalitiesZoo",key:a.uid,personality:a,select_language:!0,full_path:a.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(c=>c===a.full_path||c===a.full_path+":"+a.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-edit":r.editPersonality,"on-copy-to-custom":r.copyToCustom,"on-reinstall":r.onPersonalityReinstall,"on-settings":t.onSettingsPersonality,"on-copy-personality-name":t.onCopyPersonalityName,"on-copy-to_custom":t.onCopyToCustom,"on-open-folder":r.handleOpenFolder,"on-toggle-favorite":r.toggleFavorite},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-edit","on-copy-to-custom","on-reinstall","on-settings","on-copy-personality-name","on-copy-to_custom","on-open-folder","on-toggle-favorite"]))),128))])])):G("",!0)]),l("div",tBt,[l("h2",nBt,K(r.currentCategoryName)+" ("+K(r.sortedAndFilteredApps.length)+")",1),l("div",sBt,[(T(!0),x(Fe,null,Ke(r.sortedAndFilteredApps,a=>(T(),dt(o,{ref_for:!0,ref:"personalitiesZoo",key:a.uid,personality:a,select_language:!0,full_path:a.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(c=>c===a.full_path||c===a.full_path+":"+a.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-edit":r.editPersonality,"on-copy-to-custom":r.copyToCustom,"on-reinstall":r.onPersonalityReinstall,"on-settings":t.onSettingsPersonality,"on-copy-personality-name":t.onCopyPersonalityName,"on-copy-to_custom":t.onCopyToCustom,"on-open-folder":r.handleOpenFolder,"toggle-favorite":r.toggleFavorite},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-edit","on-copy-to-custom","on-reinstall","on-settings","on-copy-personality-name","on-copy-to_custom","on-open-folder","toggle-favorite"]))),128))])])])),i.selectedApp?(T(),x("div",iBt,[l("div",rBt,[l("div",oBt,[l("h2",aBt,K(i.selectedApp.name),1),l("button",{onClick:e[4]||(e[4]=(...a)=>t.backToZoo&&t.backToZoo(...a)),class:"bg-gray-300 hover:bg-gray-400 px-4 py-2 rounded-lg transition duration-300 ease-in-out"},"Close")]),i.appCode?(T(),x("iframe",{key:0,srcdoc:i.appCode,class:"flex-grow border-none"},null,8,lBt)):(T(),x("p",cBt,"Please install this app to view its code."))])])):G("",!0),i.message?(T(),x("div",{key:3,class:Ge(["fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-md",{"bg-green-100 text-green-800":i.successMessage,"bg-red-100 text-red-800":!i.successMessage}])},K(i.message),3)):G("",!0),dBt])}const pBt=ot(R4t,[["render",uBt],["__scopeId","data-v-4eb18f18"]]),_Bt=HP({history:aP("/"),routes:[{path:"/apps_view/",name:"AppsZoo",component:w4t},{path:"/personalities_view/",name:"PersonalitiesZoo",component:pBt},{path:"/auto_sd_view/",name:"AutoSD",component:WUt},{path:"/comfyui_view/",name:"ComfyUI",component:zUt},{path:"/playground/",name:"playground",component:_nt},{path:"/extensions/",name:"extensions",component:xnt},{path:"/help_view/",name:"help_view",component:Znt},{path:"/settings/",name:"settings",component:Pvt},{path:"/training/",name:"training",component:sSt},{path:"/quantizing/",name:"quantizing",component:pSt},{path:"/",name:"discussions",component:zRt},{path:"/interactive/",name:"interactive",component:sLt},{path:"/nodes/",name:"nodes",component:FUt}]});const ap=Lk(fZe);function hBt(t){const e={};for(const n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}const Ms=aD({state(){return{is_rt_on:!1,language:"english",languages:[],currentTheme:"",personality_editor:null,showPersonalityEditor:!1,selectedPersonality:null,currentPersonConfig:{ai_name:"",ai_author:"",ai_category:"",ai_language:"",ai_description:"",ai_conditionning:"",ai_disclaimer:"",ai_icon:null},posts_headers:{accept:"application/json","Content-Type":"application/json"},client_id:"",yesNoDialog:null,universalForm:null,toast:null,news:null,messageBox:null,api_get_req:null,api_post_req:null,startSpeechRecognition:null,ready:!1,loading_infos:"",loading_progress:0,version:"unknown",settingsChanged:!1,isConnected:!1,isModelOk:!1,isGenerating:!1,config:null,mountedPers:null,mountedPersArr:[],bindingsZoo:[],modelsArr:[],selectedModel:null,personalities:[],diskUsage:null,ramUsage:null,vramUsage:null,modelsZoo:[],installedModels:[],installedBindings:[],currentModel:null,currentBinding:null,databases:[]}},mutations:{setisRTOn(t,e){t.is_rt_on=e},setLanguages(t,e){t.languages=e},setLanguage(t,e){t.language=e},setIsReady(t,e){t.ready=e},setIsConnected(t,e){t.isConnected=e},setIsModelOk(t,e){t.isModelOk=e},setIsGenerating(t,e){t.isGenerating=e},setConfig(t,e){t.config=e},setPersonalities(t,e){t.personalities=e},setMountedPers(t,e){t.mountedPers=e},setMountedPersArr(t,e){t.mountedPersArr=e},setbindingsZoo(t,e){t.bindingsZoo=e},setModelsArr(t,e){t.modelsArr=e},setselectedModel(t,e){t.selectedModel=e},setDiskUsage(t,e){t.diskUsage=e},setRamUsage(t,e){t.ramUsage=e},setVramUsage(t,e){t.vramUsage=e},setModelsZoo(t,e){t.modelsZoo=e},setCurrentBinding(t,e){t.currentBinding=e},setCurrentModel(t,e){t.currentModel=e},setDatabases(t,e){t.databases=e},setTheme(t){this.currentTheme=t}},getters:{getisRTOn(t){return t.is_rt_on},getLanguages(t){return t.languages},getLanguage(t){return t.language},getIsConnected(t){return t.isConnected},getIsModelOk(t){return t.isModelOk},getIsGenerating(t){return t.isGenerating},getConfig(t){return t.config},getPersonalities(t){return t.personalities},getMountedPersArr(t){return t.mountedPersArr},getMountedPers(t){return t.mountedPers},getbindingsZoo(t){return t.bindingsZoo},getModelsArr(t){return t.modelsArr},getDiskUsage(t){return t.diskUsage},getRamUsage(t){return t.ramUsage},getVramUsage(t){return t.vramUsage},getDatabasesList(t){return t.databases},getModelsZoo(t){return t.modelsZoo},getCyrrentBinding(t){return t.currentBinding},getCurrentModel(t){return t.currentModel}},actions:{async getVersion(){try{let t=await oe.get("/get_lollms_webui_version",{});t&&(this.state.version=t.data)}catch{console.error("Coudln't get version")}},async refreshConfig({commit:t}){console.log("Fetching configuration");try{console.log("Fetching configuration with client id: ",this.state.client_id);const e=await UO("get_config",this.state.client_id);e.active_personality_id<0&&(e.active_personality_id=0);let n=e.personalities[e.active_personality_id].split("/");e.personality_category=n[0],e.personality_folder=n[1],console.log("Recovered config"),console.log(e),console.log("Committing config"),console.log(e),console.log(this.state.config),t("setConfig",e)}catch(e){console.log(e.message,"refreshConfig")}},async refreshDatabase({commit:t}){let e=await Ks("list_databases");console.log("databases:",e),t("setDatabases",e)},async fetchisRTOn({commit:t}){const n=(await oe.get("/is_rt_on")).data.status;t("setisRTOn",n)},async fetchLanguages({commit:t}){console.log("get_personality_languages_list",this.state.client_id);const e=await oe.post("/get_personality_languages_list",{client_id:this.state.client_id});console.log("response",e);const n=e.data;console.log("languages",n),t("setLanguages",n)},async fetchLanguage({commit:t}){console.log("get_personality_language",this.state.client_id);const e=await oe.post("/get_personality_language",{client_id:this.state.client_id});console.log("response",e);const n=e.data;console.log("language",n),t("setLanguage",n)},async changeLanguage({commit:t},e){console.log("Changing language to ",e);let n=await oe.post("/set_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),n=await oe.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",n);const s=n.data;console.log("languages",s),t("setLanguages",s),n=await oe.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",n);const i=n.data;console.log("language",i),t("setLanguage",i),console.log("Language changed successfully:",n.data.message)},async deleteLanguage({commit:t},e){console.log("Deleting ",e);let n=await oe.post("/del_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),n=await oe.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",n);const s=n.data;console.log("languages",s),t("setLanguages",s),n=await oe.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",n);const i=n.data;console.log("language",i),t("setLanguage",i),console.log("Language changed successfully:",n.data.message)},async refreshPersonalitiesZoo({commit:t}){let e=[];const n=await Ks("get_all_personalities"),s=Object.keys(n);console.log("Personalities recovered:"+this.state.config.personalities);for(let i=0;i{let d=!1;for(const h of this.state.config.personalities)if(h.includes(r+"/"+c.folder))if(d=!0,h.includes(":")){const f=h.split(":");c.language=f[1]}else c.language=null;let u={};return u=c,u.category=r,u.full_path=r+"/"+c.folder,u.isMounted=d,u});e.length==0?e=a:e=e.concat(a)}e.sort((i,r)=>i.name.localeCompare(r.name)),t("setPersonalities",e),console.log("Done loading personalities")},refreshMountedPersonalities({commit:t}){this.state.config.active_personality_id<0&&(this.state.config.active_personality_id=0);let e=[];const n=[];for(let s=0;sa.full_path==i||a.full_path==r[0]);if(o>=0){let a=hBt(this.state.personalities[o]);r.length>1&&(a.language=r[1]),a?e.push(a):e.push(this.state.personalities[this.state.personalities.findIndex(c=>c.full_path=="generic/lollms")])}else n.push(s),console.log("Couldn't load personality : ",i)}for(let s=n.length-1;s>=0;s--)console.log("Removing personality : ",this.state.config.personalities[n[s]]),this.state.config.personalities.splice(n[s],1),this.state.config.active_personality_id>n[s]&&(this.state.config.active_personality_id-=1);t("setMountedPersArr",e),this.state.mountedPers=this.state.personalities[this.state.personalities.findIndex(s=>s.full_path==this.state.config.personalities[this.state.config.active_personality_id]||s.full_path+":"+s.language==this.state.config.personalities[this.state.config.active_personality_id])]},async refreshBindings({commit:t}){let e=await Ks("list_bindings");console.log("Loaded bindings zoo :",e),this.state.installedBindings=e.filter(s=>s.installed),console.log("Loaded bindings zoo ",this.state.installedBindings),t("setbindingsZoo",e);const n=e.findIndex(s=>s.name==this.state.config.binding_name);n!=-1&&t("setCurrentBinding",e[n])},async refreshModelsZoo({commit:t}){console.log("Fetching models");const n=(await oe.get("/get_available_models")).data.filter(s=>s.variants&&s.variants.length>0);console.log(`get_available_models: ${n}`),t("setModelsZoo",n)},async refreshModelStatus({commit:t}){let e=await Ks("get_model_status");t("setIsModelOk",e.status)},async refreshModels({commit:t}){console.log("Fetching models");let e=await Ks("list_models");console.log(`Found ${e}`);let n=await Ks("get_active_model");console.log("Selected model ",n),n!=null&&t("setselectedModel",n.model),t("setModelsArr",e),console.log("setModelsArr",e),console.log("this.state.modelsZoo",this.state.modelsZoo),this.state.modelsZoo.map(i=>{i.isInstalled=e.includes(i.name)}),this.state.installedModels=this.state.modelsZoo.filter(i=>i.isInstalled);const s=this.state.modelsZoo.findIndex(i=>i.name==this.state.config.model_name);s!=-1&&t("setCurrentModel",this.state.modelsZoo[s])},async refreshDiskUsage({commit:t}){this.state.diskUsage=await Ks("disk_usage")},async refreshRamUsage({commit:t}){this.state.ramUsage=await Ks("ram_usage")},async refreshVramUsage({commit:t}){const e=await Ks("vram_usage"),n=[];if(e.nb_gpus>0){for(let i=0;i License: see project LICENSE Touched: 2022 -*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-container{display:flex;margin:0}.line-numbers{flex-shrink:0;padding-right:5px;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.code-content{flex-grow:1;margin:0;outline:none}.progress-bar-container{background-color:#f0f0f0;border-radius:4px;height:8px;overflow:hidden}.progress-bar{background-color:#3498db;height:100%;transition:width .3s ease}.popup-container[data-v-d504dfc9]{background-color:#fff;color:#333;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.close-button[data-v-d504dfc9]{position:absolute;top:16px;right:16px;background-color:#3490dc;color:#fff;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.close-button[data-v-d504dfc9]:hover{background-color:#2779bd}.iframe-content[data-v-d504dfc9]{width:100%;height:80%;border:none;margin-bottom:16px}.checkbox-container[data-v-d504dfc9]{display:flex;align-items:center;justify-content:center}.styled-checkbox[data-v-d504dfc9]{width:24px;height:24px;accent-color:#3490dc;cursor:pointer}.checkbox-label[data-v-d504dfc9]{margin-left:8px;font-size:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fade-enter-active[data-v-d504dfc9],.fade-leave-active[data-v-d504dfc9]{transition:opacity .5s}.fade-enter[data-v-d504dfc9],.fade-leave-to[data-v-d504dfc9]{opacity:0}.dot{width:10px;height:10px;border-radius:50%}.dot-green{background-color:green}.dot-red{background-color:red}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.logo-container{position:relative;width:48px;height:48px}.logo-image{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes roll-and-bounce{0%,to{transform:translate(0) rotate(0)}45%{transform:translate(100px) rotate(360deg)}50%{transform:translate(90px) rotate(390deg)}55%{transform:translate(100px) rotate(360deg)}95%{transform:translate(0) rotate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000}.hovered{transform:scale(1.05);transition:transform .2s ease-in-out}.active{transform:scale(1.1);transition:transform .2s ease-in-out}.dropdown-shadow[data-v-6c3ea3a5]{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}:root.dark .dropdown-shadow[data-v-6c3ea3a5]{box-shadow:0 4px 6px -1px #ffffff1a,0 2px 4px -1px #ffffff0f}select{width:200px}body{background-color:#fafafa;font-family:sans-serif}.container{margin:4px auto;width:800px}.settings{position:fixed;top:0;right:0;width:500px;background-color:#fff;z-index:1000;overflow-y:auto;height:100%}.slider-container{margin-top:20px}.slider-value{display:inline-block;margin-left:10px;color:#6b7280;font-size:14px}.small-button{padding:.5rem .75rem;font-size:.875rem}.active-tab{font-weight:700}@keyframes glow{0%,to{text-shadow:0 0 5px rgba(59,130,246,.5),0 0 10px rgba(147,51,234,.5)}50%{text-shadow:0 0 20px rgba(59,130,246,.75),0 0 30px rgba(147,51,234,.75)}}.animate-glow{animation:glow 3s ease-in-out infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in 1s ease-out}@keyframes fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.animate-fall{animation:fall linear infinite}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}.dark ::-webkit-scrollbar-track{background:#2d3748}.dark ::-webkit-scrollbar-thumb{background:#4a5568}.dark ::-webkit-scrollbar-thumb:hover{background:#718096}body{font-family:Inter,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;line-height:1.2}a{transition:all .3s ease}a:hover{transform:translateY(-2px)}main section{box-shadow:0 4px 6px #0000001a;border-radius:8px;transition:all .3s ease}main section:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-2px)}code{font-family:Fira Code,monospace;padding:2px 4px;border-radius:4px;font-size:.9em}.bg-gradient-to-br{background-size:400% 400%;animation:gradientBG 15s ease infinite}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}a:focus,button:focus{outline:2px solid #3b82f6;outline-offset:2px}header h1{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 640px){header h1{font-size:2rem}nav{position:static;max-height:none}}body{transition:background-color .3s ease,color .3s ease}ul,ol{padding-left:1.5rem}li{margin-bottom:.5rem}footer{animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.menu-container{position:relative;display:inline-block}.menu-button{background-color:#007bff;color:#fff;padding:10px;border:none;cursor:pointer;border-radius:4px}.menu-list{position:absolute;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;padding:10px;max-width:500px;z-index:1000}.slide-enter-active,.slide-leave-active{transition:transform .2s}.slide-enter-to,.slide-leave-from{transform:translateY(-10px)}.menu-ul{list-style:none;padding:0;margin:0}.menu-li{cursor:pointer;display:flex;align-items:center;padding:5px}.menu-icon{width:20px;height:20px;margin-right:8px}.menu-command{min-width:200px;text-align:left}.fade-enter-active[data-v-f43216be],.fade-leave-active[data-v-f43216be]{transition:opacity .3s}.fade-enter[data-v-f43216be],.fade-leave-to[data-v-f43216be]{opacity:0}.heartbeat-text[data-v-6e0a6356]{font-size:24px;animation:pulsate-6e0a6356 1.5s infinite}@keyframes pulsate-6e0a6356{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.list-move[data-v-6e0a6356],.list-enter-active[data-v-6e0a6356],.list-leave-active[data-v-6e0a6356]{transition:all .5s ease}.list-enter-from[data-v-6e0a6356]{transform:translatey(-30px)}.list-leave-to[data-v-6e0a6356]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-6e0a6356]{position:absolute}.bounce-enter-active[data-v-6e0a6356]{animation:bounce-in-6e0a6356 .5s}.bounce-leave-active[data-v-6e0a6356]{animation:bounce-in-6e0a6356 .5s reverse}@keyframes bounce-in-6e0a6356{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.bg-primary-light[data-v-6e0a6356]{background-color:#0ff}.hover[data-v-6e0a6356]:bg-primary-light:hover{background-color:#7fffd4}.font-bold[data-v-6e0a6356]{font-weight:700}.json-tree-view[data-v-40406ec6]{margin-left:16px}.json-item[data-v-40406ec6]{margin-bottom:4px}.json-key[data-v-40406ec6]{cursor:pointer;display:flex;align-items:center}.toggle-icon[data-v-40406ec6]{margin-right:4px;width:12px}.key[data-v-40406ec6]{font-weight:700;margin-right:4px}.value[data-v-40406ec6]{margin-left:4px}.string[data-v-40406ec6]{color:#0b7285}.number[data-v-40406ec6]{color:#d9480f}.boolean[data-v-40406ec6]{color:#5c940d}.null[data-v-40406ec6]{color:#868e96}.json-nested[data-v-40406ec6]{margin-left:16px;border-left:1px dashed #ccc;padding-left:8px}.json-viewer[data-v-83fc9727]{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.5;color:#333}.collapsible-section[data-v-83fc9727]{cursor:pointer;padding:8px;background-color:#f0f0f0;border-radius:4px;display:flex;align-items:center;transition:background-color .2s}.collapsible-section[data-v-83fc9727]:hover{background-color:#e0e0e0}.toggle-icon[data-v-83fc9727]{margin-right:8px;transition:transform .2s}.json-content[data-v-83fc9727]{margin-top:8px;padding-left:16px}.step-container[data-v-78f415f6]{margin-bottom:1rem}.step-wrapper[data-v-78f415f6]{display:flex;align-items:flex-start;border-radius:.5rem;padding:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.step-icon[data-v-78f415f6]{margin-right:1rem;display:flex;height:1.5rem;width:1.5rem;flex-shrink:0;align-items:center;justify-content:center}.feather-icon[data-v-78f415f6]{height:1.5rem;width:1.5rem;stroke:currentColor;stroke-width:2}.spinner[data-v-78f415f6]{height:1.5rem;width:1.5rem}@keyframes spin-78f415f6{to{transform:rotate(360deg)}}.spinner[data-v-78f415f6]{animation:spin-78f415f6 1s linear infinite;border-radius:9999px;border-width:2px;border-top-width:2px;border-color:rgb(75 85 99 / var(--tw-border-opacity));--tw-border-opacity: 1;border-top-color:rgb(28 100 242 / var(--tw-border-opacity))}.step-content[data-v-78f415f6]{flex-grow:1}.step-text[data-v-78f415f6]{margin-bottom:.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.step-description[data-v-78f415f6]{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}[data-v-78f415f6]:is(.dark .step-description){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.expand-button{margin-left:10px;margin-right:10px;background:none;border:none;padding:0;cursor:pointer}.htmljs{background:none}.bounce-enter-active[data-v-f44002af]{animation:bounce-in-f44002af .5s}.bounce-leave-active[data-v-f44002af]{animation:bounce-in-f44002af .5s reverse}@keyframes bounce-in-f44002af{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-track{background-color:#f1f1f1}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb:hover{background-color:#555}.menu[data-v-1a32c141]{display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper[data-v-1a32c141]{position:relative;display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper>#commands-menu-items[data-v-1a32c141]{top:calc(-100% - 2rem)}.chat-bar[data-v-cf2611fa]{transition:all .3s ease}.chat-bar[data-v-cf2611fa]:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.list-move[data-v-cf2611fa],.list-enter-active[data-v-cf2611fa],.list-leave-active[data-v-cf2611fa]{transition:all .5s ease}.list-enter-from[data-v-cf2611fa]{transform:translatey(-30px)}.list-leave-to[data-v-cf2611fa]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-cf2611fa]{position:absolute}@keyframes rolling-ball-d62e699b{0%{transform:translate(-50px) rotate(0)}25%{transform:translate(0) rotate(90deg)}50%{transform:translate(50px) rotate(180deg)}75%{transform:translate(0) rotate(270deg)}to{transform:translate(-50px) rotate(360deg)}}@keyframes bounce-d62e699b{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fade-in-up-d62e699b{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-rolling-ball[data-v-d62e699b]{animation:rolling-ball-d62e699b 4s infinite ease-in-out,bounce-d62e699b 1s infinite ease-in-out}.animate-fade-in-up[data-v-d62e699b]{animation:fade-in-up-d62e699b 1.5s ease-out}@keyframes giggle-9e711246{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(-5px) rotate(-10deg) scale(1.05)}50%{transform:translate(5px) rotate(10deg) scale(.95)}75%{transform:translate(-5px) rotate(-10deg) scale(1.05)}}.animate-giggle[data-v-9e711246]{animation:giggle-9e711246 1.5s infinite ease-in-out}.custom-scrollbar[data-v-9e711246]{scrollbar-width:thin;scrollbar-color:rgba(155,155,155,.5) transparent}.custom-scrollbar[data-v-9e711246]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-9e711246]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-9e711246]::-webkit-scrollbar-thumb{background-color:#9b9b9b80;border-radius:20px;border:transparent}@keyframes custom-pulse-9e711246{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 15px #3b82f600}}.animate-pulse[data-v-9e711246]{animation:custom-pulse-9e711246 2s infinite}.slide-right-enter-active[data-v-9e711246],.slide-right-leave-active[data-v-9e711246]{transition:transform .3s ease}.slide-right-enter[data-v-9e711246],.slide-right-leave-to[data-v-9e711246]{transform:translate(-100%)}.slide-left-enter-active[data-v-9e711246],.slide-left-leave-active[data-v-9e711246]{transition:transform .3s ease}.slide-left-enter[data-v-9e711246],.slide-left-leave-to[data-v-9e711246]{transform:translate(100%)}.fade-and-fly-enter-active[data-v-9e711246]{animation:fade-and-fly-enter-9e711246 .5s ease}.fade-and-fly-leave-active[data-v-9e711246]{animation:fade-and-fly-leave-9e711246 .5s ease}@keyframes fade-and-fly-enter-9e711246{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-and-fly-leave-9e711246{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}.list-move[data-v-9e711246],.list-enter-active[data-v-9e711246],.list-leave-active[data-v-9e711246]{transition:all .5s ease}.list-enter-from[data-v-9e711246]{transform:translatey(-30px)}.list-leave-to[data-v-9e711246]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-9e711246]{position:absolute}@keyframes float-9e711246{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float[data-v-9e711246]{animation:float-9e711246 linear infinite}@keyframes star-move-9e711246{0%{transform:translate(0) rotate(0)}50%{transform:translate(20px,20px) rotate(180deg)}to{transform:translate(0) rotate(360deg)}}.animate-star[data-v-9e711246]{animation:star-move-9e711246 linear infinite}@keyframes fall-9e711246{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(calc(100vh + 20px)) rotate(360deg);opacity:0}}.animate-fall[data-v-9e711246]{animation:fall-9e711246 linear infinite}@keyframes glow-9e711246{0%,to{text-shadow:0 0 5px rgba(66,153,225,.5),0 0 10px rgba(66,153,225,.5)}50%{text-shadow:0 0 20px rgba(66,153,225,.8),0 0 30px rgba(66,153,225,.8)}}.animate-glow[data-v-9e711246]{animation:glow-9e711246 2s ease-in-out infinite}@media (prefers-color-scheme: dark){@keyframes glow-9e711246{0%,to{text-shadow:0 0 5px rgba(147,197,253,.5),0 0 10px rgba(147,197,253,.5)}50%{text-shadow:0 0 20px rgba(147,197,253,.8),0 0 30px rgba(147,197,253,.8)}0%,to{text-shadow:0 0 5px rgba(147,197,253,.5),0 0 10px rgba(147,197,253,.5)}50%{text-shadow:0 0 20px rgba(147,197,253,.8),0 0 30px rgba(147,197,253,.8)}}}@keyframes roll-9e711246{0%{transform:translate(-50%) rotate(0)}to{transform:translate(50%) rotate(360deg)}}.animate-roll[data-v-9e711246]{animation:roll-9e711246 4s linear infinite}.container{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.floating-frame{margin:15px;float:left;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;z-index:5000;position:fixed;cursor:move;bottom:0;right:0}.handle{width:100%;height:20px;background:#ccc;cursor:move;text-align:center}.floating-frame img{width:100%;height:auto}.controls{margin-top:10px}#webglContainer{top:0;left:0}.floating-frame2{margin:15px;width:800px;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;min-height:200px;z-index:5000}:root{--baklava-control-color-primary: #e28b46;--baklava-control-color-error: #d00000;--baklava-control-color-background: #2c3748;--baklava-control-color-foreground: white;--baklava-control-color-hover: #455670;--baklava-control-color-active: #556986;--baklava-control-color-disabled-foreground: #666c75;--baklava-control-border-radius: 3px;--baklava-sidebar-color-background: #1b202c;--baklava-sidebar-color-foreground: white;--baklava-node-color-background: #1b202c;--baklava-node-color-foreground: white;--baklava-node-color-hover: #e28c4677;--baklava-node-color-selected: var(--baklava-control-color-primary);--baklava-node-color-resize-handle: var(--baklava-control-color-background);--baklava-node-title-color-background: #151a24;--baklava-node-title-color-foreground: white;--baklava-group-node-title-color-background: #215636;--baklava-group-node-title-color-foreground: white;--baklava-node-interface-port-tooltip-color-foreground: var(--baklava-control-color-primary);--baklava-node-interface-port-tooltip-color-background: var(--baklava-editor-background-pattern-black);--baklava-node-border-radius: 6px;--baklava-color-connection-default: #737f96;--baklava-color-connection-allowed: #48bc79;--baklava-color-connection-forbidden: #bc4848;--baklava-editor-background-pattern-default: #202b3c;--baklava-editor-background-pattern-line: #263140;--baklava-editor-background-pattern-black: #263140;--baklava-context-menu-background: #1b202c;--baklava-context-menu-shadow: 0 0 8px rgba(0, 0, 0, .65);--baklava-toolbar-background: #1b202caa;--baklava-toolbar-foreground: white;--baklava-node-palette-background: #1b202caa;--baklava-node-palette-foreground: white;--baklava-visual-transition: .1s linear}.baklava-button{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);transition:background-color var(--baklava-visual-transition);border:none;padding:.45em .35em;border-radius:var(--baklava-control-border-radius);font-size:inherit;cursor:pointer;overflow-x:hidden}.baklava-button:hover{background-color:var(--baklava-control-color-hover)}.baklava-button:active{background-color:var(--baklava-control-color-primary)}.baklava-button.--block{width:100%}.baklava-checkbox{display:flex;padding:.35em 0;cursor:pointer;overflow-x:hidden;align-items:center}.baklava-checkbox .__checkmark-container{display:flex;background-color:var(--baklava-control-color-background);border-radius:var(--baklava-control-border-radius);transition:background-color var(--baklava-visual-transition);width:18px;height:18px}.baklava-checkbox:hover .__checkmark-container{background-color:var(--baklava-control-color-hover)}.baklava-checkbox:active .__checkmark-container{background-color:var(--baklava-control-color-active)}.baklava-checkbox .__checkmark{stroke-dasharray:15;stroke-dashoffset:15;stroke:var(--baklava-control-color-foreground);stroke-width:2px;fill:none;transition:stroke-dashoffset var(--baklava-visual-transition)}.baklava-checkbox.--checked .__checkmark{stroke-dashoffset:0}.baklava-checkbox.--checked .__checkmark-container{background-color:var(--baklava-control-color-primary)}.baklava-checkbox .__label{margin-left:.5rem}.baklava-context-menu{color:var(--baklava-control-color-foreground);position:absolute;display:inline-block;z-index:100;background-color:var(--baklava-context-menu-background);box-shadow:var(--baklava-context-menu-shadow);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);min-width:6rem;width:-moz-max-content;width:max-content}.baklava-context-menu>.item{display:flex;align-items:center;padding:.35em 1em;transition:background .05s linear;position:relative}.baklava-context-menu>.item>.__label{flex:1 1 auto}.baklava-context-menu>.item>.__submenu-icon{margin-left:.75rem}.baklava-context-menu>.item.--disabled{color:var(--baklava-control-color-hover)}.baklava-context-menu>.item:not(.--header):not(.--active):not(.--disabled):hover{background:var(--baklava-control-color-primary)}.baklava-context-menu>.item.--active{background:var(--baklava-control-color-primary)}.baklava-context-menu.--nested{left:100%;top:0}.baklava-context-menu.--flipped-x.--nested{left:unset;right:100%}.baklava-context-menu.--flipped-y.--nested{top:unset;bottom:0}.baklava-context-menu>.divider{margin:.35em 0;height:1px;background-color:var(--baklava-control-color-hover)}.baklava-icon{display:block;height:100%}.baklava-icon.--clickable{cursor:pointer;transition:color var(--baklava-visual-transition)}.baklava-icon.--clickable:hover{color:var(--baklava-control-color-primary)}.baklava-input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);border:none;border-radius:var(--baklava-control-border-radius);padding:.45em .75em;width:100%;transition:background-color var(--baklava-visual-transition);font-size:inherit;font:inherit}.baklava-input:hover{background-color:var(--baklava-control-color-hover)}.baklava-input:active{background-color:var(--baklava-control-color-active)}.baklava-input:focus-visible{outline:1px solid var(--baklava-control-color-primary)}.baklava-input[type=number]::-webkit-inner-spin-button,.baklava-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.baklava-input.--invalid{box-shadow:0 0 2px 2px var(--baklava-control-color-error)}.baklava-num-input{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);width:100%;display:grid;grid-template-columns:20px 1fr 20px}.baklava-num-input>.__button{display:flex;flex:0 0 auto;width:20px;justify-content:center;align-items:center;transition:background var(--baklava-visual-transition);cursor:pointer}.baklava-num-input>.__button:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__button:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__button.--dec{grid-area:1/1/span 1/span 1}.baklava-num-input>.__button.--dec>svg{transform:rotate(90deg)}.baklava-num-input>.__button.--inc{grid-area:1/3/span 1/span 1}.baklava-num-input>.__button.--inc>svg{transform:rotate(-90deg)}.baklava-num-input>.__button path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-num-input>.__content{grid-area:1/2/span 1/span 1;display:inline-flex;cursor:pointer;max-width:100%;min-width:0;align-items:center;transition:background-color var(--baklava-visual-transition)}.baklava-num-input>.__content:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__content:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__content>.__label,.baklava-num-input>.__content>.__value{margin:.35em 0;padding:0 .5em}.baklava-num-input>.__content>.__label{flex:1;min-width:0;overflow:hidden}.baklava-num-input>.__content>.__value{text-align:right}.baklava-num-input>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-select{width:100%;position:relative;color:var(--baklava-control-color-foreground)}.baklava-select.--open>.__selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.baklava-select.--open>.__selected>.__icon{transform:rotate(180deg)}.baklava-select>.__selected{background-color:var(--baklava-control-color-background);padding:.35em .75em;border-radius:var(--baklava-control-border-radius);transition:background var(--baklava-visual-transition);min-height:1.7em;display:flex;align-items:center;cursor:pointer}.baklava-select>.__selected:hover{background:var(--baklava-control-color-hover)}.baklava-select>.__selected:active{background:var(--baklava-control-color-active)}.baklava-select>.__selected>.__text{flex:1 0 auto;flex-basis:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.baklava-select>.__selected>.__icon{flex:0 0 auto;display:flex;justify-content:center;align-items:center;transition:transform .25s ease;width:18px;height:18px}.baklava-select>.__selected>.__icon path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-select>.__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background-color:var(--baklava-context-menu-background);filter:drop-shadow(0 0 4px black);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);max-height:15em;overflow-y:scroll}.baklava-select>.__dropdown::-webkit-scrollbar{width:0px;background:transparent}.baklava-select>.__dropdown>.item{padding:.35em .35em .35em 1em;transition:background .05s linear}.baklava-select>.__dropdown>.item:not(.--header):not(.--active){cursor:pointer}.baklava-select>.__dropdown>.item:not(.--header):not(.--active):hover{background:var(--baklava-control-color-hover)}.baklava-select>.__dropdown>.item.--active{background:var(--baklava-control-color-primary)}.baklava-select>.__dropdown>.item.--header{color:var(--baklava-control-color-disabled-foreground);border-bottom:1px solid var(--baklava-control-color-disabled-foreground);padding:.5em .35em .5em 1em}.baklava-slider{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);position:relative;cursor:pointer}.baklava-slider>.__content{display:flex;position:relative}.baklava-slider>.__content>.__label,.baklava-slider>.__content>.__value{flex:1 1 auto;margin:.35em 0;padding:0 .5em;text-overflow:ellipsis}.baklava-slider>.__content>.__value{text-align:right}.baklava-slider>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-slider>.__slider{position:absolute;top:0;bottom:0;left:0;background-color:var(--baklava-control-color-primary);border-radius:var(--baklava-control-border-radius)}.baklava-connection{stroke:var(--baklava-color-connection-default);stroke-width:2px;fill:none}.baklava-connection.--temporary{stroke-width:4px;stroke-dasharray:5 5;stroke-dashoffset:0;animation:dash 1s linear infinite;transform:translateY(-1px)}@keyframes dash{to{stroke-dashoffset:20}}.baklava-connection.--allowed{stroke:var(--baklava-color-connection-allowed)}.baklava-connection.--forbidden{stroke:var(--baklava-color-connection-forbidden)}.baklava-minimap{position:absolute;height:15%;width:15%;min-width:150px;max-width:90%;top:20px;right:20px;z-index:900}.baklava-editor{width:100%;height:100%;position:relative;overflow:hidden;outline:none!important;font-family:Lato,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:15px;touch-action:none}.baklava-editor .background{background-color:var(--baklava-editor-background-pattern-default);background-image:linear-gradient(var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(90deg,var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(var(--baklava-editor-background-pattern-line) 1px,transparent 1px),linear-gradient(90deg,var(--baklava-editor-background-pattern-line) 1px,transparent 1px);background-repeat:repeat;width:100%;height:100%;pointer-events:none!important}.baklava-editor *:not(input):not(textarea){user-select:none;-moz-user-select:none;-webkit-user-select:none;touch-action:none}.baklava-editor .input-user-select{user-select:auto;-moz-user-select:auto;-webkit-user-select:auto}.baklava-editor *,.baklava-editor *:after,.baklava-editor *:before{box-sizing:border-box}.baklava-editor.--temporary-connection{cursor:crosshair}.baklava-editor .connections-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none!important}.baklava-editor .node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.baklava-editor .node-container *{pointer-events:all}.baklava-ignore-mouse *{pointer-events:none!important}.baklava-ignore-mouse .__port{pointer-events:all!important}.baklava-node-interface{padding:.25em 0;position:relative}.baklava-node-interface .__port{position:absolute;width:10px;height:10px;background:white;border-radius:50%;top:calc(50% - 5px);cursor:crosshair}.baklava-node-interface .__port.--selected{outline:2px var(--baklava-color-connection-default) solid;outline-offset:4px}.baklava-node-interface.--input{text-align:left;padding-left:.5em}.baklava-node-interface.--input .__port{left:-1.1em}.baklava-node-interface.--output{text-align:right;padding-right:.5em}.baklava-node-interface.--output .__port{right:-1.1em}.baklava-node-interface .__tooltip{position:absolute;left:5px;top:15px;transform:translate(-50%);background:var(--baklava-node-interface-port-tooltip-color-background);color:var(--baklava-node-interface-port-tooltip-color-foreground);padding:.25em .5em;text-align:center;z-index:2}.baklava-node-palette{position:absolute;left:0;top:60px;width:250px;height:calc(100% - 60px);z-index:3;padding:2rem;overflow-y:auto;background:var(--baklava-node-palette-background);color:var(--baklava-node-palette-foreground)}.baklava-node-palette h1{margin-top:2rem}.baklava-node.--palette{position:unset;margin:1rem 0;cursor:grab}.baklava-node.--palette:first-child{margin-top:0}.baklava-node.--palette .__title{padding:.5rem;border-radius:var(--baklava-node-border-radius)}.baklava-dragged-node{position:absolute;width:calc(250px - 4rem);height:40px;z-index:4;pointer-events:none}.baklava-node{background:var(--baklava-node-color-background);color:var(--baklava-node-color-foreground);border:1px solid transparent;border-radius:var(--baklava-node-border-radius);position:absolute;box-shadow:0 0 4px #000c;transition:border-color var(--baklava-visual-transition),box-shadow var(--baklava-visual-transition);width:var(--width)}.baklava-node:hover{border-color:var(--baklava-node-color-hover)}.baklava-node:hover .__resize-handle:after{opacity:1}.baklava-node.--selected{z-index:5;border-color:var(--baklava-node-color-selected)}.baklava-node.--dragging{box-shadow:0 0 12px #000c}.baklava-node.--dragging>.__title{cursor:grabbing}.baklava-node>.__title{display:flex;background:var(--baklava-node-title-color-background);color:var(--baklava-node-title-color-foreground);padding:.4em .75em;border-radius:var(--baklava-node-border-radius) var(--baklava-node-border-radius) 0 0;cursor:grab}.baklava-node>.__title>*:first-child{flex-grow:1}.baklava-node>.__title>.__title-label{pointer-events:none}.baklava-node>.__title>.__menu{position:relative;cursor:initial}.baklava-node[data-node-type^=__baklava_]>.__title{background:var(--baklava-group-node-title-color-background);color:var(--baklava-group-node-title-color-foreground)}.baklava-node>.__content{padding:.75em}.baklava-node>.__content>div>div{margin:.5em 0}.baklava-node.--two-column>.__content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:". ." ". ."}.baklava-node.--two-column>.__content>.__inputs{grid-row:1;grid-column:1}.baklava-node.--two-column>.__content>.__outputs{grid-row:1;grid-column:2}.baklava-node .__resize-handle{position:absolute;right:0;bottom:0;width:1rem;height:1rem;transform:translate(50%);cursor:ew-resize}.baklava-node .__resize-handle:after{content:"";position:absolute;bottom:0;left:-.5rem;width:1rem;height:1rem;opacity:0;border-bottom-right-radius:var(--baklava-node-border-radius);transition:opacity var(--baklava-visual-transition);background:linear-gradient(-45deg,transparent 10%,var(--baklava-node-color-resize-handle) 10%,var(--baklava-node-color-resize-handle) 15%,transparent 15%,transparent 30%,var(--baklava-node-color-resize-handle) 30%,var(--baklava-node-color-resize-handle) 35%,transparent 35%,transparent 50%,var(--baklava-node-color-resize-handle) 50%,var(--baklava-node-color-resize-handle) 55%,transparent 55%)}.baklava-sidebar{position:absolute;height:100%;width:25%;min-width:300px;max-width:90%;top:0;right:0;z-index:1000;background-color:var(--baklava-sidebar-color-background);color:var(--baklava-sidebar-color-foreground);box-shadow:none;overflow-x:hidden;padding:1em;transform:translate(100%);transition:transform .5s;display:flex;flex-direction:column}.baklava-sidebar.--open{transform:translate(0);box-shadow:0 0 15px #000}.baklava-sidebar .__resizer{position:absolute;left:0;top:0;height:100%;width:4px;cursor:col-resize}.baklava-sidebar .__header{display:flex;align-items:center}.baklava-sidebar .__header .__node-name{margin-left:.5rem}.baklava-sidebar .__close{font-size:2em;border:none;background:none;color:inherit;cursor:pointer}.baklava-sidebar .__interface{margin:.5em 0}.baklava-toolbar{position:absolute;left:0;top:0;width:100%;height:60px;z-index:3;padding:.5rem 2rem;background:var(--baklava-toolbar-background);color:var(--baklava-toolbar-foreground);display:flex;align-items:center}.baklava-toolbar-entry{margin-left:.5rem;margin-right:.5rem}.baklava-toolbar-button{color:var(--baklava-toolbar-foreground);background:none;border:none;transition:color var(--baklava-visual-transition)}.baklava-toolbar-button:not([disabled]){cursor:pointer}.baklava-toolbar-button:hover:not([disabled]){color:var(--baklava-control-color-primary)}.baklava-toolbar-button[disabled]{color:var(--baklava-control-color-disabled-foreground)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(5px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out!important}.fade-enter-from,.fade-leave-to{opacity:0}.loading-indicator[data-v-4eb18f18]{display:flex;justify-content:center;align-items:center;height:100px;font-size:1.2em;color:#666}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PTSans,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1F2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4B5563}.dark input[type=file]::file-selector-button:hover{background:#6B7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6B7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-moz-range-thumb{background:#6B7280}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*{scrollbar-color:initial;scrollbar-width:initial}body{min-height:100vh;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #e0eaff var(--tw-gradient-from-position);--tw-gradient-to: rgb(224 234 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #f0e6ff var(--tw-gradient-to-position)}:is(.dark body){background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #0f2647 var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 38 71 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #1e1b4b var(--tw-gradient-to-position)}html{scroll-behavior:smooth}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-7277cfb8.ttf) format("truetype")}@font-face{font-family:PTSans;src:url(/assets/PTSans-Regular-23b91352.ttf) format("truetype")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-1{left:-.25rem}.-left-1\.5{left:-.375rem}.-left-6{left:-1.5rem}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-6{right:-1.5rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-6{top:-1.5rem}.-top-9{top:-2.25rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-20{left:5rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-20{right:5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-20{top:5rem}.top-3{top:.75rem}.top-32{top:8rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-4\/5{height:80%}.h-48{height:12rem}.h-5{height:1.25rem}.h-5\/6{height:83.333333%}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[600px\]{height:600px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-modal{height:calc(100% - 2rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-6{max-height:1.5rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-\[23rem\]{min-width:23rem}.min-w-\[24rem\]{min-width:24rem}.min-w-\[300px\]{min-width:300px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[23rem\]{max-width:23rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[50px\,1fr\]{grid-template-columns:50px 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-bg-dark{border-color:var(--color-bg-dark)}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(5 122 85 / var(--tw-border-opacity))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(4 108 78 / var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity: 1;border-color:rgb(214 31 105 / var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity: 1;border-color:rgb(191 18 93 / var(--tw-border-opacity))}.border-primary{border-color:var(--color-primary)}.border-primary-light{border-color:var(--color-primary-light)}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(126 58 242 / var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity: 1;border-color:rgb(108 43 217 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(224 36 36 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.border-secondary{border-color:var(--color-secondary)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(227 160 8 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.border-t-blue-600{--tw-border-opacity: 1;border-top-color:rgb(28 100 242 / var(--tw-border-opacity))}.bg-accent{background-color:var(--color-accent)}.bg-bg-dark-tone-panel{background-color:var(--color-bg-dark-tone-panel)}.bg-bg-light{background-color:var(--color-bg-light)}.bg-bg-light-tone{background-color:var(--color-bg-light-tone)}.bg-bg-light-tone-panel{background-color:var(--color-bg-light-tone-panel)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(222 247 236 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(49 196 141 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(1 71 55 / var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(229 237 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(88 80 236 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(254 236 220 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 232 243 / var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(237 235 254 / var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(253 232 232 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(249 128 128 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(119 29 29 / var(--tw-bg-opacity))}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}.bg-opacity-0{--tw-bg-opacity: 0}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-opacity-90{--tw-bg-opacity: .9}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg-light{--tw-gradient-from: var(--color-bg-light) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-bg-light-tone{--tw-gradient-from: var(--color-bg-light-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-200{--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #76A9FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #1C64F2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-100{--tw-gradient-from: #E5EDFF var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 237 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #5850EC var(--tw-gradient-from-position);--tw-gradient-to: rgb(88 80 236 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #F05252 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #0694A2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 148 162 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-5\%{--tw-gradient-from-position: 5%}.via-bg-light{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-light) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-600{--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-600{--tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime-600{--tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #65a30d var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(214 31 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-600{--tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-600{--tw-gradient-to: rgb(4 116 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #047481 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-10\%{--tw-gradient-via-position: 10%}.to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1A56DB var(--tw-gradient-to-position)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #046C4E var(--tw-gradient-to-position)}.to-lime-200{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.to-lime-700{--tw-gradient-to: #4d7c0f var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #BF125D var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to: #DCD7FE var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #9061F9 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #7E3AF2 var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #C81E1E var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to: #036672 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #ffffff var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position: 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-blue-600{fill:#1c64f2}.fill-current{fill:currentColor}.fill-gray-300{fill:#d1d5db}.fill-gray-600{fill:#4b5563}.fill-green-500{fill:#0e9f6e}.fill-pink-600{fill:#d61f69}.fill-purple-600{fill:#7e3af2}.fill-red-600{fill:#e02424}.fill-secondary{fill:var(--color-secondary)}.fill-white{fill:#fff}.fill-yellow-400{fill:#e3a008}.stroke-2{stroke-width:2}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-80{padding-bottom:20rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-sans{font-family:PTSans,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity: 1;color:rgb(225 239 254 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-200{--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(49 196 141 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(4 108 78 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(81 69 205 / var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(66 56 157 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}.text-light-text-panel{color:var(--color-light-text-panel)}.text-orange-200{--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(255 90 31 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(208 56 1 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity: 1;color:rgb(214 31 105 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(191 18 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(153 21 75 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(108 43 217 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(85 33 181 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(253 232 232 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}.text-secondary{color:var(--color-secondary)}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity: 1;color:rgb(6 148 162 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}.text-opacity-95{--tw-text-opacity: .95}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/50{--tw-shadow-color: rgb(63 131 248 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-800\/80{--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/50{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-800\/80{--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/50{--tw-shadow-color: rgb(14 159 110 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-800\/80{--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/50{--tw-shadow-color: rgb(132 204 22 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-800\/80{--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/50{--tw-shadow-color: rgb(231 70 148 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-800\/80{--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/50{--tw-shadow-color: rgb(144 97 249 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-800\/80{--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(240 82 82 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-800\/80{--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/50{--tw-shadow-color: rgb(6 148 162 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-blue-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar{scrollbar-width:auto}.scrollbar::-webkit-scrollbar{display:block;width:var(--scrollbar-width, 16px);height:var(--scrollbar-height, 16px)}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar-track-bg-light{--scrollbar-track: var(--color-bg-light) !important}.scrollbar-track-bg-light-tone{--scrollbar-track: var(--color-bg-light-tone) !important}.scrollbar-track-gray-200{--scrollbar-track: #E5E7EB !important}.scrollbar-thumb-bg-light-tone{--scrollbar-thumb: var(--color-bg-light-tone) !important}.scrollbar-thumb-bg-light-tone-panel{--scrollbar-thumb: var(--color-bg-light-tone-panel) !important}.scrollbar-thumb-gray-400{--scrollbar-thumb: #9CA3AF !important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.display-none{display:none}h1{margin-bottom:1.5rem;font-size:2.25rem;line-height:2.5rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}@media (min-width: 768px){h1{font-size:3rem;line-height:1}}h2{margin-bottom:1rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark h2){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}h3{margin-bottom:.75rem;font-size:1.5rem;line-height:2rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}h4{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark h4){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}h1,h2{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding-bottom:.5rem}:is(.dark h1),:is(.dark h2){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}p{overflow-wrap:break-word;font-size:1rem;line-height:1.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}ul{margin-left:0;list-style-type:disc}li{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem;list-style-type:decimal}:root{--color-primary: #0e8ef0;--color-primary-light: #3dabff;--color-secondary: #0fd974;--color-accent: #f0700e;--color-light-text-panel: #ffffff;--color-dark-text-panel: #ffffff;--color-bg-light-panel: #7cb5ec;--color-bg-light: #e2edff;--color-bg-light-tone: #b9d2f7;--color-bg-light-code-block: #cad7ed;--color-bg-light-tone-panel: #8fb5ef;--color-bg-light-discussion: #c5d8f8;--color-bg-light-discussion-odd: #d6e7ff;--color-bg-dark: #132e59;--color-bg-dark-tone: #25477d;--color-bg-dark-tone-panel: #4367a3;--color-bg-dark-code-block: #2254a7;--color-bg-dark-discussion: #435E8A;--color-bg-dark-discussion-odd: #284471}textarea,input,select{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}:is(.dark textarea),:is(.dark input),:is(.dark select){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.background-color{min-height:100vh;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #C3DDFD var(--tw-gradient-to-position)}:is(.dark .background-color){--tw-gradient-from: #233876 var(--tw-gradient-from-position);--tw-gradient-to: rgb(35 56 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position)}.toolbar-color{border-radius:9999px;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #DCD7FE var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .toolbar-color){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #5521B5 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.panels-color{border-radius:.25rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #C3DDFD var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .panels-color){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.unicolor-panels-color{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .unicolor-panels-color){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.chatbox-color{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #A4CAFE var(--tw-gradient-to-position)}:is(.dark .chatbox-color){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position)}.message{position:relative;margin:.5rem;display:flex;width:100%;flex-grow:1;flex-direction:column;flex-wrap:wrap;overflow:visible;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding:1.25rem 1.25rem .75rem;font-size:1.125rem;line-height:1.75rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .message){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.message:hover{--tw-border-opacity: 1;border-color:rgb(118 169 250 / var(--tw-border-opacity))}:is(.dark .message:hover){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.message{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.dark .message{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.message:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}:is(.dark .message:nth-child(2n)){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.message:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .message:nth-child(odd)){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.message-header{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.message-content{font-size:1.125rem;line-height:1.75rem;line-height:1.625}body{min-height:100vh;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #F3F4F6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #E5E7EB var(--tw-gradient-to-position);font-size:1rem;line-height:1.5rem}:is(.dark body){--tw-gradient-from: #1F2937 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.discussion{margin-right:.5rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #A4CAFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(164 202 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #76A9FA var(--tw-gradient-to-position)}.discussion:hover{--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}:is(.dark .discussion){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position)}:is(.dark .discussion):hover{--tw-gradient-from: #1A56DB var(--tw-gradient-from-position);--tw-gradient-to: rgb(26 86 219 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.discussion-hilighted{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #CABFFD var(--tw-gradient-to-position)}.discussion-hilighted:hover{--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}:is(.dark .discussion-hilighted){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #4A1D96 var(--tw-gradient-to-position)}:is(.dark .discussion-hilighted):hover{--tw-gradient-from: #1A56DB var(--tw-gradient-from-position);--tw-gradient-to: rgb(26 86 219 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.bg-gradient-welcome{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}:is(.dark .bg-gradient-welcome){--tw-gradient-from: #233876 var(--tw-gradient-from-position);--tw-gradient-to: rgb(35 56 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #4A1D96 var(--tw-gradient-to-position)}.bg-gradient-progress{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #DCD7FE var(--tw-gradient-to-position)}:is(.dark .bg-gradient-progress){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #5521B5 var(--tw-gradient-to-position)}.text-gradient-title{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #1C64F2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #7E3AF2 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}:is(.dark .text-gradient-title){--tw-gradient-from: #76A9FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #AC94FA var(--tw-gradient-to-position)}.text-subtitle{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .text-subtitle){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-author{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .text-author){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-loading{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .text-loading){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-progress{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}:is(.dark .text-progress){--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}.btn-primary{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.card{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .card){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.input{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:.5rem 1rem}.input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .input){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .input:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .label){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.link{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.link:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}:is(.dark .link){--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}:is(.dark .link:hover){--tw-text-opacity: 1;color:rgb(164 202 254 / var(--tw-text-opacity))}.navbar-container{border-radius:.25rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #A4CAFE var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .navbar-container){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.game-menu{position:relative;display:flex;align-items:center;justify-content:center}.text-shadow-custom{text-shadow:1px 1px 0px white,-1px -1px 0px white,1px -1px 0px white,-1px 1px 0px white}.menu-item{margin-bottom:.5rem;padding:.5rem 1rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity));transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:is(.dark .menu-item){--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}.menu-item:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}:is(.dark .menu-item):hover{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.menu-item.active-link{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:.375rem;border-top-right-radius:.375rem;--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity));font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity));transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);text-shadow:1px 1px 0px white,-1px -1px 0px white,1px -1px 0px white,-1px 1px 0px white}.menu-item.active-link:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}:is(.dark .menu-item.active-link):hover{--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}.menu-item.active-link{text-shadow:0 0 10px rgba(255,100,100,.5)}.menu-item.active-link:before{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:5px;background:linear-gradient(to right,#ff3b3b,#ff7b7b,#ff3b3b);border-radius:10px;animation:shimmer 2s infinite}.dark .menu-item.active-link:before{background:linear-gradient(to right,#8b0000,#ff0000,#8b0000)}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:100% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.strawberry-emoji{display:inline-block;margin-left:5px;animation:bounce 2s infinite}@keyframes lightsaber{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.app-card{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #A4CAFE var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity));--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.app-card:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .app-card){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.app-card:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}button{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}button:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#A4CAFE #E1EFFE}.dark .scrollbar-thin{scrollbar-color:#1A56DB #233876}.scrollbar-thin::-webkit-scrollbar{width:.5rem}.scrollbar-thin::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar-thin)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar-thin)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.scrollbar-thin::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}:is(.dark .scrollbar-thin)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.btn{display:flex;align-items:center;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.btn-primary:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}:is(.dark .btn-primary:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.btn-secondary{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.btn-secondary:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}:is(.dark .btn-secondary){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .btn-secondary:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .btn-secondary:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}.search-input{width:100%;border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(195 221 253 / var(--tw-border-opacity));background-color:transparent;padding:.5rem 1rem .5rem 2.5rem;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.search-input:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity));outline:2px solid transparent;outline-offset:2px}:is(.dark .search-input){--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity));--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}:is(.dark .search-input:focus){--tw-border-opacity: 1;border-color:rgb(118 169 250 / var(--tw-border-opacity))}.scrollbar{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar{scrollbar-width:thin}.scrollbar::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar{--scrollbar-track: var(--color-bg-light-tone);--scrollbar-thumb: var(--color-bg-light-tone-panel);scrollbar-width:thin;scrollbar-color:#A4CAFE #E1EFFE}.dark .scrollbar{scrollbar-color:#1A56DB #233876}.scrollbar::-webkit-scrollbar{width:.5rem}.scrollbar::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.scrollbar::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}:is(.dark .scrollbar)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.scrollbar{--scrollbar-thumb-hover: var(--color-primary);--scrollbar-thumb-active: var(--color-secondary)}:is(.dark .scrollbar){--scrollbar-track: var(--color-bg-dark-tone);--scrollbar-thumb: var(--color-bg-dark-tone-panel);--scrollbar-thumb-hover: var(--color-primary)}.card-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .card-title){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.card-content{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .card-content){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.card-footer{margin-top:1rem;display:flex;align-items:center;justify-content:space-between}.card-footer-button{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.card-footer-button:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.subcard{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .subcard){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.subcard-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .subcard-title){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.subcard-content{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .subcard-content){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.subcard-footer{margin-top:1rem;display:flex;align-items:center;justify-content:space-between}.subcard-footer-button{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.subcard-footer-button:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.last\:mb-0:last-child{margin-bottom:0}.last\:\!border-transparent:last-child{border-color:transparent!important}.last\:pb-0:last-child{padding-bottom:0}.odd\:bg-bg-light-tone:nth-child(odd){background-color:var(--color-bg-light-tone)}.even\:bg-bg-light-discussion-odd:nth-child(2n){background-color:var(--color-bg-light-discussion-odd)}.even\:bg-bg-light-tone-panel:nth-child(2n){background-color:var(--color-bg-light-tone-panel)}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:bottom-0{bottom:0}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:-translate-x-12{--tw-translate-x: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-8{--tw-translate-x: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-8{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-\[0px\]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-\[-50px\]{--tw-translate-y: -50px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-secondary{border-color:var(--color-secondary)}.group:hover .group-hover\:bg-white\/50{background-color:#ffffff80}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity: 0}.group:hover .group-hover\:from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.group:hover .group-hover\:to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.group:focus .group-focus\:ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus .group-focus\:ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.peer:checked~.peer-checked\:text-primary{color:var(--color-primary)}.hover\:z-10:hover{z-index:10}.hover\:z-20:hover{z-index:20}.hover\:z-50:hover{z-index:50}.hover\:h-8:hover{height:2rem}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-8:hover{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-150:hover{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-2:hover{border-width:2px}.hover\:border-solid:hover{border-style:solid}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(188 240 218 / var(--tw-border-opacity))}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary-light:hover{border-color:var(--color-primary-light)}.hover\:border-secondary:hover{border-color:var(--color-secondary)}.hover\:bg-bg-light-tone:hover{background-color:var(--color-bg-light-tone)}.hover\:bg-bg-light-tone-panel:hover{background-color:var(--color-bg-light-tone-panel)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 21 75 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary-light:hover{background-color:var(--color-primary-light)}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(85 33 181 / var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.hover\:bg-opacity-20:hover{--tw-bg-opacity: .2}.hover\:bg-gradient-to-bl:hover{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.hover\:bg-gradient-to-br:hover{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.hover\:bg-gradient-to-l:hover{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.hover\:from-teal-200:hover{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-lime-200:hover{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}.hover\:text-green-600:hover{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.hover\:text-indigo-600:hover{--tw-text-opacity: 1;color:rgb(88 80 236 / var(--tw-text-opacity))}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-purple-600:hover{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.hover\:text-secondary:hover{color:var(--color-secondary)}.hover\:text-teal-600:hover{--tw-text-opacity: 1;color:rgb(4 116 129 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:text-yellow-600:hover{--tw-text-opacity: 1;color:rgb(159 88 10 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:scrollbar-thumb-primary{--scrollbar-thumb-hover: var(--color-primary) !important}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.focus\:border-secondary:focus{border-color:var(--color-secondary)}.focus\:border-transparent:focus{border-color:transparent}.focus\:text-blue-700:focus{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity))}.focus\:ring-cyan-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 240 218 / var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(49 196 141 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity))}.focus\:ring-lime-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 215 254 / var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 191 253 / var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 180 / var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(240 82 82 / var(--tw-ring-opacity))}.focus\:ring-secondary:focus{--tw-ring-color: var(--color-secondary)}.focus\:ring-teal-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:scale-75:active{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-gray-300:active{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.active\:scrollbar-thumb-secondary{--scrollbar-thumb-active: var(--color-secondary) !important}:is(.dark .dark\:divide-gray-700)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}:is(.dark .dark\:border-bg-light){border-color:var(--color-bg-light)}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}:is(.dark .dark\:border-green-500){--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-400){--tw-border-opacity: 1;border-color:rgb(241 126 184 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-500){--tw-border-opacity: 1;border-color:rgb(231 70 148 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-400){--tw-border-opacity: 1;border-color:rgb(172 148 250 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-500){--tw-border-opacity: 1;border-color:rgb(144 97 249 / var(--tw-border-opacity))}:is(.dark .dark\:border-red-500){--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-yellow-300){--tw-border-opacity: 1;border-color:rgb(250 202 21 / var(--tw-border-opacity))}:is(.dark .dark\:bg-bg-dark){background-color:var(--color-bg-dark)}:is(.dark .dark\:bg-bg-dark-tone){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:bg-bg-dark-tone-panel){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:bg-black){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-200){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-500){--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-800){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-400){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-200){--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-800){--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity: 1;background-color:rgb(1 71 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-200){--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-500){--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-700){--tw-bg-opacity: 1;background-color:rgb(180 52 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-800){--tw-bg-opacity: 1;background-color:rgb(138 44 13 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-200){--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-600){--tw-bg-opacity: 1;background-color:rgb(214 31 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-200){--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-500){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-600){--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-200){--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-600){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-800){--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity: 1;background-color:rgb(119 29 29 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-200){--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity: .8}:is(.dark .dark\:bg-opacity-90){--tw-bg-opacity: .9}:is(.dark .dark\:from-bg-dark){--tw-gradient-from: var(--color-bg-dark) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-bg-dark-tone){--tw-gradient-from: var(--color-bg-dark-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-blue-400){--tw-gradient-from: #76A9FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-blue-800){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-blue-900){--tw-gradient-from: #233876 var(--tw-gradient-from-position);--tw-gradient-to: rgb(35 56 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-indigo-400){--tw-gradient-from: #8DA2FB var(--tw-gradient-from-position);--tw-gradient-to: rgb(141 162 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-indigo-900){--tw-gradient-from: #362F78 var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 47 120 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:via-bg-dark){--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-dark) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:to-gray-800){--tw-gradient-to: #1F2937 var(--tw-gradient-to-position)}:is(.dark .dark\:to-purple-400){--tw-gradient-to: #AC94FA var(--tw-gradient-to-position)}:is(.dark .dark\:to-purple-800){--tw-gradient-to: #5521B5 var(--tw-gradient-to-position)}:is(.dark .dark\:to-purple-900){--tw-gradient-to: #4A1D96 var(--tw-gradient-to-position)}:is(.dark .dark\:fill-gray-300){fill:#d1d5db}:is(.dark .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity: 1;color:rgb(164 202 254 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-800){--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}:is(.dark .dark\:text-dark-text-panel){color:var(--color-dark-text-panel)}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(49 196 141 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-500){--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-800){--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-900){--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-500){--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-900){--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}:is(.dark .dark\:text-orange-200){--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-400){--tw-text-opacity: 1;color:rgb(241 126 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-500){--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-900){--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary){color:var(--color-primary)}:is(.dark .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(172 148 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-500){--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-900){--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-200){--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-800){--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-900){--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-50){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-400){--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-800){--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-900){--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-blue-800\/80){--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-cyan-800\/80){--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-green-800\/80){--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-lime-800\/80){--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-pink-800\/80){--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-purple-800\/80){--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-red-800\/80){--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-teal-800\/80){--tw-shadow-color: rgb(5 80 92 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:ring-gray-500){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-white){--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-opacity-20){--tw-ring-opacity: .2}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color: #374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color: #1F2937}:is(.dark .dark\:scrollbar-track-bg-dark){--scrollbar-track: var(--color-bg-dark) !important}:is(.dark .dark\:scrollbar-track-bg-dark-tone){--scrollbar-track: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-track-gray-800){--scrollbar-track: #1F2937 !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone){--scrollbar-thumb: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone-panel){--scrollbar-thumb: var(--color-bg-dark-tone-panel) !important}:is(.dark .dark\:scrollbar-thumb-gray-600){--scrollbar-thumb: #4B5563 !important}:is(.dark .odd\:dark\:bg-bg-dark-tone):nth-child(odd){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:even\:bg-bg-dark-discussion-odd:nth-child(2n)){background-color:var(--color-bg-dark-discussion-odd)}:is(.dark .dark\:even\:bg-bg-dark-tone-panel:nth-child(2n)){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .group:hover .dark\:group-hover\:bg-gray-800\/60){background-color:#1f293799}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .group:focus .dark\:group-focus\:ring-gray-800\/70){--tw-ring-color: rgb(31 41 55 / .7)}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-primary:hover){border-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-blue-300:hover){--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-300:hover){--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-500:hover){--tw-bg-opacity: 1;background-color:rgb(231 70 148 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-700:hover){--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary:hover){background-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-purple-500:hover){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-700:hover){--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-300:hover){--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-700:hover){--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-300:hover){--tw-bg-opacity: 1;background-color:rgb(250 202 21 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-400:hover){--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone):hover{background-color:var(--color-bg-dark-tone)}:is(.dark .hover\:dark\:bg-bg-dark-tone-panel):hover{background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:hover\:text-blue-200:hover){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-blue-300:hover){--tw-text-opacity: 1;color:rgb(164 202 254 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-900:hover){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-green-300:hover){--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-primary:hover){color:var(--color-primary)}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:scrollbar-thumb-primary){--scrollbar-thumb-hover: var(--color-primary) !important}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-secondary:focus){border-color:var(--color-secondary)}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-cyan-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-lime-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-400:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(155 28 28 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-secondary:focus){--tw-ring-color: var(--color-secondary)}:is(.dark .dark\:focus\:ring-teal-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-yellow-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color: #374151}:is(.dark .dark\:active\:bg-gray-600:active){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:h-10{height:2.5rem}.sm\:h-6{height:1.5rem}.sm\:h-64{height:16rem}.sm\:w-1\/4{width:25%}.sm\:w-10{width:2.5rem}.sm\:w-6{width:1.5rem}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:rounded-lg{border-radius:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-center{text-align:center}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:order-2{order:2}.md\:mr-6{margin-right:1.5rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:w-48{width:12rem}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:rounded-none{border-radius:0}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:border-0{border-width:0px}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-6{padding:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-medium{font-weight:500}.md\:text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}:is(.dark .md\:dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .md\:dark\:hover\:bg-transparent:hover){background-color:transparent}:is(.dark .md\:dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:h-80{height:20rem}.xl\:w-1\/6{width:16.666667%}}@media (min-width: 1536px){.\32xl\:h-96{height:24rem}} +*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-container{display:flex;margin:0}.line-numbers{flex-shrink:0;padding-right:5px;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.code-content{flex-grow:1;margin:0;outline:none}.progress-bar-container{background-color:#f0f0f0;border-radius:4px;height:8px;overflow:hidden}.progress-bar{background-color:#3498db;height:100%;transition:width .3s ease}.popup-container[data-v-d504dfc9]{background-color:#fff;color:#333;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.close-button[data-v-d504dfc9]{position:absolute;top:16px;right:16px;background-color:#3490dc;color:#fff;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.close-button[data-v-d504dfc9]:hover{background-color:#2779bd}.iframe-content[data-v-d504dfc9]{width:100%;height:80%;border:none;margin-bottom:16px}.checkbox-container[data-v-d504dfc9]{display:flex;align-items:center;justify-content:center}.styled-checkbox[data-v-d504dfc9]{width:24px;height:24px;accent-color:#3490dc;cursor:pointer}.checkbox-label[data-v-d504dfc9]{margin-left:8px;font-size:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fade-enter-active[data-v-d504dfc9],.fade-leave-active[data-v-d504dfc9]{transition:opacity .5s}.fade-enter[data-v-d504dfc9],.fade-leave-to[data-v-d504dfc9]{opacity:0}.dot{width:10px;height:10px;border-radius:50%}.dot-green{background-color:green}.dot-red{background-color:red}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.logo-container{position:relative;width:48px;height:48px}.logo-image{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes roll-and-bounce{0%,to{transform:translate(0) rotate(0)}45%{transform:translate(100px) rotate(360deg)}50%{transform:translate(90px) rotate(390deg)}55%{transform:translate(100px) rotate(360deg)}95%{transform:translate(0) rotate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000}.hovered{transform:scale(1.05);transition:transform .2s ease-in-out}.active{transform:scale(1.1);transition:transform .2s ease-in-out}.dropdown-shadow[data-v-6c3ea3a5]{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}:root.dark .dropdown-shadow[data-v-6c3ea3a5]{box-shadow:0 4px 6px -1px #ffffff1a,0 2px 4px -1px #ffffff0f}select{width:200px}body{background-color:#fafafa;font-family:sans-serif}.container{margin:4px auto;width:800px}.settings{position:fixed;top:0;right:0;width:500px;background-color:#fff;z-index:1000;overflow-y:auto;height:100%}.slider-container{margin-top:20px}.slider-value{display:inline-block;margin-left:10px;color:#6b7280;font-size:14px}.small-button{padding:.5rem .75rem;font-size:.875rem}.active-tab{font-weight:700}@keyframes glow{0%,to{text-shadow:0 0 5px rgba(59,130,246,.5),0 0 10px rgba(147,51,234,.5)}50%{text-shadow:0 0 20px rgba(59,130,246,.75),0 0 30px rgba(147,51,234,.75)}}.animate-glow{animation:glow 3s ease-in-out infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in 1s ease-out}@keyframes fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.animate-fall{animation:fall linear infinite}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}.dark ::-webkit-scrollbar-track{background:#2d3748}.dark ::-webkit-scrollbar-thumb{background:#4a5568}.dark ::-webkit-scrollbar-thumb:hover{background:#718096}body{font-family:Inter,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;line-height:1.2}a{transition:all .3s ease}a:hover{transform:translateY(-2px)}main section{box-shadow:0 4px 6px #0000001a;border-radius:8px;transition:all .3s ease}main section:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-2px)}code{font-family:Fira Code,monospace;padding:2px 4px;border-radius:4px;font-size:.9em}.bg-gradient-to-br{background-size:400% 400%;animation:gradientBG 15s ease infinite}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}a:focus,button:focus{outline:2px solid #3b82f6;outline-offset:2px}header h1{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 640px){header h1{font-size:2rem}nav{position:static;max-height:none}}body{transition:background-color .3s ease,color .3s ease}ul,ol{padding-left:1.5rem}li{margin-bottom:.5rem}footer{animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.menu-container{position:relative;display:inline-block}.menu-button{background-color:#007bff;color:#fff;padding:10px;border:none;cursor:pointer;border-radius:4px}.menu-list{position:absolute;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;padding:10px;max-width:500px;z-index:1000}.slide-enter-active,.slide-leave-active{transition:transform .2s}.slide-enter-to,.slide-leave-from{transform:translateY(-10px)}.menu-ul{list-style:none;padding:0;margin:0}.menu-li{cursor:pointer;display:flex;align-items:center;padding:5px}.menu-icon{width:20px;height:20px;margin-right:8px}.menu-command{min-width:200px;text-align:left}.fade-enter-active[data-v-f43216be],.fade-leave-active[data-v-f43216be]{transition:opacity .3s}.fade-enter[data-v-f43216be],.fade-leave-to[data-v-f43216be]{opacity:0}.heartbeat-text[data-v-c8653825]{font-size:24px;animation:pulsate-c8653825 1.5s infinite}@keyframes pulsate-c8653825{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.list-move[data-v-c8653825],.list-enter-active[data-v-c8653825],.list-leave-active[data-v-c8653825]{transition:all .5s ease}.list-enter-from[data-v-c8653825]{transform:translatey(-30px)}.list-leave-to[data-v-c8653825]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-c8653825]{position:absolute}.bounce-enter-active[data-v-c8653825]{animation:bounce-in-c8653825 .5s}.bounce-leave-active[data-v-c8653825]{animation:bounce-in-c8653825 .5s reverse}@keyframes bounce-in-c8653825{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.bg-primary-light[data-v-c8653825]{background-color:#0ff}.hover[data-v-c8653825]:bg-primary-light:hover{background-color:#7fffd4}.font-bold[data-v-c8653825]{font-weight:700}.json-tree-view[data-v-40406ec6]{margin-left:16px}.json-item[data-v-40406ec6]{margin-bottom:4px}.json-key[data-v-40406ec6]{cursor:pointer;display:flex;align-items:center}.toggle-icon[data-v-40406ec6]{margin-right:4px;width:12px}.key[data-v-40406ec6]{font-weight:700;margin-right:4px}.value[data-v-40406ec6]{margin-left:4px}.string[data-v-40406ec6]{color:#0b7285}.number[data-v-40406ec6]{color:#d9480f}.boolean[data-v-40406ec6]{color:#5c940d}.null[data-v-40406ec6]{color:#868e96}.json-nested[data-v-40406ec6]{margin-left:16px;border-left:1px dashed #ccc;padding-left:8px}.json-viewer[data-v-83fc9727]{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.5;color:#333}.collapsible-section[data-v-83fc9727]{cursor:pointer;padding:8px;background-color:#f0f0f0;border-radius:4px;display:flex;align-items:center;transition:background-color .2s}.collapsible-section[data-v-83fc9727]:hover{background-color:#e0e0e0}.toggle-icon[data-v-83fc9727]{margin-right:8px;transition:transform .2s}.json-content[data-v-83fc9727]{margin-top:8px;padding-left:16px}.step-container[data-v-78f415f6]{margin-bottom:1rem}.step-wrapper[data-v-78f415f6]{display:flex;align-items:flex-start;border-radius:.5rem;padding:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.step-icon[data-v-78f415f6]{margin-right:1rem;display:flex;height:1.5rem;width:1.5rem;flex-shrink:0;align-items:center;justify-content:center}.feather-icon[data-v-78f415f6]{height:1.5rem;width:1.5rem;stroke:currentColor;stroke-width:2}.spinner[data-v-78f415f6]{height:1.5rem;width:1.5rem}@keyframes spin-78f415f6{to{transform:rotate(360deg)}}.spinner[data-v-78f415f6]{animation:spin-78f415f6 1s linear infinite;border-radius:9999px;border-width:2px;border-top-width:2px;border-color:rgb(75 85 99 / var(--tw-border-opacity));--tw-border-opacity: 1;border-top-color:rgb(28 100 242 / var(--tw-border-opacity))}.step-content[data-v-78f415f6]{flex-grow:1}.step-text[data-v-78f415f6]{margin-bottom:.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.step-description[data-v-78f415f6]{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}[data-v-78f415f6]:is(.dark .step-description){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.expand-button{margin-left:10px;margin-right:10px;background:none;border:none;padding:0;cursor:pointer}.htmljs{background:none}.bounce-enter-active[data-v-f44002af]{animation:bounce-in-f44002af .5s}.bounce-leave-active[data-v-f44002af]{animation:bounce-in-f44002af .5s reverse}@keyframes bounce-in-f44002af{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-track{background-color:#f1f1f1}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb:hover{background-color:#555}.menu[data-v-1a32c141]{display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper[data-v-1a32c141]{position:relative;display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper>#commands-menu-items[data-v-1a32c141]{top:calc(-100% - 2rem)}.chat-bar[data-v-cf2611fa]{transition:all .3s ease}.chat-bar[data-v-cf2611fa]:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.list-move[data-v-cf2611fa],.list-enter-active[data-v-cf2611fa],.list-leave-active[data-v-cf2611fa]{transition:all .5s ease}.list-enter-from[data-v-cf2611fa]{transform:translatey(-30px)}.list-leave-to[data-v-cf2611fa]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-cf2611fa]{position:absolute}@keyframes rolling-ball-d62e699b{0%{transform:translate(-50px) rotate(0)}25%{transform:translate(0) rotate(90deg)}50%{transform:translate(50px) rotate(180deg)}75%{transform:translate(0) rotate(270deg)}to{transform:translate(-50px) rotate(360deg)}}@keyframes bounce-d62e699b{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fade-in-up-d62e699b{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-rolling-ball[data-v-d62e699b]{animation:rolling-ball-d62e699b 4s infinite ease-in-out,bounce-d62e699b 1s infinite ease-in-out}.animate-fade-in-up[data-v-d62e699b]{animation:fade-in-up-d62e699b 1.5s ease-out}@keyframes giggle-9e711246{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(-5px) rotate(-10deg) scale(1.05)}50%{transform:translate(5px) rotate(10deg) scale(.95)}75%{transform:translate(-5px) rotate(-10deg) scale(1.05)}}.animate-giggle[data-v-9e711246]{animation:giggle-9e711246 1.5s infinite ease-in-out}.custom-scrollbar[data-v-9e711246]{scrollbar-width:thin;scrollbar-color:rgba(155,155,155,.5) transparent}.custom-scrollbar[data-v-9e711246]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-9e711246]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-9e711246]::-webkit-scrollbar-thumb{background-color:#9b9b9b80;border-radius:20px;border:transparent}@keyframes custom-pulse-9e711246{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 15px #3b82f600}}.animate-pulse[data-v-9e711246]{animation:custom-pulse-9e711246 2s infinite}.slide-right-enter-active[data-v-9e711246],.slide-right-leave-active[data-v-9e711246]{transition:transform .3s ease}.slide-right-enter[data-v-9e711246],.slide-right-leave-to[data-v-9e711246]{transform:translate(-100%)}.slide-left-enter-active[data-v-9e711246],.slide-left-leave-active[data-v-9e711246]{transition:transform .3s ease}.slide-left-enter[data-v-9e711246],.slide-left-leave-to[data-v-9e711246]{transform:translate(100%)}.fade-and-fly-enter-active[data-v-9e711246]{animation:fade-and-fly-enter-9e711246 .5s ease}.fade-and-fly-leave-active[data-v-9e711246]{animation:fade-and-fly-leave-9e711246 .5s ease}@keyframes fade-and-fly-enter-9e711246{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-and-fly-leave-9e711246{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}.list-move[data-v-9e711246],.list-enter-active[data-v-9e711246],.list-leave-active[data-v-9e711246]{transition:all .5s ease}.list-enter-from[data-v-9e711246]{transform:translatey(-30px)}.list-leave-to[data-v-9e711246]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-9e711246]{position:absolute}@keyframes float-9e711246{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float[data-v-9e711246]{animation:float-9e711246 linear infinite}@keyframes star-move-9e711246{0%{transform:translate(0) rotate(0)}50%{transform:translate(20px,20px) rotate(180deg)}to{transform:translate(0) rotate(360deg)}}.animate-star[data-v-9e711246]{animation:star-move-9e711246 linear infinite}@keyframes fall-9e711246{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(calc(100vh + 20px)) rotate(360deg);opacity:0}}.animate-fall[data-v-9e711246]{animation:fall-9e711246 linear infinite}@keyframes glow-9e711246{0%,to{text-shadow:0 0 5px rgba(66,153,225,.5),0 0 10px rgba(66,153,225,.5)}50%{text-shadow:0 0 20px rgba(66,153,225,.8),0 0 30px rgba(66,153,225,.8)}}.animate-glow[data-v-9e711246]{animation:glow-9e711246 2s ease-in-out infinite}@media (prefers-color-scheme: dark){@keyframes glow-9e711246{0%,to{text-shadow:0 0 5px rgba(147,197,253,.5),0 0 10px rgba(147,197,253,.5)}50%{text-shadow:0 0 20px rgba(147,197,253,.8),0 0 30px rgba(147,197,253,.8)}0%,to{text-shadow:0 0 5px rgba(147,197,253,.5),0 0 10px rgba(147,197,253,.5)}50%{text-shadow:0 0 20px rgba(147,197,253,.8),0 0 30px rgba(147,197,253,.8)}}}@keyframes roll-9e711246{0%{transform:translate(-50%) rotate(0)}to{transform:translate(50%) rotate(360deg)}}.animate-roll[data-v-9e711246]{animation:roll-9e711246 4s linear infinite}.container{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.floating-frame{margin:15px;float:left;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;z-index:5000;position:fixed;cursor:move;bottom:0;right:0}.handle{width:100%;height:20px;background:#ccc;cursor:move;text-align:center}.floating-frame img{width:100%;height:auto}.controls{margin-top:10px}#webglContainer{top:0;left:0}.floating-frame2{margin:15px;width:800px;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;min-height:200px;z-index:5000}:root{--baklava-control-color-primary: #e28b46;--baklava-control-color-error: #d00000;--baklava-control-color-background: #2c3748;--baklava-control-color-foreground: white;--baklava-control-color-hover: #455670;--baklava-control-color-active: #556986;--baklava-control-color-disabled-foreground: #666c75;--baklava-control-border-radius: 3px;--baklava-sidebar-color-background: #1b202c;--baklava-sidebar-color-foreground: white;--baklava-node-color-background: #1b202c;--baklava-node-color-foreground: white;--baklava-node-color-hover: #e28c4677;--baklava-node-color-selected: var(--baklava-control-color-primary);--baklava-node-color-resize-handle: var(--baklava-control-color-background);--baklava-node-title-color-background: #151a24;--baklava-node-title-color-foreground: white;--baklava-group-node-title-color-background: #215636;--baklava-group-node-title-color-foreground: white;--baklava-node-interface-port-tooltip-color-foreground: var(--baklava-control-color-primary);--baklava-node-interface-port-tooltip-color-background: var(--baklava-editor-background-pattern-black);--baklava-node-border-radius: 6px;--baklava-color-connection-default: #737f96;--baklava-color-connection-allowed: #48bc79;--baklava-color-connection-forbidden: #bc4848;--baklava-editor-background-pattern-default: #202b3c;--baklava-editor-background-pattern-line: #263140;--baklava-editor-background-pattern-black: #263140;--baklava-context-menu-background: #1b202c;--baklava-context-menu-shadow: 0 0 8px rgba(0, 0, 0, .65);--baklava-toolbar-background: #1b202caa;--baklava-toolbar-foreground: white;--baklava-node-palette-background: #1b202caa;--baklava-node-palette-foreground: white;--baklava-visual-transition: .1s linear}.baklava-button{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);transition:background-color var(--baklava-visual-transition);border:none;padding:.45em .35em;border-radius:var(--baklava-control-border-radius);font-size:inherit;cursor:pointer;overflow-x:hidden}.baklava-button:hover{background-color:var(--baklava-control-color-hover)}.baklava-button:active{background-color:var(--baklava-control-color-primary)}.baklava-button.--block{width:100%}.baklava-checkbox{display:flex;padding:.35em 0;cursor:pointer;overflow-x:hidden;align-items:center}.baklava-checkbox .__checkmark-container{display:flex;background-color:var(--baklava-control-color-background);border-radius:var(--baklava-control-border-radius);transition:background-color var(--baklava-visual-transition);width:18px;height:18px}.baklava-checkbox:hover .__checkmark-container{background-color:var(--baklava-control-color-hover)}.baklava-checkbox:active .__checkmark-container{background-color:var(--baklava-control-color-active)}.baklava-checkbox .__checkmark{stroke-dasharray:15;stroke-dashoffset:15;stroke:var(--baklava-control-color-foreground);stroke-width:2px;fill:none;transition:stroke-dashoffset var(--baklava-visual-transition)}.baklava-checkbox.--checked .__checkmark{stroke-dashoffset:0}.baklava-checkbox.--checked .__checkmark-container{background-color:var(--baklava-control-color-primary)}.baklava-checkbox .__label{margin-left:.5rem}.baklava-context-menu{color:var(--baklava-control-color-foreground);position:absolute;display:inline-block;z-index:100;background-color:var(--baklava-context-menu-background);box-shadow:var(--baklava-context-menu-shadow);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);min-width:6rem;width:-moz-max-content;width:max-content}.baklava-context-menu>.item{display:flex;align-items:center;padding:.35em 1em;transition:background .05s linear;position:relative}.baklava-context-menu>.item>.__label{flex:1 1 auto}.baklava-context-menu>.item>.__submenu-icon{margin-left:.75rem}.baklava-context-menu>.item.--disabled{color:var(--baklava-control-color-hover)}.baklava-context-menu>.item:not(.--header):not(.--active):not(.--disabled):hover{background:var(--baklava-control-color-primary)}.baklava-context-menu>.item.--active{background:var(--baklava-control-color-primary)}.baklava-context-menu.--nested{left:100%;top:0}.baklava-context-menu.--flipped-x.--nested{left:unset;right:100%}.baklava-context-menu.--flipped-y.--nested{top:unset;bottom:0}.baklava-context-menu>.divider{margin:.35em 0;height:1px;background-color:var(--baklava-control-color-hover)}.baklava-icon{display:block;height:100%}.baklava-icon.--clickable{cursor:pointer;transition:color var(--baklava-visual-transition)}.baklava-icon.--clickable:hover{color:var(--baklava-control-color-primary)}.baklava-input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);border:none;border-radius:var(--baklava-control-border-radius);padding:.45em .75em;width:100%;transition:background-color var(--baklava-visual-transition);font-size:inherit;font:inherit}.baklava-input:hover{background-color:var(--baklava-control-color-hover)}.baklava-input:active{background-color:var(--baklava-control-color-active)}.baklava-input:focus-visible{outline:1px solid var(--baklava-control-color-primary)}.baklava-input[type=number]::-webkit-inner-spin-button,.baklava-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.baklava-input.--invalid{box-shadow:0 0 2px 2px var(--baklava-control-color-error)}.baklava-num-input{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);width:100%;display:grid;grid-template-columns:20px 1fr 20px}.baklava-num-input>.__button{display:flex;flex:0 0 auto;width:20px;justify-content:center;align-items:center;transition:background var(--baklava-visual-transition);cursor:pointer}.baklava-num-input>.__button:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__button:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__button.--dec{grid-area:1/1/span 1/span 1}.baklava-num-input>.__button.--dec>svg{transform:rotate(90deg)}.baklava-num-input>.__button.--inc{grid-area:1/3/span 1/span 1}.baklava-num-input>.__button.--inc>svg{transform:rotate(-90deg)}.baklava-num-input>.__button path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-num-input>.__content{grid-area:1/2/span 1/span 1;display:inline-flex;cursor:pointer;max-width:100%;min-width:0;align-items:center;transition:background-color var(--baklava-visual-transition)}.baklava-num-input>.__content:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__content:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__content>.__label,.baklava-num-input>.__content>.__value{margin:.35em 0;padding:0 .5em}.baklava-num-input>.__content>.__label{flex:1;min-width:0;overflow:hidden}.baklava-num-input>.__content>.__value{text-align:right}.baklava-num-input>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-select{width:100%;position:relative;color:var(--baklava-control-color-foreground)}.baklava-select.--open>.__selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.baklava-select.--open>.__selected>.__icon{transform:rotate(180deg)}.baklava-select>.__selected{background-color:var(--baklava-control-color-background);padding:.35em .75em;border-radius:var(--baklava-control-border-radius);transition:background var(--baklava-visual-transition);min-height:1.7em;display:flex;align-items:center;cursor:pointer}.baklava-select>.__selected:hover{background:var(--baklava-control-color-hover)}.baklava-select>.__selected:active{background:var(--baklava-control-color-active)}.baklava-select>.__selected>.__text{flex:1 0 auto;flex-basis:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.baklava-select>.__selected>.__icon{flex:0 0 auto;display:flex;justify-content:center;align-items:center;transition:transform .25s ease;width:18px;height:18px}.baklava-select>.__selected>.__icon path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-select>.__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background-color:var(--baklava-context-menu-background);filter:drop-shadow(0 0 4px black);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);max-height:15em;overflow-y:scroll}.baklava-select>.__dropdown::-webkit-scrollbar{width:0px;background:transparent}.baklava-select>.__dropdown>.item{padding:.35em .35em .35em 1em;transition:background .05s linear}.baklava-select>.__dropdown>.item:not(.--header):not(.--active){cursor:pointer}.baklava-select>.__dropdown>.item:not(.--header):not(.--active):hover{background:var(--baklava-control-color-hover)}.baklava-select>.__dropdown>.item.--active{background:var(--baklava-control-color-primary)}.baklava-select>.__dropdown>.item.--header{color:var(--baklava-control-color-disabled-foreground);border-bottom:1px solid var(--baklava-control-color-disabled-foreground);padding:.5em .35em .5em 1em}.baklava-slider{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);position:relative;cursor:pointer}.baklava-slider>.__content{display:flex;position:relative}.baklava-slider>.__content>.__label,.baklava-slider>.__content>.__value{flex:1 1 auto;margin:.35em 0;padding:0 .5em;text-overflow:ellipsis}.baklava-slider>.__content>.__value{text-align:right}.baklava-slider>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-slider>.__slider{position:absolute;top:0;bottom:0;left:0;background-color:var(--baklava-control-color-primary);border-radius:var(--baklava-control-border-radius)}.baklava-connection{stroke:var(--baklava-color-connection-default);stroke-width:2px;fill:none}.baklava-connection.--temporary{stroke-width:4px;stroke-dasharray:5 5;stroke-dashoffset:0;animation:dash 1s linear infinite;transform:translateY(-1px)}@keyframes dash{to{stroke-dashoffset:20}}.baklava-connection.--allowed{stroke:var(--baklava-color-connection-allowed)}.baklava-connection.--forbidden{stroke:var(--baklava-color-connection-forbidden)}.baklava-minimap{position:absolute;height:15%;width:15%;min-width:150px;max-width:90%;top:20px;right:20px;z-index:900}.baklava-editor{width:100%;height:100%;position:relative;overflow:hidden;outline:none!important;font-family:Lato,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:15px;touch-action:none}.baklava-editor .background{background-color:var(--baklava-editor-background-pattern-default);background-image:linear-gradient(var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(90deg,var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(var(--baklava-editor-background-pattern-line) 1px,transparent 1px),linear-gradient(90deg,var(--baklava-editor-background-pattern-line) 1px,transparent 1px);background-repeat:repeat;width:100%;height:100%;pointer-events:none!important}.baklava-editor *:not(input):not(textarea){user-select:none;-moz-user-select:none;-webkit-user-select:none;touch-action:none}.baklava-editor .input-user-select{user-select:auto;-moz-user-select:auto;-webkit-user-select:auto}.baklava-editor *,.baklava-editor *:after,.baklava-editor *:before{box-sizing:border-box}.baklava-editor.--temporary-connection{cursor:crosshair}.baklava-editor .connections-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none!important}.baklava-editor .node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.baklava-editor .node-container *{pointer-events:all}.baklava-ignore-mouse *{pointer-events:none!important}.baklava-ignore-mouse .__port{pointer-events:all!important}.baklava-node-interface{padding:.25em 0;position:relative}.baklava-node-interface .__port{position:absolute;width:10px;height:10px;background:white;border-radius:50%;top:calc(50% - 5px);cursor:crosshair}.baklava-node-interface .__port.--selected{outline:2px var(--baklava-color-connection-default) solid;outline-offset:4px}.baklava-node-interface.--input{text-align:left;padding-left:.5em}.baklava-node-interface.--input .__port{left:-1.1em}.baklava-node-interface.--output{text-align:right;padding-right:.5em}.baklava-node-interface.--output .__port{right:-1.1em}.baklava-node-interface .__tooltip{position:absolute;left:5px;top:15px;transform:translate(-50%);background:var(--baklava-node-interface-port-tooltip-color-background);color:var(--baklava-node-interface-port-tooltip-color-foreground);padding:.25em .5em;text-align:center;z-index:2}.baklava-node-palette{position:absolute;left:0;top:60px;width:250px;height:calc(100% - 60px);z-index:3;padding:2rem;overflow-y:auto;background:var(--baklava-node-palette-background);color:var(--baklava-node-palette-foreground)}.baklava-node-palette h1{margin-top:2rem}.baklava-node.--palette{position:unset;margin:1rem 0;cursor:grab}.baklava-node.--palette:first-child{margin-top:0}.baklava-node.--palette .__title{padding:.5rem;border-radius:var(--baklava-node-border-radius)}.baklava-dragged-node{position:absolute;width:calc(250px - 4rem);height:40px;z-index:4;pointer-events:none}.baklava-node{background:var(--baklava-node-color-background);color:var(--baklava-node-color-foreground);border:1px solid transparent;border-radius:var(--baklava-node-border-radius);position:absolute;box-shadow:0 0 4px #000c;transition:border-color var(--baklava-visual-transition),box-shadow var(--baklava-visual-transition);width:var(--width)}.baklava-node:hover{border-color:var(--baklava-node-color-hover)}.baklava-node:hover .__resize-handle:after{opacity:1}.baklava-node.--selected{z-index:5;border-color:var(--baklava-node-color-selected)}.baklava-node.--dragging{box-shadow:0 0 12px #000c}.baklava-node.--dragging>.__title{cursor:grabbing}.baklava-node>.__title{display:flex;background:var(--baklava-node-title-color-background);color:var(--baklava-node-title-color-foreground);padding:.4em .75em;border-radius:var(--baklava-node-border-radius) var(--baklava-node-border-radius) 0 0;cursor:grab}.baklava-node>.__title>*:first-child{flex-grow:1}.baklava-node>.__title>.__title-label{pointer-events:none}.baklava-node>.__title>.__menu{position:relative;cursor:initial}.baklava-node[data-node-type^=__baklava_]>.__title{background:var(--baklava-group-node-title-color-background);color:var(--baklava-group-node-title-color-foreground)}.baklava-node>.__content{padding:.75em}.baklava-node>.__content>div>div{margin:.5em 0}.baklava-node.--two-column>.__content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:". ." ". ."}.baklava-node.--two-column>.__content>.__inputs{grid-row:1;grid-column:1}.baklava-node.--two-column>.__content>.__outputs{grid-row:1;grid-column:2}.baklava-node .__resize-handle{position:absolute;right:0;bottom:0;width:1rem;height:1rem;transform:translate(50%);cursor:ew-resize}.baklava-node .__resize-handle:after{content:"";position:absolute;bottom:0;left:-.5rem;width:1rem;height:1rem;opacity:0;border-bottom-right-radius:var(--baklava-node-border-radius);transition:opacity var(--baklava-visual-transition);background:linear-gradient(-45deg,transparent 10%,var(--baklava-node-color-resize-handle) 10%,var(--baklava-node-color-resize-handle) 15%,transparent 15%,transparent 30%,var(--baklava-node-color-resize-handle) 30%,var(--baklava-node-color-resize-handle) 35%,transparent 35%,transparent 50%,var(--baklava-node-color-resize-handle) 50%,var(--baklava-node-color-resize-handle) 55%,transparent 55%)}.baklava-sidebar{position:absolute;height:100%;width:25%;min-width:300px;max-width:90%;top:0;right:0;z-index:1000;background-color:var(--baklava-sidebar-color-background);color:var(--baklava-sidebar-color-foreground);box-shadow:none;overflow-x:hidden;padding:1em;transform:translate(100%);transition:transform .5s;display:flex;flex-direction:column}.baklava-sidebar.--open{transform:translate(0);box-shadow:0 0 15px #000}.baklava-sidebar .__resizer{position:absolute;left:0;top:0;height:100%;width:4px;cursor:col-resize}.baklava-sidebar .__header{display:flex;align-items:center}.baklava-sidebar .__header .__node-name{margin-left:.5rem}.baklava-sidebar .__close{font-size:2em;border:none;background:none;color:inherit;cursor:pointer}.baklava-sidebar .__interface{margin:.5em 0}.baklava-toolbar{position:absolute;left:0;top:0;width:100%;height:60px;z-index:3;padding:.5rem 2rem;background:var(--baklava-toolbar-background);color:var(--baklava-toolbar-foreground);display:flex;align-items:center}.baklava-toolbar-entry{margin-left:.5rem;margin-right:.5rem}.baklava-toolbar-button{color:var(--baklava-toolbar-foreground);background:none;border:none;transition:color var(--baklava-visual-transition)}.baklava-toolbar-button:not([disabled]){cursor:pointer}.baklava-toolbar-button:hover:not([disabled]){color:var(--baklava-control-color-primary)}.baklava-toolbar-button[disabled]{color:var(--baklava-control-color-disabled-foreground)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(5px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out!important}.fade-enter-from,.fade-leave-to{opacity:0}.loading-indicator[data-v-4eb18f18]{display:flex;justify-content:center;align-items:center;height:100px;font-size:1.2em;color:#666}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PTSans,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1F2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4B5563}.dark input[type=file]::file-selector-button:hover{background:#6B7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6B7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-moz-range-thumb{background:#6B7280}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*{scrollbar-color:initial;scrollbar-width:initial}body{min-height:100vh;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #e0eaff var(--tw-gradient-from-position);--tw-gradient-to: rgb(224 234 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #f0e6ff var(--tw-gradient-to-position)}:is(.dark body){background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #0f2647 var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 38 71 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #1e1b4b var(--tw-gradient-to-position)}html{scroll-behavior:smooth}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-7277cfb8.ttf) format("truetype")}@font-face{font-family:PTSans;src:url(/assets/PTSans-Regular-23b91352.ttf) format("truetype")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-1{left:-.25rem}.-left-1\.5{left:-.375rem}.-left-6{left:-1.5rem}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-6{right:-1.5rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-6{top:-1.5rem}.-top-9{top:-2.25rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-20{left:5rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-20{right:5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-20{top:5rem}.top-3{top:.75rem}.top-32{top:8rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-4\/5{height:80%}.h-48{height:12rem}.h-5{height:1.25rem}.h-5\/6{height:83.333333%}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[600px\]{height:600px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-modal{height:calc(100% - 2rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-6{max-height:1.5rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-\[23rem\]{min-width:23rem}.min-w-\[24rem\]{min-width:24rem}.min-w-\[300px\]{min-width:300px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[23rem\]{max-width:23rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[50px\,1fr\]{grid-template-columns:50px 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-bg-dark{border-color:var(--color-bg-dark)}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(5 122 85 / var(--tw-border-opacity))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(4 108 78 / var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity: 1;border-color:rgb(214 31 105 / var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity: 1;border-color:rgb(191 18 93 / var(--tw-border-opacity))}.border-primary{border-color:var(--color-primary)}.border-primary-light{border-color:var(--color-primary-light)}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(126 58 242 / var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity: 1;border-color:rgb(108 43 217 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(224 36 36 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.border-secondary{border-color:var(--color-secondary)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(227 160 8 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.border-t-blue-600{--tw-border-opacity: 1;border-top-color:rgb(28 100 242 / var(--tw-border-opacity))}.bg-accent{background-color:var(--color-accent)}.bg-bg-dark-tone-panel{background-color:var(--color-bg-dark-tone-panel)}.bg-bg-light{background-color:var(--color-bg-light)}.bg-bg-light-tone{background-color:var(--color-bg-light-tone)}.bg-bg-light-tone-panel{background-color:var(--color-bg-light-tone-panel)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(222 247 236 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(49 196 141 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(1 71 55 / var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(229 237 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(88 80 236 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(254 236 220 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 232 243 / var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(237 235 254 / var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(253 232 232 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(249 128 128 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(119 29 29 / var(--tw-bg-opacity))}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}.bg-opacity-0{--tw-bg-opacity: 0}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-opacity-90{--tw-bg-opacity: .9}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg-light{--tw-gradient-from: var(--color-bg-light) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-bg-light-tone{--tw-gradient-from: var(--color-bg-light-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-100{--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-200{--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #76A9FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #1C64F2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-100{--tw-gradient-from: #E5EDFF var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 237 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #5850EC var(--tw-gradient-from-position);--tw-gradient-to: rgb(88 80 236 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #F05252 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #0694A2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 148 162 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-5\%{--tw-gradient-from-position: 5%}.via-bg-light{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-light) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-600{--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-600{--tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime-600{--tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #65a30d var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(214 31 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-600{--tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-600{--tw-gradient-to: rgb(4 116 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #047481 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-10\%{--tw-gradient-via-position: 10%}.to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1A56DB var(--tw-gradient-to-position)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #046C4E var(--tw-gradient-to-position)}.to-lime-200{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.to-lime-700{--tw-gradient-to: #4d7c0f var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #BF125D var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to: #DCD7FE var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #9061F9 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #7E3AF2 var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #C81E1E var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to: #036672 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #ffffff var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position: 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-blue-600{fill:#1c64f2}.fill-current{fill:currentColor}.fill-gray-300{fill:#d1d5db}.fill-gray-600{fill:#4b5563}.fill-green-500{fill:#0e9f6e}.fill-pink-600{fill:#d61f69}.fill-purple-600{fill:#7e3af2}.fill-red-600{fill:#e02424}.fill-secondary{fill:var(--color-secondary)}.fill-white{fill:#fff}.fill-yellow-400{fill:#e3a008}.stroke-2{stroke-width:2}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-80{padding-bottom:20rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-sans{font-family:PTSans,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity: 1;color:rgb(225 239 254 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-200{--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(49 196 141 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(4 108 78 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(81 69 205 / var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(66 56 157 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}.text-light-text-panel{color:var(--color-light-text-panel)}.text-orange-200{--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(255 90 31 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(208 56 1 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity: 1;color:rgb(214 31 105 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(191 18 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(153 21 75 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(108 43 217 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(85 33 181 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(253 232 232 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}.text-secondary{color:var(--color-secondary)}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity: 1;color:rgb(6 148 162 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}.text-opacity-95{--tw-text-opacity: .95}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/50{--tw-shadow-color: rgb(63 131 248 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-800\/80{--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/50{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-800\/80{--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/50{--tw-shadow-color: rgb(14 159 110 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-800\/80{--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/50{--tw-shadow-color: rgb(132 204 22 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-800\/80{--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/50{--tw-shadow-color: rgb(231 70 148 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-800\/80{--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/50{--tw-shadow-color: rgb(144 97 249 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-800\/80{--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(240 82 82 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-800\/80{--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/50{--tw-shadow-color: rgb(6 148 162 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-blue-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar{scrollbar-width:auto}.scrollbar::-webkit-scrollbar{display:block;width:var(--scrollbar-width, 16px);height:var(--scrollbar-height, 16px)}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar-track-bg-light{--scrollbar-track: var(--color-bg-light) !important}.scrollbar-track-bg-light-tone{--scrollbar-track: var(--color-bg-light-tone) !important}.scrollbar-track-gray-200{--scrollbar-track: #E5E7EB !important}.scrollbar-thumb-bg-light-tone{--scrollbar-thumb: var(--color-bg-light-tone) !important}.scrollbar-thumb-bg-light-tone-panel{--scrollbar-thumb: var(--color-bg-light-tone-panel) !important}.scrollbar-thumb-gray-400{--scrollbar-thumb: #9CA3AF !important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.display-none{display:none}h1{margin-bottom:1.5rem;font-size:2.25rem;line-height:2.5rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}@media (min-width: 768px){h1{font-size:3rem;line-height:1}}h2{margin-bottom:1rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark h2){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}h3{margin-bottom:.75rem;font-size:1.5rem;line-height:2rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}h4{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark h4){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}h1,h2{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding-bottom:.5rem}:is(.dark h1),:is(.dark h2){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}p{overflow-wrap:break-word;font-size:1rem;line-height:1.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}ul{margin-left:0;list-style-type:disc}li{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem;list-style-type:decimal}:root{--color-primary: #0e8ef0;--color-primary-light: #3dabff;--color-secondary: #0fd974;--color-accent: #f0700e;--color-light-text-panel: #ffffff;--color-dark-text-panel: #ffffff;--color-bg-light-panel: #7cb5ec;--color-bg-light: #e2edff;--color-bg-light-tone: #b9d2f7;--color-bg-light-code-block: #cad7ed;--color-bg-light-tone-panel: #8fb5ef;--color-bg-light-discussion: #c5d8f8;--color-bg-light-discussion-odd: #d6e7ff;--color-bg-dark: #132e59;--color-bg-dark-tone: #25477d;--color-bg-dark-tone-panel: #4367a3;--color-bg-dark-code-block: #2254a7;--color-bg-dark-discussion: #435E8A;--color-bg-dark-discussion-odd: #284471}textarea,input,select{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}:is(.dark textarea),:is(.dark input),:is(.dark select){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.background-color{min-height:100vh;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #C3DDFD var(--tw-gradient-to-position)}:is(.dark .background-color){--tw-gradient-from: #233876 var(--tw-gradient-from-position);--tw-gradient-to: rgb(35 56 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position)}.toolbar-color{border-radius:9999px;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #DCD7FE var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .toolbar-color){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #5521B5 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.panels-color{border-radius:.25rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #C3DDFD var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .panels-color){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.unicolor-panels-color{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .unicolor-panels-color){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.chatbox-color{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #A4CAFE var(--tw-gradient-to-position)}:is(.dark .chatbox-color){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position)}.message{position:relative;margin:.5rem;display:flex;width:100%;flex-grow:1;flex-direction:column;flex-wrap:wrap;overflow:visible;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding:1.25rem 1.25rem .75rem;font-size:1.125rem;line-height:1.75rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .message){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.message:hover{--tw-border-opacity: 1;border-color:rgb(118 169 250 / var(--tw-border-opacity))}:is(.dark .message:hover){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.message{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.dark .message{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.message:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}:is(.dark .message:nth-child(2n)){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.message:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .message:nth-child(odd)){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.message-header{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.message-content{font-size:1.125rem;line-height:1.75rem;line-height:1.625}body{min-height:100vh;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #F3F4F6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #E5E7EB var(--tw-gradient-to-position);font-size:1rem;line-height:1.5rem}:is(.dark body){--tw-gradient-from: #1F2937 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.discussion{margin-right:.5rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #A4CAFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(164 202 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #76A9FA var(--tw-gradient-to-position)}.discussion:hover{--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}:is(.dark .discussion){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position)}:is(.dark .discussion):hover{--tw-gradient-from: #1A56DB var(--tw-gradient-from-position);--tw-gradient-to: rgb(26 86 219 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.discussion-hilighted{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #CABFFD var(--tw-gradient-to-position)}.discussion-hilighted:hover{--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}:is(.dark .discussion-hilighted){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #4A1D96 var(--tw-gradient-to-position)}:is(.dark .discussion-hilighted):hover{--tw-gradient-from: #1A56DB var(--tw-gradient-from-position);--tw-gradient-to: rgb(26 86 219 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.bg-gradient-welcome{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #EDEBFE var(--tw-gradient-to-position)}:is(.dark .bg-gradient-welcome){--tw-gradient-from: #233876 var(--tw-gradient-from-position);--tw-gradient-to: rgb(35 56 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #4A1D96 var(--tw-gradient-to-position)}.bg-gradient-progress{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #DCD7FE var(--tw-gradient-to-position)}:is(.dark .bg-gradient-progress){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #5521B5 var(--tw-gradient-to-position)}.text-gradient-title{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #1C64F2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #7E3AF2 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}:is(.dark .text-gradient-title){--tw-gradient-from: #76A9FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #AC94FA var(--tw-gradient-to-position)}.text-subtitle{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .text-subtitle){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-author{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .text-author){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-loading{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .text-loading){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-progress{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}:is(.dark .text-progress){--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}.btn-primary{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.card{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:1.5rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .card){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.input{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:.5rem 1rem}.input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .input){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .input:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .label){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.link{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.link:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}:is(.dark .link){--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}:is(.dark .link:hover){--tw-text-opacity: 1;color:rgb(164 202 254 / var(--tw-text-opacity))}.navbar-container{border-radius:.25rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #A4CAFE var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .navbar-container){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.game-menu{position:relative;display:flex;align-items:center;justify-content:center}.text-shadow-custom{text-shadow:1px 1px 0px white,-1px -1px 0px white,1px -1px 0px white,-1px 1px 0px white}.menu-item{margin-bottom:.5rem;padding:.5rem 1rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity));transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:is(.dark .menu-item){--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}.menu-item:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}:is(.dark .menu-item):hover{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.menu-item.active-link{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:.375rem;border-top-right-radius:.375rem;--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity));font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity));transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);text-shadow:1px 1px 0px white,-1px -1px 0px white,1px -1px 0px white,-1px 1px 0px white}.menu-item.active-link:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}:is(.dark .menu-item.active-link):hover{--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}.menu-item.active-link{text-shadow:0 0 10px rgba(255,100,100,.5)}.menu-item.active-link:before{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:5px;background:linear-gradient(to right,#ff3b3b,#ff7b7b,#ff3b3b);border-radius:10px;animation:shimmer 2s infinite}.dark .menu-item.active-link:before{background:linear-gradient(to right,#8b0000,#ff0000,#8b0000)}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:100% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.strawberry-emoji{display:inline-block;margin-left:5px;animation:bounce 2s infinite}@keyframes lightsaber{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.app-card{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);--tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #A4CAFE var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity));--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.app-card:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .app-card){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #233876 var(--tw-gradient-to-position);--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.app-card:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}button{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}button:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#A4CAFE #E1EFFE}.dark .scrollbar-thin{scrollbar-color:#1A56DB #233876}.scrollbar-thin::-webkit-scrollbar{width:.5rem}.scrollbar-thin::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar-thin)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar-thin)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.scrollbar-thin::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}:is(.dark .scrollbar-thin)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.btn{display:flex;align-items:center;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.btn-primary:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}:is(.dark .btn-primary:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.btn-secondary{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.btn-secondary:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}:is(.dark .btn-secondary){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .btn-secondary:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .btn-secondary:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}.search-input{width:100%;border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(195 221 253 / var(--tw-border-opacity));background-color:transparent;padding:.5rem 1rem .5rem 2.5rem;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.search-input:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity));outline:2px solid transparent;outline-offset:2px}:is(.dark .search-input){--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity));--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}:is(.dark .search-input:focus){--tw-border-opacity: 1;border-color:rgb(118 169 250 / var(--tw-border-opacity))}.scrollbar{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar{scrollbar-width:thin}.scrollbar::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar{--scrollbar-track: var(--color-bg-light-tone);--scrollbar-thumb: var(--color-bg-light-tone-panel);scrollbar-width:thin;scrollbar-color:#A4CAFE #E1EFFE}.dark .scrollbar{scrollbar-color:#1A56DB #233876}.scrollbar::-webkit-scrollbar{width:.5rem}.scrollbar::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .scrollbar)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.scrollbar::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}:is(.dark .scrollbar)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.scrollbar{--scrollbar-thumb-hover: var(--color-primary);--scrollbar-thumb-active: var(--color-secondary)}:is(.dark .scrollbar){--scrollbar-track: var(--color-bg-dark-tone);--scrollbar-thumb: var(--color-bg-dark-tone-panel);--scrollbar-thumb-hover: var(--color-primary)}.card-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .card-title){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.card-content{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .card-content){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.card-footer{margin-top:1rem;display:flex;align-items:center;justify-content:space-between}.card-footer-button{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.card-footer-button:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.subcard{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:1rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .subcard){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.subcard-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .subcard-title){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.subcard-content{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(.dark .subcard-content){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.subcard-footer{margin-top:1rem;display:flex;align-items:center;justify-content:space-between}.subcard-footer-button{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity));padding:.5rem 1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.subcard-footer-button:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.last\:mb-0:last-child{margin-bottom:0}.last\:\!border-transparent:last-child{border-color:transparent!important}.last\:pb-0:last-child{padding-bottom:0}.odd\:bg-bg-light-tone:nth-child(odd){background-color:var(--color-bg-light-tone)}.even\:bg-bg-light-discussion-odd:nth-child(2n){background-color:var(--color-bg-light-discussion-odd)}.even\:bg-bg-light-tone-panel:nth-child(2n){background-color:var(--color-bg-light-tone-panel)}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:bottom-0{bottom:0}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:-translate-x-12{--tw-translate-x: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-8{--tw-translate-x: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-8{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-\[0px\]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-\[-50px\]{--tw-translate-y: -50px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-secondary{border-color:var(--color-secondary)}.group:hover .group-hover\:bg-white\/50{background-color:#ffffff80}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity: 0}.group:hover .group-hover\:from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.group:hover .group-hover\:to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.group:focus .group-focus\:ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus .group-focus\:ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.peer:checked~.peer-checked\:text-primary{color:var(--color-primary)}.hover\:z-10:hover{z-index:10}.hover\:z-20:hover{z-index:20}.hover\:z-50:hover{z-index:50}.hover\:h-8:hover{height:2rem}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-8:hover{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-150:hover{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-2:hover{border-width:2px}.hover\:border-solid:hover{border-style:solid}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(188 240 218 / var(--tw-border-opacity))}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary-light:hover{border-color:var(--color-primary-light)}.hover\:border-secondary:hover{border-color:var(--color-secondary)}.hover\:bg-bg-light-tone:hover{background-color:var(--color-bg-light-tone)}.hover\:bg-bg-light-tone-panel:hover{background-color:var(--color-bg-light-tone-panel)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 21 75 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary-light:hover{background-color:var(--color-primary-light)}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(85 33 181 / var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.hover\:bg-opacity-20:hover{--tw-bg-opacity: .2}.hover\:bg-gradient-to-bl:hover{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.hover\:bg-gradient-to-br:hover{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.hover\:bg-gradient-to-l:hover{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.hover\:from-teal-200:hover{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-lime-200:hover{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}.hover\:text-green-600:hover{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.hover\:text-indigo-600:hover{--tw-text-opacity: 1;color:rgb(88 80 236 / var(--tw-text-opacity))}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-purple-600:hover{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.hover\:text-secondary:hover{color:var(--color-secondary)}.hover\:text-teal-600:hover{--tw-text-opacity: 1;color:rgb(4 116 129 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:text-yellow-600:hover{--tw-text-opacity: 1;color:rgb(159 88 10 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:scrollbar-thumb-primary{--scrollbar-thumb-hover: var(--color-primary) !important}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.focus\:border-secondary:focus{border-color:var(--color-secondary)}.focus\:border-transparent:focus{border-color:transparent}.focus\:text-blue-700:focus{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity))}.focus\:ring-cyan-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 240 218 / var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(49 196 141 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity))}.focus\:ring-lime-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 215 254 / var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 191 253 / var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 180 / var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(240 82 82 / var(--tw-ring-opacity))}.focus\:ring-secondary:focus{--tw-ring-color: var(--color-secondary)}.focus\:ring-teal-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:scale-75:active{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-gray-300:active{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.active\:scrollbar-thumb-secondary{--scrollbar-thumb-active: var(--color-secondary) !important}:is(.dark .dark\:divide-gray-700)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}:is(.dark .dark\:border-bg-light){border-color:var(--color-bg-light)}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}:is(.dark .dark\:border-green-500){--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-400){--tw-border-opacity: 1;border-color:rgb(241 126 184 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-500){--tw-border-opacity: 1;border-color:rgb(231 70 148 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-400){--tw-border-opacity: 1;border-color:rgb(172 148 250 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-500){--tw-border-opacity: 1;border-color:rgb(144 97 249 / var(--tw-border-opacity))}:is(.dark .dark\:border-red-500){--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-yellow-300){--tw-border-opacity: 1;border-color:rgb(250 202 21 / var(--tw-border-opacity))}:is(.dark .dark\:bg-bg-dark){background-color:var(--color-bg-dark)}:is(.dark .dark\:bg-bg-dark-tone){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:bg-bg-dark-tone-panel){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:bg-black){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-200){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-500){--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-800){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-400){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-200){--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-800){--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-900){--tw-bg-opacity: 1;background-color:rgb(1 71 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-200){--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-500){--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-700){--tw-bg-opacity: 1;background-color:rgb(180 52 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-800){--tw-bg-opacity: 1;background-color:rgb(138 44 13 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-200){--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-600){--tw-bg-opacity: 1;background-color:rgb(214 31 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-200){--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-500){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-600){--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-200){--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-600){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-800){--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-900){--tw-bg-opacity: 1;background-color:rgb(119 29 29 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-200){--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity: .8}:is(.dark .dark\:bg-opacity-90){--tw-bg-opacity: .9}:is(.dark .dark\:from-bg-dark){--tw-gradient-from: var(--color-bg-dark) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-bg-dark-tone){--tw-gradient-from: var(--color-bg-dark-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-blue-400){--tw-gradient-from: #76A9FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-blue-800){--tw-gradient-from: #1E429F var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 66 159 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-blue-900){--tw-gradient-from: #233876 var(--tw-gradient-from-position);--tw-gradient-to: rgb(35 56 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-indigo-400){--tw-gradient-from: #8DA2FB var(--tw-gradient-from-position);--tw-gradient-to: rgb(141 162 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-indigo-900){--tw-gradient-from: #362F78 var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 47 120 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:via-bg-dark){--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-dark) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:to-gray-800){--tw-gradient-to: #1F2937 var(--tw-gradient-to-position)}:is(.dark .dark\:to-purple-400){--tw-gradient-to: #AC94FA var(--tw-gradient-to-position)}:is(.dark .dark\:to-purple-800){--tw-gradient-to: #5521B5 var(--tw-gradient-to-position)}:is(.dark .dark\:to-purple-900){--tw-gradient-to: #4A1D96 var(--tw-gradient-to-position)}:is(.dark .dark\:fill-gray-300){fill:#d1d5db}:is(.dark .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-300){--tw-text-opacity: 1;color:rgb(164 202 254 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-400){--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-800){--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}:is(.dark .dark\:text-dark-text-panel){color:var(--color-dark-text-panel)}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(49 196 141 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-500){--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-800){--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-900){--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-500){--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-900){--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}:is(.dark .dark\:text-orange-200){--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-400){--tw-text-opacity: 1;color:rgb(241 126 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-500){--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-900){--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary){color:var(--color-primary)}:is(.dark .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(172 148 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-500){--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-900){--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-200){--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-300){--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-800){--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-900){--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-50){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-400){--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-800){--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-900){--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-blue-800\/80){--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-cyan-800\/80){--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-green-800\/80){--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-lime-800\/80){--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-pink-800\/80){--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-purple-800\/80){--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-red-800\/80){--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-teal-800\/80){--tw-shadow-color: rgb(5 80 92 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:ring-gray-500){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-white){--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-opacity-20){--tw-ring-opacity: .2}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color: #374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color: #1F2937}:is(.dark .dark\:scrollbar-track-bg-dark){--scrollbar-track: var(--color-bg-dark) !important}:is(.dark .dark\:scrollbar-track-bg-dark-tone){--scrollbar-track: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-track-gray-800){--scrollbar-track: #1F2937 !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone){--scrollbar-thumb: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone-panel){--scrollbar-thumb: var(--color-bg-dark-tone-panel) !important}:is(.dark .dark\:scrollbar-thumb-gray-600){--scrollbar-thumb: #4B5563 !important}:is(.dark .odd\:dark\:bg-bg-dark-tone):nth-child(odd){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:even\:bg-bg-dark-discussion-odd:nth-child(2n)){background-color:var(--color-bg-dark-discussion-odd)}:is(.dark .dark\:even\:bg-bg-dark-tone-panel:nth-child(2n)){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .group:hover .dark\:group-hover\:bg-gray-800\/60){background-color:#1f293799}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .group:focus .dark\:group-focus\:ring-gray-800\/70){--tw-ring-color: rgb(31 41 55 / .7)}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-primary:hover){border-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-blue-300:hover){--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-300:hover){--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-500:hover){--tw-bg-opacity: 1;background-color:rgb(231 70 148 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-700:hover){--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary:hover){background-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-purple-500:hover){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-700:hover){--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-300:hover){--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-700:hover){--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-300:hover){--tw-bg-opacity: 1;background-color:rgb(250 202 21 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-400:hover){--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone):hover{background-color:var(--color-bg-dark-tone)}:is(.dark .hover\:dark\:bg-bg-dark-tone-panel):hover{background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:hover\:text-blue-200:hover){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-blue-300:hover){--tw-text-opacity: 1;color:rgb(164 202 254 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-900:hover){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-green-300:hover){--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-primary:hover){color:var(--color-primary)}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:scrollbar-thumb-primary){--scrollbar-thumb-hover: var(--color-primary) !important}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-secondary:focus){border-color:var(--color-secondary)}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-cyan-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-lime-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-400:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(155 28 28 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-secondary:focus){--tw-ring-color: var(--color-secondary)}:is(.dark .dark\:focus\:ring-teal-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-yellow-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color: #374151}:is(.dark .dark\:active\:bg-gray-600:active){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:h-10{height:2.5rem}.sm\:h-6{height:1.5rem}.sm\:h-64{height:16rem}.sm\:w-1\/4{width:25%}.sm\:w-10{width:2.5rem}.sm\:w-6{width:1.5rem}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:rounded-lg{border-radius:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-center{text-align:center}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:order-2{order:2}.md\:mr-6{margin-right:1.5rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:w-48{width:12rem}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:rounded-none{border-radius:0}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:border-0{border-width:0px}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-6{padding:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-medium{font-weight:500}.md\:text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}:is(.dark .md\:dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .md\:dark\:hover\:bg-transparent:hover){background-color:transparent}:is(.dark .md\:dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:h-80{height:20rem}.xl\:w-1\/6{width:16.666667%}}@media (min-width: 1536px){.\32xl\:h-96{height:24rem}} diff --git a/web/dist/index.html b/web/dist/index.html index e4ec1e58..d6244d36 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -6,8 +6,8 @@ LoLLMS WebUI - - + +
    diff --git a/web/src/components/AppCard.vue b/web/src/components/AppCard.vue index 28c06233..6c6c48e6 100644 --- a/web/src/components/AppCard.vue +++ b/web/src/components/AppCard.vue @@ -7,6 +7,7 @@

    {{ app.name }}

    Author: {{ app.author }}

    Version: {{ app.version }}

    +

    Category: {{ app.category }}

    Creation date: {{ formatDate(app.creation_date) }}

    Last update: {{ formatDate(app.last_update_date) }}

    diff --git a/web/src/views/SettingsView.vue b/web/src/views/SettingsView.vue index 33ebb3b4..8f010f39 100644 --- a/web/src/views/SettingsView.vue +++ b/web/src/views/SettingsView.vue @@ -1774,6 +1774,7 @@ + @@ -2940,7 +2941,45 @@ - + + + + + + + + + + + +
    + + +
    + +
    +
    + + +
    + +
    +
    +