llmxray 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/assets/{AITrainingPage-VU-Nu5i0.js → AITrainingPage-DEU4UAR7.js} +1 -1
- package/dist/assets/AnalyticsPage-C7mNUAil.js +1 -0
- package/dist/assets/{BenchmarkPage-CQUTAU0c.js → BenchmarkPage-jiUqdHmg.js} +2 -2
- package/dist/assets/{ComparisonPage-DSO_-JZF.js → ComparisonPage-BoBWSObY.js} +3 -3
- package/dist/assets/CostDashboardPage-BKQDsZhx.js +1 -0
- package/dist/assets/{DashboardPage-lqAFJvOo.js → DashboardPage-CV8Ejgxv.js} +43 -43
- package/dist/assets/{EmbeddingsPage-DDBfFe8z.js → EmbeddingsPage-DXjVT4eU.js} +1 -1
- package/dist/assets/{GoogleCallbackPage-H8X6YDz9.js → GoogleCallbackPage-BUIkYpZv.js} +1 -1
- package/dist/assets/{JsonTreeNode-DQ_R5Euc.js → JsonTreeNode-C0UNUwZm.js} +1 -1
- package/dist/assets/{ModelCapabilityIcons.vue_vue_type_script_setup_true_lang-CV939MUZ.js → ModelCapabilityIcons.vue_vue_type_script_setup_true_lang-vQNvYFzV.js} +1 -1
- package/dist/assets/{RAGPage-DbZxWHmi.js → RAGPage-Dv4UDEyz.js} +1 -1
- package/dist/assets/SessionPage-B0fMQGSB.js +15 -0
- package/dist/assets/{SettingsPage-fmgr8zF9.js → SettingsPage-DTJP-4xU.js} +1 -1
- package/dist/assets/{StatusBadge.vue_vue_type_script_setup_true_lang-BbHpA7hy.js → StatusBadge.vue_vue_type_script_setup_true_lang-BiB0M6lv.js} +1 -1
- package/dist/assets/{StorageGauge.vue_vue_type_style_index_0_lang-Dd3BsCg6.js → StorageGauge.vue_vue_type_style_index_0_lang-DToi3R0q.js} +1 -1
- package/dist/assets/{SystemPage-Bd3SBsWI.js → SystemPage-BPK15qwe.js} +2 -2
- package/dist/assets/{TabBar.vue_vue_type_script_setup_true_lang-DlSEPHs6.js → TabBar.vue_vue_type_script_setup_true_lang-BtGCdMZK.js} +1 -1
- package/dist/assets/{TokenStreamDisplay.vue_vue_type_script_setup_true_lang-P-I0kJTd.js → TokenStreamDisplay.vue_vue_type_script_setup_true_lang-B6juPZsY.js} +1 -1
- package/dist/assets/{ToolWorkshopPage-D9doB8PF.js → ToolWorkshopPage-DmpoHHaD.js} +3 -3
- package/dist/assets/{agent-store-CuCtjbhV.js → agent-store-C6w1zV86.js} +1 -1
- package/dist/assets/{canvas-ai-db-DBUT-nyD.js → canvas-ai-db-BpqhUp6k.js} +1 -1
- package/dist/assets/{download-C3s6K1NW.js → download-pCIjWOn5.js} +1 -1
- package/dist/assets/{generate-service-DrRYe_-5.js → generate-service-DmtXqq_h.js} +1 -1
- package/dist/assets/{google-auth-store-B0WvuFWG.js → google-auth-store-Dgv2FihL.js} +1 -1
- package/dist/assets/index-534TcCbY.js +8 -0
- package/dist/assets/index-B72Sw9uL.css +1 -0
- package/dist/assets/{index-CUNpOQX9.js → index-ClITfJ3t.js} +1 -1
- package/dist/assets/{index-DoMyvAkM.js → index-DHuj6tKB.js} +1 -1
- package/dist/assets/{info-D-oZIv7P.js → info-Eg1tUw1x.js} +1 -1
- package/dist/assets/{metrics-store-DRErjO4D.js → metrics-store-7m97Sb7w.js} +1 -1
- package/dist/assets/{papaparse.min-DJzuA_ek.js → papaparse.min-3FeAYh4d.js} +1 -1
- package/dist/assets/{pencil-MO2uWQbW.js → pencil-CZp68oBU.js} +1 -1
- package/dist/assets/{rag-store-CBWvD3Va.js → rag-store-Bm0nxdec.js} +3 -3
- package/dist/assets/session-store-BQ0TF24S.js +1 -0
- package/dist/assets/{share-2-CnM5sBDm.js → share-2-CJJGZsZO.js} +1 -1
- package/dist/assets/{storage-store-cx_2Hb_J.js → storage-store-6qFwk_C5.js} +1 -1
- package/dist/assets/stream-handler-BM5egg14.js +4 -0
- package/dist/assets/{tool-workshop-store-Cb4eb3e4.js → tool-workshop-store-9_FKfdnT.js} +1 -1
- package/dist/assets/toolcall-store-C4Trr01T.js +1 -0
- package/dist/assets/{trash-2-Cj-NOsVZ.js → trash-2-DjfJXqVK.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CostDashboardPage-BLzCE-bT.js +0 -1
- package/dist/assets/SessionPage-DvtFE4GS.js +0 -15
- package/dist/assets/index-Bawj8X2v.css +0 -1
- package/dist/assets/index-DYHBy1xj.js +0 -8
- package/dist/assets/stream-handler-CXdBM2li.js +0 -4
- package/dist/assets/toolcall-store-xQEQUq5f.js +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-CV8Ejgxv.js","assets/metrics-store-7m97Sb7w.js","assets/format-BqVZ9rwM.js","assets/session-store-BQ0TF24S.js","assets/generate-service-DmtXqq_h.js","assets/StatusBadge.vue_vue_type_script_setup_true_lang-BiB0M6lv.js","assets/agent-store-C6w1zV86.js","assets/stream-handler-BM5egg14.js","assets/toolcall-store-C4Trr01T.js","assets/tool-workshop-store-9_FKfdnT.js","assets/rag-store-Bm0nxdec.js","assets/vector-db-ChAzHl5A.js","assets/message-memory-db-C3Ifhs2B.js","assets/ModelCapabilityIcons.vue_vue_type_script_setup_true_lang-vQNvYFzV.js","assets/pencil-CZp68oBU.js","assets/download-pCIjWOn5.js","assets/SessionPage-B0fMQGSB.js","assets/download-WPaeALA4.js","assets/TabBar.vue_vue_type_script_setup_true_lang-BtGCdMZK.js","assets/TokenStreamDisplay.vue_vue_type_script_setup_true_lang-B6juPZsY.js","assets/index-ClITfJ3t.js","assets/info-Eg1tUw1x.js","assets/JsonTreeNode-C0UNUwZm.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/JsonTreeNode-o8On9YD6.css","assets/ComparisonPage-BoBWSObY.js","assets/base-CrPFMexR.js","assets/share-2-CJJGZsZO.js","assets/EmbeddingsPage-DXjVT4eU.js","assets/storage-store-6qFwk_C5.js","assets/StorageGauge.vue_vue_type_style_index_0_lang-DToi3R0q.js","assets/StorageGauge-DN4vJnrl.css","assets/EmbeddingsPage-DtEKy4qg.css","assets/RAGPage-Dv4UDEyz.js","assets/BenchmarkPage-jiUqdHmg.js","assets/benchmark-db-D8D5Wf9h.js","assets/trash-2-DjfJXqVK.js","assets/ToolWorkshopPage-DmpoHHaD.js","assets/canvas-ai-db-BpqhUp6k.js","assets/ToolWorkshopPage-7TRbWVVL.css","assets/AITrainingPage-DEU4UAR7.js","assets/CostDashboardPage-BKQDsZhx.js","assets/AnalyticsPage-C7mNUAil.js","assets/SystemPage-BPK15qwe.js","assets/SettingsPage-DTJP-4xU.js","assets/google-auth-store-Dgv2FihL.js","assets/google-auth-CfEcVMA7.js","assets/GoogleCallbackPage-BUIkYpZv.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function s(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(r){if(r.ep)return;r.ep=!0;const a=s(r);fetch(r.href,a)}})();function il(t){const e=Object.create(null);for(const s of t.split(","))e[s]=1;return s=>s in e}const Kt={},Xn=[],Ps=()=>{},id=()=>!1,eo=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),rl=t=>t.startsWith("onUpdate:"),Pe=Object.assign,ol=(t,e)=>{const s=t.indexOf(e);s>-1&&t.splice(s,1)},Ub=Object.prototype.hasOwnProperty,Wt=(t,e)=>Ub.call(t,e),Ct=Array.isArray,Zn=t=>Gi(t)==="[object Map]",so=t=>Gi(t)==="[object Set]",uc=t=>Gi(t)==="[object Date]",Rt=t=>typeof t=="function",oe=t=>typeof t=="string",ms=t=>typeof t=="symbol",Ht=t=>t!==null&&typeof t=="object",rd=t=>(Ht(t)||Rt(t))&&Rt(t.then)&&Rt(t.catch),od=Object.prototype.toString,Gi=t=>od.call(t),Hb=t=>Gi(t).slice(8,-1),ad=t=>Gi(t)==="[object Object]",no=t=>oe(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,xi=il(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),io=t=>{const e=Object.create(null);return(s=>e[s]||(e[s]=t(s)))},Gb=/-\w/g,Ue=io(t=>t.replace(Gb,e=>e.slice(1).toUpperCase())),Wb=/\B([A-Z])/g,Ys=io(t=>t.replace(Wb,"-$1").toLowerCase()),ro=io(t=>t.charAt(0).toUpperCase()+t.slice(1)),la=io(t=>t?`on${ro(t)}`:""),Le=(t,e)=>!Object.is(t,e),Mr=(t,...e)=>{for(let s=0;s<t.length;s++)t[s](...e)},ld=(t,e,s,n=!1)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:s})},oo=t=>{const e=parseFloat(t);return isNaN(e)?t:e},zb=t=>{const e=oe(t)?Number(t):NaN;return isNaN(e)?t:e};let dc;const ao=()=>dc||(dc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lo(t){if(Ct(t)){const e={};for(let s=0;s<t.length;s++){const n=t[s],r=oe(n)?Xb(n):lo(n);if(r)for(const a in r)e[a]=r[a]}return e}else if(oe(t)||Ht(t))return t}const Jb=/;(?![^(]*\))/g,Qb=/:([^]+)/,Yb=/\/\*[^]*?\*\//g;function Xb(t){const e={};return t.replace(Yb,"").split(Jb).forEach(s=>{if(s){const n=s.split(Qb);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function pn(t){let e="";if(oe(t))e=t;else if(Ct(t))for(let s=0;s<t.length;s++){const n=pn(t[s]);n&&(e+=n+" ")}else if(Ht(t))for(const s in t)t[s]&&(e+=s+" ");return e.trim()}function Nv(t){if(!t)return null;let{class:e,style:s}=t;return e&&!oe(e)&&(t.class=pn(e)),s&&(t.style=lo(s)),t}const Zb="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",tm=il(Zb);function cd(t){return!!t||t===""}function em(t,e){if(t.length!==e.length)return!1;let s=!0;for(let n=0;s&&n<t.length;n++)s=Wi(t[n],e[n]);return s}function Wi(t,e){if(t===e)return!0;let s=uc(t),n=uc(e);if(s||n)return s&&n?t.getTime()===e.getTime():!1;if(s=ms(t),n=ms(e),s||n)return t===e;if(s=Ct(t),n=Ct(e),s||n)return s&&n?em(t,e):!1;if(s=Ht(t),n=Ht(e),s||n){if(!s||!n)return!1;const r=Object.keys(t).length,a=Object.keys(e).length;if(r!==a)return!1;for(const l in t){const d=t.hasOwnProperty(l),u=e.hasOwnProperty(l);if(d&&!u||!d&&u||!Wi(t[l],e[l]))return!1}}return String(t)===String(e)}function sm(t,e){return t.findIndex(s=>Wi(s,e))}const ud=t=>!!(t&&t.__v_isRef===!0),De=t=>oe(t)?t:t==null?"":Ct(t)||Ht(t)&&(t.toString===od||!Rt(t.toString))?ud(t)?De(t.value):JSON.stringify(t,dd,2):String(t),dd=(t,e)=>ud(e)?dd(t,e.value):Zn(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((s,[n,r],a)=>(s[ca(n,a)+" =>"]=r,s),{})}:so(e)?{[`Set(${e.size})`]:[...e.values()].map(s=>ca(s))}:ms(e)?ca(e):Ht(e)&&!Ct(e)&&!ad(e)?String(e):e,ca=(t,e="")=>{var s;return ms(t)?`Symbol(${(s=t.description)!=null?s:e})`:t};let qe;class fd{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=qe,!e&&qe&&(this.index=(qe.scopes||(qe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,s;if(this.scopes)for(e=0,s=this.scopes.length;e<s;e++)this.scopes[e].pause();for(e=0,s=this.effects.length;e<s;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,s;if(this.scopes)for(e=0,s=this.scopes.length;e<s;e++)this.scopes[e].resume();for(e=0,s=this.effects.length;e<s;e++)this.effects[e].resume()}}run(e){if(this._active){const s=qe;try{return qe=this,e()}finally{qe=s}}}on(){++this._on===1&&(this.prevScope=qe,qe=this)}off(){this._on>0&&--this._on===0&&(qe=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function al(t){return new fd(t)}function bd(){return qe}function nm(t,e=!1){qe&&qe.cleanups.push(t)}let te;const ua=new WeakSet;class md{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,qe&&qe.active&&qe.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,ua.has(this)&&(ua.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||hd(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,fc(this),gd(this);const e=te,s=fs;te=this,fs=!0;try{return this.fn()}finally{yd(this),te=e,fs=s,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)ul(e);this.deps=this.depsTail=void 0,fc(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?ua.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ea(this)&&this.run()}get dirty(){return Ea(this)}}let pd=0,Ai,Ci;function hd(t,e=!1){if(t.flags|=8,e){t.next=Ci,Ci=t;return}t.next=Ai,Ai=t}function ll(){pd++}function cl(){if(--pd>0)return;if(Ci){let e=Ci;for(Ci=void 0;e;){const s=e.next;e.next=void 0,e.flags&=-9,e=s}}let t;for(;Ai;){let e=Ai;for(Ai=void 0;e;){const s=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(n){t||(t=n)}e=s}}if(t)throw t}function gd(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function yd(t){let e,s=t.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),ul(n),im(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}t.deps=e,t.depsTail=s}function Ea(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(vd(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function vd(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Ni)||(t.globalVersion=Ni,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!Ea(t))))return;t.flags|=2;const e=t.dep,s=te,n=fs;te=t,fs=!0;try{gd(t);const r=t.fn(t._value);(e.version===0||Le(r,t._value))&&(t.flags|=128,t._value=r,e.version++)}catch(r){throw e.version++,r}finally{te=s,fs=n,yd(t),t.flags&=-3}}function ul(t,e=!1){const{dep:s,prevSub:n,nextSub:r}=t;if(n&&(n.nextSub=r,t.prevSub=void 0),r&&(r.prevSub=n,t.nextSub=void 0),s.subs===t&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let a=s.computed.deps;a;a=a.nextDep)ul(a,!0)}!e&&!--s.sc&&s.map&&s.map.delete(s.key)}function im(t){const{prevDep:e,nextDep:s}=t;e&&(e.nextDep=s,t.prevDep=void 0),s&&(s.prevDep=e,t.nextDep=void 0)}let fs=!0;const _d=[];function zs(){_d.push(fs),fs=!1}function Js(){const t=_d.pop();fs=t===void 0?!0:t}function fc(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const s=te;te=void 0;try{e()}finally{te=s}}}let Ni=0;class rm{constructor(e,s){this.sub=e,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class co{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!te||!fs||te===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==te)s=this.activeLink=new rm(te,this),te.deps?(s.prevDep=te.depsTail,te.depsTail.nextDep=s,te.depsTail=s):te.deps=te.depsTail=s,wd(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=te.depsTail,s.nextDep=void 0,te.depsTail.nextDep=s,te.depsTail=s,te.deps===s&&(te.deps=n)}return s}trigger(e){this.version++,Ni++,this.notify(e)}notify(e){ll();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{cl()}}}function wd(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)wd(n)}const s=t.dep.subs;s!==t&&(t.prevSub=s,s&&(s.nextSub=t)),t.dep.subs=t}}const qr=new WeakMap,Nn=Symbol(""),Pa=Symbol(""),Li=Symbol("");function $e(t,e,s){if(fs&&te){let n=qr.get(t);n||qr.set(t,n=new Map);let r=n.get(s);r||(n.set(s,r=new co),r.map=n,r.key=s),r.track()}}function $s(t,e,s,n,r,a){const l=qr.get(t);if(!l){Ni++;return}const d=u=>{u&&u.trigger()};if(ll(),e==="clear")l.forEach(d);else{const u=Ct(t),m=u&&no(s);if(u&&s==="length"){const p=Number(n);l.forEach((g,v)=>{(v==="length"||v===Li||!ms(v)&&v>=p)&&d(g)})}else switch((s!==void 0||l.has(void 0))&&d(l.get(s)),m&&d(l.get(Li)),e){case"add":u?m&&d(l.get("length")):(d(l.get(Nn)),Zn(t)&&d(l.get(Pa)));break;case"delete":u||(d(l.get(Nn)),Zn(t)&&d(l.get(Pa)));break;case"set":Zn(t)&&d(l.get(Nn));break}}cl()}function om(t,e){const s=qr.get(t);return s&&s.get(e)}function Wn(t){const e=qt(t);return e===t?e:($e(e,"iterate",Li),ts(t)?e:e.map(ps))}function uo(t){return $e(t=qt(t),"iterate",Li),t}function Cs(t,e){return Qs(t)?ni(Hs(t)?ps(e):e):ps(e)}const am={__proto__:null,[Symbol.iterator](){return da(this,Symbol.iterator,t=>Cs(this,t))},concat(...t){return Wn(this).concat(...t.map(e=>Ct(e)?Wn(e):e))},entries(){return da(this,"entries",t=>(t[1]=Cs(this,t[1]),t))},every(t,e){return Is(this,"every",t,e,void 0,arguments)},filter(t,e){return Is(this,"filter",t,e,s=>s.map(n=>Cs(this,n)),arguments)},find(t,e){return Is(this,"find",t,e,s=>Cs(this,s),arguments)},findIndex(t,e){return Is(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Is(this,"findLast",t,e,s=>Cs(this,s),arguments)},findLastIndex(t,e){return Is(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Is(this,"forEach",t,e,void 0,arguments)},includes(...t){return fa(this,"includes",t)},indexOf(...t){return fa(this,"indexOf",t)},join(t){return Wn(this).join(t)},lastIndexOf(...t){return fa(this,"lastIndexOf",t)},map(t,e){return Is(this,"map",t,e,void 0,arguments)},pop(){return gi(this,"pop")},push(...t){return gi(this,"push",t)},reduce(t,...e){return bc(this,"reduce",t,e)},reduceRight(t,...e){return bc(this,"reduceRight",t,e)},shift(){return gi(this,"shift")},some(t,e){return Is(this,"some",t,e,void 0,arguments)},splice(...t){return gi(this,"splice",t)},toReversed(){return Wn(this).toReversed()},toSorted(t){return Wn(this).toSorted(t)},toSpliced(...t){return Wn(this).toSpliced(...t)},unshift(...t){return gi(this,"unshift",t)},values(){return da(this,"values",t=>Cs(this,t))}};function da(t,e,s){const n=uo(t),r=n[e]();return n!==t&&!ts(t)&&(r._next=r.next,r.next=()=>{const a=r._next();return a.done||(a.value=s(a.value)),a}),r}const lm=Array.prototype;function Is(t,e,s,n,r,a){const l=uo(t),d=l!==t&&!ts(t),u=l[e];if(u!==lm[e]){const g=u.apply(t,a);return d?ps(g):g}let m=s;l!==t&&(d?m=function(g,v){return s.call(this,Cs(t,g),v,t)}:s.length>2&&(m=function(g,v){return s.call(this,g,v,t)}));const p=u.call(l,m,n);return d&&r?r(p):p}function bc(t,e,s,n){const r=uo(t),a=r!==t&&!ts(t);let l=s,d=!1;r!==t&&(a?(d=n.length===0,l=function(m,p,g){return d&&(d=!1,m=Cs(t,m)),s.call(this,m,Cs(t,p),g,t)}):s.length>3&&(l=function(m,p,g){return s.call(this,m,p,g,t)}));const u=r[e](l,...n);return d?Cs(t,u):u}function fa(t,e,s){const n=qt(t);$e(n,"iterate",Li);const r=n[e](...s);return(r===-1||r===!1)&&fo(s[0])?(s[0]=qt(s[0]),n[e](...s)):r}function gi(t,e,s=[]){zs(),ll();const n=qt(t)[e].apply(t,s);return cl(),Js(),n}const cm=il("__proto__,__v_isRef,__isVue"),Td=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(ms));function um(t){ms(t)||(t=String(t));const e=qt(this);return $e(e,"has",t),e.hasOwnProperty(t)}class kd{constructor(e=!1,s=!1){this._isReadonly=e,this._isShallow=s}get(e,s,n){if(s==="__v_skip")return e.__v_skip;const r=this._isReadonly,a=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return a;if(s==="__v_raw")return n===(r?a?_m:Cd:a?Ad:xd).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const l=Ct(e);if(!r){let u;if(l&&(u=am[s]))return u;if(s==="hasOwnProperty")return um}const d=Reflect.get(e,s,re(e)?e:n);if((ms(s)?Td.has(s):cm(s))||(r||$e(e,"get",s),a))return d;if(re(d)){const u=l&&no(s)?d:d.value;return r&&Ht(u)?Ma(u):u}return Ht(d)?r?Ma(d):zi(d):d}}class Sd extends kd{constructor(e=!1){super(!1,e)}set(e,s,n,r){let a=e[s];const l=Ct(e)&&no(s);if(!this._isShallow){const m=Qs(a);if(!ts(n)&&!Qs(n)&&(a=qt(a),n=qt(n)),!l&&re(a)&&!re(n))return m||(a.value=n),!0}const d=l?Number(s)<e.length:Wt(e,s),u=Reflect.set(e,s,n,re(e)?e:r);return e===qt(r)&&(d?Le(n,a)&&$s(e,"set",s,n):$s(e,"add",s,n)),u}deleteProperty(e,s){const n=Wt(e,s);e[s];const r=Reflect.deleteProperty(e,s);return r&&n&&$s(e,"delete",s,void 0),r}has(e,s){const n=Reflect.has(e,s);return(!ms(s)||!Td.has(s))&&$e(e,"has",s),n}ownKeys(e){return $e(e,"iterate",Ct(e)?"length":Nn),Reflect.ownKeys(e)}}class dm extends kd{constructor(e=!1){super(!0,e)}set(e,s){return!0}deleteProperty(e,s){return!0}}const fm=new Sd,bm=new dm,mm=new Sd(!0);const Ra=t=>t,kr=t=>Reflect.getPrototypeOf(t);function pm(t,e,s){return function(...n){const r=this.__v_raw,a=qt(r),l=Zn(a),d=t==="entries"||t===Symbol.iterator&&l,u=t==="keys"&&l,m=r[t](...n),p=s?Ra:e?ni:ps;return!e&&$e(a,"iterate",u?Pa:Nn),Pe(Object.create(m),{next(){const{value:g,done:v}=m.next();return v?{value:g,done:v}:{value:d?[p(g[0]),p(g[1])]:p(g),done:v}}})}}function Sr(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function hm(t,e){const s={get(r){const a=this.__v_raw,l=qt(a),d=qt(r);t||(Le(r,d)&&$e(l,"get",r),$e(l,"get",d));const{has:u}=kr(l),m=e?Ra:t?ni:ps;if(u.call(l,r))return m(a.get(r));if(u.call(l,d))return m(a.get(d));a!==l&&a.get(r)},get size(){const r=this.__v_raw;return!t&&$e(qt(r),"iterate",Nn),r.size},has(r){const a=this.__v_raw,l=qt(a),d=qt(r);return t||(Le(r,d)&&$e(l,"has",r),$e(l,"has",d)),r===d?a.has(r):a.has(r)||a.has(d)},forEach(r,a){const l=this,d=l.__v_raw,u=qt(d),m=e?Ra:t?ni:ps;return!t&&$e(u,"iterate",Nn),d.forEach((p,g)=>r.call(a,m(p),m(g),l))}};return Pe(s,t?{add:Sr("add"),set:Sr("set"),delete:Sr("delete"),clear:Sr("clear")}:{add(r){const a=qt(this),l=kr(a),d=qt(r),u=!e&&!ts(r)&&!Qs(r)?d:r;return l.has.call(a,u)||Le(r,u)&&l.has.call(a,r)||Le(d,u)&&l.has.call(a,d)||(a.add(u),$s(a,"add",u,u)),this},set(r,a){!e&&!ts(a)&&!Qs(a)&&(a=qt(a));const l=qt(this),{has:d,get:u}=kr(l);let m=d.call(l,r);m||(r=qt(r),m=d.call(l,r));const p=u.call(l,r);return l.set(r,a),m?Le(a,p)&&$s(l,"set",r,a):$s(l,"add",r,a),this},delete(r){const a=qt(this),{has:l,get:d}=kr(a);let u=l.call(a,r);u||(r=qt(r),u=l.call(a,r)),d&&d.call(a,r);const m=a.delete(r);return u&&$s(a,"delete",r,void 0),m},clear(){const r=qt(this),a=r.size!==0,l=r.clear();return a&&$s(r,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=pm(r,t,e)}),s}function dl(t,e){const s=hm(t,e);return(n,r,a)=>r==="__v_isReactive"?!t:r==="__v_isReadonly"?t:r==="__v_raw"?n:Reflect.get(Wt(s,r)&&r in n?s:n,r,a)}const gm={get:dl(!1,!1)},ym={get:dl(!1,!0)},vm={get:dl(!0,!1)};const xd=new WeakMap,Ad=new WeakMap,Cd=new WeakMap,_m=new WeakMap;function wm(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Tm(t){return t.__v_skip||!Object.isExtensible(t)?0:wm(Hb(t))}function zi(t){return Qs(t)?t:fl(t,!1,fm,gm,xd)}function Ed(t){return fl(t,!1,mm,ym,Ad)}function Ma(t){return fl(t,!0,bm,vm,Cd)}function fl(t,e,s,n,r){if(!Ht(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const a=Tm(t);if(a===0)return t;const l=r.get(t);if(l)return l;const d=new Proxy(t,a===2?n:s);return r.set(t,d),d}function Hs(t){return Qs(t)?Hs(t.__v_raw):!!(t&&t.__v_isReactive)}function Qs(t){return!!(t&&t.__v_isReadonly)}function ts(t){return!!(t&&t.__v_isShallow)}function fo(t){return t?!!t.__v_raw:!1}function qt(t){const e=t&&t.__v_raw;return e?qt(e):t}function bl(t){return!Wt(t,"__v_skip")&&Object.isExtensible(t)&&ld(t,"__v_skip",!0),t}const ps=t=>Ht(t)?zi(t):t,ni=t=>Ht(t)?Ma(t):t;function re(t){return t?t.__v_isRef===!0:!1}function Te(t){return Rd(t,!1)}function Pd(t){return Rd(t,!0)}function Rd(t,e){return re(t)?t:new km(t,e)}class km{constructor(e,s){this.dep=new co,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?e:qt(e),this._value=s?e:ps(e),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(e){const s=this._rawValue,n=this.__v_isShallow||ts(e)||Qs(e);e=n?e:qt(e),Le(e,s)&&(this._rawValue=e,this._value=n?e:ps(e),this.dep.trigger())}}function _e(t){return re(t)?t.value:t}function Lv(t){return Rt(t)?t():_e(t)}const Sm={get:(t,e,s)=>e==="__v_raw"?t:_e(Reflect.get(t,e,s)),set:(t,e,s,n)=>{const r=t[e];return re(r)&&!re(s)?(r.value=s,!0):Reflect.set(t,e,s,n)}};function Md(t){return Hs(t)?t:new Proxy(t,Sm)}class xm{constructor(e){this.__v_isRef=!0,this._value=void 0;const s=this.dep=new co,{get:n,set:r}=e(s.track.bind(s),s.trigger.bind(s));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}}function Am(t){return new xm(t)}function Cm(t){const e=Ct(t)?new Array(t.length):{};for(const s in t)e[s]=Dd(t,s);return e}class Em{constructor(e,s,n){this._object=e,this._key=s,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=qt(e);let r=!0,a=e;if(!Ct(e)||!no(String(s)))do r=!fo(a)||ts(a);while(r&&(a=a.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=_e(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&re(this._raw[this._key])){const s=this._object[this._key];if(re(s)){s.value=e;return}}this._object[this._key]=e}get dep(){return om(this._raw,this._key)}}class Pm{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Fv(t,e,s){return re(t)?t:Rt(t)?new Pm(t):Ht(t)&&arguments.length>1?Dd(t,e,s):Te(t)}function Dd(t,e,s){return new Em(t,e,s)}class Rm{constructor(e,s,n){this.fn=e,this.setter=s,this._value=void 0,this.dep=new co(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ni-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&te!==this)return hd(this,!0),!0}get value(){const e=this.dep.track();return vd(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Mm(t,e,s=!1){let n,r;return Rt(t)?n=t:(n=t.get,r=t.set),new Rm(n,r,s)}const xr={},$r=new WeakMap;let Mn;function Dm(t,e=!1,s=Mn){if(s){let n=$r.get(s);n||$r.set(s,n=[]),n.push(t)}}function Om(t,e,s=Kt){const{immediate:n,deep:r,once:a,scheduler:l,augmentJob:d,call:u}=s,m=N=>r?N:ts(N)||r===!1||r===0?Vs(N,1):Vs(N);let p,g,v,S,$=!1,F=!1;if(re(t)?(g=()=>t.value,$=ts(t)):Hs(t)?(g=()=>m(t),$=!0):Ct(t)?(F=!0,$=t.some(N=>Hs(N)||ts(N)),g=()=>t.map(N=>{if(re(N))return N.value;if(Hs(N))return m(N);if(Rt(N))return u?u(N,2):N()})):Rt(t)?e?g=u?()=>u(t,2):t:g=()=>{if(v){zs();try{v()}finally{Js()}}const N=Mn;Mn=p;try{return u?u(t,3,[S]):t(S)}finally{Mn=N}}:g=Ps,e&&r){const N=g,X=r===!0?1/0:r;g=()=>Vs(N(),X)}const W=bd(),x=()=>{p.stop(),W&&W.active&&ol(W.effects,p)};if(a&&e){const N=e;e=(...X)=>{N(...X),x()}}let A=F?new Array(t.length).fill(xr):xr;const G=N=>{if(!(!(p.flags&1)||!p.dirty&&!N))if(e){const X=p.run();if(r||$||(F?X.some((z,H)=>Le(z,A[H])):Le(X,A))){v&&v();const z=Mn;Mn=p;try{const H=[X,A===xr?void 0:F&&A[0]===xr?[]:A,S];A=X,u?u(e,3,H):e(...H)}finally{Mn=z}}}else p.run()};return d&&d(G),p=new md(g),p.scheduler=l?()=>l(G,!1):G,S=N=>Dm(N,!1,p),v=p.onStop=()=>{const N=$r.get(p);if(N){if(u)u(N,4);else for(const X of N)X();$r.delete(p)}},e?n?G(!0):A=p.run():l?l(G.bind(null,!0),!0):p.run(),x.pause=p.pause.bind(p),x.resume=p.resume.bind(p),x.stop=x,x}function Vs(t,e=1/0,s){if(e<=0||!Ht(t)||t.__v_skip||(s=s||new Map,(s.get(t)||0)>=e))return t;if(s.set(t,e),e--,re(t))Vs(t.value,e,s);else if(Ct(t))for(let n=0;n<t.length;n++)Vs(t[n],e,s);else if(so(t)||Zn(t))t.forEach(n=>{Vs(n,e,s)});else if(ad(t)){for(const n in t)Vs(t[n],e,s);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&Vs(t[n],e,s)}return t}function Ji(t,e,s,n){try{return n?t(...n):t()}catch(r){bo(r,e,s)}}function hs(t,e,s,n){if(Rt(t)){const r=Ji(t,e,s,n);return r&&rd(r)&&r.catch(a=>{bo(a,e,s)}),r}if(Ct(t)){const r=[];for(let a=0;a<t.length;a++)r.push(hs(t[a],e,s,n));return r}}function bo(t,e,s,n=!0){const r=e?e.vnode:null,{errorHandler:a,throwUnhandledErrorInProduction:l}=e&&e.appContext.config||Kt;if(e){let d=e.parent;const u=e.proxy,m=`https://vuejs.org/error-reference/#runtime-${s}`;for(;d;){const p=d.ec;if(p){for(let g=0;g<p.length;g++)if(p[g](t,u,m)===!1)return}d=d.parent}if(a){zs(),Ji(a,null,10,[t,u,m]),Js();return}}Im(t,s,r,n,l)}function Im(t,e,s,n=!0,r=!1){if(r)throw t;console.error(t)}const ze=[];let xs=-1;const ti=[];let dn=null,Jn=0;const Od=Promise.resolve();let Vr=null;function mo(t){const e=Vr||Od;return t?e.then(this?t.bind(this):t):e}function Nm(t){let e=xs+1,s=ze.length;for(;e<s;){const n=e+s>>>1,r=ze[n],a=Fi(r);a<t||a===t&&r.flags&2?e=n+1:s=n}return e}function ml(t){if(!(t.flags&1)){const e=Fi(t),s=ze[ze.length-1];!s||!(t.flags&2)&&e>=Fi(s)?ze.push(t):ze.splice(Nm(e),0,t),t.flags|=1,Id()}}function Id(){Vr||(Vr=Od.then(Ld))}function Lm(t){Ct(t)?ti.push(...t):dn&&t.id===-1?dn.splice(Jn+1,0,t):t.flags&1||(ti.push(t),t.flags|=1),Id()}function mc(t,e,s=xs+1){for(;s<ze.length;s++){const n=ze[s];if(n&&n.flags&2){if(t&&n.id!==t.uid)continue;ze.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Nd(t){if(ti.length){const e=[...new Set(ti)].sort((s,n)=>Fi(s)-Fi(n));if(ti.length=0,dn){dn.push(...e);return}for(dn=e,Jn=0;Jn<dn.length;Jn++){const s=dn[Jn];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}dn=null,Jn=0}}const Fi=t=>t.id==null?t.flags&2?-1:1/0:t.id;function Ld(t){try{for(xs=0;xs<ze.length;xs++){const e=ze[xs];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),Ji(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;xs<ze.length;xs++){const e=ze[xs];e&&(e.flags&=-2)}xs=-1,ze.length=0,Nd(),Vr=null,(ze.length||ti.length)&&Ld()}}let Fe=null,Fd=null;function Kr(t){const e=Fe;return Fe=t,Fd=t&&t.type.__scopeId||null,e}function po(t,e=Fe,s){if(!e||t._n)return t;const n=(...r)=>{n._d&&Gr(-1);const a=Kr(e);let l;try{l=t(...r)}finally{Kr(a),n._d&&Gr(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function pc(t,e){if(Fe===null)return t;const s=wo(Fe),n=t.dirs||(t.dirs=[]);for(let r=0;r<e.length;r++){let[a,l,d,u=Kt]=e[r];a&&(Rt(a)&&(a={mounted:a,updated:a}),a.deep&&Vs(l),n.push({dir:a,instance:s,value:l,oldValue:void 0,arg:d,modifiers:u}))}return t}function An(t,e,s,n){const r=t.dirs,a=e&&e.dirs;for(let l=0;l<r.length;l++){const d=r[l];a&&(d.oldValue=a[l].value);let u=d.dir[n];u&&(zs(),hs(u,s,8,[t.el,d,t,e]),Js())}}function Dr(t,e){if(Ke){let s=Ke.provides;const n=Ke.parent&&Ke.parent.provides;n===s&&(s=Ke.provides=Object.create(n)),s[t]=e}}function es(t,e,s=!1){const n=hn();if(n||Ln){let r=Ln?Ln._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&t in r)return r[t];if(arguments.length>1)return s&&Rt(e)?e.call(n&&n.proxy):e}}function Fm(){return!!(hn()||Ln)}const jm=Symbol.for("v-scx"),Bm=()=>es(jm);function jv(t,e){return ho(t,null,e)}function qm(t,e){return ho(t,null,{flush:"sync"})}function Gs(t,e,s){return ho(t,e,s)}function ho(t,e,s=Kt){const{immediate:n,deep:r,flush:a,once:l}=s,d=Pe({},s),u=e&&n||!e&&a!=="post";let m;if(qi){if(a==="sync"){const S=Bm();m=S.__watcherHandles||(S.__watcherHandles=[])}else if(!u){const S=()=>{};return S.stop=Ps,S.resume=Ps,S.pause=Ps,S}}const p=Ke;d.call=(S,$,F)=>hs(S,p,$,F);let g=!1;a==="post"?d.scheduler=S=>{Be(S,p&&p.suspense)}:a!=="sync"&&(g=!0,d.scheduler=(S,$)=>{$?S():ml(S)}),d.augmentJob=S=>{e&&(S.flags|=4),g&&(S.flags|=2,p&&(S.id=p.uid,S.i=p))};const v=Om(t,e,d);return qi&&(m?m.push(v):u&&v()),v}function $m(t,e,s){const n=this.proxy,r=oe(t)?t.includes(".")?jd(n,t):()=>n[t]:t.bind(n,n);let a;Rt(e)?a=e:(a=e.handler,s=e);const l=Xi(this),d=ho(r,a.bind(n),s);return l(),d}function jd(t,e){const s=e.split(".");return()=>{let n=t;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const Bd=Symbol("_vte"),qd=t=>t.__isTeleport,Ei=t=>t&&(t.disabled||t.disabled===""),hc=t=>t&&(t.defer||t.defer===""),gc=t=>typeof SVGElement<"u"&&t instanceof SVGElement,yc=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Da=(t,e)=>{const s=t&&t.to;return oe(s)?e?e(s):null:s},$d={name:"Teleport",__isTeleport:!0,process(t,e,s,n,r,a,l,d,u,m){const{mc:p,pc:g,pbc:v,o:{insert:S,querySelector:$,createText:F,createComment:W}}=m,x=Ei(e.props);let{shapeFlag:A,children:G,dynamicChildren:N}=e;if(t==null){const X=e.el=F(""),z=e.anchor=F("");S(X,s,n),S(z,s,n);const H=(st,vt)=>{A&16&&p(G,st,vt,r,a,l,d,u)},ot=()=>{const st=e.target=Da(e.props,$),vt=Oa(st,e,F,S);st&&(l!=="svg"&&gc(st)?l="svg":l!=="mathml"&&yc(st)&&(l="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(st),x||(H(st,vt),Or(e,!1)))};x&&(H(s,z),Or(e,!0)),hc(e.props)?(e.el.__isMounted=!1,Be(()=>{ot(),delete e.el.__isMounted},a)):ot()}else{if(hc(e.props)&&t.el.__isMounted===!1){Be(()=>{$d.process(t,e,s,n,r,a,l,d,u,m)},a);return}e.el=t.el,e.targetStart=t.targetStart;const X=e.anchor=t.anchor,z=e.target=t.target,H=e.targetAnchor=t.targetAnchor,ot=Ei(t.props),st=ot?s:z,vt=ot?X:H;if(l==="svg"||gc(z)?l="svg":(l==="mathml"||yc(z))&&(l="mathml"),N?(v(t.dynamicChildren,N,st,r,a,l,d),yl(t,e,!0)):u||g(t,e,st,vt,r,a,l,d,!1),x)ot?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):Ar(e,s,X,m,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const xt=e.target=Da(e.props,$);xt&&Ar(e,xt,null,m,0)}else ot&&Ar(e,z,H,m,1);Or(e,x)}},remove(t,e,s,{um:n,o:{remove:r}},a){const{shapeFlag:l,children:d,anchor:u,targetStart:m,targetAnchor:p,target:g,props:v}=t;if(g&&(r(m),r(p)),a&&r(u),l&16){const S=a||!Ei(v);for(let $=0;$<d.length;$++){const F=d[$];n(F,e,s,S,!!F.dynamicChildren)}}},move:Ar,hydrate:Vm};function Ar(t,e,s,{o:{insert:n},m:r},a=2){a===0&&n(t.targetAnchor,e,s);const{el:l,anchor:d,shapeFlag:u,children:m,props:p}=t,g=a===2;if(g&&n(l,e,s),(!g||Ei(p))&&u&16)for(let v=0;v<m.length;v++)r(m[v],e,s,2);g&&n(d,e,s)}function Vm(t,e,s,n,r,a,{o:{nextSibling:l,parentNode:d,querySelector:u,insert:m,createText:p}},g){function v(W,x){let A=x;for(;A;){if(A&&A.nodeType===8){if(A.data==="teleport start anchor")e.targetStart=A;else if(A.data==="teleport anchor"){e.targetAnchor=A,W._lpa=e.targetAnchor&&l(e.targetAnchor);break}}A=l(A)}}function S(W,x){x.anchor=g(l(W),x,d(W),s,n,r,a)}const $=e.target=Da(e.props,u),F=Ei(e.props);if($){const W=$._lpa||$.firstChild;e.shapeFlag&16&&(F?(S(t,e),v($,W),e.targetAnchor||Oa($,e,p,m,d(t)===$?t:null)):(e.anchor=l(t),v($,W),e.targetAnchor||Oa($,e,p,m),g(W&&l(W),e,$,s,n,r,a))),Or(e,F)}else F&&e.shapeFlag&16&&(S(t,e),e.targetStart=t,e.targetAnchor=l(t));return e.anchor&&l(e.anchor)}const Km=$d;function Or(t,e){const s=t.ctx;if(s&&s.ut){let n,r;for(e?(n=t.el,r=t.anchor):(n=t.targetStart,r=t.targetAnchor);n&&n!==r;)n.nodeType===1&&n.setAttribute("data-v-owner",s.uid),n=n.nextSibling;s.ut()}}function Oa(t,e,s,n,r=null){const a=e.targetStart=s(""),l=e.targetAnchor=s("");return a[Bd]=l,t&&(n(a,t,r),n(l,t,r)),l}const As=Symbol("_leaveCb"),yi=Symbol("_enterCb");function Um(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Qi(()=>{t.isMounted=!0}),Jd(()=>{t.isUnmounting=!0}),t}const is=[Function,Array],Vd={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:is,onEnter:is,onAfterEnter:is,onEnterCancelled:is,onBeforeLeave:is,onLeave:is,onAfterLeave:is,onLeaveCancelled:is,onBeforeAppear:is,onAppear:is,onAfterAppear:is,onAppearCancelled:is},Kd=t=>{const e=t.subTree;return e.component?Kd(e.component):e},Hm={name:"BaseTransition",props:Vd,setup(t,{slots:e}){const s=hn(),n=Um();return()=>{const r=e.default&&Gd(e.default(),!0);if(!r||!r.length)return;const a=Ud(r),l=qt(t),{mode:d}=l;if(n.isLeaving)return ba(a);const u=vc(a);if(!u)return ba(a);let m=Ia(u,l,n,s,g=>m=g);u.type!==Ve&&ji(u,m);let p=s.subTree&&vc(s.subTree);if(p&&p.type!==Ve&&!Dn(p,u)&&Kd(s).type!==Ve){let g=Ia(p,l,n,s);if(ji(p,g),d==="out-in"&&u.type!==Ve)return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete g.afterLeave,p=void 0},ba(a);d==="in-out"&&u.type!==Ve?g.delayLeave=(v,S,$)=>{const F=Hd(n,p);F[String(p.key)]=p,v[As]=()=>{S(),v[As]=void 0,delete m.delayedLeave,p=void 0},m.delayedLeave=()=>{$(),delete m.delayedLeave,p=void 0}}:p=void 0}else p&&(p=void 0);return a}}};function Ud(t){let e=t[0];if(t.length>1){for(const s of t)if(s.type!==Ve){e=s;break}}return e}const Gm=Hm;function Hd(t,e){const{leavingVNodes:s}=t;let n=s.get(e.type);return n||(n=Object.create(null),s.set(e.type,n)),n}function Ia(t,e,s,n,r){const{appear:a,mode:l,persisted:d=!1,onBeforeEnter:u,onEnter:m,onAfterEnter:p,onEnterCancelled:g,onBeforeLeave:v,onLeave:S,onAfterLeave:$,onLeaveCancelled:F,onBeforeAppear:W,onAppear:x,onAfterAppear:A,onAppearCancelled:G}=e,N=String(t.key),X=Hd(s,t),z=(st,vt)=>{st&&hs(st,n,9,vt)},H=(st,vt)=>{const xt=vt[1];z(st,vt),Ct(st)?st.every(lt=>lt.length<=1)&&xt():st.length<=1&&xt()},ot={mode:l,persisted:d,beforeEnter(st){let vt=u;if(!s.isMounted)if(a)vt=W||u;else return;st[As]&&st[As](!0);const xt=X[N];xt&&Dn(t,xt)&&xt.el[As]&&xt.el[As](),z(vt,[st])},enter(st){if(X[N]===t)return;let vt=m,xt=p,lt=g;if(!s.isMounted)if(a)vt=x||m,xt=A||p,lt=G||g;else return;let Et=!1;st[yi]=ae=>{Et||(Et=!0,ae?z(lt,[st]):z(xt,[st]),ot.delayedLeave&&ot.delayedLeave(),st[yi]=void 0)};const Yt=st[yi].bind(null,!1);vt?H(vt,[st,Yt]):Yt()},leave(st,vt){const xt=String(t.key);if(st[yi]&&st[yi](!0),s.isUnmounting)return vt();z(v,[st]);let lt=!1;st[As]=Yt=>{lt||(lt=!0,vt(),Yt?z(F,[st]):z($,[st]),st[As]=void 0,X[xt]===t&&delete X[xt])};const Et=st[As].bind(null,!1);X[xt]=t,S?H(S,[st,Et]):Et()},clone(st){const vt=Ia(st,e,s,n,r);return r&&r(vt),vt}};return ot}function ba(t){if(go(t))return t=bn(t),t.children=null,t}function vc(t){if(!go(t))return qd(t.type)&&t.children?Ud(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:s}=t;if(s){if(e&16)return s[0];if(e&32&&Rt(s.default))return s.default()}}function ji(t,e){t.shapeFlag&6&&t.component?(t.transition=e,ji(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Gd(t,e=!1,s){let n=[],r=0;for(let a=0;a<t.length;a++){let l=t[a];const d=s==null?l.key:String(s)+String(l.key!=null?l.key:a);l.type===we?(l.patchFlag&128&&r++,n=n.concat(Gd(l.children,e,d))):(e||l.type!==Ve)&&n.push(d!=null?bn(l,{key:d}):l)}if(r>1)for(let a=0;a<n.length;a++)n[a].patchFlag=-2;return n}function Ms(t,e){return Rt(t)?Pe({name:t.name},e,{setup:t}):t}function Wd(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function _c(t,e){let s;return!!((s=Object.getOwnPropertyDescriptor(t,e))&&!s.configurable)}const Ur=new WeakMap;function Pi(t,e,s,n,r=!1){if(Ct(t)){t.forEach((F,W)=>Pi(F,e&&(Ct(e)?e[W]:e),s,n,r));return}if(ei(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pi(t,e,s,n.component.subTree);return}const a=n.shapeFlag&4?wo(n.component):n.el,l=r?null:a,{i:d,r:u}=t,m=e&&e.r,p=d.refs===Kt?d.refs={}:d.refs,g=d.setupState,v=qt(g),S=g===Kt?id:F=>_c(p,F)?!1:Wt(v,F),$=(F,W)=>!(W&&_c(p,W));if(m!=null&&m!==u){if(wc(e),oe(m))p[m]=null,S(m)&&(g[m]=null);else if(re(m)){const F=e;$(m,F.k)&&(m.value=null),F.k&&(p[F.k]=null)}}if(Rt(u))Ji(u,d,12,[l,p]);else{const F=oe(u),W=re(u);if(F||W){const x=()=>{if(t.f){const A=F?S(u)?g[u]:p[u]:$()||!t.k?u.value:p[t.k];if(r)Ct(A)&&ol(A,a);else if(Ct(A))A.includes(a)||A.push(a);else if(F)p[u]=[a],S(u)&&(g[u]=p[u]);else{const G=[a];$(u,t.k)&&(u.value=G),t.k&&(p[t.k]=G)}}else F?(p[u]=l,S(u)&&(g[u]=l)):W&&($(u,t.k)&&(u.value=l),t.k&&(p[t.k]=l))};if(l){const A=()=>{x(),Ur.delete(t)};A.id=-1,Ur.set(t,A),Be(A,s)}else wc(t),x()}}}function wc(t){const e=Ur.get(t);e&&(e.flags|=8,Ur.delete(t))}ao().requestIdleCallback;ao().cancelIdleCallback;const ei=t=>!!t.type.__asyncLoader,go=t=>t.type.__isKeepAlive;function Wm(t,e){zd(t,"a",e)}function zm(t,e){zd(t,"da",e)}function zd(t,e,s=Ke){const n=t.__wdc||(t.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return t()});if(yo(e,n,s),s){let r=s.parent;for(;r&&r.parent;)go(r.parent.vnode)&&Jm(n,e,s,r),r=r.parent}}function Jm(t,e,s,n){const r=yo(e,t,n,!0);pl(()=>{ol(n[e],r)},s)}function yo(t,e,s=Ke,n=!1){if(s){const r=s[t]||(s[t]=[]),a=e.__weh||(e.__weh=(...l)=>{zs();const d=Xi(s),u=hs(e,s,t,l);return d(),Js(),u});return n?r.unshift(a):r.push(a),a}}const Xs=t=>(e,s=Ke)=>{(!qi||t==="sp")&&yo(t,(...n)=>e(...n),s)},Qm=Xs("bm"),Qi=Xs("m"),Ym=Xs("bu"),Xm=Xs("u"),Jd=Xs("bum"),pl=Xs("um"),Zm=Xs("sp"),t0=Xs("rtg"),e0=Xs("rtc");function s0(t,e=Ke){yo("ec",t,e)}const Qd="components";function vo(t,e){return Zd(Qd,t,!0,e)||t}const Yd=Symbol.for("v-ndc");function Xd(t){return oe(t)?Zd(Qd,t,!1)||t:t||Yd}function Zd(t,e,s=!0,n=!1){const r=Fe||Ke;if(r){const a=r.type;{const d=B0(a,!1);if(d&&(d===e||d===Ue(e)||d===ro(Ue(e))))return a}const l=Tc(r[t]||a[t],e)||Tc(r.appContext[t],e);return!l&&n?a:l}}function Tc(t,e){return t&&(t[e]||t[Ue(e)]||t[ro(Ue(e))])}function tf(t,e,s,n){let r;const a=s&&s[n],l=Ct(t);if(l||oe(t)){const d=l&&Hs(t);let u=!1,m=!1;d&&(u=!ts(t),m=Qs(t),t=uo(t)),r=new Array(t.length);for(let p=0,g=t.length;p<g;p++)r[p]=e(u?m?ni(ps(t[p])):ps(t[p]):t[p],p,void 0,a&&a[p])}else if(typeof t=="number"){r=new Array(t);for(let d=0;d<t;d++)r[d]=e(d+1,d,void 0,a&&a[d])}else if(Ht(t))if(t[Symbol.iterator])r=Array.from(t,(d,u)=>e(d,u,void 0,a&&a[u]));else{const d=Object.keys(t);r=new Array(d.length);for(let u=0,m=d.length;u<m;u++){const p=d[u];r[u]=e(t[p],p,u,a&&a[u])}}else r=[];return s&&(s[n]=r),r}function Bv(t,e,s={},n,r){if(Fe.ce||Fe.parent&&ei(Fe.parent)&&Fe.parent.ce){const m=Object.keys(s).length>0;return e!=="default"&&(s.name=e),ke(),bs(we,null,[fe("slot",s,n&&n())],m?-2:64)}let a=t[e];a&&a._c&&(a._d=!1),ke();const l=a&&ef(a(s)),d=s.key||l&&l.key,u=bs(we,{key:(d&&!ms(d)?d:`_${e}`)+(!l&&n?"_fb":"")},l||(n?n():[]),l&&t._===1?64:-2);return u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),a&&a._c&&(a._d=!0),u}function ef(t){return t.some(e=>Bi(e)?!(e.type===Ve||e.type===we&&!ef(e.children)):!0)?t:null}const Na=t=>t?kf(t)?wo(t):Na(t.parent):null,Ri=Pe(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Na(t.parent),$root:t=>Na(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>rf(t),$forceUpdate:t=>t.f||(t.f=()=>{ml(t.update)}),$nextTick:t=>t.n||(t.n=mo.bind(t.proxy)),$watch:t=>$m.bind(t)}),ma=(t,e)=>t!==Kt&&!t.__isScriptSetup&&Wt(t,e),n0={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:a,accessCache:l,type:d,appContext:u}=t;if(e[0]!=="$"){const v=l[e];if(v!==void 0)switch(v){case 1:return n[e];case 2:return r[e];case 4:return s[e];case 3:return a[e]}else{if(ma(n,e))return l[e]=1,n[e];if(r!==Kt&&Wt(r,e))return l[e]=2,r[e];if(Wt(a,e))return l[e]=3,a[e];if(s!==Kt&&Wt(s,e))return l[e]=4,s[e];La&&(l[e]=0)}}const m=Ri[e];let p,g;if(m)return e==="$attrs"&&$e(t.attrs,"get",""),m(t);if((p=d.__cssModules)&&(p=p[e]))return p;if(s!==Kt&&Wt(s,e))return l[e]=4,s[e];if(g=u.config.globalProperties,Wt(g,e))return g[e]},set({_:t},e,s){const{data:n,setupState:r,ctx:a}=t;return ma(r,e)?(r[e]=s,!0):n!==Kt&&Wt(n,e)?(n[e]=s,!0):Wt(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(a[e]=s,!0)},has({_:{data:t,setupState:e,accessCache:s,ctx:n,appContext:r,props:a,type:l}},d){let u;return!!(s[d]||t!==Kt&&d[0]!=="$"&&Wt(t,d)||ma(e,d)||Wt(a,d)||Wt(n,d)||Wt(Ri,d)||Wt(r.config.globalProperties,d)||(u=l.__cssModules)&&u[d])},defineProperty(t,e,s){return s.get!=null?t._.accessCache[e]=0:Wt(s,"value")&&this.set(t,e,s.value,null),Reflect.defineProperty(t,e,s)}};function qv(){return sf().slots}function $v(){return sf().attrs}function sf(t){const e=hn();return e.setupContext||(e.setupContext=xf(e))}function kc(t){return Ct(t)?t.reduce((e,s)=>(e[s]=null,e),{}):t}function Vv(t,e){const s={};for(const n in t)e.includes(n)||Object.defineProperty(s,n,{enumerable:!0,get:()=>t[n]});return s}let La=!0;function i0(t){const e=rf(t),s=t.proxy,n=t.ctx;La=!1,e.beforeCreate&&Sc(e.beforeCreate,t,"bc");const{data:r,computed:a,methods:l,watch:d,provide:u,inject:m,created:p,beforeMount:g,mounted:v,beforeUpdate:S,updated:$,activated:F,deactivated:W,beforeDestroy:x,beforeUnmount:A,destroyed:G,unmounted:N,render:X,renderTracked:z,renderTriggered:H,errorCaptured:ot,serverPrefetch:st,expose:vt,inheritAttrs:xt,components:lt,directives:Et,filters:Yt}=e;if(m&&r0(m,n,null),l)for(const Pt in l){const Dt=l[Pt];Rt(Dt)&&(n[Pt]=Dt.bind(s))}if(r){const Pt=r.call(s,s);Ht(Pt)&&(t.data=zi(Pt))}if(La=!0,a)for(const Pt in a){const Dt=a[Pt],Xt=Rt(Dt)?Dt.bind(s,s):Rt(Dt.get)?Dt.get.bind(s,s):Ps,le=!Rt(Dt)&&Rt(Dt.set)?Dt.set.bind(s):Ps,xe=ne({get:Xt,set:le});Object.defineProperty(n,Pt,{enumerable:!0,configurable:!0,get:()=>xe.value,set:Jt=>xe.value=Jt})}if(d)for(const Pt in d)nf(d[Pt],n,s,Pt);if(u){const Pt=Rt(u)?u.call(s):u;Reflect.ownKeys(Pt).forEach(Dt=>{Dr(Dt,Pt[Dt])})}p&&Sc(p,t,"c");function Lt(Pt,Dt){Ct(Dt)?Dt.forEach(Xt=>Pt(Xt.bind(s))):Dt&&Pt(Dt.bind(s))}if(Lt(Qm,g),Lt(Qi,v),Lt(Ym,S),Lt(Xm,$),Lt(Wm,F),Lt(zm,W),Lt(s0,ot),Lt(e0,z),Lt(t0,H),Lt(Jd,A),Lt(pl,N),Lt(Zm,st),Ct(vt))if(vt.length){const Pt=t.exposed||(t.exposed={});vt.forEach(Dt=>{Object.defineProperty(Pt,Dt,{get:()=>s[Dt],set:Xt=>s[Dt]=Xt,enumerable:!0})})}else t.exposed||(t.exposed={});X&&t.render===Ps&&(t.render=X),xt!=null&&(t.inheritAttrs=xt),lt&&(t.components=lt),Et&&(t.directives=Et),st&&Wd(t)}function r0(t,e,s=Ps){Ct(t)&&(t=Fa(t));for(const n in t){const r=t[n];let a;Ht(r)?"default"in r?a=es(r.from||n,r.default,!0):a=es(r.from||n):a=es(r),re(a)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:l=>a.value=l}):e[n]=a}}function Sc(t,e,s){hs(Ct(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,s)}function nf(t,e,s,n){let r=n.includes(".")?jd(s,n):()=>s[n];if(oe(t)){const a=e[t];Rt(a)&&Gs(r,a)}else if(Rt(t))Gs(r,t.bind(s));else if(Ht(t))if(Ct(t))t.forEach(a=>nf(a,e,s,n));else{const a=Rt(t.handler)?t.handler.bind(s):e[t.handler];Rt(a)&&Gs(r,a,t)}}function rf(t){const e=t.type,{mixins:s,extends:n}=e,{mixins:r,optionsCache:a,config:{optionMergeStrategies:l}}=t.appContext,d=a.get(e);let u;return d?u=d:!r.length&&!s&&!n?u=e:(u={},r.length&&r.forEach(m=>Hr(u,m,l,!0)),Hr(u,e,l)),Ht(e)&&a.set(e,u),u}function Hr(t,e,s,n=!1){const{mixins:r,extends:a}=e;a&&Hr(t,a,s,!0),r&&r.forEach(l=>Hr(t,l,s,!0));for(const l in e)if(!(n&&l==="expose")){const d=o0[l]||s&&s[l];t[l]=d?d(t[l],e[l]):e[l]}return t}const o0={data:xc,props:Ac,emits:Ac,methods:Si,computed:Si,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:Si,directives:Si,watch:l0,provide:xc,inject:a0};function xc(t,e){return e?t?function(){return Pe(Rt(t)?t.call(this,this):t,Rt(e)?e.call(this,this):e)}:e:t}function a0(t,e){return Si(Fa(t),Fa(e))}function Fa(t){if(Ct(t)){const e={};for(let s=0;s<t.length;s++)e[t[s]]=t[s];return e}return t}function He(t,e){return t?[...new Set([].concat(t,e))]:e}function Si(t,e){return t?Pe(Object.create(null),t,e):e}function Ac(t,e){return t?Ct(t)&&Ct(e)?[...new Set([...t,...e])]:Pe(Object.create(null),kc(t),kc(e??{})):e}function l0(t,e){if(!t)return e;if(!e)return t;const s=Pe(Object.create(null),t);for(const n in e)s[n]=He(t[n],e[n]);return s}function of(){return{app:null,config:{isNativeTag:id,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let c0=0;function u0(t,e){return function(n,r=null){Rt(n)||(n=Pe({},n)),r!=null&&!Ht(r)&&(r=null);const a=of(),l=new WeakSet,d=[];let u=!1;const m=a.app={_uid:c0++,_component:n,_props:r,_container:null,_context:a,_instance:null,version:$0,get config(){return a.config},set config(p){},use(p,...g){return l.has(p)||(p&&Rt(p.install)?(l.add(p),p.install(m,...g)):Rt(p)&&(l.add(p),p(m,...g))),m},mixin(p){return a.mixins.includes(p)||a.mixins.push(p),m},component(p,g){return g?(a.components[p]=g,m):a.components[p]},directive(p,g){return g?(a.directives[p]=g,m):a.directives[p]},mount(p,g,v){if(!u){const S=m._ceVNode||fe(n,r);return S.appContext=a,v===!0?v="svg":v===!1&&(v=void 0),t(S,p,v),u=!0,m._container=p,p.__vue_app__=m,wo(S.component)}},onUnmount(p){d.push(p)},unmount(){u&&(hs(d,m._instance,16),t(null,m._container),delete m._container.__vue_app__)},provide(p,g){return a.provides[p]=g,m},runWithContext(p){const g=Ln;Ln=m;try{return p()}finally{Ln=g}}};return m}}let Ln=null;function Kv(t,e,s=Kt){const n=hn(),r=Ue(e),a=Ys(e),l=af(t,r),d=Am((u,m)=>{let p,g=Kt,v;return qm(()=>{const S=t[r];Le(p,S)&&(p=S,m())}),{get(){return u(),s.get?s.get(p):p},set(S){const $=s.set?s.set(S):S;if(!Le($,p)&&!(g!==Kt&&Le(S,g)))return;const F=n.vnode.props;F&&(e in F||r in F||a in F)&&(`onUpdate:${e}`in F||`onUpdate:${r}`in F||`onUpdate:${a}`in F)||(p=S,m()),n.emit(`update:${e}`,$),Le(S,$)&&Le(S,g)&&!Le($,v)&&m(),g=S,v=$}}});return d[Symbol.iterator]=()=>{let u=0;return{next(){return u<2?{value:u++?l||Kt:d,done:!1}:{done:!0}}}},d}const af=(t,e)=>e==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ue(e)}Modifiers`]||t[`${Ys(e)}Modifiers`];function d0(t,e,...s){if(t.isUnmounted)return;const n=t.vnode.props||Kt;let r=s;const a=e.startsWith("update:"),l=a&&af(n,e.slice(7));l&&(l.trim&&(r=s.map(p=>oe(p)?p.trim():p)),l.number&&(r=s.map(oo)));let d,u=n[d=la(e)]||n[d=la(Ue(e))];!u&&a&&(u=n[d=la(Ys(e))]),u&&hs(u,t,6,r);const m=n[d+"Once"];if(m){if(!t.emitted)t.emitted={};else if(t.emitted[d])return;t.emitted[d]=!0,hs(m,t,6,r)}}const f0=new WeakMap;function lf(t,e,s=!1){const n=s?f0:e.emitsCache,r=n.get(t);if(r!==void 0)return r;const a=t.emits;let l={},d=!1;if(!Rt(t)){const u=m=>{const p=lf(m,e,!0);p&&(d=!0,Pe(l,p))};!s&&e.mixins.length&&e.mixins.forEach(u),t.extends&&u(t.extends),t.mixins&&t.mixins.forEach(u)}return!a&&!d?(Ht(t)&&n.set(t,null),null):(Ct(a)?a.forEach(u=>l[u]=null):Pe(l,a),Ht(t)&&n.set(t,l),l)}function _o(t,e){return!t||!eo(e)?!1:(e=e.slice(2).replace(/Once$/,""),Wt(t,e[0].toLowerCase()+e.slice(1))||Wt(t,Ys(e))||Wt(t,e))}function Cc(t){const{type:e,vnode:s,proxy:n,withProxy:r,propsOptions:[a],slots:l,attrs:d,emit:u,render:m,renderCache:p,props:g,data:v,setupState:S,ctx:$,inheritAttrs:F}=t,W=Kr(t);let x,A;try{if(s.shapeFlag&4){const N=r||n,X=N;x=Es(m.call(X,N,p,g,S,v,$)),A=d}else{const N=e;x=Es(N.length>1?N(g,{attrs:d,slots:l,emit:u}):N(g,null)),A=e.props?d:b0(d)}}catch(N){Mi.length=0,bo(N,t,1),x=fe(Ve)}let G=x;if(A&&F!==!1){const N=Object.keys(A),{shapeFlag:X}=G;N.length&&X&7&&(a&&N.some(rl)&&(A=m0(A,a)),G=bn(G,A,!1,!0))}return s.dirs&&(G=bn(G,null,!1,!0),G.dirs=G.dirs?G.dirs.concat(s.dirs):s.dirs),s.transition&&ji(G,s.transition),x=G,Kr(W),x}const b0=t=>{let e;for(const s in t)(s==="class"||s==="style"||eo(s))&&((e||(e={}))[s]=t[s]);return e},m0=(t,e)=>{const s={};for(const n in t)(!rl(n)||!(n.slice(9)in e))&&(s[n]=t[n]);return s};function p0(t,e,s){const{props:n,children:r,component:a}=t,{props:l,children:d,patchFlag:u}=e,m=a.emitsOptions;if(e.dirs||e.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return n?Ec(n,l,m):!!l;if(u&8){const p=e.dynamicProps;for(let g=0;g<p.length;g++){const v=p[g];if(cf(l,n,v)&&!_o(m,v))return!0}}}else return(r||d)&&(!d||!d.$stable)?!0:n===l?!1:n?l?Ec(n,l,m):!0:!!l;return!1}function Ec(t,e,s){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(let r=0;r<n.length;r++){const a=n[r];if(cf(e,t,a)&&!_o(s,a))return!0}return!1}function cf(t,e,s){const n=t[s],r=e[s];return s==="style"&&Ht(n)&&Ht(r)?!Wi(n,r):n!==r}function h0({vnode:t,parent:e},s){for(;e;){const n=e.subTree;if(n.suspense&&n.suspense.activeBranch===t&&(n.el=t.el),n===t)(t=e.vnode).el=s,e=e.parent;else break}}const uf={},df=()=>Object.create(uf),ff=t=>Object.getPrototypeOf(t)===uf;function g0(t,e,s,n=!1){const r={},a=df();t.propsDefaults=Object.create(null),bf(t,e,r,a);for(const l in t.propsOptions[0])l in r||(r[l]=void 0);s?t.props=n?r:Ed(r):t.type.props?t.props=r:t.props=a,t.attrs=a}function y0(t,e,s,n){const{props:r,attrs:a,vnode:{patchFlag:l}}=t,d=qt(r),[u]=t.propsOptions;let m=!1;if((n||l>0)&&!(l&16)){if(l&8){const p=t.vnode.dynamicProps;for(let g=0;g<p.length;g++){let v=p[g];if(_o(t.emitsOptions,v))continue;const S=e[v];if(u)if(Wt(a,v))S!==a[v]&&(a[v]=S,m=!0);else{const $=Ue(v);r[$]=ja(u,d,$,S,t,!1)}else S!==a[v]&&(a[v]=S,m=!0)}}}else{bf(t,e,r,a)&&(m=!0);let p;for(const g in d)(!e||!Wt(e,g)&&((p=Ys(g))===g||!Wt(e,p)))&&(u?s&&(s[g]!==void 0||s[p]!==void 0)&&(r[g]=ja(u,d,g,void 0,t,!0)):delete r[g]);if(a!==d)for(const g in a)(!e||!Wt(e,g))&&(delete a[g],m=!0)}m&&$s(t.attrs,"set","")}function bf(t,e,s,n){const[r,a]=t.propsOptions;let l=!1,d;if(e)for(let u in e){if(xi(u))continue;const m=e[u];let p;r&&Wt(r,p=Ue(u))?!a||!a.includes(p)?s[p]=m:(d||(d={}))[p]=m:_o(t.emitsOptions,u)||(!(u in n)||m!==n[u])&&(n[u]=m,l=!0)}if(a){const u=qt(s),m=d||Kt;for(let p=0;p<a.length;p++){const g=a[p];s[g]=ja(r,u,g,m[g],t,!Wt(m,g))}}return l}function ja(t,e,s,n,r,a){const l=t[s];if(l!=null){const d=Wt(l,"default");if(d&&n===void 0){const u=l.default;if(l.type!==Function&&!l.skipFactory&&Rt(u)){const{propsDefaults:m}=r;if(s in m)n=m[s];else{const p=Xi(r);n=m[s]=u.call(null,e),p()}}else n=u;r.ce&&r.ce._setProp(s,n)}l[0]&&(a&&!d?n=!1:l[1]&&(n===""||n===Ys(s))&&(n=!0))}return n}const v0=new WeakMap;function mf(t,e,s=!1){const n=s?v0:e.propsCache,r=n.get(t);if(r)return r;const a=t.props,l={},d=[];let u=!1;if(!Rt(t)){const p=g=>{u=!0;const[v,S]=mf(g,e,!0);Pe(l,v),S&&d.push(...S)};!s&&e.mixins.length&&e.mixins.forEach(p),t.extends&&p(t.extends),t.mixins&&t.mixins.forEach(p)}if(!a&&!u)return Ht(t)&&n.set(t,Xn),Xn;if(Ct(a))for(let p=0;p<a.length;p++){const g=Ue(a[p]);Pc(g)&&(l[g]=Kt)}else if(a)for(const p in a){const g=Ue(p);if(Pc(g)){const v=a[p],S=l[g]=Ct(v)||Rt(v)?{type:v}:Pe({},v),$=S.type;let F=!1,W=!0;if(Ct($))for(let x=0;x<$.length;++x){const A=$[x],G=Rt(A)&&A.name;if(G==="Boolean"){F=!0;break}else G==="String"&&(W=!1)}else F=Rt($)&&$.name==="Boolean";S[0]=F,S[1]=W,(F||Wt(S,"default"))&&d.push(g)}}const m=[l,d];return Ht(t)&&n.set(t,m),m}function Pc(t){return t[0]!=="$"&&!xi(t)}const hl=t=>t==="_"||t==="_ctx"||t==="$stable",gl=t=>Ct(t)?t.map(Es):[Es(t)],_0=(t,e,s)=>{if(e._n)return e;const n=po((...r)=>gl(e(...r)),s);return n._c=!1,n},pf=(t,e,s)=>{const n=t._ctx;for(const r in t){if(hl(r))continue;const a=t[r];if(Rt(a))e[r]=_0(r,a,n);else if(a!=null){const l=gl(a);e[r]=()=>l}}},hf=(t,e)=>{const s=gl(e);t.slots.default=()=>s},gf=(t,e,s)=>{for(const n in e)(s||!hl(n))&&(t[n]=e[n])},w0=(t,e,s)=>{const n=t.slots=df();if(t.vnode.shapeFlag&32){const r=e._;r?(gf(n,e,s),s&&ld(n,"_",r,!0)):pf(e,n)}else e&&hf(t,e)},T0=(t,e,s)=>{const{vnode:n,slots:r}=t;let a=!0,l=Kt;if(n.shapeFlag&32){const d=e._;d?s&&d===1?a=!1:gf(r,e,s):(a=!e.$stable,pf(e,r)),l=e}else e&&(hf(t,e),l={default:1});if(a)for(const d in r)!hl(d)&&l[d]==null&&delete r[d]},Be=C0;function k0(t){return S0(t)}function S0(t,e){const s=ao();s.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:l,createText:d,createComment:u,setText:m,setElementText:p,parentNode:g,nextSibling:v,setScopeId:S=Ps,insertStaticContent:$}=t,F=(w,C,B,Y=null,nt=null,et=null,T=void 0,k=null,L=!!C.dynamicChildren)=>{if(w===C)return;w&&!Dn(w,C)&&(Y=tt(w),Jt(w,nt,et,!0),w=null),C.patchFlag===-2&&(L=!1,C.dynamicChildren=null);const{type:K,ref:pt,shapeFlag:it}=C;switch(K){case Yi:W(w,C,B,Y);break;case Ve:x(w,C,B,Y);break;case Ir:w==null&&A(C,B,Y,T);break;case we:lt(w,C,B,Y,nt,et,T,k,L);break;default:it&1?X(w,C,B,Y,nt,et,T,k,L):it&6?Et(w,C,B,Y,nt,et,T,k,L):(it&64||it&128)&&K.process(w,C,B,Y,nt,et,T,k,L,rt)}pt!=null&&nt?Pi(pt,w&&w.ref,et,C||w,!C):pt==null&&w&&w.ref!=null&&Pi(w.ref,null,et,w,!0)},W=(w,C,B,Y)=>{if(w==null)n(C.el=d(C.children),B,Y);else{const nt=C.el=w.el;C.children!==w.children&&m(nt,C.children)}},x=(w,C,B,Y)=>{w==null?n(C.el=u(C.children||""),B,Y):C.el=w.el},A=(w,C,B,Y)=>{[w.el,w.anchor]=$(w.children,C,B,Y,w.el,w.anchor)},G=({el:w,anchor:C},B,Y)=>{let nt;for(;w&&w!==C;)nt=v(w),n(w,B,Y),w=nt;n(C,B,Y)},N=({el:w,anchor:C})=>{let B;for(;w&&w!==C;)B=v(w),r(w),w=B;r(C)},X=(w,C,B,Y,nt,et,T,k,L)=>{if(C.type==="svg"?T="svg":C.type==="math"&&(T="mathml"),w==null)z(C,B,Y,nt,et,T,k,L);else{const K=w.el&&w.el._isVueCE?w.el:null;try{K&&K._beginPatch(),st(w,C,nt,et,T,k,L)}finally{K&&K._endPatch()}}},z=(w,C,B,Y,nt,et,T,k)=>{let L,K;const{props:pt,shapeFlag:it,transition:j,dirs:Q}=w;if(L=w.el=l(w.type,et,pt&&pt.is,pt),it&8?p(L,w.children):it&16&&ot(w.children,L,null,Y,nt,pa(w,et),T,k),Q&&An(w,null,Y,"created"),H(L,w,w.scopeId,T,Y),pt){for(const St in pt)St!=="value"&&!xi(St)&&a(L,St,null,pt[St],et,Y);"value"in pt&&a(L,"value",null,pt.value,et),(K=pt.onVnodeBeforeMount)&&ks(K,Y,w)}Q&&An(w,null,Y,"beforeMount");const mt=x0(nt,j);mt&&j.beforeEnter(L),n(L,C,B),((K=pt&&pt.onVnodeMounted)||mt||Q)&&Be(()=>{K&&ks(K,Y,w),mt&&j.enter(L),Q&&An(w,null,Y,"mounted")},nt)},H=(w,C,B,Y,nt)=>{if(B&&S(w,B),Y)for(let et=0;et<Y.length;et++)S(w,Y[et]);if(nt){let et=nt.subTree;if(C===et||_f(et.type)&&(et.ssContent===C||et.ssFallback===C)){const T=nt.vnode;H(w,T,T.scopeId,T.slotScopeIds,nt.parent)}}},ot=(w,C,B,Y,nt,et,T,k,L=0)=>{for(let K=L;K<w.length;K++){const pt=w[K]=k?qs(w[K]):Es(w[K]);F(null,pt,C,B,Y,nt,et,T,k)}},st=(w,C,B,Y,nt,et,T)=>{const k=C.el=w.el;let{patchFlag:L,dynamicChildren:K,dirs:pt}=C;L|=w.patchFlag&16;const it=w.props||Kt,j=C.props||Kt;let Q;if(B&&Cn(B,!1),(Q=j.onVnodeBeforeUpdate)&&ks(Q,B,C,w),pt&&An(C,w,B,"beforeUpdate"),B&&Cn(B,!0),(it.innerHTML&&j.innerHTML==null||it.textContent&&j.textContent==null)&&p(k,""),K?vt(w.dynamicChildren,K,k,B,Y,pa(C,nt),et):T||Dt(w,C,k,null,B,Y,pa(C,nt),et,!1),L>0){if(L&16)xt(k,it,j,B,nt);else if(L&2&&it.class!==j.class&&a(k,"class",null,j.class,nt),L&4&&a(k,"style",it.style,j.style,nt),L&8){const mt=C.dynamicProps;for(let St=0;St<mt.length;St++){const It=mt[St],ee=it[It],se=j[It];(se!==ee||It==="value")&&a(k,It,ee,se,nt,B)}}L&1&&w.children!==C.children&&p(k,C.children)}else!T&&K==null&&xt(k,it,j,B,nt);((Q=j.onVnodeUpdated)||pt)&&Be(()=>{Q&&ks(Q,B,C,w),pt&&An(C,w,B,"updated")},Y)},vt=(w,C,B,Y,nt,et,T)=>{for(let k=0;k<C.length;k++){const L=w[k],K=C[k],pt=L.el&&(L.type===we||!Dn(L,K)||L.shapeFlag&198)?g(L.el):B;F(L,K,pt,null,Y,nt,et,T,!0)}},xt=(w,C,B,Y,nt)=>{if(C!==B){if(C!==Kt)for(const et in C)!xi(et)&&!(et in B)&&a(w,et,C[et],null,nt,Y);for(const et in B){if(xi(et))continue;const T=B[et],k=C[et];T!==k&&et!=="value"&&a(w,et,k,T,nt,Y)}"value"in B&&a(w,"value",C.value,B.value,nt)}},lt=(w,C,B,Y,nt,et,T,k,L)=>{const K=C.el=w?w.el:d(""),pt=C.anchor=w?w.anchor:d("");let{patchFlag:it,dynamicChildren:j,slotScopeIds:Q}=C;Q&&(k=k?k.concat(Q):Q),w==null?(n(K,B,Y),n(pt,B,Y),ot(C.children||[],B,pt,nt,et,T,k,L)):it>0&&it&64&&j&&w.dynamicChildren&&w.dynamicChildren.length===j.length?(vt(w.dynamicChildren,j,B,nt,et,T,k),(C.key!=null||nt&&C===nt.subTree)&&yl(w,C,!0)):Dt(w,C,B,pt,nt,et,T,k,L)},Et=(w,C,B,Y,nt,et,T,k,L)=>{C.slotScopeIds=k,w==null?C.shapeFlag&512?nt.ctx.activate(C,B,Y,T,L):Yt(C,B,Y,nt,et,T,L):ae(w,C,L)},Yt=(w,C,B,Y,nt,et,T)=>{const k=w.component=N0(w,Y,nt);if(go(w)&&(k.ctx.renderer=rt),L0(k,!1,T),k.asyncDep){if(nt&&nt.registerDep(k,Lt,T),!w.el){const L=k.subTree=fe(Ve);x(null,L,C,B),w.placeholder=L.el}}else Lt(k,w,C,B,nt,et,T)},ae=(w,C,B)=>{const Y=C.component=w.component;if(p0(w,C,B))if(Y.asyncDep&&!Y.asyncResolved){Pt(Y,C,B);return}else Y.next=C,Y.update();else C.el=w.el,Y.vnode=C},Lt=(w,C,B,Y,nt,et,T)=>{const k=()=>{if(w.isMounted){let{next:it,bu:j,u:Q,parent:mt,vnode:St}=w;{const Ae=yf(w);if(Ae){it&&(it.el=St.el,Pt(w,it,T)),Ae.asyncDep.then(()=>{Be(()=>{w.isUnmounted||K()},nt)});return}}let It=it,ee;Cn(w,!1),it?(it.el=St.el,Pt(w,it,T)):it=St,j&&Mr(j),(ee=it.props&&it.props.onVnodeBeforeUpdate)&&ks(ee,mt,it,St),Cn(w,!0);const se=Cc(w),Ne=w.subTree;w.subTree=se,F(Ne,se,g(Ne.el),tt(Ne),w,nt,et),it.el=se.el,It===null&&h0(w,se.el),Q&&Be(Q,nt),(ee=it.props&&it.props.onVnodeUpdated)&&Be(()=>ks(ee,mt,it,St),nt)}else{let it;const{el:j,props:Q}=C,{bm:mt,m:St,parent:It,root:ee,type:se}=w,Ne=ei(C);Cn(w,!1),mt&&Mr(mt),!Ne&&(it=Q&&Q.onVnodeBeforeMount)&&ks(it,It,C),Cn(w,!0);{ee.ce&&ee.ce._hasShadowRoot()&&ee.ce._injectChildStyle(se,w.parent?w.parent.type:void 0);const Ae=w.subTree=Cc(w);F(null,Ae,B,Y,w,nt,et),C.el=Ae.el}if(St&&Be(St,nt),!Ne&&(it=Q&&Q.onVnodeMounted)){const Ae=C;Be(()=>ks(it,It,Ae),nt)}(C.shapeFlag&256||It&&ei(It.vnode)&&It.vnode.shapeFlag&256)&&w.a&&Be(w.a,nt),w.isMounted=!0,C=B=Y=null}};w.scope.on();const L=w.effect=new md(k);w.scope.off();const K=w.update=L.run.bind(L),pt=w.job=L.runIfDirty.bind(L);pt.i=w,pt.id=w.uid,L.scheduler=()=>ml(pt),Cn(w,!0),K()},Pt=(w,C,B)=>{C.component=w;const Y=w.vnode.props;w.vnode=C,w.next=null,y0(w,C.props,Y,B),T0(w,C.children,B),zs(),mc(w),Js()},Dt=(w,C,B,Y,nt,et,T,k,L=!1)=>{const K=w&&w.children,pt=w?w.shapeFlag:0,it=C.children,{patchFlag:j,shapeFlag:Q}=C;if(j>0){if(j&128){le(K,it,B,Y,nt,et,T,k,L);return}else if(j&256){Xt(K,it,B,Y,nt,et,T,k,L);return}}Q&8?(pt&16&&ge(K,nt,et),it!==K&&p(B,it)):pt&16?Q&16?le(K,it,B,Y,nt,et,T,k,L):ge(K,nt,et,!0):(pt&8&&p(B,""),Q&16&&ot(it,B,Y,nt,et,T,k,L))},Xt=(w,C,B,Y,nt,et,T,k,L)=>{w=w||Xn,C=C||Xn;const K=w.length,pt=C.length,it=Math.min(K,pt);let j;for(j=0;j<it;j++){const Q=C[j]=L?qs(C[j]):Es(C[j]);F(w[j],Q,B,null,nt,et,T,k,L)}K>pt?ge(w,nt,et,!0,!1,it):ot(C,B,Y,nt,et,T,k,L,it)},le=(w,C,B,Y,nt,et,T,k,L)=>{let K=0;const pt=C.length;let it=w.length-1,j=pt-1;for(;K<=it&&K<=j;){const Q=w[K],mt=C[K]=L?qs(C[K]):Es(C[K]);if(Dn(Q,mt))F(Q,mt,B,null,nt,et,T,k,L);else break;K++}for(;K<=it&&K<=j;){const Q=w[it],mt=C[j]=L?qs(C[j]):Es(C[j]);if(Dn(Q,mt))F(Q,mt,B,null,nt,et,T,k,L);else break;it--,j--}if(K>it){if(K<=j){const Q=j+1,mt=Q<pt?C[Q].el:Y;for(;K<=j;)F(null,C[K]=L?qs(C[K]):Es(C[K]),B,mt,nt,et,T,k,L),K++}}else if(K>j)for(;K<=it;)Jt(w[K],nt,et,!0),K++;else{const Q=K,mt=K,St=new Map;for(K=mt;K<=j;K++){const be=C[K]=L?qs(C[K]):Es(C[K]);be.key!=null&&St.set(be.key,K)}let It,ee=0;const se=j-mt+1;let Ne=!1,Ae=0;const vs=new Array(se);for(K=0;K<se;K++)vs[K]=0;for(K=Q;K<=it;K++){const be=w[K];if(ee>=se){Jt(be,nt,et,!0);continue}let _t;if(be.key!=null)_t=St.get(be.key);else for(It=mt;It<=j;It++)if(vs[It-mt]===0&&Dn(be,C[It])){_t=It;break}_t===void 0?Jt(be,nt,et,!0):(vs[_t-mt]=K+1,_t>=Ae?Ae=_t:Ne=!0,F(be,C[_t],B,null,nt,et,T,k,L),ee++)}const Fn=Ne?A0(vs):Xn;for(It=Fn.length-1,K=se-1;K>=0;K--){const be=mt+K,_t=C[be],Zs=C[be+1],_s=be+1<pt?Zs.el||vf(Zs):Y;vs[K]===0?F(null,_t,B,_s,nt,et,T,k,L):Ne&&(It<0||K!==Fn[It]?xe(_t,B,_s,2):It--)}}},xe=(w,C,B,Y,nt=null)=>{const{el:et,type:T,transition:k,children:L,shapeFlag:K}=w;if(K&6){xe(w.component.subTree,C,B,Y);return}if(K&128){w.suspense.move(C,B,Y);return}if(K&64){T.move(w,C,B,rt);return}if(T===we){n(et,C,B);for(let it=0;it<L.length;it++)xe(L[it],C,B,Y);n(w.anchor,C,B);return}if(T===Ir){G(w,C,B);return}if(Y!==2&&K&1&&k)if(Y===0)k.beforeEnter(et),n(et,C,B),Be(()=>k.enter(et),nt);else{const{leave:it,delayLeave:j,afterLeave:Q}=k,mt=()=>{w.ctx.isUnmounted?r(et):n(et,C,B)},St=()=>{et._isLeaving&&et[As](!0),it(et,()=>{mt(),Q&&Q()})};j?j(et,mt,St):St()}else n(et,C,B)},Jt=(w,C,B,Y=!1,nt=!1)=>{const{type:et,props:T,ref:k,children:L,dynamicChildren:K,shapeFlag:pt,patchFlag:it,dirs:j,cacheIndex:Q}=w;if(it===-2&&(nt=!1),k!=null&&(zs(),Pi(k,null,B,w,!0),Js()),Q!=null&&(C.renderCache[Q]=void 0),pt&256){C.ctx.deactivate(w);return}const mt=pt&1&&j,St=!ei(w);let It;if(St&&(It=T&&T.onVnodeBeforeUnmount)&&ks(It,C,w),pt&6)Qe(w.component,B,Y);else{if(pt&128){w.suspense.unmount(B,Y);return}mt&&An(w,null,C,"beforeUnmount"),pt&64?w.type.remove(w,C,B,rt,Y):K&&!K.hasOnce&&(et!==we||it>0&&it&64)?ge(K,C,B,!1,!0):(et===we&&it&384||!nt&&pt&16)&&ge(L,C,B),Y&&ss(w)}(St&&(It=T&&T.onVnodeUnmounted)||mt)&&Be(()=>{It&&ks(It,C,w),mt&&An(w,null,C,"unmounted")},B)},ss=w=>{const{type:C,el:B,anchor:Y,transition:nt}=w;if(C===we){Ie(B,Y);return}if(C===Ir){N(w);return}const et=()=>{r(B),nt&&!nt.persisted&&nt.afterLeave&&nt.afterLeave()};if(w.shapeFlag&1&&nt&&!nt.persisted){const{leave:T,delayLeave:k}=nt,L=()=>T(B,et);k?k(w.el,et,L):L()}else et()},Ie=(w,C)=>{let B;for(;w!==C;)B=v(w),r(w),w=B;r(C)},Qe=(w,C,B)=>{const{bum:Y,scope:nt,job:et,subTree:T,um:k,m:L,a:K}=w;Rc(L),Rc(K),Y&&Mr(Y),nt.stop(),et&&(et.flags|=8,Jt(T,w,C,B)),k&&Be(k,C),Be(()=>{w.isUnmounted=!0},C)},ge=(w,C,B,Y=!1,nt=!1,et=0)=>{for(let T=et;T<w.length;T++)Jt(w[T],C,B,Y,nt)},tt=w=>{if(w.shapeFlag&6)return tt(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const C=v(w.anchor||w.el),B=C&&C[Bd];return B?v(B):C};let gt=!1;const bt=(w,C,B)=>{let Y;w==null?C._vnode&&(Jt(C._vnode,null,null,!0),Y=C._vnode.component):F(C._vnode||null,w,C,null,null,null,B),C._vnode=w,gt||(gt=!0,mc(Y),Nd(),gt=!1)},rt={p:F,um:Jt,m:xe,r:ss,mt:Yt,mc:ot,pc:Dt,pbc:vt,n:tt,o:t};return{render:bt,hydrate:void 0,createApp:u0(bt)}}function pa({type:t,props:e},s){return s==="svg"&&t==="foreignObject"||s==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:s}function Cn({effect:t,job:e},s){s?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function x0(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function yl(t,e,s=!1){const n=t.children,r=e.children;if(Ct(n)&&Ct(r))for(let a=0;a<n.length;a++){const l=n[a];let d=r[a];d.shapeFlag&1&&!d.dynamicChildren&&((d.patchFlag<=0||d.patchFlag===32)&&(d=r[a]=qs(r[a]),d.el=l.el),!s&&d.patchFlag!==-2&&yl(l,d)),d.type===Yi&&(d.patchFlag===-1&&(d=r[a]=qs(d)),d.el=l.el),d.type===Ve&&!d.el&&(d.el=l.el)}}function A0(t){const e=t.slice(),s=[0];let n,r,a,l,d;const u=t.length;for(n=0;n<u;n++){const m=t[n];if(m!==0){if(r=s[s.length-1],t[r]<m){e[n]=r,s.push(n);continue}for(a=0,l=s.length-1;a<l;)d=a+l>>1,t[s[d]]<m?a=d+1:l=d;m<t[s[a]]&&(a>0&&(e[n]=s[a-1]),s[a]=n)}}for(a=s.length,l=s[a-1];a-- >0;)s[a]=l,l=e[l];return s}function yf(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:yf(e)}function Rc(t){if(t)for(let e=0;e<t.length;e++)t[e].flags|=8}function vf(t){if(t.placeholder)return t.placeholder;const e=t.component;return e?vf(e.subTree):null}const _f=t=>t.__isSuspense;function C0(t,e){e&&e.pendingBranch?Ct(t)?e.effects.push(...t):e.effects.push(t):Lm(t)}const we=Symbol.for("v-fgt"),Yi=Symbol.for("v-txt"),Ve=Symbol.for("v-cmt"),Ir=Symbol.for("v-stc"),Mi=[];let Je=null;function ke(t=!1){Mi.push(Je=t?null:[])}function E0(){Mi.pop(),Je=Mi[Mi.length-1]||null}let ii=1;function Gr(t,e=!1){ii+=t,t<0&&Je&&e&&(Je.hasOnce=!0)}function wf(t){return t.dynamicChildren=ii>0?Je||Xn:null,E0(),ii>0&&Je&&Je.push(t),t}function Ws(t,e,s,n,r,a){return wf(Mt(t,e,s,n,r,a,!0))}function bs(t,e,s,n,r){return wf(fe(t,e,s,n,r,!0))}function Bi(t){return t?t.__v_isVNode===!0:!1}function Dn(t,e){return t.type===e.type&&t.key===e.key}const Tf=({key:t})=>t??null,Nr=({ref:t,ref_key:e,ref_for:s})=>(typeof t=="number"&&(t=""+t),t!=null?oe(t)||re(t)||Rt(t)?{i:Fe,r:t,k:e,f:!!s}:t:null);function Mt(t,e=null,s=null,n=0,r=null,a=t===we?0:1,l=!1,d=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Tf(e),ref:e&&Nr(e),scopeId:Fd,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Fe};return d?(vl(u,s),a&128&&t.normalize(u)):s&&(u.shapeFlag|=oe(s)?8:16),ii>0&&!l&&Je&&(u.patchFlag>0||a&6)&&u.patchFlag!==32&&Je.push(u),u}const fe=P0;function P0(t,e=null,s=null,n=0,r=null,a=!1){if((!t||t===Yd)&&(t=Ve),Bi(t)){const d=bn(t,e,!0);return s&&vl(d,s),ii>0&&!a&&Je&&(d.shapeFlag&6?Je[Je.indexOf(t)]=d:Je.push(d)),d.patchFlag=-2,d}if(q0(t)&&(t=t.__vccOpts),e){e=R0(e);let{class:d,style:u}=e;d&&!oe(d)&&(e.class=pn(d)),Ht(u)&&(fo(u)&&!Ct(u)&&(u=Pe({},u)),e.style=lo(u))}const l=oe(t)?1:_f(t)?128:qd(t)?64:Ht(t)?4:Rt(t)?2:0;return Mt(t,e,s,n,r,l,a,!0)}function R0(t){return t?fo(t)||ff(t)?Pe({},t):t:null}function bn(t,e,s=!1,n=!1){const{props:r,ref:a,patchFlag:l,children:d,transition:u}=t,m=e?D0(r||{},e):r,p={__v_isVNode:!0,__v_skip:!0,type:t.type,props:m,key:m&&Tf(m),ref:e&&e.ref?s&&a?Ct(a)?a.concat(Nr(e)):[a,Nr(e)]:Nr(e):a,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:d,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==we?l===-1?16:l|16:l,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:u,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&bn(t.ssContent),ssFallback:t.ssFallback&&bn(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return u&&n&&ji(p,u.clone(p)),p}function Di(t=" ",e=0){return fe(Yi,null,t,e)}function Uv(t,e){const s=fe(Ir,null,t);return s.staticCount=e,s}function M0(t="",e=!1){return e?(ke(),bs(Ve,null,t)):fe(Ve,null,t)}function Es(t){return t==null||typeof t=="boolean"?fe(Ve):Ct(t)?fe(we,null,t.slice()):Bi(t)?qs(t):fe(Yi,null,String(t))}function qs(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:bn(t)}function vl(t,e){let s=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(Ct(e))s=16;else if(typeof e=="object")if(n&65){const r=e.default;r&&(r._c&&(r._d=!1),vl(t,r()),r._c&&(r._d=!0));return}else{s=32;const r=e._;!r&&!ff(e)?e._ctx=Fe:r===3&&Fe&&(Fe.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else Rt(e)?(e={default:e,_ctx:Fe},s=32):(e=String(e),n&64?(s=16,e=[Di(e)]):s=8);t.children=e,t.shapeFlag|=s}function D0(...t){const e={};for(let s=0;s<t.length;s++){const n=t[s];for(const r in n)if(r==="class")e.class!==n.class&&(e.class=pn([e.class,n.class]));else if(r==="style")e.style=lo([e.style,n.style]);else if(eo(r)){const a=e[r],l=n[r];l&&a!==l&&!(Ct(a)&&a.includes(l))&&(e[r]=a?[].concat(a,l):l)}else r!==""&&(e[r]=n[r])}return e}function ks(t,e,s,n=null){hs(t,e,7,[s,n])}const O0=of();let I0=0;function N0(t,e,s){const n=t.type,r=(e?e.appContext:t.appContext)||O0,a={uid:I0++,vnode:t,type:n,parent:e,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new fd(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:e?e.provides:Object.create(r.provides),ids:e?e.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:mf(n,r),emitsOptions:lf(n,r),emit:null,emitted:null,propsDefaults:Kt,inheritAttrs:n.inheritAttrs,ctx:Kt,data:Kt,props:Kt,attrs:Kt,slots:Kt,refs:Kt,setupState:Kt,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return a.ctx={_:a},a.root=e?e.root:a,a.emit=d0.bind(null,a),t.ce&&t.ce(a),a}let Ke=null;const hn=()=>Ke||Fe;let Wr,Ba;{const t=ao(),e=(s,n)=>{let r;return(r=t[s])||(r=t[s]=[]),r.push(n),a=>{r.length>1?r.forEach(l=>l(a)):r[0](a)}};Wr=e("__VUE_INSTANCE_SETTERS__",s=>Ke=s),Ba=e("__VUE_SSR_SETTERS__",s=>qi=s)}const Xi=t=>{const e=Ke;return Wr(t),t.scope.on(),()=>{t.scope.off(),Wr(e)}},Mc=()=>{Ke&&Ke.scope.off(),Wr(null)};function kf(t){return t.vnode.shapeFlag&4}let qi=!1;function L0(t,e=!1,s=!1){e&&Ba(e);const{props:n,children:r}=t.vnode,a=kf(t);g0(t,n,a,e),w0(t,r,s||e);const l=a?F0(t,e):void 0;return e&&Ba(!1),l}function F0(t,e){const s=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,n0);const{setup:n}=s;if(n){zs();const r=t.setupContext=n.length>1?xf(t):null,a=Xi(t),l=Ji(n,t,0,[t.props,r]),d=rd(l);if(Js(),a(),(d||t.sp)&&!ei(t)&&Wd(t),d){if(l.then(Mc,Mc),e)return l.then(u=>{Dc(t,u)}).catch(u=>{bo(u,t,0)});t.asyncDep=l}else Dc(t,l)}else Sf(t)}function Dc(t,e,s){Rt(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Ht(e)&&(t.setupState=Md(e)),Sf(t)}function Sf(t,e,s){const n=t.type;t.render||(t.render=n.render||Ps);{const r=Xi(t);zs();try{i0(t)}finally{Js(),r()}}}const j0={get(t,e){return $e(t,"get",""),t[e]}};function xf(t){const e=s=>{t.exposed=s||{}};return{attrs:new Proxy(t.attrs,j0),slots:t.slots,emit:t.emit,expose:e}}function wo(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Md(bl(t.exposed)),{get(e,s){if(s in e)return e[s];if(s in Ri)return Ri[s](t)},has(e,s){return s in e||s in Ri}})):t.proxy}function B0(t,e=!0){return Rt(t)?t.displayName||t.name:t.name||e&&t.__name}function q0(t){return Rt(t)&&"__vccOpts"in t}const ne=(t,e)=>Mm(t,e,qi);function mn(t,e,s){try{Gr(-1);const n=arguments.length;return n===2?Ht(e)&&!Ct(e)?Bi(e)?fe(t,null,[e]):fe(t,e):fe(t,null,e):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Bi(s)&&(s=[s]),fe(t,e,s))}finally{Gr(1)}}function Hv(t,e){const s=t.memo;if(s.length!=e.length)return!1;for(let n=0;n<s.length;n++)if(Le(s[n],e[n]))return!1;return ii>0&&Je&&Je.push(t),!0}const $0="3.5.30";let qa;const Oc=typeof window<"u"&&window.trustedTypes;if(Oc)try{qa=Oc.createPolicy("vue",{createHTML:t=>t})}catch{}const Af=qa?t=>qa.createHTML(t):t=>t,V0="http://www.w3.org/2000/svg",K0="http://www.w3.org/1998/Math/MathML",js=typeof document<"u"?document:null,Ic=js&&js.createElement("template"),U0={insert:(t,e,s)=>{e.insertBefore(t,s||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,s,n)=>{const r=e==="svg"?js.createElementNS(V0,t):e==="mathml"?js.createElementNS(K0,t):s?js.createElement(t,{is:s}):js.createElement(t);return t==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:t=>js.createTextNode(t),createComment:t=>js.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>js.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,s,n,r,a){const l=s?s.previousSibling:e.lastChild;if(r&&(r===a||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),s),!(r===a||!(r=r.nextSibling)););else{Ic.innerHTML=Af(n==="svg"?`<svg>${t}</svg>`:n==="mathml"?`<math>${t}</math>`:t);const d=Ic.content;if(n==="svg"||n==="mathml"){const u=d.firstChild;for(;u.firstChild;)d.appendChild(u.firstChild);d.removeChild(u)}e.insertBefore(d,s)}return[l?l.nextSibling:e.firstChild,s?s.previousSibling:e.lastChild]}},an="transition",vi="animation",$i=Symbol("_vtc"),Cf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},H0=Pe({},Vd,Cf),G0=t=>(t.displayName="Transition",t.props=H0,t),Gv=G0((t,{slots:e})=>mn(Gm,W0(t),e)),En=(t,e=[])=>{Ct(t)?t.forEach(s=>s(...e)):t&&t(...e)},Nc=t=>t?Ct(t)?t.some(e=>e.length>1):t.length>1:!1;function W0(t){const e={};for(const lt in t)lt in Cf||(e[lt]=t[lt]);if(t.css===!1)return e;const{name:s="v",type:n,duration:r,enterFromClass:a=`${s}-enter-from`,enterActiveClass:l=`${s}-enter-active`,enterToClass:d=`${s}-enter-to`,appearFromClass:u=a,appearActiveClass:m=l,appearToClass:p=d,leaveFromClass:g=`${s}-leave-from`,leaveActiveClass:v=`${s}-leave-active`,leaveToClass:S=`${s}-leave-to`}=t,$=z0(r),F=$&&$[0],W=$&&$[1],{onBeforeEnter:x,onEnter:A,onEnterCancelled:G,onLeave:N,onLeaveCancelled:X,onBeforeAppear:z=x,onAppear:H=A,onAppearCancelled:ot=G}=e,st=(lt,Et,Yt,ae)=>{lt._enterCancelled=ae,Pn(lt,Et?p:d),Pn(lt,Et?m:l),Yt&&Yt()},vt=(lt,Et)=>{lt._isLeaving=!1,Pn(lt,g),Pn(lt,S),Pn(lt,v),Et&&Et()},xt=lt=>(Et,Yt)=>{const ae=lt?H:A,Lt=()=>st(Et,lt,Yt);En(ae,[Et,Lt]),Lc(()=>{Pn(Et,lt?u:a),Ns(Et,lt?p:d),Nc(ae)||Fc(Et,n,F,Lt)})};return Pe(e,{onBeforeEnter(lt){En(x,[lt]),Ns(lt,a),Ns(lt,l)},onBeforeAppear(lt){En(z,[lt]),Ns(lt,u),Ns(lt,m)},onEnter:xt(!1),onAppear:xt(!0),onLeave(lt,Et){lt._isLeaving=!0;const Yt=()=>vt(lt,Et);Ns(lt,g),lt._enterCancelled?(Ns(lt,v),qc(lt)):(qc(lt),Ns(lt,v)),Lc(()=>{lt._isLeaving&&(Pn(lt,g),Ns(lt,S),Nc(N)||Fc(lt,n,W,Yt))}),En(N,[lt,Yt])},onEnterCancelled(lt){st(lt,!1,void 0,!0),En(G,[lt])},onAppearCancelled(lt){st(lt,!0,void 0,!0),En(ot,[lt])},onLeaveCancelled(lt){vt(lt),En(X,[lt])}})}function z0(t){if(t==null)return null;if(Ht(t))return[ha(t.enter),ha(t.leave)];{const e=ha(t);return[e,e]}}function ha(t){return zb(t)}function Ns(t,e){e.split(/\s+/).forEach(s=>s&&t.classList.add(s)),(t[$i]||(t[$i]=new Set)).add(e)}function Pn(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const s=t[$i];s&&(s.delete(e),s.size||(t[$i]=void 0))}function Lc(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let J0=0;function Fc(t,e,s,n){const r=t._endId=++J0,a=()=>{r===t._endId&&n()};if(s!=null)return setTimeout(a,s);const{type:l,timeout:d,propCount:u}=Q0(t,e);if(!l)return n();const m=l+"end";let p=0;const g=()=>{t.removeEventListener(m,v),a()},v=S=>{S.target===t&&++p>=u&&g()};setTimeout(()=>{p<u&&g()},d+1),t.addEventListener(m,v)}function Q0(t,e){const s=window.getComputedStyle(t),n=$=>(s[$]||"").split(", "),r=n(`${an}Delay`),a=n(`${an}Duration`),l=jc(r,a),d=n(`${vi}Delay`),u=n(`${vi}Duration`),m=jc(d,u);let p=null,g=0,v=0;e===an?l>0&&(p=an,g=l,v=a.length):e===vi?m>0&&(p=vi,g=m,v=u.length):(g=Math.max(l,m),p=g>0?l>m?an:vi:null,v=p?p===an?a.length:u.length:0);const S=p===an&&/\b(?:transform|all)(?:,|$)/.test(n(`${an}Property`).toString());return{type:p,timeout:g,propCount:v,hasTransform:S}}function jc(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((s,n)=>Bc(s)+Bc(t[n])))}function Bc(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function qc(t){return(t?t.ownerDocument:document).body.offsetHeight}function Y0(t,e,s){const n=t[$i];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):s?t.setAttribute("class",e):t.className=e}const zr=Symbol("_vod"),Ef=Symbol("_vsh"),Wv={name:"show",beforeMount(t,{value:e},{transition:s}){t[zr]=t.style.display==="none"?"":t.style.display,s&&e?s.beforeEnter(t):_i(t,e)},mounted(t,{value:e},{transition:s}){s&&e&&s.enter(t)},updated(t,{value:e,oldValue:s},{transition:n}){!e!=!s&&(n?e?(n.beforeEnter(t),_i(t,!0),n.enter(t)):n.leave(t,()=>{_i(t,!1)}):_i(t,e))},beforeUnmount(t,{value:e}){_i(t,e)}};function _i(t,e){t.style.display=e?t[zr]:"none",t[Ef]=!e}const X0=Symbol(""),Z0=/(?:^|;)\s*display\s*:/;function tp(t,e,s){const n=t.style,r=oe(s);let a=!1;if(s&&!r){if(e)if(oe(e))for(const l of e.split(";")){const d=l.slice(0,l.indexOf(":")).trim();s[d]==null&&Lr(n,d,"")}else for(const l in e)s[l]==null&&Lr(n,l,"");for(const l in s)l==="display"&&(a=!0),Lr(n,l,s[l])}else if(r){if(e!==s){const l=n[X0];l&&(s+=";"+l),n.cssText=s,a=Z0.test(s)}}else e&&t.removeAttribute("style");zr in t&&(t[zr]=a?n.display:"",t[Ef]&&(n.display="none"))}const $c=/\s*!important$/;function Lr(t,e,s){if(Ct(s))s.forEach(n=>Lr(t,e,n));else if(s==null&&(s=""),e.startsWith("--"))t.setProperty(e,s);else{const n=ep(t,e);$c.test(s)?t.setProperty(Ys(n),s.replace($c,""),"important"):t[n]=s}}const Vc=["Webkit","Moz","ms"],ga={};function ep(t,e){const s=ga[e];if(s)return s;let n=Ue(e);if(n!=="filter"&&n in t)return ga[e]=n;n=ro(n);for(let r=0;r<Vc.length;r++){const a=Vc[r]+n;if(a in t)return ga[e]=a}return e}const Kc="http://www.w3.org/1999/xlink";function Uc(t,e,s,n,r,a=tm(e)){n&&e.startsWith("xlink:")?s==null?t.removeAttributeNS(Kc,e.slice(6,e.length)):t.setAttributeNS(Kc,e,s):s==null||a&&!cd(s)?t.removeAttribute(e):t.setAttribute(e,a?"":ms(s)?String(s):s)}function Hc(t,e,s,n,r){if(e==="innerHTML"||e==="textContent"){s!=null&&(t[e]=e==="innerHTML"?Af(s):s);return}const a=t.tagName;if(e==="value"&&a!=="PROGRESS"&&!a.includes("-")){const d=a==="OPTION"?t.getAttribute("value")||"":t.value,u=s==null?t.type==="checkbox"?"on":"":String(s);(d!==u||!("_value"in t))&&(t.value=u),s==null&&t.removeAttribute(e),t._value=s;return}let l=!1;if(s===""||s==null){const d=typeof t[e];d==="boolean"?s=cd(s):s==null&&d==="string"?(s="",l=!0):d==="number"&&(s=0,l=!0)}try{t[e]=s}catch{}l&&t.removeAttribute(r||e)}function On(t,e,s,n){t.addEventListener(e,s,n)}function sp(t,e,s,n){t.removeEventListener(e,s,n)}const Gc=Symbol("_vei");function np(t,e,s,n,r=null){const a=t[Gc]||(t[Gc]={}),l=a[e];if(n&&l)l.value=n;else{const[d,u]=ip(e);if(n){const m=a[e]=ap(n,r);On(t,d,m,u)}else l&&(sp(t,d,l,u),a[e]=void 0)}}const Wc=/(?:Once|Passive|Capture)$/;function ip(t){let e;if(Wc.test(t)){e={};let n;for(;n=t.match(Wc);)t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[t[2]===":"?t.slice(3):Ys(t.slice(2)),e]}let ya=0;const rp=Promise.resolve(),op=()=>ya||(rp.then(()=>ya=0),ya=Date.now());function ap(t,e){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;hs(lp(n,s.value),e,5,[n])};return s.value=t,s.attached=op(),s}function lp(t,e){if(Ct(e)){const s=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{s.call(t),t._stopped=!0},e.map(n=>r=>!r._stopped&&n&&n(r))}else return e}const zc=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,cp=(t,e,s,n,r,a)=>{const l=r==="svg";e==="class"?Y0(t,n,l):e==="style"?tp(t,s,n):eo(e)?rl(e)||np(t,e,s,n,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):up(t,e,n,l))?(Hc(t,e,n),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&Uc(t,e,n,l,a,e!=="value")):t._isVueCE&&(dp(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!oe(n)))?Hc(t,Ue(e),n,a,e):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),Uc(t,e,n,l))};function up(t,e,s,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&zc(e)&&Rt(s));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const r=t.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return zc(e)&&oe(s)?!1:e in t}function dp(t,e){const s=t._def.props;if(!s)return!1;const n=Ue(e);return Array.isArray(s)?s.some(r=>Ue(r)===n):Object.keys(s).some(r=>Ue(r)===n)}const Jr=t=>{const e=t.props["onUpdate:modelValue"]||!1;return Ct(e)?s=>Mr(e,s):e};function fp(t){t.target.composing=!0}function Jc(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const si=Symbol("_assign");function Qc(t,e,s){return e&&(t=t.trim()),s&&(t=oo(t)),t}const Yc={created(t,{modifiers:{lazy:e,trim:s,number:n}},r){t[si]=Jr(r);const a=n||r.props&&r.props.type==="number";On(t,e?"change":"input",l=>{l.target.composing||t[si](Qc(t.value,s,a))}),(s||a)&&On(t,"change",()=>{t.value=Qc(t.value,s,a)}),e||(On(t,"compositionstart",fp),On(t,"compositionend",Jc),On(t,"change",Jc))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:s,modifiers:{lazy:n,trim:r,number:a}},l){if(t[si]=Jr(l),t.composing)return;const d=(a||t.type==="number")&&!/^0\d/.test(t.value)?oo(t.value):t.value,u=e??"";d!==u&&(document.activeElement===t&&t.type!=="range"&&(n&&e===s||r&&t.value.trim()===u)||(t.value=u))}},zv={deep:!0,created(t,{value:e,modifiers:{number:s}},n){const r=so(e);On(t,"change",()=>{const a=Array.prototype.filter.call(t.options,l=>l.selected).map(l=>s?oo(Qr(l)):Qr(l));t[si](t.multiple?r?new Set(a):a:a[0]),t._assigning=!0,mo(()=>{t._assigning=!1})}),t[si]=Jr(n)},mounted(t,{value:e}){Xc(t,e)},beforeUpdate(t,e,s){t[si]=Jr(s)},updated(t,{value:e}){t._assigning||Xc(t,e)}};function Xc(t,e){const s=t.multiple,n=Ct(e);if(!(s&&!n&&!so(e))){for(let r=0,a=t.options.length;r<a;r++){const l=t.options[r],d=Qr(l);if(s)if(n){const u=typeof d;u==="string"||u==="number"?l.selected=e.some(m=>String(m)===String(d)):l.selected=sm(e,d)>-1}else l.selected=e.has(d);else if(Wi(Qr(l),e)){t.selectedIndex!==r&&(t.selectedIndex=r);return}}!s&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function Qr(t){return"_value"in t?t._value:t.value}const bp=["ctrl","shift","alt","meta"],mp={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>bp.some(s=>t[`${s}Key`]&&!e.includes(s))},pp=(t,e)=>{if(!t)return t;const s=t._withMods||(t._withMods={}),n=e.join(".");return s[n]||(s[n]=((r,...a)=>{for(let l=0;l<e.length;l++){const d=mp[e[l]];if(d&&d(r,e))return}return t(r,...a)}))},hp={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Jv=(t,e)=>{const s=t._withKeys||(t._withKeys={}),n=e.join(".");return s[n]||(s[n]=(r=>{if(!("key"in r))return;const a=Ys(r.key);if(e.some(l=>l===a||hp[l]===a))return t(r)}))},gp=Pe({patchProp:cp},U0);let Zc;function yp(){return Zc||(Zc=k0(gp))}const vp=((...t)=>{const e=yp().createApp(...t),{mount:s}=e;return e.mount=n=>{const r=wp(n);if(!r)return;const a=e._component;!Rt(a)&&!a.render&&!a.template&&(a.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const l=s(r,!1,_p(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),l},e});function _p(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function wp(t){return oe(t)?document.querySelector(t):t}let Pf;const To=t=>Pf=t,Rf=Symbol();function $a(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Oi;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Oi||(Oi={}));function Tp(){const t=al(!0),e=t.run(()=>Te({}));let s=[],n=[];const r=bl({install(a){To(r),r._a=a,a.provide(Rf,r),a.config.globalProperties.$pinia=r,n.forEach(l=>s.push(l)),n=[]},use(a){return this._a?s.push(a):n.push(a),this},_p:s,_a:null,_e:t,_s:new Map,state:e});return r}const Mf=()=>{};function tu(t,e,s,n=Mf){t.add(e);const r=()=>{t.delete(e)&&n()};return!s&&bd()&&nm(r),r}function zn(t,...e){t.forEach(s=>{s(...e)})}const kp=t=>t(),eu=Symbol(),va=Symbol();function Va(t,e){t instanceof Map&&e instanceof Map?e.forEach((s,n)=>t.set(n,s)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const s in e){if(!e.hasOwnProperty(s))continue;const n=e[s],r=t[s];$a(r)&&$a(n)&&t.hasOwnProperty(s)&&!re(n)&&!Hs(n)?t[s]=Va(r,n):t[s]=n}return t}const Sp=Symbol();function xp(t){return!$a(t)||!Object.prototype.hasOwnProperty.call(t,Sp)}const{assign:un}=Object;function Ap(t){return!!(re(t)&&t.effect)}function Cp(t,e,s,n){const{state:r,actions:a,getters:l}=e,d=s.state.value[t];let u;function m(){d||(s.state.value[t]=r?r():{});const p=Cm(s.state.value[t]);return un(p,a,Object.keys(l||{}).reduce((g,v)=>(g[v]=bl(ne(()=>{To(s);const S=s._s.get(t);return l[v].call(S,S)})),g),{}))}return u=Df(t,m,e,s,n,!0),u}function Df(t,e,s={},n,r,a){let l;const d=un({actions:{}},s),u={deep:!0};let m,p,g=new Set,v=new Set,S;const $=n.state.value[t];!a&&!$&&(n.state.value[t]={});let F;function W(ot){let st;m=p=!1,typeof ot=="function"?(ot(n.state.value[t]),st={type:Oi.patchFunction,storeId:t,events:S}):(Va(n.state.value[t],ot),st={type:Oi.patchObject,payload:ot,storeId:t,events:S});const vt=F=Symbol();mo().then(()=>{F===vt&&(m=!0)}),p=!0,zn(g,st,n.state.value[t])}const x=a?function(){const{state:st}=s,vt=st?st():{};this.$patch(xt=>{un(xt,vt)})}:Mf;function A(){l.stop(),g.clear(),v.clear(),n._s.delete(t)}const G=(ot,st="")=>{if(eu in ot)return ot[va]=st,ot;const vt=function(){To(n);const xt=Array.from(arguments),lt=new Set,Et=new Set;function Yt(Pt){lt.add(Pt)}function ae(Pt){Et.add(Pt)}zn(v,{args:xt,name:vt[va],store:X,after:Yt,onError:ae});let Lt;try{Lt=ot.apply(this&&this.$id===t?this:X,xt)}catch(Pt){throw zn(Et,Pt),Pt}return Lt instanceof Promise?Lt.then(Pt=>(zn(lt,Pt),Pt)).catch(Pt=>(zn(Et,Pt),Promise.reject(Pt))):(zn(lt,Lt),Lt)};return vt[eu]=!0,vt[va]=st,vt},N={_p:n,$id:t,$onAction:tu.bind(null,v),$patch:W,$reset:x,$subscribe(ot,st={}){const vt=tu(g,ot,st.detached,()=>xt()),xt=l.run(()=>Gs(()=>n.state.value[t],lt=>{(st.flush==="sync"?p:m)&&ot({storeId:t,type:Oi.direct,events:S},lt)},un({},u,st)));return vt},$dispose:A},X=zi(N);n._s.set(t,X);const H=(n._a&&n._a.runWithContext||kp)(()=>n._e.run(()=>(l=al()).run(()=>e({action:G}))));for(const ot in H){const st=H[ot];if(re(st)&&!Ap(st)||Hs(st))a||($&&xp(st)&&(re(st)?st.value=$[ot]:Va(st,$[ot])),n.state.value[t][ot]=st);else if(typeof st=="function"){const vt=G(st,ot);H[ot]=vt,d.actions[ot]=st}}return un(X,H),un(qt(X),H),Object.defineProperty(X,"$state",{get:()=>n.state.value[t],set:ot=>{W(st=>{un(st,ot)})}}),n._p.forEach(ot=>{un(X,l.run(()=>ot({store:X,app:n._a,pinia:n,options:d})))}),$&&a&&s.hydrate&&s.hydrate(X.$state,$),m=!0,p=!0,X}function ko(t,e,s){let n;const r=typeof e=="function";n=r?s:e;function a(l,d){const u=Fm();return l=l||(u?es(Rf,null):null),l&&To(l),l=Pf,l._s.has(t)||(r?Df(t,e,n,l):Cp(t,n,l)),l._s.get(t)}return a.$id=t,a}const Ep="modulepreload",Pp=function(t){return"/"+t},su={},Xe=function(e,s,n){let r=Promise.resolve();if(s&&s.length>0){let u=function(m){return Promise.all(m.map(p=>Promise.resolve(p).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),d=l?.nonce||l?.getAttribute("nonce");r=u(s.map(m=>{if(m=Pp(m),m in su)return;su[m]=!0;const p=m.endsWith(".css"),g=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${m}"]${g}`))return;const v=document.createElement("link");if(v.rel=p?"stylesheet":Ep,p||(v.as="script"),v.crossOrigin="",v.href=m,d&&v.setAttribute("nonce",d),document.head.appendChild(v),p)return new Promise((S,$)=>{v.addEventListener("load",S),v.addEventListener("error",()=>$(new Error(`Unable to preload CSS for ${m}`)))})}))}function a(l){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=l,window.dispatchEvent(d),!d.defaultPrevented)throw l}return r.then(l=>{for(const d of l||[])d.status==="rejected"&&a(d.reason);return e().catch(a)})};const Qn=typeof document<"u";function Of(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function Rp(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&Of(t.default)}const Gt=Object.assign;function _a(t,e){const s={};for(const n in e){const r=e[n];s[n]=gs(r)?r.map(t):t(r)}return s}const Ii=()=>{},gs=Array.isArray;function nu(t,e){const s={};for(const n in t)s[n]=n in e?e[n]:t[n];return s}let pe=(function(t){return t[t.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",t[t.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",t[t.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",t[t.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",t[t.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",t})({});const If=Symbol("");pe.MATCHER_NOT_FOUND+"",pe.NAVIGATION_GUARD_REDIRECT+"",pe.NAVIGATION_ABORTED+"",pe.NAVIGATION_CANCELLED+"",pe.NAVIGATION_DUPLICATED+"";function ri(t,e){return Gt(new Error,{type:t,[If]:!0},e)}function Ls(t,e){return t instanceof Error&&If in t&&(e==null||!!(t.type&e))}const Mp=["params","query","hash"];function Dp(t){if(typeof t=="string")return t;if(t.path!=null)return t.path;const e={};for(const s of Mp)s in t&&(e[s]=t[s]);return JSON.stringify(e,null,2)}const Op=Symbol(""),iu=Symbol(""),So=Symbol(""),_l=Symbol(""),Ka=Symbol("");function Qv(){return es(So)}function wl(t){return es(_l)}const Nf=/#/g,Ip=/&/g,Np=/\//g,Lp=/=/g,Fp=/\?/g,Lf=/\+/g,jp=/%5B/g,Bp=/%5D/g,Ff=/%5E/g,qp=/%60/g,jf=/%7B/g,$p=/%7C/g,Bf=/%7D/g,Vp=/%20/g;function Tl(t){return t==null?"":encodeURI(""+t).replace($p,"|").replace(jp,"[").replace(Bp,"]")}function Kp(t){return Tl(t).replace(jf,"{").replace(Bf,"}").replace(Ff,"^")}function Ua(t){return Tl(t).replace(Lf,"%2B").replace(Vp,"+").replace(Nf,"%23").replace(Ip,"%26").replace(qp,"`").replace(jf,"{").replace(Bf,"}").replace(Ff,"^")}function Up(t){return Ua(t).replace(Lp,"%3D")}function Hp(t){return Tl(t).replace(Nf,"%23").replace(Fp,"%3F")}function Gp(t){return Hp(t).replace(Np,"%2F")}function Vi(t){if(t==null)return null;try{return decodeURIComponent(""+t)}catch{}return""+t}const Wp=/\/$/,zp=t=>t.replace(Wp,"");function wa(t,e,s="/"){let n,r={},a="",l="";const d=e.indexOf("#");let u=e.indexOf("?");return u=d>=0&&u>d?-1:u,u>=0&&(n=e.slice(0,u),a=e.slice(u,d>0?d:e.length),r=t(a.slice(1))),d>=0&&(n=n||e.slice(0,d),l=e.slice(d,e.length)),n=Xp(n??e,s),{fullPath:n+a+l,path:n,query:r,hash:Vi(l)}}function Jp(t,e){const s=e.query?t(e.query):"";return e.path+(s&&"?")+s+(e.hash||"")}function ru(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function Qp(t,e,s){const n=e.matched.length-1,r=s.matched.length-1;return n>-1&&n===r&&oi(e.matched[n],s.matched[r])&&qf(e.params,s.params)&&t(e.query)===t(s.query)&&e.hash===s.hash}function oi(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function qf(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var s in t)if(!Yp(t[s],e[s]))return!1;return!0}function Yp(t,e){return gs(t)?ou(t,e):gs(e)?ou(e,t):(t&&t.valueOf())===(e&&e.valueOf())}function ou(t,e){return gs(e)?t.length===e.length&&t.every((s,n)=>s===e[n]):t.length===1&&t[0]===e}function Xp(t,e){if(t.startsWith("/"))return t;if(!t)return e;const s=e.split("/"),n=t.split("/"),r=n[n.length-1];(r===".."||r===".")&&n.push("");let a=s.length-1,l,d;for(l=0;l<n.length;l++)if(d=n[l],d!==".")if(d==="..")a>1&&a--;else break;return s.slice(0,a).join("/")+"/"+n.slice(l).join("/")}const ln={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ha=(function(t){return t.pop="pop",t.push="push",t})({}),Ta=(function(t){return t.back="back",t.forward="forward",t.unknown="",t})({});function Zp(t){if(!t)if(Qn){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),zp(t)}const th=/^[^#]+#/;function eh(t,e){return t.replace(th,"#")+e}function sh(t,e){const s=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{behavior:e.behavior,left:n.left-s.left-(e.left||0),top:n.top-s.top-(e.top||0)}}const xo=()=>({left:window.scrollX,top:window.scrollY});function nh(t){let e;if("el"in t){const s=t.el,n=typeof s=="string"&&s.startsWith("#"),r=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!r)return;e=sh(r,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function au(t,e){return(history.state?history.state.position-e:-1)+t}const Ga=new Map;function ih(t,e){Ga.set(t,e)}function rh(t){const e=Ga.get(t);return Ga.delete(t),e}function oh(t){return typeof t=="string"||t&&typeof t=="object"}function $f(t){return typeof t=="string"||typeof t=="symbol"}function ah(t){const e={};if(t===""||t==="?")return e;const s=(t[0]==="?"?t.slice(1):t).split("&");for(let n=0;n<s.length;++n){const r=s[n].replace(Lf," "),a=r.indexOf("="),l=Vi(a<0?r:r.slice(0,a)),d=a<0?null:Vi(r.slice(a+1));if(l in e){let u=e[l];gs(u)||(u=e[l]=[u]),u.push(d)}else e[l]=d}return e}function lu(t){let e="";for(let s in t){const n=t[s];if(s=Up(s),n==null){n!==void 0&&(e+=(e.length?"&":"")+s);continue}(gs(n)?n.map(r=>r&&Ua(r)):[n&&Ua(n)]).forEach(r=>{r!==void 0&&(e+=(e.length?"&":"")+s,r!=null&&(e+="="+r))})}return e}function lh(t){const e={};for(const s in t){const n=t[s];n!==void 0&&(e[s]=gs(n)?n.map(r=>r==null?null:""+r):n==null?n:""+n)}return e}function wi(){let t=[];function e(n){return t.push(n),()=>{const r=t.indexOf(n);r>-1&&t.splice(r,1)}}function s(){t=[]}return{add:e,list:()=>t.slice(),reset:s}}function fn(t,e,s,n,r,a=l=>l()){const l=n&&(n.enterCallbacks[r]=n.enterCallbacks[r]||[]);return()=>new Promise((d,u)=>{const m=v=>{v===!1?u(ri(pe.NAVIGATION_ABORTED,{from:s,to:e})):v instanceof Error?u(v):oh(v)?u(ri(pe.NAVIGATION_GUARD_REDIRECT,{from:e,to:v})):(l&&n.enterCallbacks[r]===l&&typeof v=="function"&&l.push(v),d())},p=a(()=>t.call(n&&n.instances[r],e,s,m));let g=Promise.resolve(p);t.length<3&&(g=g.then(m)),g.catch(v=>u(v))})}function ka(t,e,s,n,r=a=>a()){const a=[];for(const l of t)for(const d in l.components){let u=l.components[d];if(!(e!=="beforeRouteEnter"&&!l.instances[d]))if(Of(u)){const m=(u.__vccOpts||u)[e];m&&a.push(fn(m,s,n,l,d,r))}else{let m=u();a.push(()=>m.then(p=>{if(!p)throw new Error(`Couldn't resolve component "${d}" at "${l.path}"`);const g=Rp(p)?p.default:p;l.mods[d]=p,l.components[d]=g;const v=(g.__vccOpts||g)[e];return v&&fn(v,s,n,l,d,r)()}))}}return a}function ch(t,e){const s=[],n=[],r=[],a=Math.max(e.matched.length,t.matched.length);for(let l=0;l<a;l++){const d=e.matched[l];d&&(t.matched.find(m=>oi(m,d))?n.push(d):s.push(d));const u=t.matched[l];u&&(e.matched.find(m=>oi(m,u))||r.push(u))}return[s,n,r]}let uh=()=>location.protocol+"//"+location.host;function Vf(t,e){const{pathname:s,search:n,hash:r}=e,a=t.indexOf("#");if(a>-1){let l=r.includes(t.slice(a))?t.slice(a).length:1,d=r.slice(l);return d[0]!=="/"&&(d="/"+d),ru(d,"")}return ru(s,t)+n+r}function dh(t,e,s,n){let r=[],a=[],l=null;const d=({state:v})=>{const S=Vf(t,location),$=s.value,F=e.value;let W=0;if(v){if(s.value=S,e.value=v,l&&l===$){l=null;return}W=F?v.position-F.position:0}else n(S);r.forEach(x=>{x(s.value,$,{delta:W,type:Ha.pop,direction:W?W>0?Ta.forward:Ta.back:Ta.unknown})})};function u(){l=s.value}function m(v){r.push(v);const S=()=>{const $=r.indexOf(v);$>-1&&r.splice($,1)};return a.push(S),S}function p(){if(document.visibilityState==="hidden"){const{history:v}=window;if(!v.state)return;v.replaceState(Gt({},v.state,{scroll:xo()}),"")}}function g(){for(const v of a)v();a=[],window.removeEventListener("popstate",d),window.removeEventListener("pagehide",p),document.removeEventListener("visibilitychange",p)}return window.addEventListener("popstate",d),window.addEventListener("pagehide",p),document.addEventListener("visibilitychange",p),{pauseListeners:u,listen:m,destroy:g}}function cu(t,e,s,n=!1,r=!1){return{back:t,current:e,forward:s,replaced:n,position:window.history.length,scroll:r?xo():null}}function fh(t){const{history:e,location:s}=window,n={value:Vf(t,s)},r={value:e.state};r.value||a(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function a(u,m,p){const g=t.indexOf("#"),v=g>-1?(s.host&&document.querySelector("base")?t:t.slice(g))+u:uh()+t+u;try{e[p?"replaceState":"pushState"](m,"",v),r.value=m}catch(S){console.error(S),s[p?"replace":"assign"](v)}}function l(u,m){a(u,Gt({},e.state,cu(r.value.back,u,r.value.forward,!0),m,{position:r.value.position}),!0),n.value=u}function d(u,m){const p=Gt({},r.value,e.state,{forward:u,scroll:xo()});a(p.current,p,!0),a(u,Gt({},cu(n.value,u,null),{position:p.position+1},m),!1),n.value=u}return{location:n,state:r,push:d,replace:l}}function bh(t){t=Zp(t);const e=fh(t),s=dh(t,e.state,e.location,e.replace);function n(a,l=!0){l||s.pauseListeners(),history.go(a)}const r=Gt({location:"",base:t,go:n,createHref:eh.bind(null,t)},e,s);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>e.state.value}),r}let In=(function(t){return t[t.Static=0]="Static",t[t.Param=1]="Param",t[t.Group=2]="Group",t})({});var Ce=(function(t){return t[t.Static=0]="Static",t[t.Param=1]="Param",t[t.ParamRegExp=2]="ParamRegExp",t[t.ParamRegExpEnd=3]="ParamRegExpEnd",t[t.EscapeNext=4]="EscapeNext",t})(Ce||{});const mh={type:In.Static,value:""},ph=/[a-zA-Z0-9_]/;function hh(t){if(!t)return[[]];if(t==="/")return[[mh]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(S){throw new Error(`ERR (${s})/"${m}": ${S}`)}let s=Ce.Static,n=s;const r=[];let a;function l(){a&&r.push(a),a=[]}let d=0,u,m="",p="";function g(){m&&(s===Ce.Static?a.push({type:In.Static,value:m}):s===Ce.Param||s===Ce.ParamRegExp||s===Ce.ParamRegExpEnd?(a.length>1&&(u==="*"||u==="+")&&e(`A repeatable param (${m}) must be alone in its segment. eg: '/:ids+.`),a.push({type:In.Param,value:m,regexp:p,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):e("Invalid state to consume buffer"),m="")}function v(){m+=u}for(;d<t.length;){if(u=t[d++],u==="\\"&&s!==Ce.ParamRegExp){n=s,s=Ce.EscapeNext;continue}switch(s){case Ce.Static:u==="/"?(m&&g(),l()):u===":"?(g(),s=Ce.Param):v();break;case Ce.EscapeNext:v(),s=n;break;case Ce.Param:u==="("?s=Ce.ParamRegExp:ph.test(u)?v():(g(),s=Ce.Static,u!=="*"&&u!=="?"&&u!=="+"&&d--);break;case Ce.ParamRegExp:u===")"?p[p.length-1]=="\\"?p=p.slice(0,-1)+u:s=Ce.ParamRegExpEnd:p+=u;break;case Ce.ParamRegExpEnd:g(),s=Ce.Static,u!=="*"&&u!=="?"&&u!=="+"&&d--,p="";break;default:e("Unknown state");break}}return s===Ce.ParamRegExp&&e(`Unfinished custom RegExp for param "${m}"`),g(),l(),r}const uu="[^/]+?",gh={sensitive:!1,strict:!1,start:!0,end:!0};var We=(function(t){return t[t._multiplier=10]="_multiplier",t[t.Root=90]="Root",t[t.Segment=40]="Segment",t[t.SubSegment=30]="SubSegment",t[t.Static=40]="Static",t[t.Dynamic=20]="Dynamic",t[t.BonusCustomRegExp=10]="BonusCustomRegExp",t[t.BonusWildcard=-50]="BonusWildcard",t[t.BonusRepeatable=-20]="BonusRepeatable",t[t.BonusOptional=-8]="BonusOptional",t[t.BonusStrict=.7000000000000001]="BonusStrict",t[t.BonusCaseSensitive=.25]="BonusCaseSensitive",t})(We||{});const yh=/[.+*?^${}()[\]/\\]/g;function vh(t,e){const s=Gt({},gh,e),n=[];let r=s.start?"^":"";const a=[];for(const m of t){const p=m.length?[]:[We.Root];s.strict&&!m.length&&(r+="/");for(let g=0;g<m.length;g++){const v=m[g];let S=We.Segment+(s.sensitive?We.BonusCaseSensitive:0);if(v.type===In.Static)g||(r+="/"),r+=v.value.replace(yh,"\\$&"),S+=We.Static;else if(v.type===In.Param){const{value:$,repeatable:F,optional:W,regexp:x}=v;a.push({name:$,repeatable:F,optional:W});const A=x||uu;if(A!==uu){S+=We.BonusCustomRegExp;try{new RegExp(`(${A})`)}catch(N){throw new Error(`Invalid custom RegExp for param "${$}" (${A}): `+N.message)}}let G=F?`((?:${A})(?:/(?:${A}))*)`:`(${A})`;g||(G=W&&m.length<2?`(?:/${G})`:"/"+G),W&&(G+="?"),r+=G,S+=We.Dynamic,W&&(S+=We.BonusOptional),F&&(S+=We.BonusRepeatable),A===".*"&&(S+=We.BonusWildcard)}p.push(S)}n.push(p)}if(s.strict&&s.end){const m=n.length-1;n[m][n[m].length-1]+=We.BonusStrict}s.strict||(r+="/?"),s.end?r+="$":s.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const l=new RegExp(r,s.sensitive?"":"i");function d(m){const p=m.match(l),g={};if(!p)return null;for(let v=1;v<p.length;v++){const S=p[v]||"",$=a[v-1];g[$.name]=S&&$.repeatable?S.split("/"):S}return g}function u(m){let p="",g=!1;for(const v of t){(!g||!p.endsWith("/"))&&(p+="/"),g=!1;for(const S of v)if(S.type===In.Static)p+=S.value;else if(S.type===In.Param){const{value:$,repeatable:F,optional:W}=S,x=$ in m?m[$]:"";if(gs(x)&&!F)throw new Error(`Provided param "${$}" is an array but it is not repeatable (* or + modifiers)`);const A=gs(x)?x.join("/"):x;if(!A)if(W)v.length<2&&(p.endsWith("/")?p=p.slice(0,-1):g=!0);else throw new Error(`Missing required param "${$}"`);p+=A}}return p||"/"}return{re:l,score:n,keys:a,parse:d,stringify:u}}function _h(t,e){let s=0;for(;s<t.length&&s<e.length;){const n=e[s]-t[s];if(n)return n;s++}return t.length<e.length?t.length===1&&t[0]===We.Static+We.Segment?-1:1:t.length>e.length?e.length===1&&e[0]===We.Static+We.Segment?1:-1:0}function Kf(t,e){let s=0;const n=t.score,r=e.score;for(;s<n.length&&s<r.length;){const a=_h(n[s],r[s]);if(a)return a;s++}if(Math.abs(r.length-n.length)===1){if(du(n))return 1;if(du(r))return-1}return r.length-n.length}function du(t){const e=t[t.length-1];return t.length>0&&e[e.length-1]<0}const wh={strict:!1,end:!0,sensitive:!1};function Th(t,e,s){const n=vh(hh(t.path),s),r=Gt(n,{record:t,parent:e,children:[],alias:[]});return e&&!r.record.aliasOf==!e.record.aliasOf&&e.children.push(r),r}function kh(t,e){const s=[],n=new Map;e=nu(wh,e);function r(g){return n.get(g)}function a(g,v,S){const $=!S,F=bu(g);F.aliasOf=S&&S.record;const W=nu(e,g),x=[F];if("alias"in g){const N=typeof g.alias=="string"?[g.alias]:g.alias;for(const X of N)x.push(bu(Gt({},F,{components:S?S.record.components:F.components,path:X,aliasOf:S?S.record:F})))}let A,G;for(const N of x){const{path:X}=N;if(v&&X[0]!=="/"){const z=v.record.path,H=z[z.length-1]==="/"?"":"/";N.path=v.record.path+(X&&H+X)}if(A=Th(N,v,W),S?S.alias.push(A):(G=G||A,G!==A&&G.alias.push(A),$&&g.name&&!mu(A)&&l(g.name)),Uf(A)&&u(A),F.children){const z=F.children;for(let H=0;H<z.length;H++)a(z[H],A,S&&S.children[H])}S=S||A}return G?()=>{l(G)}:Ii}function l(g){if($f(g)){const v=n.get(g);v&&(n.delete(g),s.splice(s.indexOf(v),1),v.children.forEach(l),v.alias.forEach(l))}else{const v=s.indexOf(g);v>-1&&(s.splice(v,1),g.record.name&&n.delete(g.record.name),g.children.forEach(l),g.alias.forEach(l))}}function d(){return s}function u(g){const v=Ah(g,s);s.splice(v,0,g),g.record.name&&!mu(g)&&n.set(g.record.name,g)}function m(g,v){let S,$={},F,W;if("name"in g&&g.name){if(S=n.get(g.name),!S)throw ri(pe.MATCHER_NOT_FOUND,{location:g});W=S.record.name,$=Gt(fu(v.params,S.keys.filter(G=>!G.optional).concat(S.parent?S.parent.keys.filter(G=>G.optional):[]).map(G=>G.name)),g.params&&fu(g.params,S.keys.map(G=>G.name))),F=S.stringify($)}else if(g.path!=null)F=g.path,S=s.find(G=>G.re.test(F)),S&&($=S.parse(F),W=S.record.name);else{if(S=v.name?n.get(v.name):s.find(G=>G.re.test(v.path)),!S)throw ri(pe.MATCHER_NOT_FOUND,{location:g,currentLocation:v});W=S.record.name,$=Gt({},v.params,g.params),F=S.stringify($)}const x=[];let A=S;for(;A;)x.unshift(A.record),A=A.parent;return{name:W,path:F,params:$,matched:x,meta:xh(x)}}t.forEach(g=>a(g));function p(){s.length=0,n.clear()}return{addRoute:a,resolve:m,removeRoute:l,clearRoutes:p,getRoutes:d,getRecordMatcher:r}}function fu(t,e){const s={};for(const n of e)n in t&&(s[n]=t[n]);return s}function bu(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:Sh(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function Sh(t){const e={},s=t.props||!1;if("component"in t)e.default=s;else for(const n in t.components)e[n]=typeof s=="object"?s[n]:s;return e}function mu(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function xh(t){return t.reduce((e,s)=>Gt(e,s.meta),{})}function Ah(t,e){let s=0,n=e.length;for(;s!==n;){const a=s+n>>1;Kf(t,e[a])<0?n=a:s=a+1}const r=Ch(t);return r&&(n=e.lastIndexOf(r,n-1)),n}function Ch(t){let e=t;for(;e=e.parent;)if(Uf(e)&&Kf(t,e)===0)return e}function Uf({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function pu(t){const e=es(So),s=es(_l),n=ne(()=>{const u=_e(t.to);return e.resolve(u)}),r=ne(()=>{const{matched:u}=n.value,{length:m}=u,p=u[m-1],g=s.matched;if(!p||!g.length)return-1;const v=g.findIndex(oi.bind(null,p));if(v>-1)return v;const S=hu(u[m-2]);return m>1&&hu(p)===S&&g[g.length-1].path!==S?g.findIndex(oi.bind(null,u[m-2])):v}),a=ne(()=>r.value>-1&&Dh(s.params,n.value.params)),l=ne(()=>r.value>-1&&r.value===s.matched.length-1&&qf(s.params,n.value.params));function d(u={}){if(Mh(u)){const m=e[_e(t.replace)?"replace":"push"](_e(t.to)).catch(Ii);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>m),m}return Promise.resolve()}return{route:n,href:ne(()=>n.value.href),isActive:a,isExactActive:l,navigate:d}}function Eh(t){return t.length===1?t[0]:t}const Ph=Ms({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:pu,setup(t,{slots:e}){const s=zi(pu(t)),{options:n}=es(So),r=ne(()=>({[gu(t.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[gu(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const a=e.default&&Eh(e.default(s));return t.custom?a:mn("a",{"aria-current":s.isExactActive?t.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:r.value},a)}}}),Rh=Ph;function Mh(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Dh(t,e){for(const s in e){const n=e[s],r=t[s];if(typeof n=="string"){if(n!==r)return!1}else if(!gs(r)||r.length!==n.length||n.some((a,l)=>a.valueOf()!==r[l].valueOf()))return!1}return!0}function hu(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const gu=(t,e,s)=>t??e??s,Oh=Ms({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:s}){const n=es(Ka),r=ne(()=>t.route||n.value),a=es(iu,0),l=ne(()=>{let m=_e(a);const{matched:p}=r.value;let g;for(;(g=p[m])&&!g.components;)m++;return m}),d=ne(()=>r.value.matched[l.value]);Dr(iu,ne(()=>l.value+1)),Dr(Op,d),Dr(Ka,r);const u=Te();return Gs(()=>[u.value,d.value,t.name],([m,p,g],[v,S,$])=>{p&&(p.instances[g]=m,S&&S!==p&&m&&m===v&&(p.leaveGuards.size||(p.leaveGuards=S.leaveGuards),p.updateGuards.size||(p.updateGuards=S.updateGuards))),m&&p&&(!S||!oi(p,S)||!v)&&(p.enterCallbacks[g]||[]).forEach(F=>F(m))},{flush:"post"}),()=>{const m=r.value,p=t.name,g=d.value,v=g&&g.components[p];if(!v)return yu(s.default,{Component:v,route:m});const S=g.props[p],$=S?S===!0?m.params:typeof S=="function"?S(m):S:null,W=mn(v,Gt({},$,e,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(g.instances[p]=null)},ref:u}));return yu(s.default,{Component:W,route:m})||W}}});function yu(t,e){if(!t)return null;const s=t(e);return s.length===1?s[0]:s}const Ih=Oh;function Nh(t){const e=kh(t.routes,t),s=t.parseQuery||ah,n=t.stringifyQuery||lu,r=t.history,a=wi(),l=wi(),d=wi(),u=Pd(ln);let m=ln;Qn&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=_a.bind(null,tt=>""+tt),g=_a.bind(null,Gp),v=_a.bind(null,Vi);function S(tt,gt){let bt,rt;return $f(tt)?(bt=e.getRecordMatcher(tt),rt=gt):rt=tt,e.addRoute(rt,bt)}function $(tt){const gt=e.getRecordMatcher(tt);gt&&e.removeRoute(gt)}function F(){return e.getRoutes().map(tt=>tt.record)}function W(tt){return!!e.getRecordMatcher(tt)}function x(tt,gt){if(gt=Gt({},gt||u.value),typeof tt=="string"){const B=wa(s,tt,gt.path),Y=e.resolve({path:B.path},gt),nt=r.createHref(B.fullPath);return Gt(B,Y,{params:v(Y.params),hash:Vi(B.hash),redirectedFrom:void 0,href:nt})}let bt;if(tt.path!=null)bt=Gt({},tt,{path:wa(s,tt.path,gt.path).path});else{const B=Gt({},tt.params);for(const Y in B)B[Y]==null&&delete B[Y];bt=Gt({},tt,{params:g(B)}),gt.params=g(gt.params)}const rt=e.resolve(bt,gt),Ot=tt.hash||"";rt.params=p(v(rt.params));const w=Jp(n,Gt({},tt,{hash:Kp(Ot),path:rt.path})),C=r.createHref(w);return Gt({fullPath:w,hash:Ot,query:n===lu?lh(tt.query):tt.query||{}},rt,{redirectedFrom:void 0,href:C})}function A(tt){return typeof tt=="string"?wa(s,tt,u.value.path):Gt({},tt)}function G(tt,gt){if(m!==tt)return ri(pe.NAVIGATION_CANCELLED,{from:gt,to:tt})}function N(tt){return H(tt)}function X(tt){return N(Gt(A(tt),{replace:!0}))}function z(tt,gt){const bt=tt.matched[tt.matched.length-1];if(bt&&bt.redirect){const{redirect:rt}=bt;let Ot=typeof rt=="function"?rt(tt,gt):rt;return typeof Ot=="string"&&(Ot=Ot.includes("?")||Ot.includes("#")?Ot=A(Ot):{path:Ot},Ot.params={}),Gt({query:tt.query,hash:tt.hash,params:Ot.path!=null?{}:tt.params},Ot)}}function H(tt,gt){const bt=m=x(tt),rt=u.value,Ot=tt.state,w=tt.force,C=tt.replace===!0,B=z(bt,rt);if(B)return H(Gt(A(B),{state:typeof B=="object"?Gt({},Ot,B.state):Ot,force:w,replace:C}),gt||bt);const Y=bt;Y.redirectedFrom=gt;let nt;return!w&&Qp(n,rt,bt)&&(nt=ri(pe.NAVIGATION_DUPLICATED,{to:Y,from:rt}),xe(rt,rt,!0,!1)),(nt?Promise.resolve(nt):vt(Y,rt)).catch(et=>Ls(et)?Ls(et,pe.NAVIGATION_GUARD_REDIRECT)?et:le(et):Dt(et,Y,rt)).then(et=>{if(et){if(Ls(et,pe.NAVIGATION_GUARD_REDIRECT))return H(Gt({replace:C},A(et.to),{state:typeof et.to=="object"?Gt({},Ot,et.to.state):Ot,force:w}),gt||Y)}else et=lt(Y,rt,!0,C,Ot);return xt(Y,rt,et),et})}function ot(tt,gt){const bt=G(tt,gt);return bt?Promise.reject(bt):Promise.resolve()}function st(tt){const gt=Ie.values().next().value;return gt&&typeof gt.runWithContext=="function"?gt.runWithContext(tt):tt()}function vt(tt,gt){let bt;const[rt,Ot,w]=ch(tt,gt);bt=ka(rt.reverse(),"beforeRouteLeave",tt,gt);for(const B of rt)B.leaveGuards.forEach(Y=>{bt.push(fn(Y,tt,gt))});const C=ot.bind(null,tt,gt);return bt.push(C),ge(bt).then(()=>{bt=[];for(const B of a.list())bt.push(fn(B,tt,gt));return bt.push(C),ge(bt)}).then(()=>{bt=ka(Ot,"beforeRouteUpdate",tt,gt);for(const B of Ot)B.updateGuards.forEach(Y=>{bt.push(fn(Y,tt,gt))});return bt.push(C),ge(bt)}).then(()=>{bt=[];for(const B of w)if(B.beforeEnter)if(gs(B.beforeEnter))for(const Y of B.beforeEnter)bt.push(fn(Y,tt,gt));else bt.push(fn(B.beforeEnter,tt,gt));return bt.push(C),ge(bt)}).then(()=>(tt.matched.forEach(B=>B.enterCallbacks={}),bt=ka(w,"beforeRouteEnter",tt,gt,st),bt.push(C),ge(bt))).then(()=>{bt=[];for(const B of l.list())bt.push(fn(B,tt,gt));return bt.push(C),ge(bt)}).catch(B=>Ls(B,pe.NAVIGATION_CANCELLED)?B:Promise.reject(B))}function xt(tt,gt,bt){d.list().forEach(rt=>st(()=>rt(tt,gt,bt)))}function lt(tt,gt,bt,rt,Ot){const w=G(tt,gt);if(w)return w;const C=gt===ln,B=Qn?history.state:{};bt&&(rt||C?r.replace(tt.fullPath,Gt({scroll:C&&B&&B.scroll},Ot)):r.push(tt.fullPath,Ot)),u.value=tt,xe(tt,gt,bt,C),le()}let Et;function Yt(){Et||(Et=r.listen((tt,gt,bt)=>{if(!Qe.listening)return;const rt=x(tt),Ot=z(rt,Qe.currentRoute.value);if(Ot){H(Gt(Ot,{replace:!0,force:!0}),rt).catch(Ii);return}m=rt;const w=u.value;Qn&&ih(au(w.fullPath,bt.delta),xo()),vt(rt,w).catch(C=>Ls(C,pe.NAVIGATION_ABORTED|pe.NAVIGATION_CANCELLED)?C:Ls(C,pe.NAVIGATION_GUARD_REDIRECT)?(H(Gt(A(C.to),{force:!0}),rt).then(B=>{Ls(B,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&!bt.delta&&bt.type===Ha.pop&&r.go(-1,!1)}).catch(Ii),Promise.reject()):(bt.delta&&r.go(-bt.delta,!1),Dt(C,rt,w))).then(C=>{C=C||lt(rt,w,!1),C&&(bt.delta&&!Ls(C,pe.NAVIGATION_CANCELLED)?r.go(-bt.delta,!1):bt.type===Ha.pop&&Ls(C,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),xt(rt,w,C)}).catch(Ii)}))}let ae=wi(),Lt=wi(),Pt;function Dt(tt,gt,bt){le(tt);const rt=Lt.list();return rt.length?rt.forEach(Ot=>Ot(tt,gt,bt)):console.error(tt),Promise.reject(tt)}function Xt(){return Pt&&u.value!==ln?Promise.resolve():new Promise((tt,gt)=>{ae.add([tt,gt])})}function le(tt){return Pt||(Pt=!tt,Yt(),ae.list().forEach(([gt,bt])=>tt?bt(tt):gt()),ae.reset()),tt}function xe(tt,gt,bt,rt){const{scrollBehavior:Ot}=t;if(!Qn||!Ot)return Promise.resolve();const w=!bt&&rh(au(tt.fullPath,0))||(rt||!bt)&&history.state&&history.state.scroll||null;return mo().then(()=>Ot(tt,gt,w)).then(C=>C&&nh(C)).catch(C=>Dt(C,tt,gt))}const Jt=tt=>r.go(tt);let ss;const Ie=new Set,Qe={currentRoute:u,listening:!0,addRoute:S,removeRoute:$,clearRoutes:e.clearRoutes,hasRoute:W,getRoutes:F,resolve:x,options:t,push:N,replace:X,go:Jt,back:()=>Jt(-1),forward:()=>Jt(1),beforeEach:a.add,beforeResolve:l.add,afterEach:d.add,onError:Lt.add,isReady:Xt,install(tt){tt.component("RouterLink",Rh),tt.component("RouterView",Ih),tt.config.globalProperties.$router=Qe,Object.defineProperty(tt.config.globalProperties,"$route",{enumerable:!0,get:()=>_e(u)}),Qn&&!ss&&u.value===ln&&(ss=!0,N(r.location).catch(rt=>{}));const gt={};for(const rt in ln)Object.defineProperty(gt,rt,{get:()=>u.value[rt],enumerable:!0});tt.provide(So,Qe),tt.provide(_l,Ed(gt)),tt.provide(Ka,u);const bt=tt.unmount;Ie.add(tt),tt.unmount=function(){Ie.delete(tt),Ie.size<1&&(m=ln,Et&&Et(),Et=null,u.value=ln,ss=!1,Pt=!1),bt()}}};function ge(tt){return tt.reduce((gt,bt)=>gt.then(()=>st(bt)),Promise.resolve())}return Qe}function Lh(t,e){typeof console<"u"&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const Yr=typeof window<"u",gn=(t,e=!1)=>e?Symbol.for(t):Symbol(t),Fh=(t,e,s)=>jh({l:t,k:e,s}),jh=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Se=t=>typeof t=="number"&&isFinite(t),Bh=t=>Sl(t)==="[object Date]",Xr=t=>Sl(t)==="[object RegExp]",Ao=t=>Bt(t)&&Object.keys(t).length===0,Oe=Object.assign,qh=Object.create,Qt=(t=null)=>qh(t);let vu;const kl=()=>vu||(vu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Qt());function _u(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function wu(t){return t.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function $h(t){return t=t.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,a)=>`${r}="${wu(a)}"`),t=t.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,a)=>`${r}='${wu(a)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(t)&&(t=t.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{t=t.replace(n,"$1javascript:")}),t}const Vh=Object.prototype.hasOwnProperty;function ds(t,e){return Vh.call(t,e)}const Ee=Array.isArray,ue=t=>typeof t=="function",kt=t=>typeof t=="string",de=t=>typeof t=="boolean",Ut=t=>t!==null&&typeof t=="object",Kh=t=>Ut(t)&&ue(t.then)&&ue(t.catch),Hf=Object.prototype.toString,Sl=t=>Hf.call(t),Bt=t=>Sl(t)==="[object Object]",Uh=t=>t==null?"":Ee(t)||Bt(t)&&t.toString===Hf?JSON.stringify(t,null,2):String(t);function xl(t,e=""){return t.reduce((s,n,r)=>r===0?s+n:s+e+n,"")}const Cr=t=>!Ut(t)||Ee(t);function Fr(t,e){if(Cr(t)||Cr(e))throw new Error("Invalid value");const s=[{src:t,des:e}];for(;s.length;){const{src:n,des:r}=s.pop();Object.keys(n).forEach(a=>{a!=="__proto__"&&(Ut(n[a])&&!Ut(r[a])&&(r[a]=Array.isArray(n[a])?[]:Qt()),Cr(r[a])||Cr(n[a])?r[a]=n[a]:s.push({src:n[a],des:r[a]}))})}}function Hh(t,e,s){return{line:t,column:e,offset:s}}function Wa(t,e,s){return{start:t,end:e}}const zt={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},Gh=17;function Co(t,e,s={}){const{domain:n,messages:r,args:a}=s,l=t,d=new SyntaxError(String(l));return d.code=t,e&&(d.location=e),d.domain=n,d}function Wh(t){throw t}const Fs=" ",zh="\r",Ge=`
|
|
3
|
+
`,Jh="\u2028",Qh="\u2029";function Yh(t){const e=t;let s=0,n=1,r=1,a=0;const l=H=>e[H]===zh&&e[H+1]===Ge,d=H=>e[H]===Ge,u=H=>e[H]===Qh,m=H=>e[H]===Jh,p=H=>l(H)||d(H)||u(H)||m(H),g=()=>s,v=()=>n,S=()=>r,$=()=>a,F=H=>l(H)||u(H)||m(H)?Ge:e[H],W=()=>F(s),x=()=>F(s+a);function A(){return a=0,p(s)&&(n++,r=0),l(s)&&s++,s++,r++,e[s]}function G(){return l(s+a)&&a++,a++,e[s+a]}function N(){s=0,n=1,r=1,a=0}function X(H=0){a=H}function z(){const H=s+a;for(;H!==s;)A();a=0}return{index:g,line:v,column:S,peekOffset:$,charAt:F,currentChar:W,currentPeek:x,next:A,peek:G,reset:N,resetPeek:X,skipToPeek:z}}const cn=void 0,Xh=".",Tu="'",Zh="tokenizer";function t2(t,e={}){const s=e.location!==!1,n=Yh(t),r=()=>n.index(),a=()=>Hh(n.line(),n.column(),n.index()),l=a(),d=r(),u={currentType:13,offset:d,startLoc:l,endLoc:l,lastType:13,lastOffset:d,lastStartLoc:l,lastEndLoc:l,braceNest:0,inLinked:!1,text:""},m=()=>u,{onError:p}=e;function g(T,k,L,...K){const pt=m();if(k.column+=L,k.offset+=L,p){const it=s?Wa(pt.startLoc,k):null,j=Co(T,it,{domain:Zh,args:K});p(j)}}function v(T,k,L){T.endLoc=a(),T.currentType=k;const K={type:k};return s&&(K.loc=Wa(T.startLoc,T.endLoc)),L!=null&&(K.value=L),K}const S=T=>v(T,13);function $(T,k){return T.currentChar()===k?(T.next(),k):(g(zt.EXPECTED_TOKEN,a(),0,k),"")}function F(T){let k="";for(;T.currentPeek()===Fs||T.currentPeek()===Ge;)k+=T.currentPeek(),T.peek();return k}function W(T){const k=F(T);return T.skipToPeek(),k}function x(T){if(T===cn)return!1;const k=T.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k===95}function A(T){if(T===cn)return!1;const k=T.charCodeAt(0);return k>=48&&k<=57}function G(T,k){const{currentType:L}=k;if(L!==2)return!1;F(T);const K=x(T.currentPeek());return T.resetPeek(),K}function N(T,k){const{currentType:L}=k;if(L!==2)return!1;F(T);const K=T.currentPeek()==="-"?T.peek():T.currentPeek(),pt=A(K);return T.resetPeek(),pt}function X(T,k){const{currentType:L}=k;if(L!==2)return!1;F(T);const K=T.currentPeek()===Tu;return T.resetPeek(),K}function z(T,k){const{currentType:L}=k;if(L!==7)return!1;F(T);const K=T.currentPeek()===".";return T.resetPeek(),K}function H(T,k){const{currentType:L}=k;if(L!==8)return!1;F(T);const K=x(T.currentPeek());return T.resetPeek(),K}function ot(T,k){const{currentType:L}=k;if(!(L===7||L===11))return!1;F(T);const K=T.currentPeek()===":";return T.resetPeek(),K}function st(T,k){const{currentType:L}=k;if(L!==9)return!1;const K=()=>{const it=T.currentPeek();return it==="{"?x(T.peek()):it==="@"||it==="|"||it===":"||it==="."||it===Fs||!it?!1:it===Ge?(T.peek(),K()):xt(T,!1)},pt=K();return T.resetPeek(),pt}function vt(T){F(T);const k=T.currentPeek()==="|";return T.resetPeek(),k}function xt(T,k=!0){const L=(pt=!1,it="")=>{const j=T.currentPeek();return j==="{"||j==="@"||!j?pt:j==="|"?!(it===Fs||it===Ge):j===Fs?(T.peek(),L(!0,Fs)):j===Ge?(T.peek(),L(!0,Ge)):!0},K=L();return k&&T.resetPeek(),K}function lt(T,k){const L=T.currentChar();return L===cn?cn:k(L)?(T.next(),L):null}function Et(T){const k=T.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===95||k===36}function Yt(T){return lt(T,Et)}function ae(T){const k=T.charCodeAt(0);return k>=97&&k<=122||k>=65&&k<=90||k>=48&&k<=57||k===95||k===36||k===45}function Lt(T){return lt(T,ae)}function Pt(T){const k=T.charCodeAt(0);return k>=48&&k<=57}function Dt(T){return lt(T,Pt)}function Xt(T){const k=T.charCodeAt(0);return k>=48&&k<=57||k>=65&&k<=70||k>=97&&k<=102}function le(T){return lt(T,Xt)}function xe(T){let k="",L="";for(;k=Dt(T);)L+=k;return L}function Jt(T){let k="";for(;;){const L=T.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L===Fs||L===Ge)if(xt(T))k+=L,T.next();else{if(vt(T))break;k+=L,T.next()}else k+=L,T.next()}return k}function ss(T){W(T);let k="",L="";for(;k=Lt(T);)L+=k;return T.currentChar()===cn&&g(zt.UNTERMINATED_CLOSING_BRACE,a(),0),L}function Ie(T){W(T);let k="";return T.currentChar()==="-"?(T.next(),k+=`-${xe(T)}`):k+=xe(T),T.currentChar()===cn&&g(zt.UNTERMINATED_CLOSING_BRACE,a(),0),k}function Qe(T){return T!==Tu&&T!==Ge}function ge(T){W(T),$(T,"'");let k="",L="";for(;k=lt(T,Qe);)k==="\\"?L+=tt(T):L+=k;const K=T.currentChar();return K===Ge||K===cn?(g(zt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),K===Ge&&(T.next(),$(T,"'")),L):($(T,"'"),L)}function tt(T){const k=T.currentChar();switch(k){case"\\":case"'":return T.next(),`\\${k}`;case"u":return gt(T,k,4);case"U":return gt(T,k,6);default:return g(zt.UNKNOWN_ESCAPE_SEQUENCE,a(),0,k),""}}function gt(T,k,L){$(T,k);let K="";for(let pt=0;pt<L;pt++){const it=le(T);if(!it){g(zt.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),0,`\\${k}${K}${T.currentChar()}`);break}K+=it}return`\\${k}${K}`}function bt(T){return T!=="{"&&T!=="}"&&T!==Fs&&T!==Ge}function rt(T){W(T);let k="",L="";for(;k=lt(T,bt);)L+=k;return L}function Ot(T){let k="",L="";for(;k=Yt(T);)L+=k;return L}function w(T){const k=L=>{const K=T.currentChar();return K==="{"||K==="@"||K==="|"||K==="("||K===")"||!K||K===Fs?L:(L+=K,T.next(),k(L))};return k("")}function C(T){W(T);const k=$(T,"|");return W(T),k}function B(T,k){let L=null;switch(T.currentChar()){case"{":return k.braceNest>=1&&g(zt.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),T.next(),L=v(k,2,"{"),W(T),k.braceNest++,L;case"}":return k.braceNest>0&&k.currentType===2&&g(zt.EMPTY_PLACEHOLDER,a(),0),T.next(),L=v(k,3,"}"),k.braceNest--,k.braceNest>0&&W(T),k.inLinked&&k.braceNest===0&&(k.inLinked=!1),L;case"@":return k.braceNest>0&&g(zt.UNTERMINATED_CLOSING_BRACE,a(),0),L=Y(T,k)||S(k),k.braceNest=0,L;default:{let pt=!0,it=!0,j=!0;if(vt(T))return k.braceNest>0&&g(zt.UNTERMINATED_CLOSING_BRACE,a(),0),L=v(k,1,C(T)),k.braceNest=0,k.inLinked=!1,L;if(k.braceNest>0&&(k.currentType===4||k.currentType===5||k.currentType===6))return g(zt.UNTERMINATED_CLOSING_BRACE,a(),0),k.braceNest=0,nt(T,k);if(pt=G(T,k))return L=v(k,4,ss(T)),W(T),L;if(it=N(T,k))return L=v(k,5,Ie(T)),W(T),L;if(j=X(T,k))return L=v(k,6,ge(T)),W(T),L;if(!pt&&!it&&!j)return L=v(k,12,rt(T)),g(zt.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,L.value),W(T),L;break}}return L}function Y(T,k){const{currentType:L}=k;let K=null;const pt=T.currentChar();switch((L===7||L===8||L===11||L===9)&&(pt===Ge||pt===Fs)&&g(zt.INVALID_LINKED_FORMAT,a(),0),pt){case"@":return T.next(),K=v(k,7,"@"),k.inLinked=!0,K;case".":return W(T),T.next(),v(k,8,".");case":":return W(T),T.next(),v(k,9,":");default:return vt(T)?(K=v(k,1,C(T)),k.braceNest=0,k.inLinked=!1,K):z(T,k)||ot(T,k)?(W(T),Y(T,k)):H(T,k)?(W(T),v(k,11,Ot(T))):st(T,k)?(W(T),pt==="{"?B(T,k)||K:v(k,10,w(T))):(L===7&&g(zt.INVALID_LINKED_FORMAT,a(),0),k.braceNest=0,k.inLinked=!1,nt(T,k))}}function nt(T,k){let L={type:13};if(k.braceNest>0)return B(T,k)||S(k);if(k.inLinked)return Y(T,k)||S(k);switch(T.currentChar()){case"{":return B(T,k)||S(k);case"}":return g(zt.UNBALANCED_CLOSING_BRACE,a(),0),T.next(),v(k,3,"}");case"@":return Y(T,k)||S(k);default:{if(vt(T))return L=v(k,1,C(T)),k.braceNest=0,k.inLinked=!1,L;if(xt(T))return v(k,0,Jt(T));break}}return L}function et(){const{currentType:T,offset:k,startLoc:L,endLoc:K}=u;return u.lastType=T,u.lastOffset=k,u.lastStartLoc=L,u.lastEndLoc=K,u.offset=r(),u.startLoc=a(),n.currentChar()===cn?v(u,13):nt(n,u)}return{nextToken:et,currentOffset:r,currentPosition:a,context:m}}const e2="parser",s2=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function n2(t,e,s){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(e||s,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function i2(t={}){const e=t.location!==!1,{onError:s}=t;function n(x,A,G,N,...X){const z=x.currentPosition();if(z.offset+=N,z.column+=N,s){const H=e?Wa(G,z):null,ot=Co(A,H,{domain:e2,args:X});s(ot)}}function r(x,A,G){const N={type:x};return e&&(N.start=A,N.end=A,N.loc={start:G,end:G}),N}function a(x,A,G,N){e&&(x.end=A,x.loc&&(x.loc.end=G))}function l(x,A){const G=x.context(),N=r(3,G.offset,G.startLoc);return N.value=A,a(N,x.currentOffset(),x.currentPosition()),N}function d(x,A){const G=x.context(),{lastOffset:N,lastStartLoc:X}=G,z=r(5,N,X);return z.index=parseInt(A,10),x.nextToken(),a(z,x.currentOffset(),x.currentPosition()),z}function u(x,A){const G=x.context(),{lastOffset:N,lastStartLoc:X}=G,z=r(4,N,X);return z.key=A,x.nextToken(),a(z,x.currentOffset(),x.currentPosition()),z}function m(x,A){const G=x.context(),{lastOffset:N,lastStartLoc:X}=G,z=r(9,N,X);return z.value=A.replace(s2,n2),x.nextToken(),a(z,x.currentOffset(),x.currentPosition()),z}function p(x){const A=x.nextToken(),G=x.context(),{lastOffset:N,lastStartLoc:X}=G,z=r(8,N,X);return A.type!==11?(n(x,zt.UNEXPECTED_EMPTY_LINKED_MODIFIER,G.lastStartLoc,0),z.value="",a(z,N,X),{nextConsumeToken:A,node:z}):(A.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,G.lastStartLoc,0,Ss(A)),z.value=A.value||"",a(z,x.currentOffset(),x.currentPosition()),{node:z})}function g(x,A){const G=x.context(),N=r(7,G.offset,G.startLoc);return N.value=A,a(N,x.currentOffset(),x.currentPosition()),N}function v(x){const A=x.context(),G=r(6,A.offset,A.startLoc);let N=x.nextToken();if(N.type===8){const X=p(x);G.modifier=X.node,N=X.nextConsumeToken||x.nextToken()}switch(N.type!==9&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(N)),N=x.nextToken(),N.type===2&&(N=x.nextToken()),N.type){case 10:N.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(N)),G.key=g(x,N.value||"");break;case 4:N.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(N)),G.key=u(x,N.value||"");break;case 5:N.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(N)),G.key=d(x,N.value||"");break;case 6:N.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(N)),G.key=m(x,N.value||"");break;default:{n(x,zt.UNEXPECTED_EMPTY_LINKED_KEY,A.lastStartLoc,0);const X=x.context(),z=r(7,X.offset,X.startLoc);return z.value="",a(z,X.offset,X.startLoc),G.key=z,a(G,X.offset,X.startLoc),{nextConsumeToken:N,node:G}}}return a(G,x.currentOffset(),x.currentPosition()),{node:G}}function S(x){const A=x.context(),G=A.currentType===1?x.currentOffset():A.offset,N=A.currentType===1?A.endLoc:A.startLoc,X=r(2,G,N);X.items=[];let z=null;do{const st=z||x.nextToken();switch(z=null,st.type){case 0:st.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(st)),X.items.push(l(x,st.value||""));break;case 5:st.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(st)),X.items.push(d(x,st.value||""));break;case 4:st.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(st)),X.items.push(u(x,st.value||""));break;case 6:st.value==null&&n(x,zt.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,Ss(st)),X.items.push(m(x,st.value||""));break;case 7:{const vt=v(x);X.items.push(vt.node),z=vt.nextConsumeToken||null;break}}}while(A.currentType!==13&&A.currentType!==1);const H=A.currentType===1?A.lastOffset:x.currentOffset(),ot=A.currentType===1?A.lastEndLoc:x.currentPosition();return a(X,H,ot),X}function $(x,A,G,N){const X=x.context();let z=N.items.length===0;const H=r(1,A,G);H.cases=[],H.cases.push(N);do{const ot=S(x);z||(z=ot.items.length===0),H.cases.push(ot)}while(X.currentType!==13);return z&&n(x,zt.MUST_HAVE_MESSAGES_IN_PLURAL,G,0),a(H,x.currentOffset(),x.currentPosition()),H}function F(x){const A=x.context(),{offset:G,startLoc:N}=A,X=S(x);return A.currentType===13?X:$(x,G,N,X)}function W(x){const A=t2(x,Oe({},t)),G=A.context(),N=r(0,G.offset,G.startLoc);return e&&N.loc&&(N.loc.source=x),N.body=F(A),t.onCacheKey&&(N.cacheKey=t.onCacheKey(x)),G.currentType!==13&&n(A,zt.UNEXPECTED_LEXICAL_ANALYSIS,G.lastStartLoc,0,x[G.offset]||""),a(N,A.currentOffset(),A.currentPosition()),N}return{parse:W}}function Ss(t){if(t.type===13)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function r2(t,e={}){const s={ast:t,helpers:new Set};return{context:()=>s,helper:a=>(s.helpers.add(a),a)}}function ku(t,e){for(let s=0;s<t.length;s++)Al(t[s],e)}function Al(t,e){switch(t.type){case 1:ku(t.cases,e),e.helper("plural");break;case 2:ku(t.items,e);break;case 6:{Al(t.key,e),e.helper("linked"),e.helper("type");break}case 5:e.helper("interpolate"),e.helper("list");break;case 4:e.helper("interpolate"),e.helper("named");break}}function o2(t,e={}){const s=r2(t);s.helper("normalize"),t.body&&Al(t.body,s);const n=s.context();t.helpers=Array.from(n.helpers)}function a2(t){const e=t.body;return e.type===2?Su(e):e.cases.forEach(s=>Su(s)),t}function Su(t){if(t.items.length===1){const e=t.items[0];(e.type===3||e.type===9)&&(t.static=e.value,delete e.value)}else{const e=[];for(let s=0;s<t.items.length;s++){const n=t.items[s];if(!(n.type===3||n.type===9)||n.value==null)break;e.push(n.value)}if(e.length===t.items.length){t.static=xl(e);for(let s=0;s<t.items.length;s++){const n=t.items[s];(n.type===3||n.type===9)&&delete n.value}}}}function Yn(t){switch(t.t=t.type,t.type){case 0:{const e=t;Yn(e.body),e.b=e.body,delete e.body;break}case 1:{const e=t,s=e.cases;for(let n=0;n<s.length;n++)Yn(s[n]);e.c=s,delete e.cases;break}case 2:{const e=t,s=e.items;for(let n=0;n<s.length;n++)Yn(s[n]);e.i=s,delete e.items,e.static&&(e.s=e.static,delete e.static);break}case 3:case 9:case 8:case 7:{const e=t;e.value&&(e.v=e.value,delete e.value);break}case 6:{const e=t;Yn(e.key),e.k=e.key,delete e.key,e.modifier&&(Yn(e.modifier),e.m=e.modifier,delete e.modifier);break}case 5:{const e=t;e.i=e.index,delete e.index;break}case 4:{const e=t;e.k=e.key,delete e.key;break}}delete t.type}function l2(t,e){const{filename:s,breakLineCode:n,needIndent:r}=e,a=e.location!==!1,l={filename:s,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:n,needIndent:r,indentLevel:0};a&&t.loc&&(l.source=t.loc.source);const d=()=>l;function u(F,W){l.code+=F}function m(F,W=!0){const x=W?n:"";u(r?x+" ".repeat(F):x)}function p(F=!0){const W=++l.indentLevel;F&&m(W)}function g(F=!0){const W=--l.indentLevel;F&&m(W)}function v(){m(l.indentLevel)}return{context:d,push:u,indent:p,deindent:g,newline:v,helper:F=>`_${F}`,needIndent:()=>l.needIndent}}function c2(t,e){const{helper:s}=t;t.push(`${s("linked")}(`),ai(t,e.key),e.modifier?(t.push(", "),ai(t,e.modifier),t.push(", _type")):t.push(", undefined, _type"),t.push(")")}function u2(t,e){const{helper:s,needIndent:n}=t;t.push(`${s("normalize")}([`),t.indent(n());const r=e.items.length;for(let a=0;a<r&&(ai(t,e.items[a]),a!==r-1);a++)t.push(", ");t.deindent(n()),t.push("])")}function d2(t,e){const{helper:s,needIndent:n}=t;if(e.cases.length>1){t.push(`${s("plural")}([`),t.indent(n());const r=e.cases.length;for(let a=0;a<r&&(ai(t,e.cases[a]),a!==r-1);a++)t.push(", ");t.deindent(n()),t.push("])")}}function f2(t,e){e.body?ai(t,e.body):t.push("null")}function ai(t,e){const{helper:s}=t;switch(e.type){case 0:f2(t,e);break;case 1:d2(t,e);break;case 2:u2(t,e);break;case 6:c2(t,e);break;case 8:t.push(JSON.stringify(e.value),e);break;case 7:t.push(JSON.stringify(e.value),e);break;case 5:t.push(`${s("interpolate")}(${s("list")}(${e.index}))`,e);break;case 4:t.push(`${s("interpolate")}(${s("named")}(${JSON.stringify(e.key)}))`,e);break;case 9:t.push(JSON.stringify(e.value),e);break;case 3:t.push(JSON.stringify(e.value),e);break}}const b2=(t,e={})=>{const s=kt(e.mode)?e.mode:"normal",n=kt(e.filename)?e.filename:"message.intl";e.sourceMap;const r=e.breakLineCode!=null?e.breakLineCode:s==="arrow"?";":`
|
|
4
|
+
`,a=e.needIndent?e.needIndent:s!=="arrow",l=t.helpers||[],d=l2(t,{filename:n,breakLineCode:r,needIndent:a});d.push(s==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),d.indent(a),l.length>0&&(d.push(`const { ${xl(l.map(p=>`${p}: _${p}`),", ")} } = ctx`),d.newline()),d.push("return "),ai(d,t),d.deindent(a),d.push("}"),delete t.helpers;const{code:u,map:m}=d.context();return{ast:t,code:u,map:m?m.toJSON():void 0}};function m2(t,e={}){const s=Oe({},e),n=!!s.jit,r=!!s.minify,a=s.optimize==null?!0:s.optimize,d=i2(s).parse(t);return n?(a&&a2(d),r&&Yn(d),{ast:d,code:""}):(o2(d,s),b2(d,s))}function p2(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(kl().__INTLIFY_PROD_DEVTOOLS__=!1)}function Rs(t){return Ut(t)&&Cl(t)===0&&(ds(t,"b")||ds(t,"body"))}const Gf=["b","body"];function h2(t){return yn(t,Gf)}const Wf=["c","cases"];function g2(t){return yn(t,Wf,[])}const zf=["s","static"];function y2(t){return yn(t,zf)}const Jf=["i","items"];function v2(t){return yn(t,Jf,[])}const Qf=["t","type"];function Cl(t){return yn(t,Qf)}const Yf=["v","value"];function Er(t,e){const s=yn(t,Yf);if(s!=null)return s;throw Ki(e)}const Xf=["m","modifier"];function _2(t){return yn(t,Xf)}const Zf=["k","key"];function w2(t){const e=yn(t,Zf);if(e)return e;throw Ki(6)}function yn(t,e,s){for(let n=0;n<e.length;n++){const r=e[n];if(ds(t,r)&&t[r]!=null)return t[r]}return s}const tb=[...Gf,...Wf,...zf,...Jf,...Zf,...Xf,...Yf,...Qf];function Ki(t){return new Error(`unhandled node type: ${t}`)}function Sa(t){return s=>T2(s,t)}function T2(t,e){const s=h2(e);if(s==null)throw Ki(0);if(Cl(s)===1){const a=g2(s);return t.plural(a.reduce((l,d)=>[...l,xu(t,d)],[]))}else return xu(t,s)}function xu(t,e){const s=y2(e);if(s!=null)return t.type==="text"?s:t.normalize([s]);{const n=v2(e).reduce((r,a)=>[...r,za(t,a)],[]);return t.normalize(n)}}function za(t,e){const s=Cl(e);switch(s){case 3:return Er(e,s);case 9:return Er(e,s);case 4:{const n=e;if(ds(n,"k")&&n.k)return t.interpolate(t.named(n.k));if(ds(n,"key")&&n.key)return t.interpolate(t.named(n.key));throw Ki(s)}case 5:{const n=e;if(ds(n,"i")&&Se(n.i))return t.interpolate(t.list(n.i));if(ds(n,"index")&&Se(n.index))return t.interpolate(t.list(n.index));throw Ki(s)}case 6:{const n=e,r=_2(n),a=w2(n);return t.linked(za(t,a),r?za(t,r):void 0,t.type)}case 7:return Er(e,s);case 8:return Er(e,s);default:throw new Error(`unhandled node on format message part: ${s}`)}}const k2=t=>t;let Pr=Qt();function S2(t,e={}){let s=!1;const n=e.onError||Wh;return e.onError=r=>{s=!0,n(r)},{...m2(t,e),detectError:s}}function x2(t,e){if(kt(t)){de(e.warnHtmlMessage)&&e.warnHtmlMessage;const n=(e.onCacheKey||k2)(t),r=Pr[n];if(r)return r;const{ast:a,detectError:l}=S2(t,{...e,location:!1,jit:!0}),d=Sa(a);return l?d:Pr[n]=d}else{const s=t.cacheKey;if(s){const n=Pr[s];return n||(Pr[s]=Sa(t))}else return Sa(t)}}let Ui=null;function A2(t){Ui=t}function C2(t,e,s){Ui&&Ui.emit("i18n:init",{timestamp:Date.now(),i18n:t,version:e,meta:s})}const E2=P2("function:translate");function P2(t){return e=>Ui&&Ui.emit(t,e)}const Ks={INVALID_ARGUMENT:Gh,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},R2=24;function Us(t){return Co(t,null,void 0)}function El(t,e){return e.locale!=null?Au(e.locale):Au(t.locale)}let xa;function Au(t){if(kt(t))return t;if(ue(t)){if(t.resolvedOnce&&xa!=null)return xa;if(t.constructor.name==="Function"){const e=t();if(Kh(e))throw Us(Ks.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return xa=e}else throw Us(Ks.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Us(Ks.NOT_SUPPORT_LOCALE_TYPE)}function M2(t,e,s){return[...new Set([s,...Ee(e)?e:Ut(e)?Object.keys(e):kt(e)?[e]:[s]])]}function eb(t,e,s){const n=kt(s)?s:Zr,r=t;r.__localeChainCache||(r.__localeChainCache=new Map);let a=r.__localeChainCache.get(n);if(!a){a=[];let l=[s];for(;Ee(l);)l=Cu(a,l,e);const d=Ee(e)||!Bt(e)?e:e.default?e.default:null;l=kt(d)?[d]:d,Ee(l)&&Cu(a,l,!1),r.__localeChainCache.set(n,a)}return a}function Cu(t,e,s){let n=!0;for(let r=0;r<e.length&&de(n);r++){const a=e[r];kt(a)&&(n=D2(t,e[r],s))}return n}function D2(t,e,s){let n;const r=e.split("-");do{const a=r.join("-");n=O2(t,a,s),r.splice(-1,1)}while(r.length&&n===!0);return n}function O2(t,e,s){let n=!1;if(!t.includes(e)&&(n=!0,e)){n=e[e.length-1]!=="!";const r=e.replace(/!/g,"");t.push(r),(Ee(s)||Bt(s))&&s[r]&&(n=s[r])}return n}const vn=[];vn[0]={w:[0],i:[3,0],"[":[4],o:[7]};vn[1]={w:[1],".":[2],"[":[4],o:[7]};vn[2]={w:[2],i:[3,0],0:[3,0]};vn[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};vn[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};vn[5]={"'":[4,0],o:8,l:[5,0]};vn[6]={'"':[4,0],o:8,l:[6,0]};const I2=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function N2(t){return I2.test(t)}function L2(t){const e=t.charCodeAt(0),s=t.charCodeAt(t.length-1);return e===s&&(e===34||e===39)?t.slice(1,-1):t}function F2(t){if(t==null)return"o";switch(t.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function j2(t){const e=t.trim();return t.charAt(0)==="0"&&isNaN(parseInt(t))?!1:N2(e)?L2(e):"*"+e}function B2(t){const e=[];let s=-1,n=0,r=0,a,l,d,u,m,p,g;const v=[];v[0]=()=>{l===void 0?l=d:l+=d},v[1]=()=>{l!==void 0&&(e.push(l),l=void 0)},v[2]=()=>{v[0](),r++},v[3]=()=>{if(r>0)r--,n=4,v[0]();else{if(r=0,l===void 0||(l=j2(l),l===!1))return!1;v[1]()}};function S(){const $=t[s+1];if(n===5&&$==="'"||n===6&&$==='"')return s++,d="\\"+$,v[0](),!0}for(;n!==null;)if(s++,a=t[s],!(a==="\\"&&S())){if(u=F2(a),g=vn[n],m=g[u]||g.l||8,m===8||(n=m[0],m[1]!==void 0&&(p=v[m[1]],p&&(d=a,p()===!1))))return;if(n===7)return e}}const Eu=new Map;function q2(t,e){return Ut(t)?t[e]:null}function $2(t,e){if(!Ut(t))return null;let s=Eu.get(e);if(s||(s=B2(e),s&&Eu.set(e,s)),!s)return null;const n=s.length;let r=t,a=0;for(;a<n;){const l=s[a];if(tb.includes(l)&&Rs(r))return null;const d=r[l];if(d===void 0||ue(r))return null;r=d,a++}return r}const V2="10.0.8",Eo=-1,Zr="en-US",Pu="",Ru=t=>`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`;function K2(){return{upper:(t,e)=>e==="text"&&kt(t)?t.toUpperCase():e==="vnode"&&Ut(t)&&"__v_isVNode"in t?t.children.toUpperCase():t,lower:(t,e)=>e==="text"&&kt(t)?t.toLowerCase():e==="vnode"&&Ut(t)&&"__v_isVNode"in t?t.children.toLowerCase():t,capitalize:(t,e)=>e==="text"&&kt(t)?Ru(t):e==="vnode"&&Ut(t)&&"__v_isVNode"in t?Ru(t.children):t}}let sb;function U2(t){sb=t}let nb;function H2(t){nb=t}let ib;function G2(t){ib=t}let rb=null;const W2=t=>{rb=t},z2=()=>rb;let ob=null;const Mu=t=>{ob=t},J2=()=>ob;let Du=0;function Q2(t={}){const e=ue(t.onWarn)?t.onWarn:Lh,s=kt(t.version)?t.version:V2,n=kt(t.locale)||ue(t.locale)?t.locale:Zr,r=ue(n)?Zr:n,a=Ee(t.fallbackLocale)||Bt(t.fallbackLocale)||kt(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:r,l=Bt(t.messages)?t.messages:Aa(r),d=Bt(t.datetimeFormats)?t.datetimeFormats:Aa(r),u=Bt(t.numberFormats)?t.numberFormats:Aa(r),m=Oe(Qt(),t.modifiers,K2()),p=t.pluralRules||Qt(),g=ue(t.missing)?t.missing:null,v=de(t.missingWarn)||Xr(t.missingWarn)?t.missingWarn:!0,S=de(t.fallbackWarn)||Xr(t.fallbackWarn)?t.fallbackWarn:!0,$=!!t.fallbackFormat,F=!!t.unresolving,W=ue(t.postTranslation)?t.postTranslation:null,x=Bt(t.processor)?t.processor:null,A=de(t.warnHtmlMessage)?t.warnHtmlMessage:!0,G=!!t.escapeParameter,N=ue(t.messageCompiler)?t.messageCompiler:sb,X=ue(t.messageResolver)?t.messageResolver:nb||q2,z=ue(t.localeFallbacker)?t.localeFallbacker:ib||M2,H=Ut(t.fallbackContext)?t.fallbackContext:void 0,ot=t,st=Ut(ot.__datetimeFormatters)?ot.__datetimeFormatters:new Map,vt=Ut(ot.__numberFormatters)?ot.__numberFormatters:new Map,xt=Ut(ot.__meta)?ot.__meta:{};Du++;const lt={version:s,cid:Du,locale:n,fallbackLocale:a,messages:l,modifiers:m,pluralRules:p,missing:g,missingWarn:v,fallbackWarn:S,fallbackFormat:$,unresolving:F,postTranslation:W,processor:x,warnHtmlMessage:A,escapeParameter:G,messageCompiler:N,messageResolver:X,localeFallbacker:z,fallbackContext:H,onWarn:e,__meta:xt};return lt.datetimeFormats=d,lt.numberFormats=u,lt.__datetimeFormatters=st,lt.__numberFormatters=vt,__INTLIFY_PROD_DEVTOOLS__&&C2(lt,s,xt),lt}const Aa=t=>({[t]:Qt()});function Pl(t,e,s,n,r){const{missing:a,onWarn:l}=t;if(a!==null){const d=a(t,s,e,r);return kt(d)?d:e}else return e}function Ti(t,e,s){const n=t;n.__localeChainCache=new Map,t.localeFallbacker(t,s,e)}function Y2(t,e){return t===e?!1:t.split("-")[0]===e.split("-")[0]}function X2(t,e){const s=e.indexOf(t);if(s===-1)return!1;for(let n=s+1;n<e.length;n++)if(Y2(t,e[n]))return!0;return!1}function Ou(t,...e){const{datetimeFormats:s,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:l}=t,{__datetimeFormatters:d}=t,[u,m,p,g]=Ja(...e),v=de(p.missingWarn)?p.missingWarn:t.missingWarn;de(p.fallbackWarn)?p.fallbackWarn:t.fallbackWarn;const S=!!p.part,$=El(t,p),F=l(t,r,$);if(!kt(u)||u==="")return new Intl.DateTimeFormat($,g).format(m);let W={},x,A=null;const G="datetime format";for(let z=0;z<F.length&&(x=F[z],W=s[x]||{},A=W[u],!Bt(A));z++)Pl(t,u,x,v,G);if(!Bt(A)||!kt(x))return n?Eo:u;let N=`${x}__${u}`;Ao(g)||(N=`${N}__${JSON.stringify(g)}`);let X=d.get(N);return X||(X=new Intl.DateTimeFormat(x,Oe({},A,g)),d.set(N,X)),S?X.formatToParts(m):X.format(m)}const ab=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Ja(...t){const[e,s,n,r]=t,a=Qt();let l=Qt(),d;if(kt(e)){const u=e.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!u)throw Us(Ks.INVALID_ISO_DATE_ARGUMENT);const m=u[3]?u[3].trim().startsWith("T")?`${u[1].trim()}${u[3].trim()}`:`${u[1].trim()}T${u[3].trim()}`:u[1].trim();d=new Date(m);try{d.toISOString()}catch{throw Us(Ks.INVALID_ISO_DATE_ARGUMENT)}}else if(Bh(e)){if(isNaN(e.getTime()))throw Us(Ks.INVALID_DATE_ARGUMENT);d=e}else if(Se(e))d=e;else throw Us(Ks.INVALID_ARGUMENT);return kt(s)?a.key=s:Bt(s)&&Object.keys(s).forEach(u=>{ab.includes(u)?l[u]=s[u]:a[u]=s[u]}),kt(n)?a.locale=n:Bt(n)&&(l=n),Bt(r)&&(l=r),[a.key||"",d,a,l]}function Iu(t,e,s){const n=t;for(const r in s){const a=`${e}__${r}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function Nu(t,...e){const{numberFormats:s,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:l}=t,{__numberFormatters:d}=t,[u,m,p,g]=Qa(...e),v=de(p.missingWarn)?p.missingWarn:t.missingWarn;de(p.fallbackWarn)?p.fallbackWarn:t.fallbackWarn;const S=!!p.part,$=El(t,p),F=l(t,r,$);if(!kt(u)||u==="")return new Intl.NumberFormat($,g).format(m);let W={},x,A=null;const G="number format";for(let z=0;z<F.length&&(x=F[z],W=s[x]||{},A=W[u],!Bt(A));z++)Pl(t,u,x,v,G);if(!Bt(A)||!kt(x))return n?Eo:u;let N=`${x}__${u}`;Ao(g)||(N=`${N}__${JSON.stringify(g)}`);let X=d.get(N);return X||(X=new Intl.NumberFormat(x,Oe({},A,g)),d.set(N,X)),S?X.formatToParts(m):X.format(m)}const lb=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Qa(...t){const[e,s,n,r]=t,a=Qt();let l=Qt();if(!Se(e))throw Us(Ks.INVALID_ARGUMENT);const d=e;return kt(s)?a.key=s:Bt(s)&&Object.keys(s).forEach(u=>{lb.includes(u)?l[u]=s[u]:a[u]=s[u]}),kt(n)?a.locale=n:Bt(n)&&(l=n),Bt(r)&&(l=r),[a.key||"",d,a,l]}function Lu(t,e,s){const n=t;for(const r in s){const a=`${e}__${r}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}const Z2=t=>t,t3=t=>"",e3="text",s3=t=>t.length===0?"":xl(t),n3=Uh;function Fu(t,e){return t=Math.abs(t),e===2?t?t>1?1:0:1:t?Math.min(t,2):0}function i3(t){const e=Se(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(Se(t.named.count)||Se(t.named.n))?Se(t.named.count)?t.named.count:Se(t.named.n)?t.named.n:e:e}function r3(t,e){e.count||(e.count=t),e.n||(e.n=t)}function o3(t={}){const e=t.locale,s=i3(t),n=Ut(t.pluralRules)&&kt(e)&&ue(t.pluralRules[e])?t.pluralRules[e]:Fu,r=Ut(t.pluralRules)&&kt(e)&&ue(t.pluralRules[e])?Fu:void 0,a=x=>x[n(s,x.length,r)],l=t.list||[],d=x=>l[x],u=t.named||Qt();Se(t.pluralIndex)&&r3(s,u);const m=x=>u[x];function p(x,A){const G=ue(t.messages)?t.messages(x,!!A):Ut(t.messages)?t.messages[x]:!1;return G||(t.parent?t.parent.message(x):t3)}const g=x=>t.modifiers?t.modifiers[x]:Z2,v=Bt(t.processor)&&ue(t.processor.normalize)?t.processor.normalize:s3,S=Bt(t.processor)&&ue(t.processor.interpolate)?t.processor.interpolate:n3,$=Bt(t.processor)&&kt(t.processor.type)?t.processor.type:e3,W={list:d,named:m,plural:a,linked:(x,...A)=>{const[G,N]=A;let X="text",z="";A.length===1?Ut(G)?(z=G.modifier||z,X=G.type||X):kt(G)&&(z=G||z):A.length===2&&(kt(G)&&(z=G||z),kt(N)&&(X=N||X));const H=p(x,!0)(W),ot=X==="vnode"&&Ee(H)&&z?H[0]:H;return z?g(z)(ot,X):ot},message:p,type:$,interpolate:S,normalize:v,values:Oe(Qt(),l,u)};return W}const ju=()=>"",os=t=>ue(t);function Bu(t,...e){const{fallbackFormat:s,postTranslation:n,unresolving:r,messageCompiler:a,fallbackLocale:l,messages:d}=t,[u,m]=Ya(...e),p=de(m.missingWarn)?m.missingWarn:t.missingWarn,g=de(m.fallbackWarn)?m.fallbackWarn:t.fallbackWarn,v=de(m.escapeParameter)?m.escapeParameter:t.escapeParameter,S=!!m.resolvedMessage,$=kt(m.default)||de(m.default)?de(m.default)?a?u:()=>u:m.default:s?a?u:()=>u:null,F=s||$!=null&&(kt($)||ue($)),W=El(t,m);v&&a3(m);let[x,A,G]=S?[u,W,d[W]||Qt()]:cb(t,u,W,l,g,p),N=x,X=u;if(!S&&!(kt(N)||Rs(N)||os(N))&&F&&(N=$,X=N),!S&&(!(kt(N)||Rs(N)||os(N))||!kt(A)))return r?Eo:u;let z=!1;const H=()=>{z=!0},ot=os(N)?N:ub(t,u,A,N,X,H);if(z)return N;const st=u3(t,A,G,m),vt=o3(st),xt=l3(t,ot,vt);let lt=n?n(xt,u):xt;if(v&&kt(lt)&&(lt=$h(lt)),__INTLIFY_PROD_DEVTOOLS__){const Et={timestamp:Date.now(),key:kt(u)?u:os(N)?N.key:"",locale:A||(os(N)?N.locale:""),format:kt(N)?N:os(N)?N.source:"",message:lt};Et.meta=Oe({},t.__meta,z2()||{}),E2(Et)}return lt}function a3(t){Ee(t.list)?t.list=t.list.map(e=>kt(e)?_u(e):e):Ut(t.named)&&Object.keys(t.named).forEach(e=>{kt(t.named[e])&&(t.named[e]=_u(t.named[e]))})}function cb(t,e,s,n,r,a){const{messages:l,onWarn:d,messageResolver:u,localeFallbacker:m}=t,p=m(t,n,s);let g=Qt(),v,S=null;const $="translate";for(let F=0;F<p.length&&(v=p[F],g=l[v]||Qt(),(S=u(g,e))===null&&(S=g[e]),!(kt(S)||Rs(S)||os(S)));F++)if(!X2(v,p)){const W=Pl(t,e,v,a,$);W!==e&&(S=W)}return[S,v,g]}function ub(t,e,s,n,r,a){const{messageCompiler:l,warnHtmlMessage:d}=t;if(os(n)){const m=n;return m.locale=m.locale||s,m.key=m.key||e,m}if(l==null){const m=(()=>n);return m.locale=s,m.key=e,m}const u=l(n,c3(t,s,r,n,d,a));return u.locale=s,u.key=e,u.source=n,u}function l3(t,e,s){return e(s)}function Ya(...t){const[e,s,n]=t,r=Qt();if(!kt(e)&&!Se(e)&&!os(e)&&!Rs(e))throw Us(Ks.INVALID_ARGUMENT);const a=Se(e)?String(e):(os(e),e);return Se(s)?r.plural=s:kt(s)?r.default=s:Bt(s)&&!Ao(s)?r.named=s:Ee(s)&&(r.list=s),Se(n)?r.plural=n:kt(n)?r.default=n:Bt(n)&&Oe(r,n),[a,r]}function c3(t,e,s,n,r,a){return{locale:e,key:s,warnHtmlMessage:r,onError:l=>{throw a&&a(l),l},onCacheKey:l=>Fh(e,s,l)}}function u3(t,e,s,n){const{modifiers:r,pluralRules:a,messageResolver:l,fallbackLocale:d,fallbackWarn:u,missingWarn:m,fallbackContext:p}=t,v={locale:e,modifiers:r,pluralRules:a,messages:(S,$)=>{let F=l(s,S);if(F==null&&(p||$)){const[,,W]=cb(p||t,S,e,d,u,m);F=l(W,S)}if(kt(F)||Rs(F)){let W=!1;const A=ub(t,S,e,F,S,()=>{W=!0});return W?ju:A}else return os(F)?F:ju}};return t.processor&&(v.processor=t.processor),n.list&&(v.list=n.list),n.named&&(v.named=n.named),Se(n.plural)&&(v.pluralIndex=n.plural),v}p2();const d3="10.0.8";function f3(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(kl().__INTLIFY_PROD_DEVTOOLS__=!1)}const as={UNEXPECTED_RETURN_TYPE:R2,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function ys(t,...e){return Co(t,null,void 0)}const Xa=gn("__translateVNode"),Za=gn("__datetimeParts"),tl=gn("__numberParts"),b3=gn("__setPluralRules"),m3=gn("__injectWithOption"),el=gn("__dispose");function Hi(t){if(!Ut(t)||Rs(t))return t;for(const e in t)if(ds(t,e))if(!e.includes("."))Ut(t[e])&&Hi(t[e]);else{const s=e.split("."),n=s.length-1;let r=t,a=!1;for(let l=0;l<n;l++){if(s[l]==="__proto__")throw new Error(`unsafe key: ${s[l]}`);if(s[l]in r||(r[s[l]]=Qt()),!Ut(r[s[l]])){a=!0;break}r=r[s[l]]}if(a||(Rs(r)?tb.includes(s[n])||delete t[e]:(r[s[n]]=t[e],delete t[e])),!Rs(r)){const l=r[s[n]];Ut(l)&&Hi(l)}}return t}function db(t,e){const{messages:s,__i18n:n,messageResolver:r,flatJson:a}=e,l=Bt(s)?s:Ee(n)?Qt():{[t]:Qt()};if(Ee(n)&&n.forEach(d=>{if("locale"in d&&"resource"in d){const{locale:u,resource:m}=d;u?(l[u]=l[u]||Qt(),Fr(m,l[u])):Fr(m,l)}else kt(d)&&Fr(JSON.parse(d),l)}),r==null&&a)for(const d in l)ds(l,d)&&Hi(l[d]);return l}function fb(t){return t.type}function p3(t,e,s){let n=Ut(e.messages)?e.messages:Qt();"__i18nGlobal"in s&&(n=db(t.locale.value,{messages:n,__i18n:s.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{t.mergeLocaleMessage(a,n[a])});{if(Ut(e.datetimeFormats)){const a=Object.keys(e.datetimeFormats);a.length&&a.forEach(l=>{t.mergeDateTimeFormat(l,e.datetimeFormats[l])})}if(Ut(e.numberFormats)){const a=Object.keys(e.numberFormats);a.length&&a.forEach(l=>{t.mergeNumberFormat(l,e.numberFormats[l])})}}}function qu(t){return fe(Yi,null,t,0)}const $u="__INTLIFY_META__",Vu=()=>[],h3=()=>!1;let Ku=0;function Uu(t){return((e,s,n,r)=>t(s,n,hn()||void 0,r))}const g3=()=>{const t=hn();let e=null;return t&&(e=fb(t)[$u])?{[$u]:e}:null};function bb(t={}){const{__root:e,__injectWithOption:s}=t,n=e===void 0,r=t.flatJson,a=Yr?Te:Pd;let l=de(t.inheritLocale)?t.inheritLocale:!0;const d=a(e&&l?e.locale.value:kt(t.locale)?t.locale:Zr),u=a(e&&l?e.fallbackLocale.value:kt(t.fallbackLocale)||Ee(t.fallbackLocale)||Bt(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:d.value),m=a(db(d.value,t)),p=a(Bt(t.datetimeFormats)?t.datetimeFormats:{[d.value]:{}}),g=a(Bt(t.numberFormats)?t.numberFormats:{[d.value]:{}});let v=e?e.missingWarn:de(t.missingWarn)||Xr(t.missingWarn)?t.missingWarn:!0,S=e?e.fallbackWarn:de(t.fallbackWarn)||Xr(t.fallbackWarn)?t.fallbackWarn:!0,$=e?e.fallbackRoot:de(t.fallbackRoot)?t.fallbackRoot:!0,F=!!t.fallbackFormat,W=ue(t.missing)?t.missing:null,x=ue(t.missing)?Uu(t.missing):null,A=ue(t.postTranslation)?t.postTranslation:null,G=e?e.warnHtmlMessage:de(t.warnHtmlMessage)?t.warnHtmlMessage:!0,N=!!t.escapeParameter;const X=e?e.modifiers:Bt(t.modifiers)?t.modifiers:{};let z=t.pluralRules||e&&e.pluralRules,H;H=(()=>{n&&Mu(null);const j={version:d3,locale:d.value,fallbackLocale:u.value,messages:m.value,modifiers:X,pluralRules:z,missing:x===null?void 0:x,missingWarn:v,fallbackWarn:S,fallbackFormat:F,unresolving:!0,postTranslation:A===null?void 0:A,warnHtmlMessage:G,escapeParameter:N,messageResolver:t.messageResolver,messageCompiler:t.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=p.value,j.numberFormats=g.value,j.__datetimeFormatters=Bt(H)?H.__datetimeFormatters:void 0,j.__numberFormatters=Bt(H)?H.__numberFormatters:void 0;const Q=Q2(j);return n&&Mu(Q),Q})(),Ti(H,d.value,u.value);function st(){return[d.value,u.value,m.value,p.value,g.value]}const vt=ne({get:()=>d.value,set:j=>{d.value=j,H.locale=d.value}}),xt=ne({get:()=>u.value,set:j=>{u.value=j,H.fallbackLocale=u.value,Ti(H,d.value,j)}}),lt=ne(()=>m.value),Et=ne(()=>p.value),Yt=ne(()=>g.value);function ae(){return ue(A)?A:null}function Lt(j){A=j,H.postTranslation=j}function Pt(){return W}function Dt(j){j!==null&&(x=Uu(j)),W=j,H.missing=x}const Xt=(j,Q,mt,St,It,ee)=>{st();let se;try{__INTLIFY_PROD_DEVTOOLS__,n||(H.fallbackContext=e?J2():void 0),se=j(H)}finally{__INTLIFY_PROD_DEVTOOLS__,n||(H.fallbackContext=void 0)}if(mt!=="translate exists"&&Se(se)&&se===Eo||mt==="translate exists"&&!se){const[Ne,Ae]=Q();return e&&$?St(e):It(Ne)}else{if(ee(se))return se;throw ys(as.UNEXPECTED_RETURN_TYPE)}};function le(...j){return Xt(Q=>Reflect.apply(Bu,null,[Q,...j]),()=>Ya(...j),"translate",Q=>Reflect.apply(Q.t,Q,[...j]),Q=>Q,Q=>kt(Q))}function xe(...j){const[Q,mt,St]=j;if(St&&!Ut(St))throw ys(as.INVALID_ARGUMENT);return le(Q,mt,Oe({resolvedMessage:!0},St||{}))}function Jt(...j){return Xt(Q=>Reflect.apply(Ou,null,[Q,...j]),()=>Ja(...j),"datetime format",Q=>Reflect.apply(Q.d,Q,[...j]),()=>Pu,Q=>kt(Q))}function ss(...j){return Xt(Q=>Reflect.apply(Nu,null,[Q,...j]),()=>Qa(...j),"number format",Q=>Reflect.apply(Q.n,Q,[...j]),()=>Pu,Q=>kt(Q))}function Ie(j){return j.map(Q=>kt(Q)||Se(Q)||de(Q)?qu(String(Q)):Q)}const ge={normalize:Ie,interpolate:j=>j,type:"vnode"};function tt(...j){return Xt(Q=>{let mt;const St=Q;try{St.processor=ge,mt=Reflect.apply(Bu,null,[St,...j])}finally{St.processor=null}return mt},()=>Ya(...j),"translate",Q=>Q[Xa](...j),Q=>[qu(Q)],Q=>Ee(Q))}function gt(...j){return Xt(Q=>Reflect.apply(Nu,null,[Q,...j]),()=>Qa(...j),"number format",Q=>Q[tl](...j),Vu,Q=>kt(Q)||Ee(Q))}function bt(...j){return Xt(Q=>Reflect.apply(Ou,null,[Q,...j]),()=>Ja(...j),"datetime format",Q=>Q[Za](...j),Vu,Q=>kt(Q)||Ee(Q))}function rt(j){z=j,H.pluralRules=z}function Ot(j,Q){return Xt(()=>{if(!j)return!1;const mt=kt(Q)?Q:d.value,St=B(mt),It=H.messageResolver(St,j);return Rs(It)||os(It)||kt(It)},()=>[j],"translate exists",mt=>Reflect.apply(mt.te,mt,[j,Q]),h3,mt=>de(mt))}function w(j){let Q=null;const mt=eb(H,u.value,d.value);for(let St=0;St<mt.length;St++){const It=m.value[mt[St]]||{},ee=H.messageResolver(It,j);if(ee!=null){Q=ee;break}}return Q}function C(j){const Q=w(j);return Q??(e?e.tm(j)||{}:{})}function B(j){return m.value[j]||{}}function Y(j,Q){if(r){const mt={[j]:Q};for(const St in mt)ds(mt,St)&&Hi(mt[St]);Q=mt[j]}m.value[j]=Q,H.messages=m.value}function nt(j,Q){m.value[j]=m.value[j]||{};const mt={[j]:Q};if(r)for(const St in mt)ds(mt,St)&&Hi(mt[St]);Q=mt[j],Fr(Q,m.value[j]),H.messages=m.value}function et(j){return p.value[j]||{}}function T(j,Q){p.value[j]=Q,H.datetimeFormats=p.value,Iu(H,j,Q)}function k(j,Q){p.value[j]=Oe(p.value[j]||{},Q),H.datetimeFormats=p.value,Iu(H,j,Q)}function L(j){return g.value[j]||{}}function K(j,Q){g.value[j]=Q,H.numberFormats=g.value,Lu(H,j,Q)}function pt(j,Q){g.value[j]=Oe(g.value[j]||{},Q),H.numberFormats=g.value,Lu(H,j,Q)}Ku++,e&&Yr&&(Gs(e.locale,j=>{l&&(d.value=j,H.locale=j,Ti(H,d.value,u.value))}),Gs(e.fallbackLocale,j=>{l&&(u.value=j,H.fallbackLocale=j,Ti(H,d.value,u.value))}));const it={id:Ku,locale:vt,fallbackLocale:xt,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&e&&(d.value=e.locale.value,u.value=e.fallbackLocale.value,Ti(H,d.value,u.value))},get availableLocales(){return Object.keys(m.value).sort()},messages:lt,get modifiers(){return X},get pluralRules(){return z||{}},get isGlobal(){return n},get missingWarn(){return v},set missingWarn(j){v=j,H.missingWarn=v},get fallbackWarn(){return S},set fallbackWarn(j){S=j,H.fallbackWarn=S},get fallbackRoot(){return $},set fallbackRoot(j){$=j},get fallbackFormat(){return F},set fallbackFormat(j){F=j,H.fallbackFormat=F},get warnHtmlMessage(){return G},set warnHtmlMessage(j){G=j,H.warnHtmlMessage=j},get escapeParameter(){return N},set escapeParameter(j){N=j,H.escapeParameter=j},t:le,getLocaleMessage:B,setLocaleMessage:Y,mergeLocaleMessage:nt,getPostTranslationHandler:ae,setPostTranslationHandler:Lt,getMissingHandler:Pt,setMissingHandler:Dt,[b3]:rt};return it.datetimeFormats=Et,it.numberFormats=Yt,it.rt=xe,it.te=Ot,it.tm=C,it.d=Jt,it.n=ss,it.getDateTimeFormat=et,it.setDateTimeFormat=T,it.mergeDateTimeFormat=k,it.getNumberFormat=L,it.setNumberFormat=K,it.mergeNumberFormat=pt,it[m3]=s,it[Xa]=tt,it[Za]=bt,it[tl]=gt,it}const Rl={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>t==="parent"||t==="global",default:"parent"},i18n:{type:Object}};function y3({slots:t},e){return e.length===1&&e[0]==="default"?(t.default?t.default():[]).reduce((n,r)=>[...n,...r.type===we?r.children:[r]],[]):e.reduce((s,n)=>{const r=t[n];return r&&(s[n]=r()),s},Qt())}function mb(){return we}const v3=Ms({name:"i18n-t",props:Oe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>Se(t)||!isNaN(t)}},Rl),setup(t,e){const{slots:s,attrs:n}=e,r=t.i18n||Zi({useScope:t.scope,__useComponent:!0});return()=>{const a=Object.keys(s).filter(g=>g!=="_"),l=Qt();t.locale&&(l.locale=t.locale),t.plural!==void 0&&(l.plural=kt(t.plural)?+t.plural:t.plural);const d=y3(e,a),u=r[Xa](t.keypath,d,l),m=Oe(Qt(),n),p=kt(t.tag)||Ut(t.tag)?t.tag:mb();return mn(p,m,u)}}}),Hu=v3;function _3(t){return Ee(t)&&!kt(t[0])}function pb(t,e,s,n){const{slots:r,attrs:a}=e;return()=>{const l={part:!0};let d=Qt();t.locale&&(l.locale=t.locale),kt(t.format)?l.key=t.format:Ut(t.format)&&(kt(t.format.key)&&(l.key=t.format.key),d=Object.keys(t.format).reduce((v,S)=>s.includes(S)?Oe(Qt(),v,{[S]:t.format[S]}):v,Qt()));const u=n(t.value,l,d);let m=[l.key];Ee(u)?m=u.map((v,S)=>{const $=r[v.type],F=$?$({[v.type]:v.value,index:S,parts:u}):[v.value];return _3(F)&&(F[0].key=`${v.type}-${S}`),F}):kt(u)&&(m=[u]);const p=Oe(Qt(),a),g=kt(t.tag)||Ut(t.tag)?t.tag:mb();return mn(g,p,m)}}const w3=Ms({name:"i18n-n",props:Oe({value:{type:Number,required:!0},format:{type:[String,Object]}},Rl),setup(t,e){const s=t.i18n||Zi({useScope:t.scope,__useComponent:!0});return pb(t,e,lb,(...n)=>s[tl](...n))}}),Gu=w3,T3=Ms({name:"i18n-d",props:Oe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Rl),setup(t,e){const s=t.i18n||Zi({useScope:t.scope,__useComponent:!0});return pb(t,e,ab,(...n)=>s[Za](...n))}}),Wu=T3;function k3(t,e){const s=t;if(t.mode==="composition")return s.__getInstance(e)||t.global;{const n=s.__getInstance(e);return n!=null?n.__composer:t.global.__composer}}function S3(t){const e=l=>{const{instance:d,value:u}=l;if(!d||!d.$)throw ys(as.UNEXPECTED_ERROR);const m=k3(t,d.$),p=zu(u);return[Reflect.apply(m.t,m,[...Ju(p)]),m]};return{created:(l,d)=>{const[u,m]=e(d);Yr&&t.global===m&&(l.__i18nWatcher=Gs(m.locale,()=>{d.instance&&d.instance.$forceUpdate()})),l.__composer=m,l.textContent=u},unmounted:l=>{Yr&&l.__i18nWatcher&&(l.__i18nWatcher(),l.__i18nWatcher=void 0,delete l.__i18nWatcher),l.__composer&&(l.__composer=void 0,delete l.__composer)},beforeUpdate:(l,{value:d})=>{if(l.__composer){const u=l.__composer,m=zu(d);l.textContent=Reflect.apply(u.t,u,[...Ju(m)])}},getSSRProps:l=>{const[d]=e(l);return{textContent:d}}}}function zu(t){if(kt(t))return{path:t};if(Bt(t)){if(!("path"in t))throw ys(as.REQUIRED_VALUE,"path");return t}else throw ys(as.INVALID_VALUE)}function Ju(t){const{path:e,locale:s,args:n,choice:r,plural:a}=t,l={},d=n||{};return kt(s)&&(l.locale=s),Se(r)&&(l.plural=r),Se(a)&&(l.plural=a),[e,d,l]}function x3(t,e,...s){const n=Bt(s[0])?s[0]:{};(!de(n.globalInstall)||n.globalInstall)&&([Hu.name,"I18nT"].forEach(a=>t.component(a,Hu)),[Gu.name,"I18nN"].forEach(a=>t.component(a,Gu)),[Wu.name,"I18nD"].forEach(a=>t.component(a,Wu))),t.directive("t",S3(e))}const A3=gn("global-vue-i18n");function C3(t={},e){const s=de(t.globalInjection)?t.globalInjection:!0,n=new Map,[r,a]=E3(t),l=gn("");function d(g){return n.get(g)||null}function u(g,v){n.set(g,v)}function m(g){n.delete(g)}const p={get mode(){return"composition"},async install(g,...v){if(g.__VUE_I18N_SYMBOL__=l,g.provide(g.__VUE_I18N_SYMBOL__,p),Bt(v[0])){const F=v[0];p.__composerExtend=F.__composerExtend,p.__vueI18nExtend=F.__vueI18nExtend}let S=null;s&&(S=L3(g,p.global)),x3(g,p,...v);const $=g.unmount;g.unmount=()=>{S&&S(),p.dispose(),$()}},get global(){return a},dispose(){r.stop()},__instances:n,__getInstance:d,__setInstance:u,__deleteInstance:m};return p}function Zi(t={}){const e=hn();if(e==null)throw ys(as.MUST_BE_CALL_SETUP_TOP);if(!e.isCE&&e.appContext.app!=null&&!e.appContext.app.__VUE_I18N_SYMBOL__)throw ys(as.NOT_INSTALLED);const s=P3(e),n=M3(s),r=fb(e),a=R3(t,r);if(a==="global")return p3(n,t,r),n;if(a==="parent"){let u=D3(s,e,t.__useComponent);return u==null&&(u=n),u}const l=s;let d=l.__getInstance(e);if(d==null){const u=Oe({},t);"__i18n"in r&&(u.__i18n=r.__i18n),n&&(u.__root=n),d=bb(u),l.__composerExtend&&(d[el]=l.__composerExtend(d)),I3(l,e,d),l.__setInstance(e,d)}return d}function E3(t,e,s){const n=al(),r=n.run(()=>bb(t));if(r==null)throw ys(as.UNEXPECTED_ERROR);return[n,r]}function P3(t){const e=es(t.isCE?A3:t.appContext.app.__VUE_I18N_SYMBOL__);if(!e)throw ys(t.isCE?as.NOT_INSTALLED_WITH_PROVIDE:as.UNEXPECTED_ERROR);return e}function R3(t,e){return Ao(t)?"__i18n"in e?"local":"global":t.useScope?t.useScope:"local"}function M3(t){return t.mode==="composition"?t.global:t.global.__composer}function D3(t,e,s=!1){let n=null;const r=e.root;let a=O3(e,s);for(;a!=null;){const l=t;if(t.mode==="composition"&&(n=l.__getInstance(a)),n!=null||r===a)break;a=a.parent}return n}function O3(t,e=!1){return t==null?null:e&&t.vnode.ctx||t.parent}function I3(t,e,s){Qi(()=>{},e),pl(()=>{const n=s;t.__deleteInstance(e);const r=n[el];r&&(r(),delete n[el])},e)}const N3=["locale","fallbackLocale","availableLocales"],Qu=["t","rt","d","n","tm","te"];function L3(t,e){const s=Object.create(null);return N3.forEach(r=>{const a=Object.getOwnPropertyDescriptor(e,r);if(!a)throw ys(as.UNEXPECTED_ERROR);const l=re(a.value)?{get(){return a.value.value},set(d){a.value.value=d}}:{get(){return a.get&&a.get()}};Object.defineProperty(s,r,l)}),t.config.globalProperties.$i18n=s,Qu.forEach(r=>{const a=Object.getOwnPropertyDescriptor(e,r);if(!a||!a.value)throw ys(as.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${r}`,a)}),()=>{delete t.config.globalProperties.$i18n,Qu.forEach(r=>{delete t.config.globalProperties[`$${r}`]})}}f3();U2(x2);H2($2);G2(eb);if(__INTLIFY_PROD_DEVTOOLS__){const t=kl();t.__INTLIFY__=!0,A2(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const F3=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};const Yu=t=>t==="";const j3=(...t)=>t.filter((e,s,n)=>!!e&&e.trim()!==""&&n.indexOf(e)===s).join(" ").trim();const Xu=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const B3=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,s,n)=>n?n.toUpperCase():s.toLowerCase());const q3=t=>{const e=B3(t);return e.charAt(0).toUpperCase()+e.slice(1)};var ki={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const $3=({name:t,iconNode:e,absoluteStrokeWidth:s,"absolute-stroke-width":n,strokeWidth:r,"stroke-width":a,size:l=ki.width,color:d=ki.stroke,...u},{slots:m})=>mn("svg",{...ki,...u,width:l,height:l,stroke:d,"stroke-width":Yu(s)||Yu(n)||s===!0||n===!0?Number(r||a||ki["stroke-width"])*24/Number(l):r||a||ki["stroke-width"],class:j3("lucide",u.class,...t?[`lucide-${Xu(q3(t))}-icon`,`lucide-${Xu(t)}`]:["lucide-icon"]),...!m.default&&!F3(u)&&{"aria-hidden":"true"}},[...e.map(p=>mn(...p)),...m.default?[m.default()]:[]]);const he=(t,e)=>(s,{slots:n,attrs:r})=>mn($3,{...r,...s,iconNode:e,name:t},n);const V3=he("arrow-left-right",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]);const K3=he("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);const U3=he("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);const H3=he("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);const G3=he("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);const W3=he("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]]);const z3=he("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);const J3=he("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const Q3=he("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]);const Y3=he("hammer",[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9",key:"1hayfq"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"15ts47"}]]);const X3=he("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);const Z3=he("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);const tg=he("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);const eg=he("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);const sg=he("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);const hb=he("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);const ng=he("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const ig=he("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);const rg=he("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);const og=he("waypoints",[["path",{d:"m10.586 5.414-5.172 5.172",key:"4mc350"}],["path",{d:"m18.586 13.414-5.172 5.172",key:"8c96vv"}],["path",{d:"M6 12h12",key:"8npq4p"}],["circle",{cx:"12",cy:"20",r:"2",key:"144qzu"}],["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}],["circle",{cx:"20",cy:"12",r:"2",key:"1xzzfp"}],["circle",{cx:"4",cy:"12",r:"2",key:"1hvhnz"}]]);const ag=he("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);const lg=he("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),cg="/api";class ug{constructor(e){this.baseUrl=e??cg,this.openaiBaseUrl=this.deriveOpenaiBaseUrl(this.baseUrl)}setBaseUrl(e){this.baseUrl=e,this.openaiBaseUrl=this.deriveOpenaiBaseUrl(e)}deriveOpenaiBaseUrl(e){return e==="/api"?"/v1":e.replace(/\/api\/?$/,"/v1")}async listModels(){const e=await fetch(`${this.baseUrl}/tags`);if(!e.ok)throw new Error(`Failed to list models: ${e.statusText}`);return(await e.json()).models}async showModel(e){const s=await fetch(`${this.baseUrl}/show`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});if(!s.ok)throw new Error(`Failed to show model: ${s.statusText}`);return s.json()}async streamGenerate(e,s){const n=await fetch(`${this.baseUrl}/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,stream:!0}),signal:s});if(!n.ok){const r=await n.text().catch(()=>"");throw new Error(r||`Generate failed: ${n.statusText}`)}if(!n.body)throw new Error("No response body for streaming");return n.body}async streamChat(e,s){const n=await fetch(`${this.baseUrl}/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,stream:!0}),signal:s});if(!n.ok){const r=await n.text().catch(()=>"");throw new Error(r||`Chat failed: ${n.statusText}`)}if(!n.body)throw new Error("No response body for streaming");return n.body}async streamChatOpenAI(e,s){const n=await fetch(`${this.openaiBaseUrl}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,stream:!0}),signal:s});if(!n.ok){const r=await n.text().catch(()=>"");throw new Error(r||`OpenAI chat failed: ${n.statusText}`)}if(!n.body)throw new Error("No response body for streaming");return n.body}async generate(e){const s=await fetch(`${this.baseUrl}/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,stream:!1})});if(!s.ok){const n=await s.text().catch(()=>"");throw new Error(n||`Generate failed: ${s.statusText}`)}return s.json()}async chat(e){const s=await fetch(`${this.baseUrl}/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,stream:!1})});if(!s.ok){const n=await s.text().catch(()=>"");throw new Error(n||`Chat failed: ${s.statusText}`)}return s.json()}async pullModel(e,s){const n=await fetch(`${this.baseUrl}/pull`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,stream:!0})});if(!n.ok)throw new Error(`Pull failed: ${n.statusText}`);if(!n.body)throw new Error("No response body for pull stream");const r=n.body.getReader(),a=new TextDecoder;let l="";for(;;){const{done:d,value:u}=await r.read();if(d)break;l+=a.decode(u,{stream:!0});const m=l.split(`
|
|
5
|
+
`);l=m.pop()??"";for(const p of m)if(p.trim())try{const g=JSON.parse(p);s?.(g.status,g.completed,g.total)}catch{}}}async version(){const e=await fetch(`${this.baseUrl}/version`);if(!e.ok)throw new Error(`Failed to get version: ${e.statusText}`);return(await e.json()).version}async ps(){const e=await fetch(`${this.baseUrl}/ps`);if(!e.ok)throw new Error(`Failed to get running models: ${e.statusText}`);return(await e.json()).models??[]}async deleteModel(e){const s=await fetch(`${this.baseUrl}/delete`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});if(!s.ok)throw new Error(`Delete failed: ${s.statusText}`)}async embed(e){const s=await fetch(`${this.baseUrl}/embed`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!s.ok)throw new Error(`Embed failed: ${s.statusText}`);return s.json()}}const jr=new ug,gb={completion:{key:"completion",label:"Completion",desc:"Can generate text continuations from a prompt. This is the base capability of all language models — predicting and producing the next tokens in a sequence.",color:"text-text-secondary",icon:hb,unicode:"✏"},tools:{key:"tools",label:"Tool Calling",desc:"Can call external tools and functions during generation",color:"text-accent",icon:ag,unicode:"🔧"},thinking:{key:"thinking",label:"Reasoning",desc:"Supports chain-of-thought reasoning with <think> blocks",color:"text-warning",icon:X3,unicode:"💡"},vision:{key:"vision",label:"Vision",desc:"Can process and understand images alongside text",color:"text-success",icon:J3,unicode:"👁"},embedding:{key:"embedding",label:"Embedding",desc:"Converts text into numerical vectors for similarity search",color:"text-text-muted",icon:W3,unicode:"📐"}};function Yv(t){return t.map(e=>gb[e]??{key:e,label:e,desc:"",color:"text-text-secondary",icon:hb,unicode:""})}function dg(t){return t.map(e=>gb[e]?.unicode).filter(Boolean).join("")}function fg(t){const e={};for(const s of t.split(`
|
|
6
|
+
`)){const n=s.trim();if(!n)continue;const r=n.match(/^(\S+)\s+(.+)$/);r&&(e[r[1]]=r[2].replace(/^"|"$/g,""))}return e}const bg=ko("models",()=>{const t=Te([]),e=Te(new Map),s=Te(!1),n=Te(null),r=ne(()=>t.value.map(z=>z.name)),a=[/deepseek-r1/i,/\br1\b/i,/\bqwq\b/i,/\bo1\b/i,/\bo3\b/i,/thinking/i],l=[/llava/i,/\bvl\b/i,/vision/i,/minicpm-v/i],d=new Set(["bert","nomic-bert"]),u=[/embed/i,/^nomic-/i,/^mxbai-/i,/^all-minilm/i,/^bge-/i,/^gte-/i,/^e5-/i,/^snowflake-arctic-embed/i],m=ne(()=>t.value.filter(z=>{const H=z.details?.families??[];return H.length>0&&H.every(ot=>d.has(ot))?!1:!u.some(ot=>ot.test(z.name))}).map(z=>z.name)),p=ne(()=>t.value.filter(z=>{const H=z.details?.families??[];return H.length>0&&H.every(ot=>d.has(ot))?!0:u.some(ot=>ot.test(z.name))}).map(z=>z.name));function g(z){return e.value.get(z)}function v(z){return e.value.get(z)?.capabilities??[]}function S(z){return(e.value.get(z)?.capabilities??[]).includes("thinking")?!0:a.some(ot=>ot.test(z))}function $(z){return(e.value.get(z)?.capabilities??[]).includes("vision")?!0:l.some(ot=>ot.test(z))}function F(z){return(e.value.get(z)?.capabilities??[]).includes("tools")}function W(z){const H=e.value.get(z);if(!H?.parameters)return{};const ot=fg(H.parameters),st={};ot.temperature&&(st.temperature=parseFloat(ot.temperature)),ot.num_ctx&&(st.num_ctx=parseInt(ot.num_ctx,10)),ot.top_p&&(st.top_p=parseFloat(ot.top_p)),ot.top_k&&(st.top_k=parseInt(ot.top_k,10)),ot.repeat_penalty&&(st.repeat_penalty=parseFloat(ot.repeat_penalty)),ot.num_predict&&(st.num_predict=parseInt(ot.num_predict,10)),ot.mirostat&&(st.mirostat=parseInt(ot.mirostat,10)),ot.seed&&(st.seed=parseInt(ot.seed,10));const vt=Object.entries(ot).filter(([xt])=>xt==="stop").map(([,xt])=>xt);return vt.length>0&&(st.stop=vt),st}function x(z){return dg(v(z))}async function A(){s.value=!0,n.value=null;try{t.value=await jr.listModels(),G()}catch(z){n.value=z instanceof Error?z.message:"Failed to fetch models"}finally{s.value=!1}}async function G(){const z=t.value.map(H=>H.name);await Promise.allSettled(z.map(H=>N(H)))}async function N(z){try{const H=await jr.showModel(z);e.value.set(z,H)}catch(H){console.error(`Failed to fetch info for ${z}:`,H)}}async function X(z){await jr.deleteModel(z),t.value=t.value.filter(H=>H.name!==z),e.value.delete(z)}return{models:t,modelInfoCache:e,loading:s,error:n,modelNames:r,chatModelNames:m,embeddingModelNames:p,getModelDetails:g,getCapabilities:v,getModelDefaults:W,isThinkingModel:S,isVisionModel:$,supportsTools:F,capabilityIcons:x,fetchModels:A,fetchModelInfo:N,deleteModel:X}}),mg="1FAIpQLSfM5TaAGHGi8mUdUpQbegxlNv_6yftYOidb1ZlCZP_ZXvBD9g",Rr={type:"entry.1352630437",message:"entry.650654162",email:"entry.192445165",metadata:"entry.2099403794"},pg=`https://docs.google.com/forms/d/e/${mg}/formResponse`;function hg(){const t=navigator.userAgent;return t.includes("Firefox/")?`Firefox ${t.split("Firefox/")[1]?.split(" ")[0]}`:t.includes("Edg/")?`Edge ${t.split("Edg/")[1]?.split(" ")[0]}`:t.includes("Chrome/")?`Chrome ${t.split("Chrome/")[1]?.split(" ")[0]}`:t.includes("Safari/")&&!t.includes("Chrome")?`Safari ${t.split("Version/")[1]?.split(" ")[0]}`:t.slice(0,80)}function gg(){const t=navigator.userAgent;return t.includes("Windows NT 10")?"Windows 10/11":t.includes("Windows")?"Windows":t.includes("Mac OS X")?`macOS ${t.match(/Mac OS X ([\d_]+)/)?.[1]?.replace(/_/g,".")??""}`:t.includes("Linux")?"Linux":navigator.platform||"Unknown"}function yg(t,e,s,n){return{timestamp:new Date().toISOString(),route:t,selectedModel:e,ollamaConnected:s,installedModels:n,os:gg(),browser:hg(),screenResolution:`${window.screen.width}x${window.screen.height}`,appVersion:"1.0.0"}}async function vg(t){const e=new URLSearchParams;e.append(Rr.type,t.type),e.append(Rr.message,t.message),t.email&&e.append(Rr.email,t.email),e.append(Rr.metadata,JSON.stringify(t.metadata)),await fetch(pg,{method:"POST",mode:"no-cors",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e.toString()})}const _g={class:"w-full max-w-md rounded-xl border border-border-default bg-surface-raised p-5 shadow-2xl"},wg={key:0,class:"flex flex-col items-center gap-3 py-8"},Tg={class:"flex h-12 w-12 items-center justify-center rounded-full bg-success/10"},kg={class:"text-sm font-medium text-text-primary"},Sg={class:"text-xs text-text-muted"},xg={class:"flex items-center justify-between mb-4"},Ag={class:"text-sm font-semibold text-text-primary"},Cg={class:"mb-4"},Eg={class:"mb-2 text-xs text-text-muted"},Pg={class:"grid grid-cols-4 gap-2"},Rg=["onClick"],Mg={class:"text-sm font-bold"},Dg={class:"mb-3"},Og=["placeholder"],Ig={class:"mb-4"},Ng={class:"mb-1 block text-xs text-text-muted"},Lg={class:"text-text-muted/50"},Fg=["placeholder"],jg=["disabled"],Bg={class:"mt-2 text-center text-[9px] text-text-muted"},qg=Ms({__name:"FeedbackOverlay",emits:["close"],setup(t,{emit:e}){const s=e,n=wl(),r=bg(),a=Te(null),l=Te(""),d=Te(""),u=Te(!1),m=Te(!1),p=[{value:"bug",labelKey:"feedback.types.bug",icon:"!"},{value:"idea",labelKey:"feedback.types.idea",icon:"?"},{value:"question",labelKey:"feedback.types.question",icon:"Q"},{value:"other",labelKey:"feedback.types.other",icon:"..."}];async function g(){if(!(!a.value||!l.value.trim())){u.value=!0;try{let S=!1;try{S=!!await jr.version()}catch{}const $=yg(n.path,r.modelNames[0]??"",S,r.modelNames);await vg({type:a.value,message:l.value.trim(),email:d.value.trim(),metadata:$}),m.value=!0,setTimeout(()=>s("close"),1500)}catch(S){console.error("Feedback submission failed:",S)}finally{u.value=!1}}}function v(S){S.target===S.currentTarget&&s("close")}return(S,$)=>(ke(),bs(Km,{to:"body"},[Mt("div",{class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:v},[Mt("div",_g,[m.value?(ke(),Ws("div",wg,[Mt("div",Tg,[fe(_e(G3),{class:"h-6 w-6 text-success"})]),Mt("p",kg,De(S.$t("feedback.thankYou")),1),Mt("p",Sg,De(S.$t("feedback.thankYouDetail")),1)])):(ke(),Ws(we,{key:1},[Mt("div",xg,[Mt("h3",Ag,De(S.$t("feedback.title")),1),Mt("button",{class:"rounded p-1 text-text-muted hover:text-text-primary transition-colors",onClick:$[0]||($[0]=F=>s("close"))},[fe(_e(lg),{class:"h-4 w-4"})])]),Mt("div",Cg,[Mt("p",Eg,De(S.$t("feedback.typeQuestion")),1),Mt("div",Pg,[(ke(),Ws(we,null,tf(p,F=>Mt("button",{key:F.value,class:pn(["flex flex-col items-center gap-1 rounded-lg border px-3 py-2.5 text-xs transition-colors",a.value===F.value?"border-accent bg-accent/10 text-accent":"border-border-default text-text-secondary hover:border-accent/50 hover:text-text-primary"]),onClick:W=>a.value=F.value},[Mt("span",Mg,De(F.icon),1),Mt("span",null,De(S.$t(F.labelKey)),1)],10,Rg)),64))])]),Mt("div",Dg,[pc(Mt("textarea",{"onUpdate:modelValue":$[1]||($[1]=F=>l.value=F),rows:"4",class:"w-full resize-none rounded-lg border border-border-default bg-surface px-3 py-2 text-sm text-text-primary placeholder-text-muted outline-none focus:border-accent",placeholder:S.$t("feedback.message.placeholder")},null,8,Og),[[Yc,l.value]])]),Mt("div",Ig,[Mt("label",Ng,[Di(De(S.$t("feedback.email.label"))+" ",1),Mt("span",Lg,De(S.$t("feedback.email.optional")),1)]),pc(Mt("input",{"onUpdate:modelValue":$[2]||($[2]=F=>d.value=F),type:"email",class:"w-full rounded-lg border border-border-default bg-surface px-3 py-1.5 text-sm text-text-primary placeholder-text-muted outline-none focus:border-accent",placeholder:S.$t("feedback.email.placeholder")},null,8,Fg),[[Yc,d.value]])]),Mt("button",{disabled:!a.value||!l.value.trim()||u.value,class:"w-full rounded-lg bg-accent px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-accent-hover disabled:opacity-40",onClick:g},De(u.value?S.$t("feedback.submit.sending"):S.$t("feedback.submit.send")),9,jg),Mt("p",Bg,De(S.$t("feedback.disclaimer")),1)],64))])])]))}}),$g={class:"flex w-56 flex-col border-e border-border-default bg-surface-raised"},Vg={class:"flex-1 space-y-1 p-3"},Kg={class:"mt-auto flex items-center border-t border-border-default px-3 py-[16px]"},Ug={class:"flex flex-1 items-center gap-1.5 rounded-lg bg-surface px-3 py-2.5"},Hg={class:"flex-1 text-xs text-text-muted truncate"},Gg=["title"],Wg=Ms({__name:"AppSidebar",setup(t){const e=wl(),{t:s}=Zi(),n=Te(!1),r=ne(()=>[{path:"/",label:s("common.nav.chatDiagnostics"),icon:Z3},{path:"/compare",label:s("common.nav.compare"),icon:V3},{path:"/embeddings",label:s("common.nav.embeddings"),icon:og},{path:"/rag",label:s("common.nav.knowledgeBase"),icon:K3},{path:"/tools",label:s("common.nav.toolWorkshop"),icon:Y3},{path:"/training",label:s("common.nav.aiTraining"),icon:Q3},{path:"/settings?tab=models",label:s("common.nav.models"),icon:U3},{path:"/benchmark",label:s("common.nav.benchmark"),icon:rg},{path:"/costs",label:s("common.nav.costDashboard"),icon:z3},{path:"/analytics",label:s("common.nav.analytics"),icon:H3},{path:"/system",label:s("common.nav.mySystem"),icon:eg},{path:"/settings",label:s("common.nav.settings"),icon:ng}]);return(a,l)=>{const d=vo("RouterLink");return ke(),Ws(we,null,[Mt("aside",$g,[l[2]||(l[2]=Mt("div",{class:"flex h-14 items-center gap-2 border-b border-border-default px-4"},[Mt("span",{class:"text-xl font-bold text-accent"},"xR"),Mt("span",{class:"text-sm font-medium text-text-secondary"},"LLMxRay")],-1)),Mt("nav",Vg,[(ke(!0),Ws(we,null,tf(r.value,u=>(ke(),bs(d,{key:u.path,to:u.path,class:pn(["flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors",(u.path.includes("?")?_e(e).fullPath===u.path:_e(e).path===u.path)?"bg-surface-overlay text-accent":"text-text-secondary hover:bg-surface-overlay hover:text-text-primary"])},{default:po(()=>[(ke(),bs(Xd(u.icon),{class:"h-4 w-4 shrink-0"})),Mt("span",null,De(u.label),1)]),_:2},1032,["to","class"]))),128))]),Mt("div",Kg,[Mt("div",Ug,[Mt("span",Hg,De(a.$t("common.nav.tagline")),1),Mt("button",{class:"shrink-0 rounded p-0.5 text-text-muted hover:text-accent transition-colors",title:a.$t("feedback.title"),onClick:l[0]||(l[0]=pp(u=>n.value=!0,["stop"]))},[fe(_e(tg),{class:"h-3.5 w-3.5"})],8,Gg)])])]),n.value?(ke(),bs(qg,{key:0,onClose:l[1]||(l[1]=u=>n.value=!1)})):M0("",!0)],64)}}}),zg=ko("theme",()=>{const t=Te(localStorage.getItem("llmxray-theme")??"system"),e=Te(s(t.value));function s(a){return a==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a}function n(a){t.value=a,localStorage.setItem("llmxray-theme",a),e.value=s(a),r()}function r(){const a=document.documentElement;e.value==="dark"?(a.classList.add("dark"),a.classList.remove("light")):(a.classList.add("light"),a.classList.remove("dark"))}return window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{t.value==="system"&&(e.value=s("system"),r())}),Gs(t,()=>{e.value=s(t.value),r()},{immediate:!0}),{mode:t,resolvedTheme:e,setMode:n}}),Jg={nav:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"Chat Diagnostics"}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Compare"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"Knowledge Base"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"Tool Workshop"}},aiTraining:{t:0,b:{t:2,i:[{t:3}],s:"AI Training"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Models"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"Costs"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"My System"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},tagline:{t:0,b:{t:2,i:[{t:3}],s:"Local LLM Observatory"}}},header:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"Chat Diagnostics"}},session:{t:0,b:{t:2,i:[{t:3}],s:"Session"}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"Compare Models"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"Knowledge Base"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Models"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"Tool Workshop"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"Costs"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"My System"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},default:{t:0,b:{t:2,i:[{t:3}],s:"LLMxRay"}}},status:{ollamaConnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama connected"}},ollamaDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama disconnected"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading..."}},processing:{t:0,b:{t:2,i:[{t:3}],s:"Processing..."}},ready:{t:0,b:{t:2,i:[{t:3}],s:"Ready"}},error:{t:0,b:{t:2,i:[{t:3}],s:"Error"}},success:{t:0,b:{t:2,i:[{t:3}],s:"Success"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"Pending"}},running:{t:0,b:{t:2,i:[{t:3}],s:"Running"}},completed:{t:0,b:{t:2,i:[{t:3}],s:"Completed"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"Failed"}},streaming:{t:0,b:{t:2,i:[{t:3}],s:"Streaming"}},idle:{t:0,b:{t:2,i:[{t:3}],s:"Idle"}},connected:{t:0,b:{t:2,i:[{t:3}],s:"Connected"}},disconnected:{t:0,b:{t:2,i:[{t:3}],s:"Disconnected"}}},theme:{dark:{t:0,b:{t:2,i:[{t:3}],s:"Dark"}},light:{t:0,b:{t:2,i:[{t:3}],s:"Light"}},system:{t:0,b:{t:2,i:[{t:3}],s:"System"}},themeLabel:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}}},locale:{language:{t:0,b:{t:2,i:[{t:3}],s:"Language"}},english:{t:0,b:{t:2,i:[{t:3}],s:"English"}},french:{t:0,b:{t:2,i:[{t:3}],s:"French"}}},actions:{save:{t:0,b:{t:2,i:[{t:3}],s:"Save"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"Copy"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},test:{t:0,b:{t:2,i:[{t:3}],s:"Test"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"Refresh"}},clear:{t:0,b:{t:2,i:[{t:3}],s:"Clear"}},send:{t:0,b:{t:2,i:[{t:3}],s:"Send"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"Stop"}},add:{t:0,b:{t:2,i:[{t:3}],s:"Add"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"Remove"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"Confirm"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Back"}},next:{t:0,b:{t:2,i:[{t:3}],s:"Next"}},submit:{t:0,b:{t:2,i:[{t:3}],s:"Submit"}},reset:{t:0,b:{t:2,i:[{t:3}],s:"Reset"}},export:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},import:{t:0,b:{t:2,i:[{t:3}],s:"Import"}}},time:{justNow:{t:0,b:{t:2,i:[{t:3}],s:"Just now"}},minutesAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:4,k:"count"},{t:3,v:" minute ago"}]},{t:2,i:[{t:4,k:"count"},{t:3,v:" minutes ago"}]}]}},hoursAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:4,k:"count"},{t:3,v:" hour ago"}]},{t:2,i:[{t:4,k:"count"},{t:3,v:" hours ago"}]}]}},daysAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:4,k:"count"},{t:3,v:" day ago"}]},{t:2,i:[{t:4,k:"count"},{t:3,v:" days ago"}]}]}},monthsAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:4,k:"count"},{t:3,v:" month ago"}]},{t:2,i:[{t:4,k:"count"},{t:3,v:" months ago"}]}]}}},units:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"tokens"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tokens/s"}},milliseconds:{t:0,b:{t:2,i:[{t:3}],s:"ms"}},seconds:{t:0,b:{t:2,i:[{t:3}],s:"s"}},bytes:{t:0,b:{t:2,i:[{t:3}],s:"B"}},kilobytes:{t:0,b:{t:2,i:[{t:3}],s:"KB"}},megabytes:{t:0,b:{t:2,i:[{t:3}],s:"MB"}},gigabytes:{t:0,b:{t:2,i:[{t:3}],s:"GB"}},percent:{t:0,b:{t:2,i:[{t:3}],s:"%"}},dimensions:{t:0,b:{t:2,i:[{t:3}],s:"dimensions"}}},model:{selectModel:{t:0,b:{t:2,i:[{t:3}],s:"Select a model"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"No models available"}},loadingModels:{t:0,b:{t:2,i:[{t:3}],s:"Loading models..."}},pullModel:{t:0,b:{t:2,i:[{t:3}],s:"Pull a model"}}},empty:{noData:{t:0,b:{t:2,i:[{t:3}],s:"No data available"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"No results found"}},nothingHere:{t:0,b:{t:2,i:[{t:3}],s:"Nothing here yet"}}},languages:{en:{t:0,b:{t:2,i:[{t:3}],s:"English"}},fr:{t:0,b:{t:2,i:[{t:3}],s:"French"}},ar:{t:0,b:{t:2,i:[{t:3}],s:"Arabic"}},zh:{t:0,b:{t:2,i:[{t:3}],s:"Chinese"}},ja:{t:0,b:{t:2,i:[{t:3}],s:"Japanese"}},he:{t:0,b:{t:2,i:[{t:3}],s:"Hebrew"}},de:{t:0,b:{t:2,i:[{t:3}],s:"German"}},es:{t:0,b:{t:2,i:[{t:3}],s:"Spanish"}},pt:{t:0,b:{t:2,i:[{t:3}],s:"Portuguese"}},it:{t:0,b:{t:2,i:[{t:3}],s:"Italian"}},ru:{t:0,b:{t:2,i:[{t:3}],s:"Russian"}},ko:{t:0,b:{t:2,i:[{t:3}],s:"Korean"}},hi:{t:0,b:{t:2,i:[{t:3}],s:"Hindi"}}}},Qg={title:{t:0,b:{t:2,i:[{t:3}],s:"Chat Diagnostics"}},input:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Send a message... (Shift+Enter for new line)"}},placeholderVision:{t:0,b:{t:2,i:[{t:3}],s:"Send a message or paste/drop an image..."}},commands:{t:0,b:{t:2,i:[{t:3}],s:"Commands"}},attachFiles:{t:0,b:{t:2,i:[{t:3}],s:"Attach files"}},attachFilesVision:{t:0,b:{t:2,i:[{t:3}],s:"Attach files or images"}},stopGenerating:{t:0,b:{t:2,i:[{t:3}],s:"Stop generating"}},sendMessage:{t:0,b:{t:2,i:[{t:3}],s:"Send message"}},visionBadge:{t:0,b:{t:2,i:[{t:3}],s:"Vision model — can process images"}}},dropZone:{t:0,b:{t:2,i:[{t:3}],s:"Drop files to attach"}},conversation:{newChat:{t:0,b:{t:2,i:[{t:3}],s:"New chat"}},newChatButton:{t:0,b:{t:2,i:[{t:3}],s:"+ New Chat"}},history:{t:0,b:{t:2,i:[{t:3}],s:"History"}},chatHistory:{t:0,b:{t:2,i:[{t:3}],s:"Chat History"}},rename:{t:0,b:{t:2,i:[{t:3}],s:"Rename"}},deleteChat:{t:0,b:{t:2,i:[{t:3}],s:"Delete chat"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to delete this conversation?"}},displayName:{t:0,b:{t:2,i:[{t:3}],s:"Display name"}},defaultName:{t:0,b:{t:2,i:[{t:3}],s:"New conversation"}},editName:{t:0,b:{t:2,i:[{t:3}],s:"Edit name"}},noHistory:{t:0,b:{t:2,i:[{t:3}],s:"No conversation history"}},noConversationsYet:{t:0,b:{t:2,i:[{t:3}],s:"No conversations yet."}},clickToRename:{t:0,b:{t:2,i:[{t:3}],s:"Click to rename"}},viewSessionDetails:{t:0,b:{t:2,i:[{t:3}],s:"View session details"}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Untitled"}},minutesAgo:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:"m ago"}]}},hoursAgo:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:"h ago"}]}},daysAgo:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:"d ago"}]}}},metrics:{sessions:{t:0,b:{t:2,i:[{t:3}],s:"sessions"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"Total Sessions"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"Avg TTFT"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"Avg Speed"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Total Tokens"}},recentChats:{t:0,b:{t:2,i:[{t:3}],s:"Recent Chats"}}},settings:{chatSettings:{t:0,b:{t:2,i:[{t:3}],s:"Chat Settings"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"Temperature"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top P"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"Repeat penalty"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"Context length"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"Max tokens"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"System prompt"}},systemPromptHint:{t:0,b:{t:2,i:[{t:3}],s:"Instructions sent before the conversation. Sets the model's behavior and persona."}},systemPromptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"You are a helpful assistant..."}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"Knowledge Base"}},kbEnabled:{t:0,b:{t:2,i:[{t:3}],s:"KB Enabled"}},kbDisabled:{t:0,b:{t:2,i:[{t:3}],s:"KB Disabled"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"documents"}},manage:{t:0,b:{t:2,i:[{t:3}],s:"Manage"}},noDocumentsIngested:{t:0,b:{t:2,i:[{t:3}],s:"No documents ingested"}},addDocuments:{t:0,b:{t:2,i:[{t:3}],s:"Add documents"}},precise:{t:0,b:{t:2,i:[{t:3}],s:"Precise"}},creative:{t:0,b:{t:2,i:[{t:3}],s:"Creative"}},unlimited:{t:0,b:{t:2,i:[{t:3}],s:"Unlimited"}},maxTokensHint:{t:0,b:{t:2,i:[{t:3}],s:"Maximum response length. -1 = unlimited."}},maxTokensPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 for unlimited"}},contextWindow:{t:0,b:{t:2,i:[{t:3}],s:"Context Window"}},contextWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"Total context the model can see. Higher = more memory, slower."}},advancedSampling:{t:0,b:{t:2,i:[{t:3}],s:"Advanced Sampling"}},topPHint:{t:0,b:{t:2,i:[{t:3}],s:"Nucleus sampling. Lower = more focused on likely tokens."}},topKHint:{t:0,b:{t:2,i:[{t:3}],s:"Limits sampling to the top K tokens at each step."}},repeatPenaltyHint:{t:0,b:{t:2,i:[{t:3}],s:"Penalizes tokens that already appeared. Higher = less repetition."}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"Off"}},mirostatDisabled:{t:0,b:{t:2,i:[{t:3}],s:"Disabled"}},mirostatV1:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v1"}},mirostatV2:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v2"}},mirostatHint:{t:0,b:{t:2,i:[{t:3}],s:"Adaptive perplexity-based sampling. Overrides top-p/top-k when enabled."}},seedRandom:{t:0,b:{t:2,i:[{t:3}],s:"Random"}},seedHint:{t:0,b:{t:2,i:[{t:3}],s:"Fixed seed for reproducible outputs. -1 = random."}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 for random"}},stopSequences:{t:0,b:{t:2,i:[{t:3}],s:"Stop Sequences"}},stopSequencesPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Human:, \\n\\n"}},stopSequencesHint:{t:0,b:{t:2,i:[{t:3}],s:"Comma-separated strings that stop generation when produced."}},tools:{t:0,b:{t:2,i:[{t:3}],s:"Tools"}},active:{t:0,b:{t:2,i:[{t:3}],s:"active"}},noToolsDefined:{t:0,b:{t:2,i:[{t:3}],s:"No tools defined yet"}},manageInToolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"Manage in Tool Workshop..."}},pulling:{t:0,b:{t:2,i:[{t:3}],s:"Pulling..."}},pull:{t:0,b:{t:2,i:[{t:3}],s:"Pull"}}},memory:{slidingWindow:{t:0,b:{t:2,i:[{t:3}],s:"Sliding window"}},slidingWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"Keep only the last N messages"}},maxMessages:{t:0,b:{t:2,i:[{t:3}],s:"Max messages"}},autoSummarize:{t:0,b:{t:2,i:[{t:3}],s:"Auto-summarize"}},autoSummarizeHint:{t:0,b:{t:2,i:[{t:3}],s:"Summarize older messages automatically"}},summarizeThreshold:{t:0,b:{t:2,i:[{t:3}],s:"Summarize threshold"}},triggerAfter:{t:0,b:{t:2,i:[{t:3}],s:"Trigger after"}},messages:{t:0,b:{t:2,i:[{t:3}],s:"messages"}},userFacts:{t:0,b:{t:2,i:[{t:3}],s:"User facts"}},userMemories:{t:0,b:{t:2,i:[{t:3}],s:"User Memories"}},userMemoriesHint:{t:0,b:{t:2,i:[{t:3}],s:"/remember facts injected into context"}},addFact:{t:0,b:{t:2,i:[{t:3}],s:"Add fact"}},ragMemory:{t:0,b:{t:2,i:[{t:3}],s:"RAG memory"}},messageMemoryRag:{t:0,b:{t:2,i:[{t:3}],s:"Message Memory (RAG)"}},messageMemoryHint:{t:0,b:{t:2,i:[{t:3}],s:"Retrieve relevant past messages via embeddings"}},embeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"Embedding model"}},selectEmbeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"Select embedding model..."}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"No embedding models found. Pull one:"}},retrieveTop:{t:0,b:{t:2,i:[{t:3}],s:"Retrieve top"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K results"}},memory:{t:0,b:{t:2,i:[{t:3}],s:"Memory"}},facts:{t:0,b:{t:2,i:[{t:3}],s:"facts"}}},empty:{startConversation:{t:0,b:{t:2,i:[{t:3}],s:"Start a conversation with a local model"}}},bubble:{truncatedWarning:{t:0,b:{t:2,i:[{t:3}],s:"Response was truncated — increase num_predict in settings for longer responses"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"tokens"}},tokPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tok/s"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"cold start"}},coldStart:{t:0,b:{t:2,i:[{t:3}],s:"Model was loaded from disk for this request (load time > 500ms)"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Download JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Download Markdown"}},downloadText:{t:0,b:{t:2,i:[{t:3}],s:"Download Text"}}},slashCommands:{chatConversation:{t:0,b:{t:2,i:[{t:3}],s:"Chat & Conversation"}},modelSettings:{t:0,b:{t:2,i:[{t:3}],s:"Model & Settings"}},featuresNavigation:{t:0,b:{t:2,i:[{t:3}],s:"Features & Navigation"}}}},Yg={tabs:{general:{t:0,b:{t:2,i:[{t:3}],s:"General"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Models"}},integrations:{t:0,b:{t:2,i:[{t:3}],s:"Integrations"}},about:{t:0,b:{t:2,i:[{t:3}],s:"About"}},history:{t:0,b:{t:2,i:[{t:3}],s:"History"}}},general:{ollamaConnection:{t:0,b:{t:2,i:[{t:3}],s:"Ollama Connection"}},ollamaUrl:{t:0,b:{t:2,i:[{t:3}],s:"Ollama URL"}},testConnection:{t:0,b:{t:2,i:[{t:3}],s:"Test"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save"}},connectionSuccess:{t:0,b:{t:2,i:[{t:3}],s:"Connection successful"}},connectionFailed:{t:0,b:{t:2,i:[{t:3}],s:"Connection failed"}},connectionConnected:{t:0,b:{t:2,i:[{t:3}],s:"Connected"}},connectionTesting:{t:0,b:{t:2,i:[{t:3}],s:"Testing..."}},connectionDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"Disconnected"}},defaultParameters:{t:0,b:{t:2,i:[{t:3}],s:"Default Parameters"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"Temperature"}},temperatureTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"What is Temperature?"}},temperatureTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:`Temperature controls how "creative" or "random" the model's answers are.`}},temperatureTooltipZero:{t:0,b:{t:2,i:[{t:3}],s:"Always picks the most likely word. Great for facts, math, and code."}},temperatureTooltipDefault:{t:0,b:{t:2,i:[{t:3}],s:"A good balance. This is the default."}},temperatureTooltipHigh:{t:0,b:{t:2,i:[{t:3}],s:"More surprising and creative."}},temperatureDeterministic:{t:0,b:{t:2,i:[{t:3}],s:"Deterministic"}},temperatureFocused:{t:0,b:{t:2,i:[{t:3}],s:"Focused"}},temperatureBalanced:{t:0,b:{t:2,i:[{t:3}],s:"Balanced"}},temperatureCreative:{t:0,b:{t:2,i:[{t:3}],s:"Creative"}},temperatureVeryRandom:{t:0,b:{t:2,i:[{t:3}],s:"Very random"}},temperatureWild:{t:0,b:{t:2,i:[{t:3}],s:"Wild"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"Context Length"}},contextLengthTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"What is Context Length?"}},contextLengthTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:"How much of the conversation the model can see at once, measured in tokens."}},contextLengthTooltipNote:{t:0,b:{t:2,i:[{t:3}],s:"Larger context uses more RAM/VRAM."}},approximateWords:{t:0,b:{t:2,i:[{t:3,v:"≈ "},{t:4,k:"count"},{t:3,v:" words"}]}},language:{t:0,b:{t:2,i:[{t:3}],s:"Language"}},selectLanguage:{t:0,b:{t:2,i:[{t:3}],s:"Select language"}}},models:{installedModels:{t:0,b:{t:2,i:[{t:3}],s:"Installed Models"}},pullNewModel:{t:0,b:{t:2,i:[{t:3}],s:"Pull new model"}},modelName:{t:0,b:{t:2,i:[{t:3}],s:"Model name"}},pull:{t:0,b:{t:2,i:[{t:3}],s:"Pull"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},deleteConfirm:{t:0,b:{t:2,i:[{t:3}],s:"Are you sure you want to delete this model?"}},size:{t:0,b:{t:2,i:[{t:3}],s:"Size"}},family:{t:0,b:{t:2,i:[{t:3}],s:"Family"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"Quantization"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Parameters"}},capabilities:{t:0,b:{t:2,i:[{t:3}],s:"Capabilities"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"Refresh"}},downloadModels:{t:0,b:{t:2,i:[{t:3}],s:"Download Models"}},searchModels:{t:0,b:{t:2,i:[{t:3}],s:"Search models..."}},noModelsInstalled:{t:0,b:{t:2,i:[{t:3}],s:"No models installed. Pull one from the catalog below."}},noModelsMatch:{t:0,b:{t:2,i:[{t:3}],s:"No models match your search."}},pullByName:{t:0,b:{t:2,i:[{t:3}],s:"Pull any model by name"}},installed:{t:0,b:{t:2,i:[{t:3}],s:"Installed"}},confirmDeletePrompt:{t:0,b:{t:2,i:[{t:3}],s:"Confirm delete?"}}},integrations:{googleAccount:{t:0,b:{t:2,i:[{t:3}],s:"Google account"}},connect:{t:0,b:{t:2,i:[{t:3}],s:"Connect"}},disconnect:{t:0,b:{t:2,i:[{t:3}],s:"Disconnect"}},connectedAs:{t:0,b:{t:2,i:[{t:3}],s:"Connected as"}},googleIntegration:{t:0,b:{t:2,i:[{t:3}],s:"Google Integration"}},googleIntegrationDesc:{t:0,b:{t:2,i:[{t:3}],s:"Connect your Google account to enable Calendar and Gmail tools in the Tool Workshop."}},oauthClientId:{t:0,b:{t:2,i:[{t:3}],s:"OAuth2 Client ID"}},authenticating:{t:0,b:{t:2,i:[{t:3}],s:"Authenticating..."}},notConnected:{t:0,b:{t:2,i:[{t:3}],s:"Not connected"}},connectGoogleAccount:{t:0,b:{t:2,i:[{t:3}],s:"Connect Google Account"}},showSetup:{t:0,b:{t:2,i:[{t:3}],s:"Show setup instructions"}},hideSetup:{t:0,b:{t:2,i:[{t:3}],s:"Hide setup instructions"}}},about:{version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},license:{t:0,b:{t:2,i:[{t:3}],s:"License"}},repository:{t:0,b:{t:2,i:[{t:3}],s:"Repository"}},techStack:{t:0,b:{t:2,i:[{t:3}],s:"Tech Stack"}},localLlmObservatory:{t:0,b:{t:2,i:[{t:3}],s:"Local LLM Observatory"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"Local AI History"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Your research archive — all experiments, queryable"}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"How your data is stored"}},description:{t:0,b:{t:2,i:[{t:3}],s:"All your data is stored locally in your browser using IndexedDB — a permanent, browser-native database. Your data survives closing the browser, restarting your computer, and software updates. Nothing is sent to any server."}},indexedDb:{t:0,b:{t:2,i:[{t:3}],s:"Original data (benchmarks, conversations, comparisons, training) is stored in 6 dedicated IndexedDB databases — one per feature. IndexedDB is NOT session storage — it persists permanently until you choose to delete it."}},historyDb:{t:0,b:{t:2,i:[{t:3}],s:"The History database is a unified research index powered by Dexie.js. It records a summary of every experiment for fast querying and trend analysis. Think of it as a search engine over all your LLMxRay activity."}},privacy:{t:0,b:{t:2,i:[{t:3}],s:"Everything stays on your machine. Only two things can remove it: you clearing browser site data, or using the Clear buttons in this app. There are no accounts, no cloud sync, no telemetry."}}},filters:{type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},language:{t:0,b:{t:2,i:[{t:3}],s:"Language"}},dateRange:{t:0,b:{t:2,i:[{t:3}],s:"Date Range"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"Tags"}},all:{t:0,b:{t:2,i:[{t:3}],s:"All"}},last7days:{t:0,b:{t:2,i:[{t:3}],s:"Last 7 days"}},last30days:{t:0,b:{t:2,i:[{t:3}],s:"Last 30 days"}},last90days:{t:0,b:{t:2,i:[{t:3}],s:"Last 90 days"}},allTime:{t:0,b:{t:2,i:[{t:3}],s:"All time"}}},results:{entries:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" entries"}]}},noEntries:{t:0,b:{t:2,i:[{t:3}],s:"No history entries yet. Run a benchmark, comparison, or chat to start building your research archive."}}},trends:{title:{t:0,b:{t:2,i:[{t:3}],s:"Trends"}},activity:{t:0,b:{t:2,i:[{t:3}],s:"Activity (last 30 days)"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"Models Used"}}},management:{title:{t:0,b:{t:2,i:[{t:3}],s:"Database Management"}},totalEntries:{t:0,b:{t:2,i:[{t:3}],s:"Total entries"}},estimatedSize:{t:0,b:{t:2,i:[{t:3}],s:"Estimated size"}},exportAll:{t:0,b:{t:2,i:[{t:3}],s:"Export All (JSON)"}},exportFiltered:{t:0,b:{t:2,i:[{t:3}],s:"Export Filtered (CSV)"}},retention:{t:0,b:{t:2,i:[{t:3}],s:"Retention"}},keepForever:{t:0,b:{t:2,i:[{t:3}],s:"Keep forever"}},days30:{t:0,b:{t:2,i:[{t:3}],s:"30 days"}},days90:{t:0,b:{t:2,i:[{t:3}],s:"90 days"}},year1:{t:0,b:{t:2,i:[{t:3}],s:"1 year"}},clearHistory:{t:0,b:{t:2,i:[{t:3}],s:"Clear History"}},confirmClear:{t:0,b:{t:2,i:[{t:3}],s:"This will delete all history entries. Other data (benchmarks, conversations, etc.) is not affected."}}},types:{benchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},comparison:{t:0,b:{t:2,i:[{t:3}],s:"Comparison"}},chat:{t:0,b:{t:2,i:[{t:3}],s:"Chat"}},training:{t:0,b:{t:2,i:[{t:3}],s:"Training"}},session:{t:0,b:{t:2,i:[{t:3}],s:"Session"}}}}},Xg={title:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},surgicalBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Surgical Benchmark"}},surgicalBenchmarkDesc:{t:0,b:{t:2,i:[{t:3}],s:"Evaluate models with curated question sets — real logprob confidence, per-category diagnostics"}},resultDetails:{t:0,b:{t:2,i:[{t:3}],s:"Result Details"}},latestResult:{t:0,b:{t:2,i:[{t:3}],s:"Latest Result"}},comparisonLedger:{t:0,b:{t:2,i:[{t:3}],s:"Comparison Ledger"}},configurator:{selectModels:{t:0,b:{t:2,i:[{t:3}],s:"Select models"}},selectSuites:{t:0,b:{t:2,i:[{t:3}],s:"Select suites"}},contextSize:{t:0,b:{t:2,i:[{t:3}],s:"Context size"}},startBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Start benchmark"}},estimatedTime:{t:0,b:{t:2,i:[{t:3}],s:"Estimated time"}},maxModels:{t:0,b:{t:2,i:[{t:3}],s:"Maximum models"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Models"}},selected:{t:0,b:{t:2,i:[{t:3}],s:"selected"}},benchmarkSuites:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark Suites"}},importCustom:{t:0,b:{t:2,i:[{t:3}],s:"+ Import Custom"}},context:{t:0,b:{t:2,i:[{t:3}],s:"Context:"}},runBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Run Benchmark"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"custom"}}},suites:{arc:{t:0,b:{t:2,i:[{t:3}],s:"ARC Challenge"}},mmlupro:{t:0,b:{t:2,i:[{t:3}],s:"MMLU-Pro"}},hellaswag:{t:0,b:{t:2,i:[{t:3}],s:"HellaSwag"}},gsm8k:{t:0,b:{t:2,i:[{t:3}],s:"GSM-8K"}},truthfulqa:{t:0,b:{t:2,i:[{t:3}],s:"TruthfulQA"}}},live:{progress:{t:0,b:{t:2,i:[{t:3}],s:"Progress"}},currentQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Current Question"}},lastAnswer:{t:0,b:{t:2,i:[{t:3}],s:"Last Answer"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"Correct"}},incorrect:{t:0,b:{t:2,i:[{t:3}],s:"Incorrect"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"Accuracy"}},avgLatency:{t:0,b:{t:2,i:[{t:3}],s:"Avg latency"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"Avg confidence"}},categoryProgress:{t:0,b:{t:2,i:[{t:3}],s:"Category progress"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"Stop"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"Thinking"}},standard:{t:0,b:{t:2,i:[{t:3}],s:"Standard"}},question:{t:0,b:{t:2,i:[{t:3}],s:"Question"}},waitingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Waiting for question..."}},waitingFirstAnswer:{t:0,b:{t:2,i:[{t:3}],s:"Waiting for first answer..."}},processingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Processing question..."}},stopBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Stop Benchmark"}},benchmarkProgress:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark Progress"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"Avg TTFT"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"Avg Total"}},suites:{t:0,b:{t:2,i:[{t:3}],s:"Suites"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Reasoning"}},expected:{t:0,b:{t:2,i:[{t:3}],s:"Expected:"}}},results:{overallAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"Overall accuracy"}},perCategory:{t:0,b:{t:2,i:[{t:3}],s:"Per category"}},confidenceVsAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"Confidence vs accuracy"}},questionDetails:{t:0,b:{t:2,i:[{t:3}],s:"Question details"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"No results yet"}},confidenceVsAccuracyScatter:{t:0,b:{t:2,i:[{t:3}],s:"Confidence vs Accuracy — X-Ray Scatter"}},confused:{t:0,b:{t:2,i:[{t:3}],s:"Confused (low conf, wrong)"}},calibrated:{t:0,b:{t:2,i:[{t:3}],s:"Calibrated (high conf, right)"}},overconfident:{t:0,b:{t:2,i:[{t:3}],s:"Overconfident (high conf, wrong)"}},lucky:{t:0,b:{t:2,i:[{t:3}],s:"Lucky (low conf, right)"}},perCategoryTotalTime:{t:0,b:{t:2,i:[{t:3}],s:"Per-Category Total Time"}},contextPressure:{t:0,b:{t:2,i:[{t:3}],s:"Context Pressure — Accuracy Degradation"}},categoryBreakdown:{t:0,b:{t:2,i:[{t:3}],s:"Category Breakdown"}},category:{t:0,b:{t:2,i:[{t:3}],s:"Category"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"Correct"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"Avg TTFT"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"Avg Total"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"Avg Confidence"}},perQuestionDetail:{t:0,b:{t:2,i:[{t:3}],s:"Per-Question Detail"}},all:{t:0,b:{t:2,i:[{t:3}],s:"All"}},wrong:{t:0,b:{t:2,i:[{t:3}],s:"Wrong"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Reasoning"}},response:{t:0,b:{t:2,i:[{t:3}],s:"Response"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"Accuracy"}}},comparison:{compareResults:{t:0,b:{t:2,i:[{t:3}],s:"Compare results"}},radarChart:{t:0,b:{t:2,i:[{t:3}],s:"Radar chart"}},heatmap:{t:0,b:{t:2,i:[{t:3}],s:"Heatmap"}},resume:{t:0,b:{t:2,i:[{t:3}],s:"Resume"}},deleteResult:{t:0,b:{t:2,i:[{t:3}],s:"Delete result"}},savedResults:{t:0,b:{t:2,i:[{t:3}],s:"Saved Results"}},noSavedResults:{t:0,b:{t:2,i:[{t:3}],s:"No saved results yet"}},clickToCompare:{t:0,b:{t:2,i:[{t:3}],s:"Click to select for comparison"}},incomplete:{t:0,b:{t:2,i:[{t:3}],s:"Incomplete"}},viewDetails:{t:0,b:{t:2,i:[{t:3}],s:"View full details"}},resumeIncomplete:{t:0,b:{t:2,i:[{t:3}],s:"Resume incomplete benchmark"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Download JSON"}},downloadCsv:{t:0,b:{t:2,i:[{t:3}],s:"Download CSV"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Download Markdown"}}},builder:{createTitle:{t:0,b:{t:2,i:[{t:3}],s:"Create Benchmark Suite"}},editTitle:{t:0,b:{t:2,i:[{t:3}],s:"Edit Benchmark Suite"}},suiteName:{t:0,b:{t:2,i:[{t:3}],s:"Suite Name"}},suiteNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g., French History Quiz"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Description"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"What does this suite test?"}},defaultCategory:{t:0,b:{t:2,i:[{t:3}],s:"Default Category"}},questions:{t:0,b:{t:2,i:[{t:3}],s:"Questions"}},addQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Add Question"}},editQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Edit Question"}},noQuestions:{t:0,b:{t:2,i:[{t:3}],s:"No questions yet. Add your first question or use AI to generate them."}},questionText:{t:0,b:{t:2,i:[{t:3}],s:"Question"}},questionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Type your question here..."}},choices:{t:0,b:{t:2,i:[{t:3}],s:"Choices"}},addChoice:{t:0,b:{t:2,i:[{t:3}],s:"Add Choice"}},correctAnswer:{t:0,b:{t:2,i:[{t:3}],s:"Correct Answer"}},category:{t:0,b:{t:2,i:[{t:3}],s:"Category"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"Difficulty"}},easy:{t:0,b:{t:2,i:[{t:3}],s:"Easy"}},medium:{t:0,b:{t:2,i:[{t:3}],s:"Medium"}},hard:{t:0,b:{t:2,i:[{t:3}],s:"Hard"}},saveSuite:{t:0,b:{t:2,i:[{t:3}],s:"Save Suite"}},createSuite:{t:0,b:{t:2,i:[{t:3}],s:"Create Suite"}},choiceCount:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" choices"}]}},aiGenerate:{title:{t:0,b:{t:2,i:[{t:3}],s:"Generate with AI"}},topic:{t:0,b:{t:2,i:[{t:3}],s:"Topic"}},topicPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g., French history, Python programming, Organic chemistry"}},count:{t:0,b:{t:2,i:[{t:3}],s:"Number of questions"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"Difficulty"}},mixed:{t:0,b:{t:2,i:[{t:3}],s:"Mixed"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},generate:{t:0,b:{t:2,i:[{t:3}],s:"Generate Questions"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"Generating..."}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel Generation"}},preview:{t:0,b:{t:2,i:[{t:3}],s:"Generated Questions"}},selectAll:{t:0,b:{t:2,i:[{t:3}],s:"Select All"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"Deselect All"}},addSelected:{t:0,b:{t:2,i:[{t:3}],s:"Add Selected"}},errors:{t:0,b:{t:2,i:[{t:3}],s:"Some questions could not be parsed"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"No valid questions generated. Try a different topic or model."}}}},import:{importSuite:{t:0,b:{t:2,i:[{t:3}],s:"Import Suite"}},importCustomBenchmarkSuite:{t:0,b:{t:2,i:[{t:3}],s:"Import Custom Benchmark Suite"}},dragDrop:{t:0,b:{t:2,i:[{t:3}],s:"Drag and drop a file here"}},dropJsonFile:{t:0,b:{t:2,i:[{t:3}],s:"Drop .json file here"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"Browse"}},maxSize:{t:0,b:{t:2,i:[{t:3}],s:"Max size"}},invalidFormat:{t:0,b:{t:2,i:[{t:3}],s:"Invalid format"}},importSuccess:{t:0,b:{t:2,i:[{t:3}],s:"Import successful"}},importing:{t:0,b:{t:2,i:[{t:3}],s:"Importing..."}},requirements:{t:0,b:{t:2,i:[{t:3}],s:"Requirements: JSON with name, questions array (2-500 items)."}},questionReqs:{t:0,b:{t:2,i:[{t:3}],s:"Each question needs: id, question, choices (2-6), correctAnswer."}},maxSizeNote:{t:0,b:{t:2,i:[{t:3}],s:"Max 1MB. HTML tags will be stripped. IDs will be deduplicated."}},fileTooLarge:{t:0,b:{t:2,i:[{t:3}],s:"File too large (max 1MB)"}}}},Zg={title:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},modelSelector:{noModels:{t:0,b:{t:2,i:[{t:3}],s:"No models available"}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"No embedding models found. Pull one: ollama pull nomic-embed-text"}}},storage:{embeddingMemory:{t:0,b:{t:2,i:[{t:3}],s:"Embedding Memory"}},records:{t:0,b:{t:2,i:[{t:3}],s:"records"}}},playground:{title:{t:0,b:{t:2,i:[{t:3}],s:"Embed Playground"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Enter text to generate its embedding vector and inspect the dimensions."}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Enter text to embed..."}},embed:{t:0,b:{t:2,i:[{t:3}],s:"Embed"}},embedding:{t:0,b:{t:2,i:[{t:3}],s:"Embedding..."}},showRawValues:{t:0,b:{t:2,i:[{t:3,v:"Show raw values (first 50 of "},{t:4,k:"total"},{t:3,v:")"}]}}},similarity:{title:{t:0,b:{t:2,i:[{t:3}],s:"Similarity Calculator"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Compare two texts to measure their semantic similarity using cosine distance."}},textA:{t:0,b:{t:2,i:[{t:3}],s:"Text A"}},textB:{t:0,b:{t:2,i:[{t:3}],s:"Text B"}},placeholderA:{t:0,b:{t:2,i:[{t:3}],s:"First text..."}},placeholderB:{t:0,b:{t:2,i:[{t:3}],s:"Second text..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Compare"}},comparing:{t:0,b:{t:2,i:[{t:3}],s:"Comparing..."}}},modelComparison:{title:{t:0,b:{t:2,i:[{t:3}],s:"Model Comparison"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Embed the same text with two models to compare how they represent meaning."}},modelA:{t:0,b:{t:2,i:[{t:3}],s:"Model A"}},modelB:{t:0,b:{t:2,i:[{t:3}],s:"Model B"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Enter text to embed with both models..."}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"Compare Models"}},comparingModels:{t:0,b:{t:2,i:[{t:3}],s:"Comparing models..."}},crossModelSimilarity:{t:0,b:{t:2,i:[{t:3}],s:"Cross-model similarity — how similarly these models represent the same text."}},veryDifferent:{t:0,b:{t:2,i:[{t:3}],s:"These models encode meaning very differently."}},moderateAgreement:{t:0,b:{t:2,i:[{t:3}],s:"Moderate agreement — the models share some semantic structure."}},highAgreement:{t:0,b:{t:2,i:[{t:3}],s:"High agreement — these models represent this text similarly."}},dimensionsMismatch:{t:0,b:{t:2,i:[{t:3,v:"Dimensions differ ("},{t:4,k:"dimA"},{t:3,v:" vs "},{t:4,k:"dimB"},{t:3,v:") — direct cosine similarity not possible."}]}},compareStats:{t:0,b:{t:2,i:[{t:3}],s:"Compare stats above to evaluate each model's representation quality."}}},stats:{dims:{t:0,b:{t:2,i:[{t:3}],s:"Dims"}},l2Norm:{t:0,b:{t:2,i:[{t:3}],s:"L2 Norm"}},sparsity:{t:0,b:{t:2,i:[{t:3}],s:"Sparsity"}},time:{t:0,b:{t:2,i:[{t:3}],s:"Time"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"Recent Embeddings"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Clear all"}}}},ty={title:{t:0,b:{t:2,i:[{t:3}],s:"Knowledge Base"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Ingest documents for RAG-powered conversations"}},modelSelector:{noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"No embedding models"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Knowledge Base Storage"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"documents"}},chunks:{t:0,b:{t:2,i:[{t:3}],s:"chunks"}},stored:{t:0,b:{t:2,i:[{t:3}],s:"stored"}},ragStorage:{t:0,b:{t:2,i:[{t:3}],s:"RAG Storage"}}},upload:{dropZone:{t:0,b:{t:2,i:[{t:3}],s:"Drag and drop files here"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"Browse"}},dropText:{t:0,b:{t:2,i:[{t:3}],s:"Drop files here or click to browse"}},supportedFormats:{t:0,b:{t:2,i:[{t:3}],s:"Supports PDF, DOCX, TXT, Markdown, CSV"}}},documents:{title:{t:0,b:{t:2,i:[{t:3}],s:"Documents"}},noDocuments:{t:0,b:{t:2,i:[{t:3}],s:"No documents ingested yet"}},toggleContext:{t:0,b:{t:2,i:[{t:3}],s:"Toggle RAG context"}},removeDocument:{t:0,b:{t:2,i:[{t:3}],s:"Remove document"}}},search:{title:{t:0,b:{t:2,i:[{t:3}],s:"Semantic Search"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Search your documents..."}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"No search results"}},searching:{t:0,b:{t:2,i:[{t:3}],s:"Searching..."}},button:{t:0,b:{t:2,i:[{t:3}],s:"Search"}},results:{t:0,b:{t:2,i:[{t:3}],s:"results"}},showLess:{t:0,b:{t:2,i:[{t:3}],s:"Show less"}},showFullChunk:{t:0,b:{t:2,i:[{t:3}],s:"Show full chunk"}}},ingest:{progress:{t:0,b:{t:2,i:[{t:3}],s:"Ingest progress"}},ingesting:{t:0,b:{t:2,i:[{t:3}],s:"Ingesting..."}}}},ey={title:{t:0,b:{t:2,i:[{t:3}],s:"Tool Workshop"}},canvas:{addTool:{t:0,b:{t:2,i:[{t:3}],s:"Add tool"}},addFromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"Add from template"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"No tools configured. Add one to get started."}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"Tool name"}},toolDescription:{t:0,b:{t:2,i:[{t:3}],s:"Tool description"}},functionName:{t:0,b:{t:2,i:[{t:3}],s:"Function name"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Parameters"}},implementation:{t:0,b:{t:2,i:[{t:3}],s:"Implementation"}},code:{t:0,b:{t:2,i:[{t:3}],s:"Code"}},testTool:{t:0,b:{t:2,i:[{t:3}],s:"Test tool"}},deleteTool:{t:0,b:{t:2,i:[{t:3}],s:"Delete tool"}},codePanel:{t:0,b:{t:2,i:[{t:3}],s:"Code Panel"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},source:{t:0,b:{t:2,i:[{t:3}],s:"Source"}},schema:{t:0,b:{t:2,i:[{t:3}],s:"Schema"}},schemaManifest:{t:0,b:{t:2,i:[{t:3}],s:"OpenAI-compatible tools manifest"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"Copy"}},warnings:{t:0,b:{t:2,i:[{t:3}],s:"Warnings"}},emptyState:{t:0,b:{t:2,i:[{t:3}],s:"No tools yet. Create your first tool or start from a template."}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"+ New Tool"}},fromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"From Template..."}},exportTitle:{t:0,b:{t:2,i:[{t:3}],s:"Export training data (JSONL)"}},export:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},toolLibrary:{t:0,b:{t:2,i:[{t:3}],s:"Tool Library"}},clearAllTitle:{t:0,b:{t:2,i:[{t:3}],s:"Remove all tools from canvas"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Clear All"}},clearAllConfirm:{t:0,b:{t:2,i:[{t:3}],s:"Clear all tools?"}},clearAllWarning:{t:0,b:{t:2,i:[{t:3,v:"This will remove all "},{t:4,k:"count"},{t:3,v:" tool(s) from the canvas. This cannot be undone."}]}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},deleteAll:{t:0,b:{t:2,i:[{t:3}],s:"Delete All"}},disableForChat:{t:0,b:{t:2,i:[{t:3}],s:"Disable for chat"}},enableForChat:{t:0,b:{t:2,i:[{t:3}],s:"Enable for chat"}},deleteToolTitle:{t:0,b:{t:2,i:[{t:3}],s:"Delete tool"}},noToolsYet:{t:0,b:{t:2,i:[{t:3}],s:"No tools yet"}},enabledForChat:{t:0,b:{t:2,i:[{t:3}],s:"enabled for chat"}},exportAllJson:{t:0,b:{t:2,i:[{t:3}],s:"Export All Tools (JSON)"}},exportToolJson:{t:0,b:{t:2,i:[{t:3}],s:"Export tool as JSON"}}},templates:{title:{t:0,b:{t:2,i:[{t:3}],s:"Tool Templates"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Start with a working template and customize it"}},categories:{utility:{t:0,b:{t:2,i:[{t:3}],s:"Utility"}},api:{t:0,b:{t:2,i:[{t:3}],s:"API"}},data:{t:0,b:{t:2,i:[{t:3}],s:"Data"}},google:{t:0,b:{t:2,i:[{t:3}],s:"Google (Calendar & Gmail)"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"Custom"}}}},builder:{functionName:{t:0,b:{t:2,i:[{t:3}],s:"Function Name"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Description"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Get the current weather for a given location"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Parameters"}},visualBuilder:{t:0,b:{t:2,i:[{t:3}],s:"Visual Builder"}},rawJson:{t:0,b:{t:2,i:[{t:3}],s:"Raw JSON"}},addParameter:{t:0,b:{t:2,i:[{t:3}],s:"+ Add Parameter"}},removeParameter:{t:0,b:{t:2,i:[{t:3}],s:"Remove parameter"}},saveTool:{t:0,b:{t:2,i:[{t:3}],s:"Save Tool"}}},list:{editTool:{t:0,b:{t:2,i:[{t:3}],s:"Edit Tool"}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"New Tool"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"No tools defined yet."}},addTool:{t:0,b:{t:2,i:[{t:3}],s:"+ Add Tool"}}},execution:{running:{t:0,b:{t:2,i:[{t:3}],s:"Running..."}},success:{t:0,b:{t:2,i:[{t:3}],s:"Success"}},error:{t:0,b:{t:2,i:[{t:3}],s:"Error"}},result:{t:0,b:{t:2,i:[{t:3}],s:"Result"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"Duration"}}},node:{badge:{t:0,b:{t:2,i:[{t:3}],s:"LLM Tool"}},functionNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"function_name"}},draftWithAi:{t:0,b:{t:2,i:[{t:3}],s:"Draft with AI"}},aiInsights:{t:0,b:{t:2,i:[{t:3}],s:"AI Insights"}},running:{t:0,b:{t:2,i:[{t:3}],s:"Running..."}},done:{t:0,b:{t:2,i:[{t:3}],s:"Done"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"Failed"}},aiFix:{t:0,b:{t:2,i:[{t:3}],s:"AI Fix"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Description"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"What does this tool do?"}},intent:{t:0,b:{t:2,i:[{t:3}],s:"Intent"}},intentPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Describe what this tool should do..."}},generate:{t:0,b:{t:2,i:[{t:3}],s:"Generate"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"Generating..."}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Parameters"}},addParam:{t:0,b:{t:2,i:[{t:3}],s:"+ Add"}},paramNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"name"}},paramTypePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"type"}},noParameters:{t:0,b:{t:2,i:[{t:3}],s:"No parameters"}},probeAndPick:{t:0,b:{t:2,i:[{t:3}],s:"Probe & Pick"}},apiBadge:{t:0,b:{t:2,i:[{t:3}],s:"API"}},urlPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"https://api.example.com/..."}},probe:{t:0,b:{t:2,i:[{t:3}],s:"Probe"}},headers:{t:0,b:{t:2,i:[{t:3}],s:"Headers"}},addHeader:{t:0,b:{t:2,i:[{t:3}],s:"+ Add"}},headerNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Header name"}},headerValuePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"value"}},markAsSecret:{t:0,b:{t:2,i:[{t:3}],s:"Mark as secret (use env var in generated code)"}},requestBody:{t:0,b:{t:2,i:[{t:3}],s:"Request Body"}},endpoints:{t:0,b:{t:2,i:[{t:3}],s:"Endpoints"}},searchEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"Search endpoints..."}},noMatchingEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"No matching endpoints"}},aiSuggest:{t:0,b:{t:2,i:[{t:3}],s:"AI Suggest"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"Thinking..."}},field:{t:0,b:{t:2,i:[{t:3}],s:"field"}},fields:{t:0,b:{t:2,i:[{t:3}],s:"fields"}},apply:{t:0,b:{t:2,i:[{t:3}],s:"Apply"}},mappings:{t:0,b:{t:2,i:[{t:3}],s:"Mappings"}},outOfSync:{t:0,b:{t:2,i:[{t:3}],s:"Out of Sync"}},bodyLabel:{t:0,b:{t:2,i:[{t:3}],s:"Body (TypeScript)"}},bodyPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"// Tool implementation..."}},insightSuggestionLabel:{t:0,b:{t:2,i:[{t:3}],s:"AI-suggested fix (review before applying):"}},applyFix:{t:0,b:{t:2,i:[{t:3}],s:"Apply fix"}},closeInsight:{t:0,b:{t:2,i:[{t:3}],s:"Close"}}},aiDiff:{accept:{t:0,b:{t:2,i:[{t:3}],s:"Accept"}},dismiss:{t:0,b:{t:2,i:[{t:3}],s:"Dismiss"}}}},sy={title:{t:0,b:{t:2,i:[{t:3}],s:"AI Training"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Browse, curate, and export your training data from the Tool Workshop."}},dashboard:{totalPairs:{t:0,b:{t:2,i:[{t:3}],s:"Total pairs"}},accepted:{t:0,b:{t:2,i:[{t:3}],s:"accepted"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"rejected"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"Pending"}},trainingPairs:{t:0,b:{t:2,i:[{t:3}],s:"Training Pairs"}},acceptanceRate:{t:0,b:{t:2,i:[{t:3}],s:"Acceptance Rate"}},byPhase:{t:0,b:{t:2,i:[{t:3}],s:"By Phase"}},topModels:{t:0,b:{t:2,i:[{t:3}],s:"Top Models"}}},filters:{search:{t:0,b:{t:2,i:[{t:3}],s:"Search..."}},searchPrompts:{t:0,b:{t:2,i:[{t:3}],s:"Search prompts..."}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"Tool name"}},tag:{t:0,b:{t:2,i:[{t:3}],s:"Tag"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Status"}},allModels:{t:0,b:{t:2,i:[{t:3}],s:"All models"}},allTools:{t:0,b:{t:2,i:[{t:3}],s:"All tools"}},allTags:{t:0,b:{t:2,i:[{t:3}],s:"All tags"}},allStatuses:{t:0,b:{t:2,i:[{t:3}],s:"All statuses"}}},bulk:{selected:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" selected"}]}},export:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},exportJsonl:{t:0,b:{t:2,i:[{t:3}],s:"Export JSONL"}},markAccepted:{t:0,b:{t:2,i:[{t:3}],s:"Mark Accepted"}},markRejected:{t:0,b:{t:2,i:[{t:3}],s:"Mark Rejected"}},addTag:{t:0,b:{t:2,i:[{t:3}],s:"Add Tag"}},tagPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Tag name..."}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"Confirm?"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"Deselect"}}},tags:{addPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Add tag..."}}},table:{selectAll:{t:0,b:{t:2,i:[{t:3}],s:"Select all"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"Deselect all"}},pairsShown:{t:0,b:{t:2,i:[{t:4,k:"shown"},{t:3,v:" of "},{t:4,k:"total"},{t:3,v:" pairs shown"}]}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"No training pairs match your filters."}}},detail:{accepted:{t:0,b:{t:2,i:[{t:3}],s:"Accepted"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"Rejected"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"System Prompt"}},userPrompt:{t:0,b:{t:2,i:[{t:3}],s:"User Prompt"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Reasoning"}},aiResponse:{t:0,b:{t:2,i:[{t:3}],s:"AI Response"}},editResponse:{t:0,b:{t:2,i:[{t:3}],s:"Edit response"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"Tags"}},deletePair:{t:0,b:{t:2,i:[{t:3}],s:"Delete pair"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"Confirm delete?"}}},empty:{title:{t:0,b:{t:2,i:[{t:3}],s:"No training data collected yet."}},description:{t:0,b:{t:2,i:[{t:3}],s:"Training pairs are generated automatically when you use AI features in the Tool Workshop (draft generation, code analysis, auto-mapping, and AI fix)."}}}},ny={title:{t:0,b:{t:2,i:[{t:3}],s:"My System"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Hardware, runtime, and inference overview"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"Refresh"}},detecting:{t:0,b:{t:2,i:[{t:3}],s:"Detecting hardware..."}},detectingDetail:{t:0,b:{t:2,i:[{t:3}],s:"Querying CPU, memory, GPU, and storage"}},unavailable:{t:0,b:{t:2,i:[{t:3}],s:"Hardware detection unavailable. Please restart the dev server to enable the system info plugin."}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Download System Report (Markdown)"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Download System Info (JSON)"}}},os:{title:{t:0,b:{t:2,i:[{t:3}],s:"Operating System"}},os:{t:0,b:{t:2,i:[{t:3}],s:"OS"}},version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},build:{t:0,b:{t:2,i:[{t:3}],s:"Build"}},architecture:{t:0,b:{t:2,i:[{t:3}],s:"Architecture"}}},device:{title:{t:0,b:{t:2,i:[{t:3}],s:"Device"}},name:{t:0,b:{t:2,i:[{t:3}],s:"Name"}},manufacturer:{t:0,b:{t:2,i:[{t:3}],s:"Manufacturer"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},family:{t:0,b:{t:2,i:[{t:3}],s:"Family"}}},cpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"Processor"}},cpu:{t:0,b:{t:2,i:[{t:3}],s:"CPU"}},physicalCores:{t:0,b:{t:2,i:[{t:3}],s:"Physical Cores"}},logicalProcessors:{t:0,b:{t:2,i:[{t:3}],s:"Logical Processors"}},maxClock:{t:0,b:{t:2,i:[{t:3}],s:"Max Clock"}}},memory:{title:{t:0,b:{t:2,i:[{t:3}],s:"Memory"}},totalRam:{t:0,b:{t:2,i:[{t:3}],s:"Total RAM"}},available:{t:0,b:{t:2,i:[{t:3}],s:"Available"}},inUse:{t:0,b:{t:2,i:[{t:3}],s:"In Use"}}},gpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"Graphics"}},gpu:{t:0,b:{t:2,i:[{t:3}],s:"GPU"}},adapterRam:{t:0,b:{t:2,i:[{t:3}],s:"Adapter RAM"}},sharedNotReported:{t:0,b:{t:2,i:[{t:3}],s:"Shared / Not reported"}},driver:{t:0,b:{t:2,i:[{t:3}],s:"Driver"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Storage"}},drive:{t:0,b:{t:2,i:[{t:3}],s:"Drive"}},total:{t:0,b:{t:2,i:[{t:3}],s:"Total"}},free:{t:0,b:{t:2,i:[{t:3}],s:"Free"}},used:{t:0,b:{t:2,i:[{t:3}],s:"Used"}}},browserStorage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Browser Storage"}},persistent:{t:0,b:{t:2,i:[{t:3}],s:"Persistent"}},bestEffort:{t:0,b:{t:2,i:[{t:3}],s:"Best-effort"}},scanning:{t:0,b:{t:2,i:[{t:3}],s:"Scanning..."}},indexedDbQuota:{t:0,b:{t:2,i:[{t:3}],s:"IndexedDB Quota"}},totalRecords:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" total records across "},{t:4,k:"databases"},{t:3,v:" databases"}]}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Clear all data"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Empty"}}},ollama:{title:{t:0,b:{t:2,i:[{t:3}],s:"Ollama Runtime"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Status"}},version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},installedModels:{t:0,b:{t:2,i:[{t:3}],s:"Installed Models"}},totalModelStorage:{t:0,b:{t:2,i:[{t:3}],s:"Total Model Storage"}},modelsLoaded:{t:0,b:{t:2,i:[{t:3}],s:"Models Loaded"}}},inference:{title:{t:0,b:{t:2,i:[{t:3}],s:"Inference"}},thisSession:{t:0,b:{t:2,i:[{t:3}],s:"this session"}},noSessions:{t:0,b:{t:2,i:[{t:3}],s:"No inference sessions yet."}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"Avg Speed"}},tokensGenerated:{t:0,b:{t:2,i:[{t:3}],s:"Tokens Generated"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"Avg TTFT"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"Models used"}}},activeModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"Active Models"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"No models currently loaded in memory. Send a message to load one."}},vram:{t:0,b:{t:2,i:[{t:3}],s:"VRAM"}},ram:{t:0,b:{t:2,i:[{t:3}],s:"RAM"}},total:{t:0,b:{t:2,i:[{t:3}],s:"Total"}},ctx:{t:0,b:{t:2,i:[{t:3}],s:"Ctx"}}},installedModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"Installed Models"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"No models installed."}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},family:{t:0,b:{t:2,i:[{t:3}],s:"Family"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Parameters"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"Quantization"}},size:{t:0,b:{t:2,i:[{t:3}],s:"Size"}}}},iy={title:{t:0,b:{t:2,i:[{t:3}],s:"Compare Models"}},configurator:{title:{t:0,b:{t:2,i:[{t:3}],s:"Comparison Slots"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Each slot is a model + settings combination. Add the same model multiple times with different settings to compare behavior."}},addSlot:{t:0,b:{t:2,i:[{t:3}],s:"Add slot"}},removeSlot:{t:0,b:{t:2,i:[{t:3}],s:"Remove slot"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Clear All"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"System Prompt"}},optionalSystemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"Optional system prompt..."}},options:{t:0,b:{t:2,i:[{t:3}],s:"Options"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"Temperature"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top-P"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Random (leave empty)"}},advanced:{t:0,b:{t:2,i:[{t:3}],s:"Advanced"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top-K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"Repeat Penalty"}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"Off"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"Max Tokens"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"Context Length"}},defaultPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Default"}},slotsConfigured:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" slot(s) configured"}]}},emptyTitle:{t:0,b:{t:2,i:[{t:3}],s:"No slots configured yet"}},emptyDescription:{t:0,b:{t:2,i:[{t:3}],s:"Add a slot to pick a model and settings, or use a quick-start preset above to get going."}},addFirstSlot:{t:0,b:{t:2,i:[{t:3}],s:"+ Add First Slot"}},addSlotCount:{t:0,b:{t:2,i:[{t:3,v:"+ Add Slot ("},{t:4,k:"current"},{t:3,v:"/4)"}]}},presets:{quickStart:{t:0,b:{t:2,i:[{t:3}],s:"Quick start:"}},tempSweep:{t:0,b:{t:2,i:[{t:3}],s:"Temperature Sweep"}},tempSweepDesc:{t:0,b:{t:2,i:[{t:3}],s:"Creates 3 slots of the same model at temperatures 0.2 (focused), 0.7 (balanced), and 1.2 (creative). See how temperature changes the output for the exact same prompt."}},deterministicPair:{t:0,b:{t:2,i:[{t:3}],s:"Deterministic Pair"}},deterministicPairDesc:{t:0,b:{t:2,i:[{t:3}],s:"Creates 2 slots of the same model with the same seed but different temperatures (0.3 and 1.0). The shared seed means any difference in the output is purely from temperature, not randomness."}},languageCompare:{t:0,b:{t:2,i:[{t:3}],s:"Language Compare"}},languageCompareTooltip:{t:0,b:{t:2,i:[{t:3}],s:"Compare how different languages affect token cost and model behavior"}}}},prompt:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Enter prompt to compare across slots..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Compare"}},running:{t:0,b:{t:2,i:[{t:3}],s:"Running..."}}},results:{title:{t:0,b:{t:2,i:[{t:3}],s:"Results"}},grid:{t:0,b:{t:2,i:[{t:3}],s:"Grid"}},diff:{t:0,b:{t:2,i:[{t:3}],s:"Diff"}}},diff:{needTwoResults:{t:0,b:{t:2,i:[{t:3}],s:"Need at least 2 completed results to show a diff."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Compare:"}},vs:{t:0,b:{t:2,i:[{t:3}],s:"vs"}},only:{t:0,b:{t:2,i:[{t:4,k:"label"},{t:3,v:" only"}]}}},metrics:{performanceComparison:{t:0,b:{t:2,i:[{t:3}],s:"Performance Comparison"}},timeToFirstToken:{t:0,b:{t:2,i:[{t:3}],s:"Time to First Token"}},lowerBetter:{t:0,b:{t:2,i:[{t:3}],s:"lower is better"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"Tokens/sec"}},higherBetter:{t:0,b:{t:2,i:[{t:3}],s:"higher is better"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Total Tokens"}},speed:{t:0,b:{t:2,i:[{t:3}],s:"Speed"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"Duration"}}},column:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens"}}},language:{mismatchTitle:{t:0,b:{t:2,i:[{t:3}],s:"Language Mismatch Detected"}},mismatchDescription:{t:0,b:{t:2,i:[{t:3,v:"Your prompt appears to be in "},{t:4,k:"detected"},{t:3,v:"."}]}},targetIs:{t:0,b:{t:2,i:[{t:3,v:"target is "},{t:4,k:"language"}]}},translateTo:{t:0,b:{t:2,i:[{t:3,v:"Translate to "},{t:4,k:"language"}]}},keepDetected:{t:0,b:{t:2,i:[{t:3,v:"Keep "},{t:4,k:"language"}]}},translateAll:{t:0,b:{t:2,i:[{t:3}],s:"Translate All"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},tokenTaxTitle:{t:0,b:{t:2,i:[{t:3}],s:"Token Tax"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Prompt Tokens"}},promptText:{t:0,b:{t:2,i:[{t:3}],s:"Translated Prompt"}},translated:{t:0,b:{t:2,i:[{t:3}],s:"Translated"}},unsupported:{t:0,b:{t:2,i:[{t:3}],s:"Language not supported yet"}},translating:{t:0,b:{t:2,i:[{t:3}],s:"Translating... this may take a moment depending on model size"}},qualityWarning:{t:0,b:{t:2,i:[{t:3}],s:"Translation quality depends on your model's language capabilities. Larger models produce better translations."}},promptPlaceholder:{t:0,b:{t:2,i:[{t:3,v:"Type or paste your prompt in "},{t:4,k:"lang"},{t:3,v:"..."}]}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"Saved Comparisons"}},load:{t:0,b:{t:2,i:[{t:3}],s:"Load"}},noSavedRuns:{t:0,b:{t:2,i:[{t:3}],s:"No saved comparisons yet"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},json:{t:0,b:{t:2,i:[{t:3}],s:"Download as JSON"}},markdown:{t:0,b:{t:2,i:[{t:3}],s:"Download as Markdown"}}},share:{toDiscussions:{t:0,b:{t:2,i:[{t:3}],s:"Share to GitHub Discussions"}},dialogTitle:{t:0,b:{t:2,i:[{t:3}],s:"Share Your Findings"}},commentaryLabel:{t:0,b:{t:2,i:[{t:3}],s:"Add your commentary"}},commentaryPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"What did you discover? Share your insights..."}},preview:{t:0,b:{t:2,i:[{t:3}],s:"Report Preview"}},openGithub:{t:0,b:{t:2,i:[{t:3}],s:"Open GitHub Discussions"}},copyMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Copy Markdown"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copied!"}},note:{t:0,b:{t:2,i:[{t:3}],s:"You'll be redirected to GitHub to review and post your findings."}}}},ry={title:{t:0,b:{t:2,i:[{t:3}],s:"Session"}},sessionId:{t:0,b:{t:2,i:[{t:3,v:"Session "},{t:4,k:"id"}]}},notFound:{t:0,b:{t:2,i:[{t:3}],s:"Session not found."}},tabs:{stream:{t:0,b:{t:2,i:[{t:3}],s:"Stream"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Reasoning"}},introspection:{t:0,b:{t:2,i:[{t:3}],s:"Introspection"}},tools:{t:0,b:{t:2,i:[{t:3}],s:"Tools"}},agent:{t:0,b:{t:2,i:[{t:3}],s:"Agent Graph"}},prompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Export"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Download JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Download Markdown"}},downloadTokenCsv:{t:0,b:{t:2,i:[{t:3}],s:"Download Token Stream CSV"}}},stream:{tokenStream:{t:0,b:{t:2,i:[{t:3}],s:"Token Stream"}},metrics:{t:0,b:{t:2,i:[{t:3}],s:"Metrics"}}},tokenStream:{promptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Enter your prompt..."}}},reasoning:{title:{t:0,b:{t:2,i:[{t:3}],s:"Reasoning"}},noReasoning:{t:0,b:{t:2,i:[{t:3}],s:"No reasoning data available for this session."}}},introspection:{title:{t:0,b:{t:2,i:[{t:3}],s:"Introspection"}},illustrative:{t:0,b:{t:2,i:[{t:3}],s:"Illustrative"}}},toolCalls:{title:{t:0,b:{t:2,i:[{t:3}],s:"Tool Calls"}},timeline:{t:0,b:{t:2,i:[{t:3}],s:"Timeline"}},optimize:{t:0,b:{t:2,i:[{t:3}],s:"Optimize"}}},agentGraph:{title:{t:0,b:{t:2,i:[{t:3}],s:"Agent Graph"}}},promptInspector:{title:{t:0,b:{t:2,i:[{t:3}],s:"Prompt Inspector"}}}},oy={title:{t:0,b:{t:2,i:[{t:3}],s:"Send Feedback"}},thankYou:{t:0,b:{t:2,i:[{t:3}],s:"Thank you for your feedback!"}},thankYouDetail:{t:0,b:{t:2,i:[{t:3}],s:"Your input helps make LLMxRay better."}},typeQuestion:{t:0,b:{t:2,i:[{t:3}],s:"What kind of feedback?"}},types:{bug:{t:0,b:{t:2,i:[{t:3}],s:"Bug"}},idea:{t:0,b:{t:2,i:[{t:3}],s:"Idea"}},question:{t:0,b:{t:2,i:[{t:3}],s:"Question"}},other:{t:0,b:{t:2,i:[{t:3}],s:"Other"}}},message:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Tell us what's on your mind..."}}},email:{label:{t:0,b:{t:2,i:[{t:3}],s:"Email"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"(optional — only if you'd like a response)"}},placeholder:{t:0,b:{t:2,i:[{t:3},{t:9},{t:3}],s:"your@email.com"}}},submit:{send:{t:0,b:{t:2,i:[{t:3}],s:"Send Feedback"}},sending:{t:0,b:{t:2,i:[{t:3}],s:"Sending..."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"Includes app context (page, model, system) to help us understand your feedback."}}},ay={issuesDetected:{t:0,b:{t:2,i:[{t:3}],s:"Quality issues detected"}},repetition:{label:{t:0,b:{t:2,i:[{t:3}],s:"Repetitive"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"Response contains excessive repeated phrases"}}},refusal:{label:{t:0,b:{t:2,i:[{t:3}],s:"Refusal"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"Response appears to be a refusal"}}},gibberish:{label:{t:0,b:{t:2,i:[{t:3}],s:"Garbled"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"Response contains high ratio of non-printable characters"}}},empty:{label:{t:0,b:{t:2,i:[{t:3}],s:"Empty"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"Response contains very little content"}}},truncation:{label:{t:0,b:{t:2,i:[{t:3}],s:"Truncated"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"Response may have been cut short"}}}},ly={title:{t:0,b:{t:2,i:[{t:3}],s:"Cost Dashboard"}},summary:{totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Total Tokens"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"Estimated Cost"}},avgCostPerSession:{t:0,b:{t:2,i:[{t:3}],s:"Avg Cost/Session"}}},charts:{tokensByModel:{t:0,b:{t:2,i:[{t:3}],s:"Token Usage by Model"}},dailyUsage:{t:0,b:{t:2,i:[{t:3}],s:"Daily Usage"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Prompt Tokens"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"Completion Tokens"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"Estimated Cost"}},costTrend:{t:0,b:{t:2,i:[{t:3}],s:"Cost Trend"}}},table:{model:{t:0,b:{t:2,i:[{t:3}],s:"Model"}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Prompt"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"Completion"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Total"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"Est. Cost"}},pricingSource:{t:0,b:{t:2,i:[{t:3}],s:"Source"}}},percentiles:{latencyTitle:{t:0,b:{t:2,i:[{t:3}],s:"Request Latency (P50 / P95 / P99)"}},ttftTitle:{t:0,b:{t:2,i:[{t:3}],s:"Time to First Token (P50 / P95 / P99)"}},histogramTitle:{t:0,b:{t:2,i:[{t:3}],s:"Inter-Token Latency Distribution"}},histogramHint:{t:0,b:{t:2,i:[{t:3}],s:"Bucket boundaries follow OTel GenAI conventions. Aggregated across all sessions."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Not enough session data for percentile analysis."}}},errors:{title:{t:0,b:{t:2,i:[{t:3}],s:"Errors by Model"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"No errors recorded."}}},loadDuration:{title:{t:0,b:{t:2,i:[{t:3}],s:"Model Load Duration"}},coldStarts:{t:0,b:{t:2,i:[{t:3}],s:"cold starts"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Orange dots indicate cold starts (model loaded from disk, > 500ms)."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"No session data yet."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"These costs are estimates based on equivalent cloud API pricing. Ollama runs locally at no cost."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"No usage data yet. Start chatting to see token usage and cost estimates."}}},cy={title:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},sections:{quality:{t:0,b:{t:2,i:[{t:3}],s:"Response Quality"}},latency:{t:0,b:{t:2,i:[{t:3}],s:"Latency Analysis"}},reliability:{t:0,b:{t:2,i:[{t:3}],s:"Reliability"}},usage:{t:0,b:{t:2,i:[{t:3}],s:"Usage Patterns"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings Impact"}},modelMemory:{t:0,b:{t:2,i:[{t:3}],s:"Model Memory"}}},quality:{title:{t:0,b:{t:2,i:[{t:3}],s:"Quality Over Turns"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Green = good (3.5+), yellow = moderate (2-3.5), red = poor (< 2). Score based on word count, vocabulary diversity, and non-repetition."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Start a multi-turn conversation to see quality trends."}}},errors:{timelineTitle:{t:0,b:{t:2,i:[{t:3}],s:"Error Timeline"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"No errors recorded."}}},usage:{requestVolume:{t:0,b:{t:2,i:[{t:3}],s:"Request Volume"}},modelDistribution:{t:0,b:{t:2,i:[{t:3}],s:"Model Distribution"}},activeHours:{t:0,b:{t:2,i:[{t:3}],s:"Active Hours"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"No session data yet."}}},settings:{title:{t:0,b:{t:2,i:[{t:3}],s:"Temperature vs Speed"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Each dot is a session. Shows how temperature affects generation speed."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Need at least 2 sessions with explicit temperature settings."}}},modelLoad:{title:{t:0,b:{t:2,i:[{t:3}],s:"Model Load History"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"cold"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"No session data yet."}}}},uy={common:Jg,dashboard:Qg,settings:Yg,benchmark:Xg,embeddings:Zg,rag:ty,tools:ey,training:sy,system:ny,comparison:iy,session:ry,feedback:oy,quality:ay,cost:ly,analytics:cy},dy={nav:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"Diagnostic de chat"}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Comparer"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"Base de connaissances"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"Atelier d'outils"}},aiTraining:{t:0,b:{t:2,i:[{t:3}],s:"Entraînement IA"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Modèles"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"Coûts"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytique"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"Mon système"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},tagline:{t:0,b:{t:2,i:[{t:3}],s:"Observatoire local de LLM"}}},header:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"Diagnostic de chat"}},session:{t:0,b:{t:2,i:[{t:3}],s:"Session"}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"Comparer les modèles"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"Base de connaissances"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Modèles"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"Atelier d'outils"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"Coûts"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytique"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"Mon système"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},default:{t:0,b:{t:2,i:[{t:3}],s:"LLMxRay"}}},status:{ollamaConnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama connecté"}},ollamaDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama déconnecté"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Chargement..."}},processing:{t:0,b:{t:2,i:[{t:3}],s:"Traitement..."}},ready:{t:0,b:{t:2,i:[{t:3}],s:"Prêt"}},error:{t:0,b:{t:2,i:[{t:3}],s:"Erreur"}},success:{t:0,b:{t:2,i:[{t:3}],s:"Succès"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"En attente"}},running:{t:0,b:{t:2,i:[{t:3}],s:"En cours"}},completed:{t:0,b:{t:2,i:[{t:3}],s:"Terminé"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"Échoué"}},streaming:{t:0,b:{t:2,i:[{t:3}],s:"Streaming"}},idle:{t:0,b:{t:2,i:[{t:3}],s:"Inactif"}},connected:{t:0,b:{t:2,i:[{t:3}],s:"Connecté"}},disconnected:{t:0,b:{t:2,i:[{t:3}],s:"Déconnecté"}}},theme:{dark:{t:0,b:{t:2,i:[{t:3}],s:"Sombre"}},light:{t:0,b:{t:2,i:[{t:3}],s:"Clair"}},system:{t:0,b:{t:2,i:[{t:3}],s:"Système"}},themeLabel:{t:0,b:{t:2,i:[{t:3}],s:"Thème"}}},locale:{language:{t:0,b:{t:2,i:[{t:3}],s:"Langue"}},english:{t:0,b:{t:2,i:[{t:3}],s:"Anglais"}},french:{t:0,b:{t:2,i:[{t:3}],s:"Français"}}},actions:{save:{t:0,b:{t:2,i:[{t:3}],s:"Enregistrer"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Annuler"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Fermer"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"Copier"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Modifier"}},test:{t:0,b:{t:2,i:[{t:3}],s:"Tester"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"Actualiser"}},clear:{t:0,b:{t:2,i:[{t:3}],s:"Effacer"}},send:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"Arrêter"}},add:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"Retirer"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"Confirmer"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Retour"}},next:{t:0,b:{t:2,i:[{t:3}],s:"Suivant"}},submit:{t:0,b:{t:2,i:[{t:3}],s:"Soumettre"}},reset:{t:0,b:{t:2,i:[{t:3}],s:"Réinitialiser"}},export:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},import:{t:0,b:{t:2,i:[{t:3}],s:"Importer"}}},time:{justNow:{t:0,b:{t:2,i:[{t:3}],s:"À l'instant"}},minutesAgo:{t:0,b:{t:2,i:[{t:3,v:"Il y a "},{t:4,k:"count"},{t:3,v:" min"}]}},hoursAgo:{t:0,b:{t:2,i:[{t:3,v:"Il y a "},{t:4,k:"count"},{t:3,v:" h"}]}},daysAgo:{t:0,b:{t:2,i:[{t:3,v:"Il y a "},{t:4,k:"count"},{t:3,v:" j"}]}},monthsAgo:{t:0,b:{t:2,i:[{t:3,v:"Il y a "},{t:4,k:"count"},{t:3,v:" mois"}]}}},units:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"tokens"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tokens/s"}},milliseconds:{t:0,b:{t:2,i:[{t:3}],s:"ms"}},seconds:{t:0,b:{t:2,i:[{t:3}],s:"s"}},bytes:{t:0,b:{t:2,i:[{t:3}],s:"o"}},kilobytes:{t:0,b:{t:2,i:[{t:3}],s:"Ko"}},megabytes:{t:0,b:{t:2,i:[{t:3}],s:"Mo"}},gigabytes:{t:0,b:{t:2,i:[{t:3}],s:"Go"}},percent:{t:0,b:{t:2,i:[{t:3}],s:"%"}},dimensions:{t:0,b:{t:2,i:[{t:3}],s:"dimensions"}}},model:{selectModel:{t:0,b:{t:2,i:[{t:3}],s:"Sélectionner un modèle"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle disponible"}},loadingModels:{t:0,b:{t:2,i:[{t:3}],s:"Chargement des modèles..."}},pullModel:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger un modèle"}}},empty:{noData:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnée disponible"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"Aucun résultat trouvé"}},nothingHere:{t:0,b:{t:2,i:[{t:3}],s:"Rien ici pour le moment"}}},languages:{en:{t:0,b:{t:2,i:[{t:3}],s:"Anglais"}},fr:{t:0,b:{t:2,i:[{t:3}],s:"Français"}},ar:{t:0,b:{t:2,i:[{t:3}],s:"Arabe"}},zh:{t:0,b:{t:2,i:[{t:3}],s:"Chinois"}},ja:{t:0,b:{t:2,i:[{t:3}],s:"Japonais"}},he:{t:0,b:{t:2,i:[{t:3}],s:"Hébreu"}},de:{t:0,b:{t:2,i:[{t:3}],s:"Allemand"}},es:{t:0,b:{t:2,i:[{t:3}],s:"Espagnol"}},pt:{t:0,b:{t:2,i:[{t:3}],s:"Portugais"}},it:{t:0,b:{t:2,i:[{t:3}],s:"Italien"}},ru:{t:0,b:{t:2,i:[{t:3}],s:"Russe"}},ko:{t:0,b:{t:2,i:[{t:3}],s:"Coréen"}},hi:{t:0,b:{t:2,i:[{t:3}],s:"Hindi"}}}},fy={title:{t:0,b:{t:2,i:[{t:3}],s:"Diagnostic de chat"}},input:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer un message... (Maj+Entrée pour un saut de ligne)"}},placeholderVision:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer un message ou coller/déposer une image..."}},commands:{t:0,b:{t:2,i:[{t:3}],s:"Commandes"}},attachFiles:{t:0,b:{t:2,i:[{t:3}],s:"Joindre des fichiers"}},attachFilesVision:{t:0,b:{t:2,i:[{t:3}],s:"Joindre des fichiers ou des images"}},stopGenerating:{t:0,b:{t:2,i:[{t:3}],s:"Arrêter la génération"}},sendMessage:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer le message"}},visionBadge:{t:0,b:{t:2,i:[{t:3}],s:"Modèle vision — peut traiter les images"}}},dropZone:{t:0,b:{t:2,i:[{t:3}],s:"Déposez des fichiers à joindre"}},conversation:{newChat:{t:0,b:{t:2,i:[{t:3}],s:"Nouveau chat"}},newChatButton:{t:0,b:{t:2,i:[{t:3}],s:"+ Nouveau chat"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Historique"}},chatHistory:{t:0,b:{t:2,i:[{t:3}],s:"Historique des chats"}},rename:{t:0,b:{t:2,i:[{t:3}],s:"Renommer"}},deleteChat:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer le chat"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"Êtes-vous sûr de vouloir supprimer cette conversation ?"}},displayName:{t:0,b:{t:2,i:[{t:3}],s:"Nom d'affichage"}},defaultName:{t:0,b:{t:2,i:[{t:3}],s:"Nouvelle conversation"}},editName:{t:0,b:{t:2,i:[{t:3}],s:"Modifier le nom"}},noHistory:{t:0,b:{t:2,i:[{t:3}],s:"Aucun historique de conversation"}},noConversationsYet:{t:0,b:{t:2,i:[{t:3}],s:"Aucune conversation pour le moment."}},clickToRename:{t:0,b:{t:2,i:[{t:3}],s:"Cliquer pour renommer"}},viewSessionDetails:{t:0,b:{t:2,i:[{t:3}],s:"Voir les détails de la session"}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Sans titre"}},minutesAgo:{t:0,b:{t:2,i:[{t:3,v:"il y a "},{t:4,k:"n"},{t:3,v:"min"}]}},hoursAgo:{t:0,b:{t:2,i:[{t:3,v:"il y a "},{t:4,k:"n"},{t:3,v:"h"}]}},daysAgo:{t:0,b:{t:2,i:[{t:3,v:"il y a "},{t:4,k:"n"},{t:3,v:"j"}]}}},metrics:{sessions:{t:0,b:{t:2,i:[{t:3}],s:"sessions"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions totales"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT moyen"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"Vitesse moyenne"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens totaux"}},recentChats:{t:0,b:{t:2,i:[{t:3}],s:"Chats récents"}}},settings:{chatSettings:{t:0,b:{t:2,i:[{t:3}],s:"Préférences du chat"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"Température"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top P"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"Pénalité de répétition"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"Longueur du contexte"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens maximum"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt système"}},systemPromptHint:{t:0,b:{t:2,i:[{t:3}],s:"Instructions envoyées avant la conversation. Définit le comportement et le personnage du modèle."}},systemPromptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Vous êtes un assistant utile..."}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"Base de connaissances"}},kbEnabled:{t:0,b:{t:2,i:[{t:3}],s:"BC activée"}},kbDisabled:{t:0,b:{t:2,i:[{t:3}],s:"BC désactivée"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"documents"}},manage:{t:0,b:{t:2,i:[{t:3}],s:"Gérer"}},noDocumentsIngested:{t:0,b:{t:2,i:[{t:3}],s:"Aucun document ingéré"}},addDocuments:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter des documents"}},precise:{t:0,b:{t:2,i:[{t:3}],s:"Précis"}},creative:{t:0,b:{t:2,i:[{t:3}],s:"Créatif"}},unlimited:{t:0,b:{t:2,i:[{t:3}],s:"Illimité"}},maxTokensHint:{t:0,b:{t:2,i:[{t:3}],s:"Longueur maximale de la réponse. -1 = illimité."}},maxTokensPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 pour illimité"}},contextWindow:{t:0,b:{t:2,i:[{t:3}],s:"Fenêtre de contexte"}},contextWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"Contexte total visible par le modèle. Plus élevé = plus de mémoire, plus lent."}},advancedSampling:{t:0,b:{t:2,i:[{t:3}],s:"Echantillonnage avancé"}},topPHint:{t:0,b:{t:2,i:[{t:3}],s:"Echantillonnage par noyau. Plus bas = plus focalisé sur les tokens probables."}},topKHint:{t:0,b:{t:2,i:[{t:3}],s:"Limite l'échantillonnage aux top K tokens à chaque étape."}},repeatPenaltyHint:{t:0,b:{t:2,i:[{t:3}],s:"Pénalise les tokens déjà apparus. Plus élevé = moins de répétition."}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"Désactivé"}},mirostatDisabled:{t:0,b:{t:2,i:[{t:3}],s:"Désactivé"}},mirostatV1:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v1"}},mirostatV2:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v2"}},mirostatHint:{t:0,b:{t:2,i:[{t:3}],s:"Echantillonnage adaptatif basé sur la perplexité. Remplace top-p/top-k quand activé."}},seedRandom:{t:0,b:{t:2,i:[{t:3}],s:"Aléatoire"}},seedHint:{t:0,b:{t:2,i:[{t:3}],s:"Seed fixe pour des résultats reproductibles. -1 = aléatoire."}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 pour aléatoire"}},stopSequences:{t:0,b:{t:2,i:[{t:3}],s:"Séquences d'arrêt"}},stopSequencesPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"ex. Human:, \\n\\n"}},stopSequencesHint:{t:0,b:{t:2,i:[{t:3}],s:"Chaînes séparées par des virgules qui arrêtent la génération."}},tools:{t:0,b:{t:2,i:[{t:3}],s:"Outils"}},active:{t:0,b:{t:2,i:[{t:3}],s:"actif(s)"}},noToolsDefined:{t:0,b:{t:2,i:[{t:3}],s:"Aucun outil défini"}},manageInToolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"Gérer dans l'atelier d'outils..."}},pulling:{t:0,b:{t:2,i:[{t:3}],s:"Téléchargement..."}},pull:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger"}}},memory:{slidingWindow:{t:0,b:{t:2,i:[{t:3}],s:"Fenêtre glissante"}},slidingWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"Conserver uniquement les N derniers messages"}},maxMessages:{t:0,b:{t:2,i:[{t:3}],s:"Messages maximum"}},autoSummarize:{t:0,b:{t:2,i:[{t:3}],s:"Résumé automatique"}},autoSummarizeHint:{t:0,b:{t:2,i:[{t:3}],s:"Résumer automatiquement les anciens messages"}},summarizeThreshold:{t:0,b:{t:2,i:[{t:3}],s:"Seuil de résumé"}},triggerAfter:{t:0,b:{t:2,i:[{t:3}],s:"Déclencher après"}},messages:{t:0,b:{t:2,i:[{t:3}],s:"messages"}},userFacts:{t:0,b:{t:2,i:[{t:3}],s:"Faits utilisateur"}},userMemories:{t:0,b:{t:2,i:[{t:3}],s:"Mémoires utilisateur"}},userMemoriesHint:{t:0,b:{t:2,i:[{t:3}],s:"/remember faits injectés dans le contexte"}},addFact:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter un fait"}},ragMemory:{t:0,b:{t:2,i:[{t:3}],s:"Mémoire RAG"}},messageMemoryRag:{t:0,b:{t:2,i:[{t:3}],s:"Mémoire de messages (RAG)"}},messageMemoryHint:{t:0,b:{t:2,i:[{t:3}],s:"Récupérer les messages passés pertinents via les embeddings"}},embeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"Modèle d'embedding"}},selectEmbeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"Sélectionner un modèle d'embedding..."}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle d'embedding trouvé. Téléchargez-en un :"}},retrieveTop:{t:0,b:{t:2,i:[{t:3}],s:"Récupérer les top"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K résultats"}},memory:{t:0,b:{t:2,i:[{t:3}],s:"Mémoire"}},facts:{t:0,b:{t:2,i:[{t:3}],s:"faits"}}},empty:{startConversation:{t:0,b:{t:2,i:[{t:3}],s:"Démarrer une conversation avec un modèle local"}}},bubble:{truncatedWarning:{t:0,b:{t:2,i:[{t:3}],s:"Réponse tronquée — augmentez num_predict dans les paramètres pour des réponses plus longues"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"tokens"}},tokPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tok/s"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"démarrage froid"}},coldStart:{t:0,b:{t:2,i:[{t:3}],s:"Le modèle a été chargé depuis le disque pour cette requête (temps de chargement > 500ms)"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger Markdown"}},downloadText:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger texte"}}},slashCommands:{chatConversation:{t:0,b:{t:2,i:[{t:3}],s:"Chat et conversation"}},modelSettings:{t:0,b:{t:2,i:[{t:3}],s:"Modèle et paramètres"}},featuresNavigation:{t:0,b:{t:2,i:[{t:3}],s:"Fonctionnalités et navigation"}}}},by={tabs:{general:{t:0,b:{t:2,i:[{t:3}],s:"Général"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Modèles"}},integrations:{t:0,b:{t:2,i:[{t:3}],s:"Intégrations"}},about:{t:0,b:{t:2,i:[{t:3}],s:"À propos"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Historique"}}},general:{ollamaConnection:{t:0,b:{t:2,i:[{t:3}],s:"Connexion Ollama"}},ollamaUrl:{t:0,b:{t:2,i:[{t:3}],s:"URL Ollama"}},testConnection:{t:0,b:{t:2,i:[{t:3}],s:"Tester"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Enregistrer"}},connectionSuccess:{t:0,b:{t:2,i:[{t:3}],s:"Connexion réussie"}},connectionFailed:{t:0,b:{t:2,i:[{t:3}],s:"Échec de la connexion"}},connectionConnected:{t:0,b:{t:2,i:[{t:3}],s:"Connecté"}},connectionTesting:{t:0,b:{t:2,i:[{t:3}],s:"Test en cours..."}},connectionDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"Déconnecté"}},defaultParameters:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres par défaut"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"Température"}},temperatureTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"Qu'est-ce que la température ?"}},temperatureTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:"La température contrôle le niveau de « créativité » ou d'« aléatoire » des réponses du modèle."}},temperatureTooltipZero:{t:0,b:{t:2,i:[{t:3}],s:"Choisit toujours le mot le plus probable. Idéal pour les faits, les maths et le code."}},temperatureTooltipDefault:{t:0,b:{t:2,i:[{t:3}],s:"Un bon équilibre. C'est la valeur par défaut."}},temperatureTooltipHigh:{t:0,b:{t:2,i:[{t:3}],s:"Plus surprenant et créatif."}},temperatureDeterministic:{t:0,b:{t:2,i:[{t:3}],s:"Déterministe"}},temperatureFocused:{t:0,b:{t:2,i:[{t:3}],s:"Focalisé"}},temperatureBalanced:{t:0,b:{t:2,i:[{t:3}],s:"Équilibré"}},temperatureCreative:{t:0,b:{t:2,i:[{t:3}],s:"Créatif"}},temperatureVeryRandom:{t:0,b:{t:2,i:[{t:3}],s:"Très aléatoire"}},temperatureWild:{t:0,b:{t:2,i:[{t:3}],s:"Extrême"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"Longueur de contexte"}},contextLengthTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"Qu'est-ce que la longueur de contexte ?"}},contextLengthTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:"La quantité de conversation que le modèle peut voir en une fois, mesurée en tokens."}},contextLengthTooltipNote:{t:0,b:{t:2,i:[{t:3}],s:"Un contexte plus grand utilise plus de RAM/VRAM."}},approximateWords:{t:0,b:{t:2,i:[{t:3,v:"≈ "},{t:4,k:"count"},{t:3,v:" mots"}]}},language:{t:0,b:{t:2,i:[{t:3}],s:"Langue"}},selectLanguage:{t:0,b:{t:2,i:[{t:3}],s:"Sélectionner la langue"}}},models:{installedModels:{t:0,b:{t:2,i:[{t:3}],s:"Modèles installés"}},pullNewModel:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger un nouveau modèle"}},modelName:{t:0,b:{t:2,i:[{t:3}],s:"Nom du modèle"}},pull:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer"}},deleteConfirm:{t:0,b:{t:2,i:[{t:3}],s:"Êtes-vous sûr de vouloir supprimer ce modèle ?"}},size:{t:0,b:{t:2,i:[{t:3}],s:"Taille"}},family:{t:0,b:{t:2,i:[{t:3}],s:"Famille"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"Quantification"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},capabilities:{t:0,b:{t:2,i:[{t:3}],s:"Capacités"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"Actualiser"}},downloadModels:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger des modèles"}},searchModels:{t:0,b:{t:2,i:[{t:3}],s:"Rechercher des modèles..."}},noModelsInstalled:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle installé. Téléchargez-en un depuis le catalogue ci-dessous."}},noModelsMatch:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle ne correspond à votre recherche."}},pullByName:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger un modèle par nom"}},installed:{t:0,b:{t:2,i:[{t:3}],s:"Installé"}},confirmDeletePrompt:{t:0,b:{t:2,i:[{t:3}],s:"Confirmer la suppression ?"}}},integrations:{googleAccount:{t:0,b:{t:2,i:[{t:3}],s:"Compte Google"}},connect:{t:0,b:{t:2,i:[{t:3}],s:"Connecter"}},disconnect:{t:0,b:{t:2,i:[{t:3}],s:"Déconnecter"}},connectedAs:{t:0,b:{t:2,i:[{t:3}],s:"Connecté en tant que"}},googleIntegration:{t:0,b:{t:2,i:[{t:3}],s:"Intégration Google"}},googleIntegrationDesc:{t:0,b:{t:2,i:[{t:3}],s:"Connectez votre compte Google pour activer les outils Agenda et Gmail dans l'Atelier d'outils."}},oauthClientId:{t:0,b:{t:2,i:[{t:3}],s:"Client ID OAuth2"}},authenticating:{t:0,b:{t:2,i:[{t:3}],s:"Authentification en cours..."}},notConnected:{t:0,b:{t:2,i:[{t:3}],s:"Non connecté"}},connectGoogleAccount:{t:0,b:{t:2,i:[{t:3}],s:"Connecter un compte Google"}},showSetup:{t:0,b:{t:2,i:[{t:3}],s:"Afficher les instructions de configuration"}},hideSetup:{t:0,b:{t:2,i:[{t:3}],s:"Masquer les instructions de configuration"}}},about:{version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},license:{t:0,b:{t:2,i:[{t:3}],s:"Licence"}},repository:{t:0,b:{t:2,i:[{t:3}],s:"Dépôt"}},techStack:{t:0,b:{t:2,i:[{t:3}],s:"Stack technique"}},localLlmObservatory:{t:0,b:{t:2,i:[{t:3}],s:"Observatoire local de LLM"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"Historique IA local"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Votre archive de recherche — toutes les expériences, interrogeables"}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Comment vos données sont stockées"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Toutes vos données sont stockées localement dans votre navigateur via IndexedDB — une base de données permanente et native du navigateur. Vos données survivent à la fermeture du navigateur, au redémarrage de l’ordinateur et aux mises à jour logicielles. Rien n’est envoyé à un serveur."}},indexedDb:{t:0,b:{t:2,i:[{t:3}],s:"Les données d’origine (benchmarks, conversations, comparaisons, entraînements) sont stockées dans 6 bases IndexedDB dédiées — une par fonctionnalité. IndexedDB n’est PAS un stockage de session — les données persistent de manière permanente jusqu’à ce que vous choisissiez de les supprimer."}},historyDb:{t:0,b:{t:2,i:[{t:3}],s:"La base Historique est un index de recherche unifié alimenté par Dexie.js. Elle enregistre un résumé de chaque expérience pour permettre des requêtes rapides et l’analyse des tendances. Considérez-la comme un moteur de recherche sur toute votre activité LLMxRay."}},privacy:{t:0,b:{t:2,i:[{t:3}],s:"Tout reste sur votre machine. Seules deux actions peuvent supprimer vos données : effacer les données du site dans le navigateur, ou utiliser les boutons Effacer de cette application. Il n’y a ni compte, ni synchronisation cloud, ni télémétrie."}}},filters:{type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modèle"}},language:{t:0,b:{t:2,i:[{t:3}],s:"Langue"}},dateRange:{t:0,b:{t:2,i:[{t:3}],s:"Période"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"Étiquettes"}},all:{t:0,b:{t:2,i:[{t:3}],s:"Tous"}},last7days:{t:0,b:{t:2,i:[{t:3}],s:"7 derniers jours"}},last30days:{t:0,b:{t:2,i:[{t:3}],s:"30 derniers jours"}},last90days:{t:0,b:{t:2,i:[{t:3}],s:"90 derniers jours"}},allTime:{t:0,b:{t:2,i:[{t:3}],s:"Tout"}}},results:{entries:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" entrées"}]}},noEntries:{t:0,b:{t:2,i:[{t:3}],s:"Aucune entrée d'historique pour le moment. Lancez un benchmark, une comparaison ou un chat pour commencer à construire votre archive de recherche."}}},trends:{title:{t:0,b:{t:2,i:[{t:3}],s:"Tendances"}},activity:{t:0,b:{t:2,i:[{t:3}],s:"Activité (30 derniers jours)"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"Modèles utilisés"}}},management:{title:{t:0,b:{t:2,i:[{t:3}],s:"Gestion de la base de données"}},totalEntries:{t:0,b:{t:2,i:[{t:3}],s:"Total des entrées"}},estimatedSize:{t:0,b:{t:2,i:[{t:3}],s:"Taille estimée"}},exportAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout exporter (JSON)"}},exportFiltered:{t:0,b:{t:2,i:[{t:3}],s:"Exporter le filtré (CSV)"}},retention:{t:0,b:{t:2,i:[{t:3}],s:"Rétention"}},keepForever:{t:0,b:{t:2,i:[{t:3}],s:"Conserver indéfiniment"}},days30:{t:0,b:{t:2,i:[{t:3}],s:"30 jours"}},days90:{t:0,b:{t:2,i:[{t:3}],s:"90 jours"}},year1:{t:0,b:{t:2,i:[{t:3}],s:"1 an"}},clearHistory:{t:0,b:{t:2,i:[{t:3}],s:"Effacer l'historique"}},confirmClear:{t:0,b:{t:2,i:[{t:3}],s:"Cela supprimera toutes les entrées d'historique. Les autres données (benchmarks, conversations, etc.) ne sont pas affectées."}}},types:{benchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},comparison:{t:0,b:{t:2,i:[{t:3}],s:"Comparaison"}},chat:{t:0,b:{t:2,i:[{t:3}],s:"Chat"}},training:{t:0,b:{t:2,i:[{t:3}],s:"Entraînement"}},session:{t:0,b:{t:2,i:[{t:3}],s:"Session"}}}}},my={title:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark"}},surgicalBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Benchmark chirurgical"}},surgicalBenchmarkDesc:{t:0,b:{t:2,i:[{t:3}],s:"Evaluez les modeles avec des ensembles de questions selectionnes - confiance logprob reelle, diagnostics par categorie"}},resultDetails:{t:0,b:{t:2,i:[{t:3}],s:"Details du resultat"}},latestResult:{t:0,b:{t:2,i:[{t:3}],s:"Dernier resultat"}},comparisonLedger:{t:0,b:{t:2,i:[{t:3}],s:"Registre de comparaison"}},configurator:{selectModels:{t:0,b:{t:2,i:[{t:3}],s:"Selectionner les modeles"}},selectSuites:{t:0,b:{t:2,i:[{t:3}],s:"Selectionner les suites"}},contextSize:{t:0,b:{t:2,i:[{t:3}],s:"Taille du contexte"}},startBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Lancer le benchmark"}},estimatedTime:{t:0,b:{t:2,i:[{t:3}],s:"Temps estime"}},maxModels:{t:0,b:{t:2,i:[{t:3}],s:"Modeles maximum"}},models:{t:0,b:{t:2,i:[{t:3}],s:"Modeles"}},selected:{t:0,b:{t:2,i:[{t:3}],s:"selectionne(s)"}},benchmarkSuites:{t:0,b:{t:2,i:[{t:3}],s:"Suites de benchmark"}},importCustom:{t:0,b:{t:2,i:[{t:3}],s:"+ Importer personnalise"}},context:{t:0,b:{t:2,i:[{t:3}],s:"Contexte :"}},runBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Lancer le benchmark"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"personnalise"}}},suites:{arc:{t:0,b:{t:2,i:[{t:3}],s:"ARC Challenge"}},mmlupro:{t:0,b:{t:2,i:[{t:3}],s:"MMLU-Pro"}},hellaswag:{t:0,b:{t:2,i:[{t:3}],s:"HellaSwag"}},gsm8k:{t:0,b:{t:2,i:[{t:3}],s:"GSM-8K"}},truthfulqa:{t:0,b:{t:2,i:[{t:3}],s:"TruthfulQA"}}},live:{progress:{t:0,b:{t:2,i:[{t:3}],s:"Progression"}},currentQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Question en cours"}},lastAnswer:{t:0,b:{t:2,i:[{t:3}],s:"Derniere reponse"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"Correct"}},incorrect:{t:0,b:{t:2,i:[{t:3}],s:"Incorrect"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"Precision"}},avgLatency:{t:0,b:{t:2,i:[{t:3}],s:"Latence moyenne"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"Confiance moyenne"}},categoryProgress:{t:0,b:{t:2,i:[{t:3}],s:"Progression par categorie"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"Arreter"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"Reflexion"}},standard:{t:0,b:{t:2,i:[{t:3}],s:"Standard"}},question:{t:0,b:{t:2,i:[{t:3}],s:"Question"}},waitingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"En attente de la question..."}},waitingFirstAnswer:{t:0,b:{t:2,i:[{t:3}],s:"En attente de la premiere reponse..."}},processingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Traitement de la question..."}},stopBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"Arreter le benchmark"}},benchmarkProgress:{t:0,b:{t:2,i:[{t:3}],s:"Progression du benchmark"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT moyen"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"Total moyen"}},suites:{t:0,b:{t:2,i:[{t:3}],s:"Suites"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Raisonnement"}},expected:{t:0,b:{t:2,i:[{t:3}],s:"Attendu :"}}},results:{overallAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"Precision globale"}},perCategory:{t:0,b:{t:2,i:[{t:3}],s:"Par categorie"}},confidenceVsAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"Confiance vs precision"}},questionDetails:{t:0,b:{t:2,i:[{t:3}],s:"Details des questions"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"Aucun resultat pour le moment"}},confidenceVsAccuracyScatter:{t:0,b:{t:2,i:[{t:3}],s:"Confiance vs Precision - Nuage X-Ray"}},confused:{t:0,b:{t:2,i:[{t:3}],s:"Confus (faible conf, faux)"}},calibrated:{t:0,b:{t:2,i:[{t:3}],s:"Calibre (haute conf, juste)"}},overconfident:{t:0,b:{t:2,i:[{t:3}],s:"Surconfiant (haute conf, faux)"}},lucky:{t:0,b:{t:2,i:[{t:3}],s:"Chanceux (faible conf, juste)"}},perCategoryTotalTime:{t:0,b:{t:2,i:[{t:3}],s:"Temps total par categorie"}},contextPressure:{t:0,b:{t:2,i:[{t:3}],s:"Pression de contexte - Degradation de precision"}},categoryBreakdown:{t:0,b:{t:2,i:[{t:3}],s:"Repartition par categorie"}},category:{t:0,b:{t:2,i:[{t:3}],s:"Categorie"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"Correct"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT moyen"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"Total moyen"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"Confiance moyenne"}},perQuestionDetail:{t:0,b:{t:2,i:[{t:3}],s:"Detail par question"}},all:{t:0,b:{t:2,i:[{t:3}],s:"Tout"}},wrong:{t:0,b:{t:2,i:[{t:3}],s:"Faux"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Raisonnement"}},response:{t:0,b:{t:2,i:[{t:3}],s:"Reponse"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"Precision"}}},comparison:{compareResults:{t:0,b:{t:2,i:[{t:3}],s:"Comparer les resultats"}},radarChart:{t:0,b:{t:2,i:[{t:3}],s:"Graphique radar"}},heatmap:{t:0,b:{t:2,i:[{t:3}],s:"Carte thermique"}},resume:{t:0,b:{t:2,i:[{t:3}],s:"Reprendre"}},deleteResult:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer le resultat"}},savedResults:{t:0,b:{t:2,i:[{t:3}],s:"Resultats sauvegardes"}},noSavedResults:{t:0,b:{t:2,i:[{t:3}],s:"Aucun resultat sauvegarde"}},clickToCompare:{t:0,b:{t:2,i:[{t:3}],s:"Cliquez pour selectionner pour la comparaison"}},incomplete:{t:0,b:{t:2,i:[{t:3}],s:"Incomplet"}},viewDetails:{t:0,b:{t:2,i:[{t:3}],s:"Voir les details complets"}},resumeIncomplete:{t:0,b:{t:2,i:[{t:3}],s:"Reprendre le benchmark incomplet"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger JSON"}},downloadCsv:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger CSV"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger Markdown"}}},builder:{createTitle:{t:0,b:{t:2,i:[{t:3}],s:"Créer une suite de benchmark"}},editTitle:{t:0,b:{t:2,i:[{t:3}],s:"Modifier la suite de benchmark"}},suiteName:{t:0,b:{t:2,i:[{t:3}],s:"Nom de la suite"}},suiteNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"ex. Quiz d'histoire de France"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Description"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Que teste cette suite ?"}},defaultCategory:{t:0,b:{t:2,i:[{t:3}],s:"Catégorie par défaut"}},questions:{t:0,b:{t:2,i:[{t:3}],s:"Questions"}},addQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter une question"}},editQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Modifier la question"}},noQuestions:{t:0,b:{t:2,i:[{t:3}],s:"Aucune question. Ajoutez votre première question ou utilisez l'IA pour en générer."}},questionText:{t:0,b:{t:2,i:[{t:3}],s:"Question"}},questionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Tapez votre question ici..."}},choices:{t:0,b:{t:2,i:[{t:3}],s:"Choix"}},addChoice:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter un choix"}},correctAnswer:{t:0,b:{t:2,i:[{t:3}],s:"Réponse correcte"}},category:{t:0,b:{t:2,i:[{t:3}],s:"Catégorie"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"Difficulté"}},easy:{t:0,b:{t:2,i:[{t:3}],s:"Facile"}},medium:{t:0,b:{t:2,i:[{t:3}],s:"Moyen"}},hard:{t:0,b:{t:2,i:[{t:3}],s:"Difficile"}},saveSuite:{t:0,b:{t:2,i:[{t:3}],s:"Enregistrer la suite"}},createSuite:{t:0,b:{t:2,i:[{t:3}],s:"Créer une suite"}},choiceCount:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" choix"}]}},aiGenerate:{title:{t:0,b:{t:2,i:[{t:3}],s:"Générer avec l'IA"}},topic:{t:0,b:{t:2,i:[{t:3}],s:"Sujet"}},topicPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"ex. Histoire de France, Programmation Python, Chimie organique"}},count:{t:0,b:{t:2,i:[{t:3}],s:"Nombre de questions"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"Difficulté"}},mixed:{t:0,b:{t:2,i:[{t:3}],s:"Mixte"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modèle"}},generate:{t:0,b:{t:2,i:[{t:3}],s:"Générer les questions"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"Génération en cours..."}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Annuler la génération"}},preview:{t:0,b:{t:2,i:[{t:3}],s:"Questions générées"}},selectAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout sélectionner"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout désélectionner"}},addSelected:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter la sélection"}},errors:{t:0,b:{t:2,i:[{t:3}],s:"Certaines questions n'ont pas pu être analysées"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"Aucune question valide générée. Essayez un autre sujet ou modèle."}}}},import:{importSuite:{t:0,b:{t:2,i:[{t:3}],s:"Importer une suite"}},importCustomBenchmarkSuite:{t:0,b:{t:2,i:[{t:3}],s:"Importer une suite de benchmark personnalisee"}},dragDrop:{t:0,b:{t:2,i:[{t:3}],s:"Glissez-deposez un fichier ici"}},dropJsonFile:{t:0,b:{t:2,i:[{t:3}],s:"Deposez un fichier .json ici"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"Parcourir"}},maxSize:{t:0,b:{t:2,i:[{t:3}],s:"Taille maximale"}},invalidFormat:{t:0,b:{t:2,i:[{t:3}],s:"Format invalide"}},importSuccess:{t:0,b:{t:2,i:[{t:3}],s:"Importation reussie"}},importing:{t:0,b:{t:2,i:[{t:3}],s:"Importation en cours..."}},requirements:{t:0,b:{t:2,i:[{t:3}],s:"Requis : JSON avec nom, tableau de questions (2-500 elements)."}},questionReqs:{t:0,b:{t:2,i:[{t:3}],s:"Chaque question necessite : id, question, choix (2-6), correctAnswer."}},maxSizeNote:{t:0,b:{t:2,i:[{t:3}],s:"Max 1 Mo. Les balises HTML seront supprimees. Les IDs seront dedupliques."}},fileTooLarge:{t:0,b:{t:2,i:[{t:3}],s:"Fichier trop volumineux (max 1 Mo)"}}}},py={title:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},modelSelector:{noModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle disponible"}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle d'embedding trouvé. Téléchargez-en un : ollama pull nomic-embed-text"}}},storage:{embeddingMemory:{t:0,b:{t:2,i:[{t:3}],s:"Mémoire d'embedding"}},records:{t:0,b:{t:2,i:[{t:3}],s:"enregistrements"}}},playground:{title:{t:0,b:{t:2,i:[{t:3}],s:"Aire de jeu Embedding"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Saisissez du texte pour générer son vecteur d'embedding et inspecter les dimensions."}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Saisissez du texte à encoder..."}},embed:{t:0,b:{t:2,i:[{t:3}],s:"Encoder"}},embedding:{t:0,b:{t:2,i:[{t:3}],s:"Encodage en cours..."}},showRawValues:{t:0,b:{t:2,i:[{t:3,v:"Afficher les valeurs brutes (50 premières sur "},{t:4,k:"total"},{t:3,v:")"}]}}},similarity:{title:{t:0,b:{t:2,i:[{t:3}],s:"Calculateur de similarité"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Comparez deux textes pour mesurer leur similarité sémantique via la distance cosinus."}},textA:{t:0,b:{t:2,i:[{t:3}],s:"Texte A"}},textB:{t:0,b:{t:2,i:[{t:3}],s:"Texte B"}},placeholderA:{t:0,b:{t:2,i:[{t:3}],s:"Premier texte..."}},placeholderB:{t:0,b:{t:2,i:[{t:3}],s:"Deuxième texte..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Comparer"}},comparing:{t:0,b:{t:2,i:[{t:3}],s:"Comparaison en cours..."}}},modelComparison:{title:{t:0,b:{t:2,i:[{t:3}],s:"Comparaison de modèles"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Encodez le même texte avec deux modèles pour comparer leur représentation du sens."}},modelA:{t:0,b:{t:2,i:[{t:3}],s:"Modèle A"}},modelB:{t:0,b:{t:2,i:[{t:3}],s:"Modèle B"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Saisissez du texte à encoder avec les deux modèles..."}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"Comparer les modèles"}},comparingModels:{t:0,b:{t:2,i:[{t:3}],s:"Comparaison des modèles..."}},crossModelSimilarity:{t:0,b:{t:2,i:[{t:3}],s:"Similarité inter-modèles — à quel point ces modèles représentent le même texte de manière similaire."}},veryDifferent:{t:0,b:{t:2,i:[{t:3}],s:"Ces modèles encodent le sens très différemment."}},moderateAgreement:{t:0,b:{t:2,i:[{t:3}],s:"Accord modéré — les modèles partagent une certaine structure sémantique."}},highAgreement:{t:0,b:{t:2,i:[{t:3}],s:"Accord élevé — ces modèles représentent ce texte de manière similaire."}},dimensionsMismatch:{t:0,b:{t:2,i:[{t:3,v:"Les dimensions diffèrent ("},{t:4,k:"dimA"},{t:3,v:" vs "},{t:4,k:"dimB"},{t:3,v:") — la similarité cosinus directe est impossible."}]}},compareStats:{t:0,b:{t:2,i:[{t:3}],s:"Comparez les statistiques ci-dessus pour évaluer la qualité de représentation de chaque modèle."}}},stats:{dims:{t:0,b:{t:2,i:[{t:3}],s:"Dims"}},l2Norm:{t:0,b:{t:2,i:[{t:3}],s:"Norme L2"}},sparsity:{t:0,b:{t:2,i:[{t:3}],s:"Parcimonie"}},time:{t:0,b:{t:2,i:[{t:3}],s:"Temps"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings récents"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout effacer"}}}},hy={title:{t:0,b:{t:2,i:[{t:3}],s:"Base de connaissances"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Ingérez des documents pour des conversations alimentées par RAG"}},modelSelector:{noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle d'embedding"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Stockage de la base de connaissances"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"documents"}},chunks:{t:0,b:{t:2,i:[{t:3}],s:"fragments"}},stored:{t:0,b:{t:2,i:[{t:3}],s:"stockés"}},ragStorage:{t:0,b:{t:2,i:[{t:3}],s:"Stockage RAG"}}},upload:{dropZone:{t:0,b:{t:2,i:[{t:3}],s:"Glissez-déposez des fichiers ici"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"Parcourir"}},dropText:{t:0,b:{t:2,i:[{t:3}],s:"Déposez des fichiers ici ou cliquez pour parcourir"}},supportedFormats:{t:0,b:{t:2,i:[{t:3}],s:"Formats : PDF, DOCX, TXT, Markdown, CSV"}}},documents:{title:{t:0,b:{t:2,i:[{t:3}],s:"Documents"}},noDocuments:{t:0,b:{t:2,i:[{t:3}],s:"Aucun document ingéré pour le moment"}},toggleContext:{t:0,b:{t:2,i:[{t:3}],s:"Activer/désactiver le contexte RAG"}},removeDocument:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer le document"}}},search:{title:{t:0,b:{t:2,i:[{t:3}],s:"Recherche sémantique"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Rechercher dans vos documents..."}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"Aucun résultat de recherche"}},searching:{t:0,b:{t:2,i:[{t:3}],s:"Recherche en cours..."}},button:{t:0,b:{t:2,i:[{t:3}],s:"Rechercher"}},results:{t:0,b:{t:2,i:[{t:3}],s:"résultats"}},showLess:{t:0,b:{t:2,i:[{t:3}],s:"Réduire"}},showFullChunk:{t:0,b:{t:2,i:[{t:3}],s:"Afficher le fragment complet"}}},ingest:{progress:{t:0,b:{t:2,i:[{t:3}],s:"Progression de l'ingération"}},ingesting:{t:0,b:{t:2,i:[{t:3}],s:"Ingération en cours..."}}}},gy={title:{t:0,b:{t:2,i:[{t:3}],s:"Atelier d'outils"}},canvas:{addTool:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter un outil"}},addFromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter depuis un modèle"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"Aucun outil configuré. Ajoutez-en un pour commencer."}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"Nom de l'outil"}},toolDescription:{t:0,b:{t:2,i:[{t:3}],s:"Description de l'outil"}},functionName:{t:0,b:{t:2,i:[{t:3}],s:"Nom de la fonction"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},implementation:{t:0,b:{t:2,i:[{t:3}],s:"Implémentation"}},code:{t:0,b:{t:2,i:[{t:3}],s:"Code"}},testTool:{t:0,b:{t:2,i:[{t:3}],s:"Tester l'outil"}},deleteTool:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer l'outil"}},codePanel:{t:0,b:{t:2,i:[{t:3}],s:"Panneau de code"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Fermer"}},source:{t:0,b:{t:2,i:[{t:3}],s:"Source"}},schema:{t:0,b:{t:2,i:[{t:3}],s:"Schéma"}},schemaManifest:{t:0,b:{t:2,i:[{t:3}],s:"Manifeste d'outils compatible OpenAI"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"Copier"}},warnings:{t:0,b:{t:2,i:[{t:3}],s:"Avertissements"}},emptyState:{t:0,b:{t:2,i:[{t:3}],s:"Aucun outil pour le moment. Créez votre premier outil ou partez d'un modèle."}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"+ Nouvel outil"}},fromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"Depuis un modèle..."}},exportTitle:{t:0,b:{t:2,i:[{t:3}],s:"Exporter les données d'entraînement (JSONL)"}},export:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},toolLibrary:{t:0,b:{t:2,i:[{t:3}],s:"Bibliothèque d'outils"}},clearAllTitle:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer tous les outils du canevas"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout effacer"}},clearAllConfirm:{t:0,b:{t:2,i:[{t:3}],s:"Effacer tous les outils ?"}},clearAllWarning:{t:0,b:{t:2,i:[{t:3,v:"Cela supprimera les "},{t:4,k:"count"},{t:3,v:" outil(s) du canevas. Cette action est irréversible."}]}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Annuler"}},deleteAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout supprimer"}},disableForChat:{t:0,b:{t:2,i:[{t:3}],s:"Désactiver pour le chat"}},enableForChat:{t:0,b:{t:2,i:[{t:3}],s:"Activer pour le chat"}},deleteToolTitle:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer l'outil"}},noToolsYet:{t:0,b:{t:2,i:[{t:3}],s:"Aucun outil"}},enabledForChat:{t:0,b:{t:2,i:[{t:3}],s:"activé(s) pour le chat"}},exportAllJson:{t:0,b:{t:2,i:[{t:3}],s:"Exporter tous les outils (JSON)"}},exportToolJson:{t:0,b:{t:2,i:[{t:3}],s:"Exporter l'outil en JSON"}}},templates:{title:{t:0,b:{t:2,i:[{t:3}],s:"Modèles d'outils"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Commencez avec un modèle fonctionnel et personnalisez-le"}},categories:{utility:{t:0,b:{t:2,i:[{t:3}],s:"Utilitaire"}},api:{t:0,b:{t:2,i:[{t:3}],s:"API"}},data:{t:0,b:{t:2,i:[{t:3}],s:"Données"}},google:{t:0,b:{t:2,i:[{t:3}],s:"Google (Agenda et Gmail)"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"Personnalisé"}}}},builder:{functionName:{t:0,b:{t:2,i:[{t:3}],s:"Nom de la fonction"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Description"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Obtenir la météo actuelle pour un lieu donné"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},visualBuilder:{t:0,b:{t:2,i:[{t:3}],s:"Constructeur visuel"}},rawJson:{t:0,b:{t:2,i:[{t:3}],s:"JSON brut"}},addParameter:{t:0,b:{t:2,i:[{t:3}],s:"+ Ajouter un paramètre"}},removeParameter:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer le paramètre"}},saveTool:{t:0,b:{t:2,i:[{t:3}],s:"Enregistrer l'outil"}}},list:{editTool:{t:0,b:{t:2,i:[{t:3}],s:"Modifier l'outil"}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"Nouvel outil"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"Aucun outil défini pour le moment."}},addTool:{t:0,b:{t:2,i:[{t:3}],s:"+ Ajouter un outil"}}},execution:{running:{t:0,b:{t:2,i:[{t:3}],s:"Exécution en cours..."}},success:{t:0,b:{t:2,i:[{t:3}],s:"Succès"}},error:{t:0,b:{t:2,i:[{t:3}],s:"Erreur"}},result:{t:0,b:{t:2,i:[{t:3}],s:"Résultat"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"Durée"}}},node:{badge:{t:0,b:{t:2,i:[{t:3}],s:"Outil LLM"}},functionNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"nom_de_fonction"}},draftWithAi:{t:0,b:{t:2,i:[{t:3}],s:"Brouillon IA"}},aiInsights:{t:0,b:{t:2,i:[{t:3}],s:"Analyses IA"}},running:{t:0,b:{t:2,i:[{t:3}],s:"Exécution..."}},done:{t:0,b:{t:2,i:[{t:3}],s:"Terminé"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"Échoué"}},aiFix:{t:0,b:{t:2,i:[{t:3}],s:"Correction IA"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Description"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Que fait cet outil ?"}},intent:{t:0,b:{t:2,i:[{t:3}],s:"Intention"}},intentPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Décrivez ce que cet outil doit faire..."}},generate:{t:0,b:{t:2,i:[{t:3}],s:"Générer"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"Génération..."}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},addParam:{t:0,b:{t:2,i:[{t:3}],s:"+ Ajouter"}},paramNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"nom"}},paramTypePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"type"}},noParameters:{t:0,b:{t:2,i:[{t:3}],s:"Aucun paramètre"}},probeAndPick:{t:0,b:{t:2,i:[{t:3}],s:"Sonder et choisir"}},apiBadge:{t:0,b:{t:2,i:[{t:3}],s:"API"}},urlPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"https://api.example.com/..."}},probe:{t:0,b:{t:2,i:[{t:3}],s:"Sonder"}},headers:{t:0,b:{t:2,i:[{t:3}],s:"En-têtes"}},addHeader:{t:0,b:{t:2,i:[{t:3}],s:"+ Ajouter"}},headerNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Nom de l'en-tête"}},headerValuePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"valeur"}},markAsSecret:{t:0,b:{t:2,i:[{t:3}],s:"Marquer comme secret (utiliser une variable d'env dans le code généré)"}},requestBody:{t:0,b:{t:2,i:[{t:3}],s:"Corps de la requête"}},endpoints:{t:0,b:{t:2,i:[{t:3}],s:"Points d'accès"}},searchEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"Rechercher des endpoints..."}},noMatchingEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"Aucun endpoint correspondant"}},aiSuggest:{t:0,b:{t:2,i:[{t:3}],s:"Suggestion IA"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"Réflexion..."}},field:{t:0,b:{t:2,i:[{t:3}],s:"champ"}},fields:{t:0,b:{t:2,i:[{t:3}],s:"champs"}},apply:{t:0,b:{t:2,i:[{t:3}],s:"Appliquer"}},mappings:{t:0,b:{t:2,i:[{t:3}],s:"Correspondances"}},outOfSync:{t:0,b:{t:2,i:[{t:3}],s:"Désynchronisé"}},bodyLabel:{t:0,b:{t:2,i:[{t:3}],s:"Corps (TypeScript)"}},bodyPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"// Implémentation de l'outil..."}},insightSuggestionLabel:{t:0,b:{t:2,i:[{t:3}],s:"Correction suggérée par l'IA (vérifiez avant d'appliquer) :"}},applyFix:{t:0,b:{t:2,i:[{t:3}],s:"Appliquer la correction"}},closeInsight:{t:0,b:{t:2,i:[{t:3}],s:"Fermer"}}},aiDiff:{accept:{t:0,b:{t:2,i:[{t:3}],s:"Accepter"}},dismiss:{t:0,b:{t:2,i:[{t:3}],s:"Rejeter"}}}},yy={title:{t:0,b:{t:2,i:[{t:3}],s:"Entraînement IA"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Parcourez, organisez et exportez vos données d'entraînement depuis l'Atelier d'outils."}},dashboard:{totalPairs:{t:0,b:{t:2,i:[{t:3}],s:"Total de paires"}},accepted:{t:0,b:{t:2,i:[{t:3}],s:"acceptées"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"rejetées"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"En attente"}},trainingPairs:{t:0,b:{t:2,i:[{t:3}],s:"Paires d'entraînement"}},acceptanceRate:{t:0,b:{t:2,i:[{t:3}],s:"Taux d'acceptation"}},byPhase:{t:0,b:{t:2,i:[{t:3}],s:"Par phase"}},topModels:{t:0,b:{t:2,i:[{t:3}],s:"Meilleurs modèles"}}},filters:{search:{t:0,b:{t:2,i:[{t:3}],s:"Rechercher..."}},searchPrompts:{t:0,b:{t:2,i:[{t:3}],s:"Rechercher des prompts..."}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modèle"}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"Nom de l'outil"}},tag:{t:0,b:{t:2,i:[{t:3}],s:"Étiquette"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Statut"}},allModels:{t:0,b:{t:2,i:[{t:3}],s:"Tous les modèles"}},allTools:{t:0,b:{t:2,i:[{t:3}],s:"Tous les outils"}},allTags:{t:0,b:{t:2,i:[{t:3}],s:"Toutes les étiquettes"}},allStatuses:{t:0,b:{t:2,i:[{t:3}],s:"Tous les statuts"}}},bulk:{selected:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" sélectionné(s)"}]}},export:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},exportJsonl:{t:0,b:{t:2,i:[{t:3}],s:"Exporter JSONL"}},markAccepted:{t:0,b:{t:2,i:[{t:3}],s:"Marquer accepté"}},markRejected:{t:0,b:{t:2,i:[{t:3}],s:"Marquer rejeté"}},addTag:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter une étiquette"}},tagPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Nom de l'étiquette..."}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"Confirmer ?"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"Désélectionner"}}},tags:{addPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter une étiquette..."}}},table:{selectAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout sélectionner"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout désélectionner"}},pairsShown:{t:0,b:{t:2,i:[{t:4,k:"shown"},{t:3,v:" sur "},{t:4,k:"total"},{t:3,v:" paires affichées"}]}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"Aucune paire d'entraînement ne correspond à vos filtres."}}},detail:{accepted:{t:0,b:{t:2,i:[{t:3}],s:"Accepté"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"Rejeté"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt système"}},userPrompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt utilisateur"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Raisonnement"}},aiResponse:{t:0,b:{t:2,i:[{t:3}],s:"Réponse IA"}},editResponse:{t:0,b:{t:2,i:[{t:3}],s:"Modifier la réponse"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"Étiquettes"}},deletePair:{t:0,b:{t:2,i:[{t:3}],s:"Supprimer la paire"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"Confirmer la suppression ?"}}},empty:{title:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnée d'entraînement collectée pour le moment."}},description:{t:0,b:{t:2,i:[{t:3}],s:"Les paires d'entraînement sont générées automatiquement lorsque vous utilisez les fonctionnalités IA dans l'Atelier d'outils (génération de brouillon, analyse de code, auto-mapping et correction IA)."}}}},vy={title:{t:0,b:{t:2,i:[{t:3}],s:"Mon système"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Matériel, environnement d'exécution et aperçu de l'inférence"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"Actualiser"}},detecting:{t:0,b:{t:2,i:[{t:3}],s:"Détection du matériel..."}},detectingDetail:{t:0,b:{t:2,i:[{t:3}],s:"Interrogation du CPU, de la mémoire, du GPU et du stockage"}},unavailable:{t:0,b:{t:2,i:[{t:3}],s:"Détection du matériel indisponible. Veuillez redémarrer le serveur de développement pour activer le plugin d'information système."}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger rapport système (Markdown)"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger infos système (JSON)"}}},os:{title:{t:0,b:{t:2,i:[{t:3}],s:"Système d'exploitation"}},os:{t:0,b:{t:2,i:[{t:3}],s:"SE"}},version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},build:{t:0,b:{t:2,i:[{t:3}],s:"Build"}},architecture:{t:0,b:{t:2,i:[{t:3}],s:"Architecture"}}},device:{title:{t:0,b:{t:2,i:[{t:3}],s:"Appareil"}},name:{t:0,b:{t:2,i:[{t:3}],s:"Nom"}},manufacturer:{t:0,b:{t:2,i:[{t:3}],s:"Fabricant"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modèle"}},family:{t:0,b:{t:2,i:[{t:3}],s:"Famille"}}},cpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"Processeur"}},cpu:{t:0,b:{t:2,i:[{t:3}],s:"CPU"}},physicalCores:{t:0,b:{t:2,i:[{t:3}],s:"Cœurs physiques"}},logicalProcessors:{t:0,b:{t:2,i:[{t:3}],s:"Processeurs logiques"}},maxClock:{t:0,b:{t:2,i:[{t:3}],s:"Fréquence maximale"}}},memory:{title:{t:0,b:{t:2,i:[{t:3}],s:"Mémoire"}},totalRam:{t:0,b:{t:2,i:[{t:3}],s:"RAM totale"}},available:{t:0,b:{t:2,i:[{t:3}],s:"Disponible"}},inUse:{t:0,b:{t:2,i:[{t:3}],s:"Utilisée"}}},gpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"Graphiques"}},gpu:{t:0,b:{t:2,i:[{t:3}],s:"GPU"}},adapterRam:{t:0,b:{t:2,i:[{t:3}],s:"RAM de l'adaptateur"}},sharedNotReported:{t:0,b:{t:2,i:[{t:3}],s:"Partagée / Non rapportée"}},driver:{t:0,b:{t:2,i:[{t:3}],s:"Pilote"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Stockage"}},drive:{t:0,b:{t:2,i:[{t:3}],s:"Disque"}},total:{t:0,b:{t:2,i:[{t:3}],s:"Total"}},free:{t:0,b:{t:2,i:[{t:3}],s:"Libre"}},used:{t:0,b:{t:2,i:[{t:3}],s:"Utilisé"}}},browserStorage:{title:{t:0,b:{t:2,i:[{t:3}],s:"Stockage navigateur"}},persistent:{t:0,b:{t:2,i:[{t:3}],s:"Persistant"}},bestEffort:{t:0,b:{t:2,i:[{t:3}],s:"Au mieux"}},scanning:{t:0,b:{t:2,i:[{t:3}],s:"Analyse en cours..."}},indexedDbQuota:{t:0,b:{t:2,i:[{t:3}],s:"Quota IndexedDB"}},totalRecords:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" enregistrements au total dans "},{t:4,k:"databases"},{t:3,v:" bases de données"}]}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Effacer toutes les données"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Vide"}}},ollama:{title:{t:0,b:{t:2,i:[{t:3}],s:"Environnement Ollama"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Statut"}},version:{t:0,b:{t:2,i:[{t:3}],s:"Version"}},installedModels:{t:0,b:{t:2,i:[{t:3}],s:"Modèles installés"}},totalModelStorage:{t:0,b:{t:2,i:[{t:3}],s:"Stockage total des modèles"}},modelsLoaded:{t:0,b:{t:2,i:[{t:3}],s:"Modèles chargés"}}},inference:{title:{t:0,b:{t:2,i:[{t:3}],s:"Inférence"}},thisSession:{t:0,b:{t:2,i:[{t:3}],s:"cette session"}},noSessions:{t:0,b:{t:2,i:[{t:3}],s:"Aucune session d'inférence pour le moment."}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"Vitesse moyenne"}},tokensGenerated:{t:0,b:{t:2,i:[{t:3}],s:"Tokens générés"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT moyen"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"Modèles utilisés"}}},activeModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"Modèles actifs"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle chargé en mémoire. Envoyez un message pour en charger un."}},vram:{t:0,b:{t:2,i:[{t:3}],s:"VRAM"}},ram:{t:0,b:{t:2,i:[{t:3}],s:"RAM"}},total:{t:0,b:{t:2,i:[{t:3}],s:"Total"}},ctx:{t:0,b:{t:2,i:[{t:3}],s:"Ctx"}}},installedModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"Modèles installés"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"Aucun modèle installé."}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modèle"}},family:{t:0,b:{t:2,i:[{t:3}],s:"Famille"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"Quantification"}},size:{t:0,b:{t:2,i:[{t:3}],s:"Taille"}}}},_y={title:{t:0,b:{t:2,i:[{t:3}],s:"Comparer les modèles"}},configurator:{title:{t:0,b:{t:2,i:[{t:3}],s:"Emplacements de comparaison"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Chaque emplacement est une combinaison modèle + paramètres. Ajoutez le même modèle plusieurs fois avec des paramètres différents pour comparer le comportement."}},addSlot:{t:0,b:{t:2,i:[{t:3}],s:"Ajouter un emplacement"}},removeSlot:{t:0,b:{t:2,i:[{t:3}],s:"Retirer l'emplacement"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout effacer"}},model:{t:0,b:{t:2,i:[{t:3}],s:"Modèle"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt système"}},optionalSystemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt système optionnel..."}},options:{t:0,b:{t:2,i:[{t:3}],s:"Options"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Paramètres"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"Température"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top-P"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Aléatoire (laisser vide)"}},advanced:{t:0,b:{t:2,i:[{t:3}],s:"Avancé"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top-K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"Pénalité de répétition"}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"Désactivé"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens max"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"Longueur de contexte"}},defaultPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Par défaut"}},slotsConfigured:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" emplacement(s) configuré(s)"}]}},emptyTitle:{t:0,b:{t:2,i:[{t:3}],s:"Aucun emplacement configuré"}},emptyDescription:{t:0,b:{t:2,i:[{t:3}],s:"Ajoutez un emplacement pour choisir un modèle et des paramètres, ou utilisez un preset rapide ci-dessus pour commencer."}},addFirstSlot:{t:0,b:{t:2,i:[{t:3}],s:"+ Ajouter le premier emplacement"}},addSlotCount:{t:0,b:{t:2,i:[{t:3,v:"+ Ajouter un emplacement ("},{t:4,k:"current"},{t:3,v:"/4)"}]}},presets:{quickStart:{t:0,b:{t:2,i:[{t:3}],s:"Démarrage rapide :"}},tempSweep:{t:0,b:{t:2,i:[{t:3}],s:"Balayage de température"}},tempSweepDesc:{t:0,b:{t:2,i:[{t:3}],s:"Crée 3 emplacements du même modèle aux températures 0.2 (focalisé), 0.7 (équilibré) et 1.2 (créatif). Observez comment la température modifie la sortie pour le même prompt."}},deterministicPair:{t:0,b:{t:2,i:[{t:3}],s:"Paire déterministe"}},deterministicPairDesc:{t:0,b:{t:2,i:[{t:3}],s:"Crée 2 emplacements du même modèle avec le même seed mais des températures différentes (0.3 et 1.0). Le seed partagé signifie que toute différence dans la sortie provient uniquement de la température, pas de l'aléatoire."}},languageCompare:{t:0,b:{t:2,i:[{t:3}],s:"Comparaison linguistique"}},languageCompareTooltip:{t:0,b:{t:2,i:[{t:3}],s:"Comparer comment différentes langues affectent le coût en tokens et le comportement du modèle"}}}},prompt:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Saisissez un prompt à comparer entre les emplacements..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Comparer"}},running:{t:0,b:{t:2,i:[{t:3}],s:"En cours..."}}},results:{title:{t:0,b:{t:2,i:[{t:3}],s:"Résultats"}},grid:{t:0,b:{t:2,i:[{t:3}],s:"Grille"}},diff:{t:0,b:{t:2,i:[{t:3}],s:"Diff"}}},diff:{needTwoResults:{t:0,b:{t:2,i:[{t:3}],s:"Il faut au moins 2 résultats complétés pour afficher un diff."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"Comparer :"}},vs:{t:0,b:{t:2,i:[{t:3}],s:"vs"}},only:{t:0,b:{t:2,i:[{t:4,k:"label"},{t:3,v:" uniquement"}]}}},metrics:{performanceComparison:{t:0,b:{t:2,i:[{t:3}],s:"Comparaison de performances"}},timeToFirstToken:{t:0,b:{t:2,i:[{t:3}],s:"Temps jusqu'au premier token"}},lowerBetter:{t:0,b:{t:2,i:[{t:3}],s:"plus bas = mieux"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"Tokens/sec"}},higherBetter:{t:0,b:{t:2,i:[{t:3}],s:"plus haut = mieux"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Total de tokens"}},speed:{t:0,b:{t:2,i:[{t:3}],s:"Vitesse"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"Durée"}}},column:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens"}}},language:{mismatchTitle:{t:0,b:{t:2,i:[{t:3}],s:"Incompatibilité de langue détectée"}},mismatchDescription:{t:0,b:{t:2,i:[{t:3,v:"Votre prompt semble être en "},{t:4,k:"detected"},{t:3,v:"."}]}},targetIs:{t:0,b:{t:2,i:[{t:3,v:"cible : "},{t:4,k:"language"}]}},translateTo:{t:0,b:{t:2,i:[{t:3,v:"Traduire en "},{t:4,k:"language"}]}},keepDetected:{t:0,b:{t:2,i:[{t:3,v:"Garder "},{t:4,k:"language"}]}},translateAll:{t:0,b:{t:2,i:[{t:3}],s:"Tout traduire"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Annuler"}},tokenTaxTitle:{t:0,b:{t:2,i:[{t:3}],s:"Taxe de tokens"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens du prompt"}},promptText:{t:0,b:{t:2,i:[{t:3}],s:"Prompt traduit"}},translated:{t:0,b:{t:2,i:[{t:3}],s:"Traduit"}},unsupported:{t:0,b:{t:2,i:[{t:3}],s:"Langue non supportée"}},translating:{t:0,b:{t:2,i:[{t:3}],s:"Traduction en cours... cela peut prendre un moment selon la taille du modèle"}},qualityWarning:{t:0,b:{t:2,i:[{t:3}],s:"La qualité de la traduction dépend des capacités linguistiques de votre modèle. Les modèles plus grands produisent de meilleures traductions."}},promptPlaceholder:{t:0,b:{t:2,i:[{t:3,v:"Tapez ou collez votre prompt en "},{t:4,k:"lang"},{t:3,v:"..."}]}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"Comparaisons sauvegardées"}},load:{t:0,b:{t:2,i:[{t:3}],s:"Charger"}},noSavedRuns:{t:0,b:{t:2,i:[{t:3}],s:"Aucune comparaison sauvegardée"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},json:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger en JSON"}},markdown:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger en Markdown"}}},share:{toDiscussions:{t:0,b:{t:2,i:[{t:3}],s:"Partager sur GitHub Discussions"}},dialogTitle:{t:0,b:{t:2,i:[{t:3}],s:"Partagez vos découvertes"}},commentaryLabel:{t:0,b:{t:2,i:[{t:3}],s:"Ajoutez votre commentaire"}},commentaryPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Qu'avez-vous découvert ? Partagez vos observations..."}},preview:{t:0,b:{t:2,i:[{t:3}],s:"Aperçu du rapport"}},openGithub:{t:0,b:{t:2,i:[{t:3}],s:"Ouvrir GitHub Discussions"}},copyMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Copier le Markdown"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copié !"}},note:{t:0,b:{t:2,i:[{t:3}],s:"Vous serez redirigé vers GitHub pour relire et publier vos résultats."}}}},wy={title:{t:0,b:{t:2,i:[{t:3}],s:"Session"}},sessionId:{t:0,b:{t:2,i:[{t:3,v:"Session "},{t:4,k:"id"}]}},notFound:{t:0,b:{t:2,i:[{t:3}],s:"Session introuvable."}},tabs:{stream:{t:0,b:{t:2,i:[{t:3}],s:"Flux"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"Raisonnement"}},introspection:{t:0,b:{t:2,i:[{t:3}],s:"Introspection"}},tools:{t:0,b:{t:2,i:[{t:3}],s:"Outils"}},agent:{t:0,b:{t:2,i:[{t:3}],s:"Graphe d'agent"}},prompt:{t:0,b:{t:2,i:[{t:3}],s:"Prompt"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"Exporter"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger Markdown"}},downloadTokenCsv:{t:0,b:{t:2,i:[{t:3}],s:"Télécharger flux de tokens CSV"}}},stream:{tokenStream:{t:0,b:{t:2,i:[{t:3}],s:"Flux de tokens"}},metrics:{t:0,b:{t:2,i:[{t:3}],s:"Métriques"}}},tokenStream:{promptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"Entrez votre prompt..."}}},reasoning:{title:{t:0,b:{t:2,i:[{t:3}],s:"Raisonnement"}},noReasoning:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnée de raisonnement disponible pour cette session."}}},introspection:{title:{t:0,b:{t:2,i:[{t:3}],s:"Introspection"}},illustrative:{t:0,b:{t:2,i:[{t:3}],s:"Illustratif"}}},toolCalls:{title:{t:0,b:{t:2,i:[{t:3}],s:"Appels d'outils"}},timeline:{t:0,b:{t:2,i:[{t:3}],s:"Chronologie"}},optimize:{t:0,b:{t:2,i:[{t:3}],s:"Optimiser"}}},agentGraph:{title:{t:0,b:{t:2,i:[{t:3}],s:"Graphe d'agent"}}},promptInspector:{title:{t:0,b:{t:2,i:[{t:3}],s:"Inspecteur de prompt"}}}},Ty={title:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer un retour"}},thankYou:{t:0,b:{t:2,i:[{t:3}],s:"Merci pour votre retour !"}},thankYouDetail:{t:0,b:{t:2,i:[{t:3}],s:"Votre contribution aide à améliorer LLMxRay."}},typeQuestion:{t:0,b:{t:2,i:[{t:3}],s:"Quel type de retour ?"}},types:{bug:{t:0,b:{t:2,i:[{t:3}],s:"Bug"}},idea:{t:0,b:{t:2,i:[{t:3}],s:"Idée"}},question:{t:0,b:{t:2,i:[{t:3}],s:"Question"}},other:{t:0,b:{t:2,i:[{t:3}],s:"Autre"}}},message:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Dites-nous ce que vous avez en tête..."}}},email:{label:{t:0,b:{t:2,i:[{t:3}],s:"E-mail"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"(facultatif — uniquement si vous souhaitez une réponse)"}},placeholder:{t:0,b:{t:2,i:[{t:3},{t:9},{t:3}],s:"votre@email.com"}}},submit:{send:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer le retour"}},sending:{t:0,b:{t:2,i:[{t:3}],s:"Envoi en cours..."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"Inclut le contexte de l'application (page, modèle, système) pour nous aider à comprendre votre retour."}}},ky={issuesDetected:{t:0,b:{t:2,i:[{t:3}],s:"Problemes de qualite detectes"}},repetition:{label:{t:0,b:{t:2,i:[{t:3}],s:"Repetitif"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"La reponse contient des phrases excessivement repetees"}}},refusal:{label:{t:0,b:{t:2,i:[{t:3}],s:"Refus"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"La reponse semble etre un refus"}}},gibberish:{label:{t:0,b:{t:2,i:[{t:3}],s:"Brouille"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"La reponse contient un ratio eleve de caracteres non imprimables"}}},empty:{label:{t:0,b:{t:2,i:[{t:3}],s:"Vide"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"La reponse contient tres peu de contenu"}}},truncation:{label:{t:0,b:{t:2,i:[{t:3}],s:"Tronque"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"La reponse a peut-etre ete coupee"}}}},Sy={title:{t:0,b:{t:2,i:[{t:3}],s:"Tableau de bord des couts"}},summary:{totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens totaux"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"Cout estime"}},avgCostPerSession:{t:0,b:{t:2,i:[{t:3}],s:"Cout moy./session"}}},charts:{tokensByModel:{t:0,b:{t:2,i:[{t:3}],s:"Utilisation de tokens par modele"}},dailyUsage:{t:0,b:{t:2,i:[{t:3}],s:"Utilisation quotidienne"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens de prompt"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens de completion"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"Cout estime"}},costTrend:{t:0,b:{t:2,i:[{t:3}],s:"Tendance des coûts"}}},table:{model:{t:0,b:{t:2,i:[{t:3}],s:"Modele"}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"Sessions"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Prompt"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"Completion"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"Total"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"Cout est."}},pricingSource:{t:0,b:{t:2,i:[{t:3}],s:"Source"}}},percentiles:{latencyTitle:{t:0,b:{t:2,i:[{t:3}],s:"Latence des requêtes (P50 / P95 / P99)"}},ttftTitle:{t:0,b:{t:2,i:[{t:3}],s:"Temps avant premier token (P50 / P95 / P99)"}},histogramTitle:{t:0,b:{t:2,i:[{t:3}],s:"Distribution de latence inter-tokens"}},histogramHint:{t:0,b:{t:2,i:[{t:3}],s:"Les intervalles suivent les conventions OTel GenAI. Agrégé sur toutes les sessions."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Pas assez de données pour l'analyse en percentiles."}}},errors:{title:{t:0,b:{t:2,i:[{t:3}],s:"Erreurs par modèle"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"Aucune erreur enregistrée."}}},loadDuration:{title:{t:0,b:{t:2,i:[{t:3}],s:"Durée de chargement du modèle"}},coldStarts:{t:0,b:{t:2,i:[{t:3}],s:"démarrages froids"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Les points orange indiquent les démarrages froids (modèle chargé depuis le disque, > 500ms)."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnée de session."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"Ces couts sont des estimations basees sur les tarifs equivalents des API cloud. Ollama fonctionne localement sans frais."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnee d'utilisation. Commencez a discuter pour voir l'utilisation des tokens et les estimations de couts."}}},xy={title:{t:0,b:{t:2,i:[{t:3}],s:"Analytique"}},sections:{quality:{t:0,b:{t:2,i:[{t:3}],s:"Qualité des réponses"}},latency:{t:0,b:{t:2,i:[{t:3}],s:"Analyse de latence"}},reliability:{t:0,b:{t:2,i:[{t:3}],s:"Fiabilité"}},usage:{t:0,b:{t:2,i:[{t:3}],s:"Habitudes d'utilisation"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Impact des paramètres"}},modelMemory:{t:0,b:{t:2,i:[{t:3}],s:"Mémoire du modèle"}}},quality:{title:{t:0,b:{t:2,i:[{t:3}],s:"Qualité par tour"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Vert = bon (3.5+), jaune = moyen (2-3.5), rouge = faible (< 2). Score basé sur le nombre de mots, la diversité du vocabulaire et la non-répétition."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Démarrez une conversation multi-tours pour voir les tendances de qualité."}}},errors:{timelineTitle:{t:0,b:{t:2,i:[{t:3}],s:"Chronologie des erreurs"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"Aucune erreur enregistrée."}}},usage:{requestVolume:{t:0,b:{t:2,i:[{t:3}],s:"Volume de requêtes"}},modelDistribution:{t:0,b:{t:2,i:[{t:3}],s:"Répartition des modèles"}},activeHours:{t:0,b:{t:2,i:[{t:3}],s:"Heures d'activité"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnée de session."}}},settings:{title:{t:0,b:{t:2,i:[{t:3}],s:"Température vs vitesse"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Chaque point est une session. Montre l'impact de la température sur la vitesse."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Au moins 2 sessions avec température explicite nécessaires."}}},modelLoad:{title:{t:0,b:{t:2,i:[{t:3}],s:"Historique de chargement"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"froid"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"Aucune donnée de session."}}}},Ay={common:dy,dashboard:fy,settings:by,benchmark:my,embeddings:py,rag:hy,tools:gy,training:yy,system:vy,comparison:_y,session:wy,feedback:Ty,quality:ky,cost:Sy,analytics:xy},Cy={nav:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"聊天诊断"}},compare:{t:0,b:{t:2,i:[{t:3}],s:"对比"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"知识库"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"工具工坊"}},aiTraining:{t:0,b:{t:2,i:[{t:3}],s:"AI 训练"}},models:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"基准测试"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"成本"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"分析"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"我的系统"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"设置"}},tagline:{t:0,b:{t:2,i:[{t:3}],s:"本地 LLM 观测站"}}},header:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"聊天诊断"}},session:{t:0,b:{t:2,i:[{t:3}],s:"会话"}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"模型对比"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"知识库"}},models:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"基准测试"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"工具工坊"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"成本"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"分析"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"我的系统"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"设置"}},default:{t:0,b:{t:2,i:[{t:3}],s:"LLMxRay"}}},status:{ollamaConnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama 已连接"}},ollamaDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama 未连接"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"加载中..."}},processing:{t:0,b:{t:2,i:[{t:3}],s:"处理中..."}},ready:{t:0,b:{t:2,i:[{t:3}],s:"就绪"}},error:{t:0,b:{t:2,i:[{t:3}],s:"错误"}},success:{t:0,b:{t:2,i:[{t:3}],s:"成功"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"等待中"}},running:{t:0,b:{t:2,i:[{t:3}],s:"运行中"}},completed:{t:0,b:{t:2,i:[{t:3}],s:"已完成"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"失败"}},streaming:{t:0,b:{t:2,i:[{t:3}],s:"流式传输中"}},idle:{t:0,b:{t:2,i:[{t:3}],s:"空闲"}},connected:{t:0,b:{t:2,i:[{t:3}],s:"已连接"}},disconnected:{t:0,b:{t:2,i:[{t:3}],s:"未连接"}}},theme:{dark:{t:0,b:{t:2,i:[{t:3}],s:"深色"}},light:{t:0,b:{t:2,i:[{t:3}],s:"浅色"}},system:{t:0,b:{t:2,i:[{t:3}],s:"跟随系统"}},themeLabel:{t:0,b:{t:2,i:[{t:3}],s:"主题"}}},locale:{language:{t:0,b:{t:2,i:[{t:3}],s:"语言"}},english:{t:0,b:{t:2,i:[{t:3}],s:"英语"}},french:{t:0,b:{t:2,i:[{t:3}],s:"法语"}}},actions:{save:{t:0,b:{t:2,i:[{t:3}],s:"保存"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"取消"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"删除"}},close:{t:0,b:{t:2,i:[{t:3}],s:"关闭"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"复制"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"编辑"}},test:{t:0,b:{t:2,i:[{t:3}],s:"测试"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"刷新"}},clear:{t:0,b:{t:2,i:[{t:3}],s:"清除"}},send:{t:0,b:{t:2,i:[{t:3}],s:"发送"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"停止"}},add:{t:0,b:{t:2,i:[{t:3}],s:"添加"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"移除"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"确认"}},back:{t:0,b:{t:2,i:[{t:3}],s:"返回"}},next:{t:0,b:{t:2,i:[{t:3}],s:"下一步"}},submit:{t:0,b:{t:2,i:[{t:3}],s:"提交"}},reset:{t:0,b:{t:2,i:[{t:3}],s:"重置"}},export:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},import:{t:0,b:{t:2,i:[{t:3}],s:"导入"}}},time:{justNow:{t:0,b:{t:2,i:[{t:3}],s:"刚刚"}},minutesAgo:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" 分钟前"}]}},hoursAgo:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" 小时前"}]}},daysAgo:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" 天前"}]}},monthsAgo:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" 个月前"}]}}},units:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"tokens"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tokens/s"}},milliseconds:{t:0,b:{t:2,i:[{t:3}],s:"ms"}},seconds:{t:0,b:{t:2,i:[{t:3}],s:"s"}},bytes:{t:0,b:{t:2,i:[{t:3}],s:"B"}},kilobytes:{t:0,b:{t:2,i:[{t:3}],s:"KB"}},megabytes:{t:0,b:{t:2,i:[{t:3}],s:"MB"}},gigabytes:{t:0,b:{t:2,i:[{t:3}],s:"GB"}},percent:{t:0,b:{t:2,i:[{t:3}],s:"%"}},dimensions:{t:0,b:{t:2,i:[{t:3}],s:"维度"}}},model:{selectModel:{t:0,b:{t:2,i:[{t:3}],s:"选择模型"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"没有可用的模型"}},loadingModels:{t:0,b:{t:2,i:[{t:3}],s:"加载模型中..."}},pullModel:{t:0,b:{t:2,i:[{t:3}],s:"拉取模型"}}},empty:{noData:{t:0,b:{t:2,i:[{t:3}],s:"暂无数据"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"未找到结果"}},nothingHere:{t:0,b:{t:2,i:[{t:3}],s:"这里还没有内容"}}},languages:{en:{t:0,b:{t:2,i:[{t:3}],s:"英语"}},fr:{t:0,b:{t:2,i:[{t:3}],s:"法语"}},ar:{t:0,b:{t:2,i:[{t:3}],s:"阿拉伯语"}},zh:{t:0,b:{t:2,i:[{t:3}],s:"中文"}},ja:{t:0,b:{t:2,i:[{t:3}],s:"日语"}},he:{t:0,b:{t:2,i:[{t:3}],s:"希伯来语"}},de:{t:0,b:{t:2,i:[{t:3}],s:"德语"}},es:{t:0,b:{t:2,i:[{t:3}],s:"西班牙语"}},pt:{t:0,b:{t:2,i:[{t:3}],s:"葡萄牙语"}},it:{t:0,b:{t:2,i:[{t:3}],s:"意大利语"}},ru:{t:0,b:{t:2,i:[{t:3}],s:"俄语"}},ko:{t:0,b:{t:2,i:[{t:3}],s:"韩语"}},hi:{t:0,b:{t:2,i:[{t:3}],s:"印地语"}}}},Ey={title:{t:0,b:{t:2,i:[{t:3}],s:"聊天诊断"}},input:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"发送消息... (Shift+Enter 换行)"}},placeholderVision:{t:0,b:{t:2,i:[{t:3}],s:"发送消息或粘贴/拖放图片..."}},commands:{t:0,b:{t:2,i:[{t:3}],s:"命令"}},attachFiles:{t:0,b:{t:2,i:[{t:3}],s:"附加文件"}},attachFilesVision:{t:0,b:{t:2,i:[{t:3}],s:"附加文件或图片"}},stopGenerating:{t:0,b:{t:2,i:[{t:3}],s:"停止生成"}},sendMessage:{t:0,b:{t:2,i:[{t:3}],s:"发送消息"}},visionBadge:{t:0,b:{t:2,i:[{t:3}],s:"视觉模型 — 可处理图片"}}},dropZone:{t:0,b:{t:2,i:[{t:3}],s:"拖放文件以附加"}},conversation:{newChat:{t:0,b:{t:2,i:[{t:3}],s:"新对话"}},newChatButton:{t:0,b:{t:2,i:[{t:3}],s:"+ 新对话"}},history:{t:0,b:{t:2,i:[{t:3}],s:"历史记录"}},chatHistory:{t:0,b:{t:2,i:[{t:3}],s:"聊天历史"}},rename:{t:0,b:{t:2,i:[{t:3}],s:"重命名"}},deleteChat:{t:0,b:{t:2,i:[{t:3}],s:"删除对话"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"确定要删除这个对话吗?"}},displayName:{t:0,b:{t:2,i:[{t:3}],s:"显示名称"}},defaultName:{t:0,b:{t:2,i:[{t:3}],s:"新对话"}},editName:{t:0,b:{t:2,i:[{t:3}],s:"编辑名称"}},noHistory:{t:0,b:{t:2,i:[{t:3}],s:"没有对话历史"}},noConversationsYet:{t:0,b:{t:2,i:[{t:3}],s:"还没有对话。"}},clickToRename:{t:0,b:{t:2,i:[{t:3}],s:"点击重命名"}},viewSessionDetails:{t:0,b:{t:2,i:[{t:3}],s:"查看会话详情"}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"无标题"}},minutesAgo:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:" 分钟前"}]}},hoursAgo:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:" 小时前"}]}},daysAgo:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:" 天前"}]}}},metrics:{sessions:{t:0,b:{t:2,i:[{t:3}],s:"会话"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"总会话数"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"平均 TTFT"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"平均速度"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"总 tokens"}},recentChats:{t:0,b:{t:2,i:[{t:3}],s:"最近对话"}}},settings:{chatSettings:{t:0,b:{t:2,i:[{t:3}],s:"聊天设置"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"温度"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top P"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"重复惩罚"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"上下文长度"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"最大 tokens"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"系统提示词"}},systemPromptHint:{t:0,b:{t:2,i:[{t:3}],s:"在对话之前发送的指令。用于设定模型的行为和角色。"}},systemPromptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"你是一个有用的助手..."}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"知识库"}},kbEnabled:{t:0,b:{t:2,i:[{t:3}],s:"知识库已启用"}},kbDisabled:{t:0,b:{t:2,i:[{t:3}],s:"知识库已禁用"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"文档"}},manage:{t:0,b:{t:2,i:[{t:3}],s:"管理"}},noDocumentsIngested:{t:0,b:{t:2,i:[{t:3}],s:"尚未导入文档"}},addDocuments:{t:0,b:{t:2,i:[{t:3}],s:"添加文档"}},precise:{t:0,b:{t:2,i:[{t:3}],s:"精确"}},creative:{t:0,b:{t:2,i:[{t:3}],s:"创意"}},unlimited:{t:0,b:{t:2,i:[{t:3}],s:"无限制"}},maxTokensHint:{t:0,b:{t:2,i:[{t:3}],s:"最大回复长度。-1 = 无限制。"}},maxTokensPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 为无限制"}},contextWindow:{t:0,b:{t:2,i:[{t:3}],s:"上下文窗口"}},contextWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"模型一次可见的全部上下文。越大 = 记忆越多,速度越慢。"}},advancedSampling:{t:0,b:{t:2,i:[{t:3}],s:"高级采样"}},topPHint:{t:0,b:{t:2,i:[{t:3}],s:"核采样。越低 = 越集中于高概率 tokens。"}},topKHint:{t:0,b:{t:2,i:[{t:3}],s:"每步将采样限制在前 K 个 tokens。"}},repeatPenaltyHint:{t:0,b:{t:2,i:[{t:3}],s:"惩罚已出现的 tokens。越高 = 重复越少。"}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"关闭"}},mirostatDisabled:{t:0,b:{t:2,i:[{t:3}],s:"已禁用"}},mirostatV1:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v1"}},mirostatV2:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v2"}},mirostatHint:{t:0,b:{t:2,i:[{t:3}],s:"基于困惑度的自适应采样。启用时会覆盖 top-p/top-k。"}},seedRandom:{t:0,b:{t:2,i:[{t:3}],s:"随机"}},seedHint:{t:0,b:{t:2,i:[{t:3}],s:"固定 seed 用于可重现的输出。-1 = 随机。"}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 为随机"}},stopSequences:{t:0,b:{t:2,i:[{t:3}],s:"停止序列"}},stopSequencesPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"例如 Human:, \\n\\n"}},stopSequencesHint:{t:0,b:{t:2,i:[{t:3}],s:"逗号分隔的字符串,生成时遇到则停止。"}},tools:{t:0,b:{t:2,i:[{t:3}],s:"工具"}},active:{t:0,b:{t:2,i:[{t:3}],s:"已激活"}},noToolsDefined:{t:0,b:{t:2,i:[{t:3}],s:"尚未定义工具"}},manageInToolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"在工具工坊中管理..."}},pulling:{t:0,b:{t:2,i:[{t:3}],s:"拉取中..."}},pull:{t:0,b:{t:2,i:[{t:3}],s:"拉取"}}},memory:{slidingWindow:{t:0,b:{t:2,i:[{t:3}],s:"滑动窗口"}},slidingWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"仅保留最近的 N 条消息"}},maxMessages:{t:0,b:{t:2,i:[{t:3}],s:"最大消息数"}},autoSummarize:{t:0,b:{t:2,i:[{t:3}],s:"自动摘要"}},autoSummarizeHint:{t:0,b:{t:2,i:[{t:3}],s:"自动总结较早的消息"}},summarizeThreshold:{t:0,b:{t:2,i:[{t:3}],s:"摘要阈值"}},triggerAfter:{t:0,b:{t:2,i:[{t:3}],s:"触发条件"}},messages:{t:0,b:{t:2,i:[{t:3}],s:"条消息"}},userFacts:{t:0,b:{t:2,i:[{t:3}],s:"用户事实"}},userMemories:{t:0,b:{t:2,i:[{t:3}],s:"用户记忆"}},userMemoriesHint:{t:0,b:{t:2,i:[{t:3}],s:"/remember 事实会注入上下文"}},addFact:{t:0,b:{t:2,i:[{t:3}],s:"添加事实"}},ragMemory:{t:0,b:{t:2,i:[{t:3}],s:"RAG 记忆"}},messageMemoryRag:{t:0,b:{t:2,i:[{t:3}],s:"消息记忆 (RAG)"}},messageMemoryHint:{t:0,b:{t:2,i:[{t:3}],s:"通过 embeddings 检索相关的历史消息"}},embeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"Embedding 模型"}},selectEmbeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"选择 embedding 模型..."}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"未找到 embedding 模型。请拉取一个:"}},retrieveTop:{t:0,b:{t:2,i:[{t:3}],s:"检索前"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K 结果"}},memory:{t:0,b:{t:2,i:[{t:3}],s:"记忆"}},facts:{t:0,b:{t:2,i:[{t:3}],s:"条事实"}}},empty:{startConversation:{t:0,b:{t:2,i:[{t:3}],s:"开始与本地模型对话"}}},bubble:{truncatedWarning:{t:0,b:{t:2,i:[{t:3}],s:"回复已被截断 — 请在设置中增加 num_predict 以获得更长的回复"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"tokens"}},tokPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tok/s"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"冷启动"}},coldStart:{t:0,b:{t:2,i:[{t:3}],s:"此请求需要从磁盘加载模型(加载时间 > 500ms)"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"下载 JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"下载 Markdown"}},downloadText:{t:0,b:{t:2,i:[{t:3}],s:"下载文本"}}},slashCommands:{chatConversation:{t:0,b:{t:2,i:[{t:3}],s:"聊天与对话"}},modelSettings:{t:0,b:{t:2,i:[{t:3}],s:"模型与设置"}},featuresNavigation:{t:0,b:{t:2,i:[{t:3}],s:"功能与导航"}}}},Py={tabs:{general:{t:0,b:{t:2,i:[{t:3}],s:"通用"}},models:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},integrations:{t:0,b:{t:2,i:[{t:3}],s:"集成"}},about:{t:0,b:{t:2,i:[{t:3}],s:"关于"}},history:{t:0,b:{t:2,i:[{t:3}],s:"历史记录"}}},general:{ollamaConnection:{t:0,b:{t:2,i:[{t:3}],s:"Ollama 连接"}},ollamaUrl:{t:0,b:{t:2,i:[{t:3}],s:"Ollama URL"}},testConnection:{t:0,b:{t:2,i:[{t:3}],s:"测试"}},save:{t:0,b:{t:2,i:[{t:3}],s:"保存"}},connectionSuccess:{t:0,b:{t:2,i:[{t:3}],s:"连接成功"}},connectionFailed:{t:0,b:{t:2,i:[{t:3}],s:"连接失败"}},connectionConnected:{t:0,b:{t:2,i:[{t:3}],s:"已连接"}},connectionTesting:{t:0,b:{t:2,i:[{t:3}],s:"测试中..."}},connectionDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"未连接"}},defaultParameters:{t:0,b:{t:2,i:[{t:3}],s:"默认参数"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"温度"}},temperatureTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"什么是温度?"}},temperatureTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:"温度控制模型回答的「创造性」或「随机性」。"}},temperatureTooltipZero:{t:0,b:{t:2,i:[{t:3}],s:"始终选择最可能的词。适用于事实、数学和代码。"}},temperatureTooltipDefault:{t:0,b:{t:2,i:[{t:3}],s:"良好的平衡。这是默认值。"}},temperatureTooltipHigh:{t:0,b:{t:2,i:[{t:3}],s:"更出人意料,更有创意。"}},temperatureDeterministic:{t:0,b:{t:2,i:[{t:3}],s:"确定性"}},temperatureFocused:{t:0,b:{t:2,i:[{t:3}],s:"专注"}},temperatureBalanced:{t:0,b:{t:2,i:[{t:3}],s:"均衡"}},temperatureCreative:{t:0,b:{t:2,i:[{t:3}],s:"创意"}},temperatureVeryRandom:{t:0,b:{t:2,i:[{t:3}],s:"非常随机"}},temperatureWild:{t:0,b:{t:2,i:[{t:3}],s:"狂野"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"上下文长度"}},contextLengthTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"什么是上下文长度?"}},contextLengthTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:"模型一次可以看到多少对话内容,以 tokens 为单位。"}},contextLengthTooltipNote:{t:0,b:{t:2,i:[{t:3}],s:"更大的上下文会使用更多 RAM/VRAM。"}},approximateWords:{t:0,b:{t:2,i:[{t:3,v:"≈ "},{t:4,k:"count"},{t:3,v:" 个词"}]}},language:{t:0,b:{t:2,i:[{t:3}],s:"语言"}},selectLanguage:{t:0,b:{t:2,i:[{t:3}],s:"选择语言"}}},models:{installedModels:{t:0,b:{t:2,i:[{t:3}],s:"已安装模型"}},pullNewModel:{t:0,b:{t:2,i:[{t:3}],s:"拉取新模型"}},modelName:{t:0,b:{t:2,i:[{t:3}],s:"模型名称"}},pull:{t:0,b:{t:2,i:[{t:3}],s:"拉取"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"删除"}},deleteConfirm:{t:0,b:{t:2,i:[{t:3}],s:"确定要删除此模型吗?"}},size:{t:0,b:{t:2,i:[{t:3}],s:"大小"}},family:{t:0,b:{t:2,i:[{t:3}],s:"系列"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"量化"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"参数量"}},capabilities:{t:0,b:{t:2,i:[{t:3}],s:"能力"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"刷新"}},downloadModels:{t:0,b:{t:2,i:[{t:3}],s:"下载模型"}},searchModels:{t:0,b:{t:2,i:[{t:3}],s:"搜索模型..."}},noModelsInstalled:{t:0,b:{t:2,i:[{t:3}],s:"未安装任何模型。请从下方目录中拉取一个。"}},noModelsMatch:{t:0,b:{t:2,i:[{t:3}],s:"没有匹配的模型。"}},pullByName:{t:0,b:{t:2,i:[{t:3}],s:"按名称拉取任意模型"}},installed:{t:0,b:{t:2,i:[{t:3}],s:"已安装"}},confirmDeletePrompt:{t:0,b:{t:2,i:[{t:3}],s:"确认删除?"}}},integrations:{googleAccount:{t:0,b:{t:2,i:[{t:3}],s:"Google 账户"}},connect:{t:0,b:{t:2,i:[{t:3}],s:"连接"}},disconnect:{t:0,b:{t:2,i:[{t:3}],s:"断开"}},connectedAs:{t:0,b:{t:2,i:[{t:3}],s:"已连接为"}},googleIntegration:{t:0,b:{t:2,i:[{t:3}],s:"Google 集成"}},googleIntegrationDesc:{t:0,b:{t:2,i:[{t:3}],s:"连接你的 Google 账户以在工具工坊中启用日历和 Gmail 工具。"}},oauthClientId:{t:0,b:{t:2,i:[{t:3}],s:"OAuth2 Client ID"}},authenticating:{t:0,b:{t:2,i:[{t:3}],s:"认证中..."}},notConnected:{t:0,b:{t:2,i:[{t:3}],s:"未连接"}},connectGoogleAccount:{t:0,b:{t:2,i:[{t:3}],s:"连接 Google 账户"}},showSetup:{t:0,b:{t:2,i:[{t:3}],s:"显示设置说明"}},hideSetup:{t:0,b:{t:2,i:[{t:3}],s:"隐藏设置说明"}}},about:{version:{t:0,b:{t:2,i:[{t:3}],s:"版本"}},license:{t:0,b:{t:2,i:[{t:3}],s:"许可证"}},repository:{t:0,b:{t:2,i:[{t:3}],s:"代码仓库"}},techStack:{t:0,b:{t:2,i:[{t:3}],s:"技术栈"}},localLlmObservatory:{t:0,b:{t:2,i:[{t:3}],s:"本地 LLM 观测站"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"本地 AI 历史记录"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"你的研究档案 — 所有实验,可查询"}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"你的数据如何存储"}},description:{t:0,b:{t:2,i:[{t:3}],s:"你的所有数据都通过 IndexedDB 存储在浏览器本地 — 这是一种永久性的、浏览器原生的数据库。你的数据在关闭浏览器、重启电脑和软件更新后依然保留。没有任何数据被发送到服务器。"}},indexedDb:{t:0,b:{t:2,i:[{t:3}],s:"原始数据(基准测试、对话、对比、训练)存储在 6 个专用的 IndexedDB 数据库中 — 每个功能一个。IndexedDB 不是会话存储 — 数据会永久保留,直到你选择删除。"}},historyDb:{t:0,b:{t:2,i:[{t:3}],s:"历史记录数据库是一个由 Dexie.js 驱动的统一研究索引。它记录每次实验的摘要,以便快速查询和趋势分析。可以将其视为覆盖你所有 LLMxRay 活动的搜索引擎。"}},privacy:{t:0,b:{t:2,i:[{t:3}],s:"一切都保留在你的设备上。只有两种方式可以删除数据:在浏览器中清除网站数据,或使用本应用中的清除按钮。没有账户、没有云同步、没有遥测。"}}},filters:{type:{t:0,b:{t:2,i:[{t:3}],s:"类型"}},model:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},language:{t:0,b:{t:2,i:[{t:3}],s:"语言"}},dateRange:{t:0,b:{t:2,i:[{t:3}],s:"日期范围"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"标签"}},all:{t:0,b:{t:2,i:[{t:3}],s:"全部"}},last7days:{t:0,b:{t:2,i:[{t:3}],s:"最近 7 天"}},last30days:{t:0,b:{t:2,i:[{t:3}],s:"最近 30 天"}},last90days:{t:0,b:{t:2,i:[{t:3}],s:"最近 90 天"}},allTime:{t:0,b:{t:2,i:[{t:3}],s:"所有时间"}}},results:{entries:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" 条记录"}]}},noEntries:{t:0,b:{t:2,i:[{t:3}],s:"暂无历史记录。运行基准测试、对比或聊天以开始构建你的研究档案。"}}},trends:{title:{t:0,b:{t:2,i:[{t:3}],s:"趋势"}},activity:{t:0,b:{t:2,i:[{t:3}],s:"活动(最近 30 天)"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"使用的模型"}}},management:{title:{t:0,b:{t:2,i:[{t:3}],s:"数据库管理"}},totalEntries:{t:0,b:{t:2,i:[{t:3}],s:"总记录数"}},estimatedSize:{t:0,b:{t:2,i:[{t:3}],s:"预估大小"}},exportAll:{t:0,b:{t:2,i:[{t:3}],s:"导出全部 (JSON)"}},exportFiltered:{t:0,b:{t:2,i:[{t:3}],s:"导出筛选结果 (CSV)"}},retention:{t:0,b:{t:2,i:[{t:3}],s:"保留策略"}},keepForever:{t:0,b:{t:2,i:[{t:3}],s:"永久保留"}},days30:{t:0,b:{t:2,i:[{t:3}],s:"30 天"}},days90:{t:0,b:{t:2,i:[{t:3}],s:"90 天"}},year1:{t:0,b:{t:2,i:[{t:3}],s:"1 年"}},clearHistory:{t:0,b:{t:2,i:[{t:3}],s:"清除历史记录"}},confirmClear:{t:0,b:{t:2,i:[{t:3}],s:"此操作将删除所有历史记录。其他数据(基准测试、对话等)不受影响。"}}},types:{benchmark:{t:0,b:{t:2,i:[{t:3}],s:"基准测试"}},comparison:{t:0,b:{t:2,i:[{t:3}],s:"对比"}},chat:{t:0,b:{t:2,i:[{t:3}],s:"聊天"}},training:{t:0,b:{t:2,i:[{t:3}],s:"训练"}},session:{t:0,b:{t:2,i:[{t:3}],s:"会话"}}}}},Ry={title:{t:0,b:{t:2,i:[{t:3}],s:"基准测试"}},surgicalBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"精准基准测试"}},surgicalBenchmarkDesc:{t:0,b:{t:2,i:[{t:3}],s:"使用精选题目集评估模型 — 真实 logprob 置信度,按类别诊断"}},resultDetails:{t:0,b:{t:2,i:[{t:3}],s:"结果详情"}},latestResult:{t:0,b:{t:2,i:[{t:3}],s:"最新结果"}},comparisonLedger:{t:0,b:{t:2,i:[{t:3}],s:"对比记录"}},configurator:{selectModels:{t:0,b:{t:2,i:[{t:3}],s:"选择模型"}},selectSuites:{t:0,b:{t:2,i:[{t:3}],s:"选择测试套件"}},contextSize:{t:0,b:{t:2,i:[{t:3}],s:"上下文大小"}},startBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"开始基准测试"}},estimatedTime:{t:0,b:{t:2,i:[{t:3}],s:"预计时间"}},maxModels:{t:0,b:{t:2,i:[{t:3}],s:"最大模型数"}},models:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},selected:{t:0,b:{t:2,i:[{t:3}],s:"已选择"}},benchmarkSuites:{t:0,b:{t:2,i:[{t:3}],s:"基准测试套件"}},importCustom:{t:0,b:{t:2,i:[{t:3}],s:"+ 导入自定义"}},context:{t:0,b:{t:2,i:[{t:3}],s:"上下文:"}},runBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"运行基准测试"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"自定义"}}},suites:{arc:{t:0,b:{t:2,i:[{t:3}],s:"ARC Challenge"}},mmlupro:{t:0,b:{t:2,i:[{t:3}],s:"MMLU-Pro"}},hellaswag:{t:0,b:{t:2,i:[{t:3}],s:"HellaSwag"}},gsm8k:{t:0,b:{t:2,i:[{t:3}],s:"GSM-8K"}},truthfulqa:{t:0,b:{t:2,i:[{t:3}],s:"TruthfulQA"}}},live:{progress:{t:0,b:{t:2,i:[{t:3}],s:"进度"}},currentQuestion:{t:0,b:{t:2,i:[{t:3}],s:"当前问题"}},lastAnswer:{t:0,b:{t:2,i:[{t:3}],s:"上一个答案"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"正确"}},incorrect:{t:0,b:{t:2,i:[{t:3}],s:"错误"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"准确率"}},avgLatency:{t:0,b:{t:2,i:[{t:3}],s:"平均延迟"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"平均置信度"}},categoryProgress:{t:0,b:{t:2,i:[{t:3}],s:"分类进度"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"停止"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"思考中"}},standard:{t:0,b:{t:2,i:[{t:3}],s:"标准"}},question:{t:0,b:{t:2,i:[{t:3}],s:"问题"}},waitingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"等待问题..."}},waitingFirstAnswer:{t:0,b:{t:2,i:[{t:3}],s:"等待第一个答案..."}},processingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"处理问题中..."}},stopBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"停止基准测试"}},benchmarkProgress:{t:0,b:{t:2,i:[{t:3}],s:"基准测试进度"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"平均 TTFT"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"平均总时间"}},suites:{t:0,b:{t:2,i:[{t:3}],s:"测试套件"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"推理过程"}},expected:{t:0,b:{t:2,i:[{t:3}],s:"预期答案:"}}},results:{overallAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"总体准确率"}},perCategory:{t:0,b:{t:2,i:[{t:3}],s:"按分类"}},confidenceVsAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"置信度与准确率"}},questionDetails:{t:0,b:{t:2,i:[{t:3}],s:"题目详情"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"暂无结果"}},confidenceVsAccuracyScatter:{t:0,b:{t:2,i:[{t:3}],s:"置信度与准确率 — X-Ray 散点图"}},confused:{t:0,b:{t:2,i:[{t:3}],s:"困惑(低置信度,答错)"}},calibrated:{t:0,b:{t:2,i:[{t:3}],s:"校准良好(高置信度,答对)"}},overconfident:{t:0,b:{t:2,i:[{t:3}],s:"过度自信(高置信度,答错)"}},lucky:{t:0,b:{t:2,i:[{t:3}],s:"幸运(低置信度,答对)"}},perCategoryTotalTime:{t:0,b:{t:2,i:[{t:3}],s:"各分类总耗时"}},contextPressure:{t:0,b:{t:2,i:[{t:3}],s:"上下文压力 — 准确率下降"}},categoryBreakdown:{t:0,b:{t:2,i:[{t:3}],s:"分类明细"}},category:{t:0,b:{t:2,i:[{t:3}],s:"分类"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"正确"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"平均 TTFT"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"平均总时间"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"平均置信度"}},perQuestionDetail:{t:0,b:{t:2,i:[{t:3}],s:"逐题详情"}},all:{t:0,b:{t:2,i:[{t:3}],s:"全部"}},wrong:{t:0,b:{t:2,i:[{t:3}],s:"错误"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"推理过程"}},response:{t:0,b:{t:2,i:[{t:3}],s:"回复"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"准确率"}}},comparison:{compareResults:{t:0,b:{t:2,i:[{t:3}],s:"对比结果"}},radarChart:{t:0,b:{t:2,i:[{t:3}],s:"雷达图"}},heatmap:{t:0,b:{t:2,i:[{t:3}],s:"热力图"}},resume:{t:0,b:{t:2,i:[{t:3}],s:"继续"}},deleteResult:{t:0,b:{t:2,i:[{t:3}],s:"删除结果"}},savedResults:{t:0,b:{t:2,i:[{t:3}],s:"已保存的结果"}},noSavedResults:{t:0,b:{t:2,i:[{t:3}],s:"暂无已保存的结果"}},clickToCompare:{t:0,b:{t:2,i:[{t:3}],s:"点击选择进行对比"}},incomplete:{t:0,b:{t:2,i:[{t:3}],s:"未完成"}},viewDetails:{t:0,b:{t:2,i:[{t:3}],s:"查看完整详情"}},resumeIncomplete:{t:0,b:{t:2,i:[{t:3}],s:"继续未完成的基准测试"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"下载 JSON"}},downloadCsv:{t:0,b:{t:2,i:[{t:3}],s:"下载 CSV"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"下载 Markdown"}}},builder:{createTitle:{t:0,b:{t:2,i:[{t:3}],s:"创建基准测试套件"}},editTitle:{t:0,b:{t:2,i:[{t:3}],s:"编辑基准测试套件"}},suiteName:{t:0,b:{t:2,i:[{t:3}],s:"套件名称"}},suiteNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"例如:法国历史测验"}},description:{t:0,b:{t:2,i:[{t:3}],s:"描述"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"此套件测试什么内容?"}},defaultCategory:{t:0,b:{t:2,i:[{t:3}],s:"默认分类"}},questions:{t:0,b:{t:2,i:[{t:3}],s:"题目"}},addQuestion:{t:0,b:{t:2,i:[{t:3}],s:"添加题目"}},editQuestion:{t:0,b:{t:2,i:[{t:3}],s:"编辑题目"}},noQuestions:{t:0,b:{t:2,i:[{t:3}],s:"暂无题目。添加第一道题目或使用 AI 生成。"}},questionText:{t:0,b:{t:2,i:[{t:3}],s:"问题"}},questionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"在此输入问题..."}},choices:{t:0,b:{t:2,i:[{t:3}],s:"选项"}},addChoice:{t:0,b:{t:2,i:[{t:3}],s:"添加选项"}},correctAnswer:{t:0,b:{t:2,i:[{t:3}],s:"正确答案"}},category:{t:0,b:{t:2,i:[{t:3}],s:"分类"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"难度"}},easy:{t:0,b:{t:2,i:[{t:3}],s:"简单"}},medium:{t:0,b:{t:2,i:[{t:3}],s:"中等"}},hard:{t:0,b:{t:2,i:[{t:3}],s:"困难"}},saveSuite:{t:0,b:{t:2,i:[{t:3}],s:"保存套件"}},createSuite:{t:0,b:{t:2,i:[{t:3}],s:"创建套件"}},choiceCount:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" 个选项"}]}},aiGenerate:{title:{t:0,b:{t:2,i:[{t:3}],s:"AI 生成"}},topic:{t:0,b:{t:2,i:[{t:3}],s:"主题"}},topicPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"例如:法国历史、Python 编程、有机化学"}},count:{t:0,b:{t:2,i:[{t:3}],s:"题目数量"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"难度"}},mixed:{t:0,b:{t:2,i:[{t:3}],s:"混合"}},model:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},generate:{t:0,b:{t:2,i:[{t:3}],s:"生成题目"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"生成中..."}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"取消生成"}},preview:{t:0,b:{t:2,i:[{t:3}],s:"已生成的题目"}},selectAll:{t:0,b:{t:2,i:[{t:3}],s:"全选"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"取消全选"}},addSelected:{t:0,b:{t:2,i:[{t:3}],s:"添加所选"}},errors:{t:0,b:{t:2,i:[{t:3}],s:"部分题目无法解析"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"未生成有效题目。请尝试其他主题或模型。"}}}},import:{importSuite:{t:0,b:{t:2,i:[{t:3}],s:"导入测试套件"}},importCustomBenchmarkSuite:{t:0,b:{t:2,i:[{t:3}],s:"导入自定义基准测试套件"}},dragDrop:{t:0,b:{t:2,i:[{t:3}],s:"将文件拖放到此处"}},dropJsonFile:{t:0,b:{t:2,i:[{t:3}],s:"将 .json 文件拖放到此处"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"浏览"}},maxSize:{t:0,b:{t:2,i:[{t:3}],s:"最大大小"}},invalidFormat:{t:0,b:{t:2,i:[{t:3}],s:"格式无效"}},importSuccess:{t:0,b:{t:2,i:[{t:3}],s:"导入成功"}},importing:{t:0,b:{t:2,i:[{t:3}],s:"导入中..."}},requirements:{t:0,b:{t:2,i:[{t:3}],s:"要求:JSON 文件需包含 name 和 questions 数组(2-500 项)。"}},questionReqs:{t:0,b:{t:2,i:[{t:3}],s:"每个问题需要:id、question、choices(2-6 个)、correctAnswer。"}},maxSizeNote:{t:0,b:{t:2,i:[{t:3}],s:"最大 1MB。HTML 标签将被去除。ID 将自动去重。"}},fileTooLarge:{t:0,b:{t:2,i:[{t:3}],s:"文件过大(最大 1MB)"}}}},My={title:{t:0,b:{t:2,i:[{t:3}],s:"Embeddings"}},modelSelector:{noModels:{t:0,b:{t:2,i:[{t:3}],s:"没有可用的模型"}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"未找到 embedding 模型。请拉取一个:ollama pull nomic-embed-text"}}},storage:{embeddingMemory:{t:0,b:{t:2,i:[{t:3}],s:"Embedding 存储"}},records:{t:0,b:{t:2,i:[{t:3}],s:"条记录"}}},playground:{title:{t:0,b:{t:2,i:[{t:3}],s:"Embed 实验场"}},description:{t:0,b:{t:2,i:[{t:3}],s:"输入文本以生成其 embedding 向量并查看各维度。"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"输入要嵌入的文本..."}},embed:{t:0,b:{t:2,i:[{t:3}],s:"嵌入"}},embedding:{t:0,b:{t:2,i:[{t:3}],s:"嵌入中..."}},showRawValues:{t:0,b:{t:2,i:[{t:3,v:"显示原始值(前 50 / 共 "},{t:4,k:"total"},{t:3,v:")"}]}}},similarity:{title:{t:0,b:{t:2,i:[{t:3}],s:"相似度计算器"}},description:{t:0,b:{t:2,i:[{t:3}],s:"比较两段文本,使用 cosine similarity 衡量语义相似度。"}},textA:{t:0,b:{t:2,i:[{t:3}],s:"文本 A"}},textB:{t:0,b:{t:2,i:[{t:3}],s:"文本 B"}},placeholderA:{t:0,b:{t:2,i:[{t:3}],s:"第一段文本..."}},placeholderB:{t:0,b:{t:2,i:[{t:3}],s:"第二段文本..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"比较"}},comparing:{t:0,b:{t:2,i:[{t:3}],s:"比较中..."}}},modelComparison:{title:{t:0,b:{t:2,i:[{t:3}],s:"模型对比"}},description:{t:0,b:{t:2,i:[{t:3}],s:"用两个模型嵌入相同文本,比较它们如何表示语义。"}},modelA:{t:0,b:{t:2,i:[{t:3}],s:"模型 A"}},modelB:{t:0,b:{t:2,i:[{t:3}],s:"模型 B"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"输入文本以使用两个模型进行嵌入..."}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"对比模型"}},comparingModels:{t:0,b:{t:2,i:[{t:3}],s:"对比模型中..."}},crossModelSimilarity:{t:0,b:{t:2,i:[{t:3}],s:"跨模型相似度 — 这两个模型对相同文本的表示有多相似。"}},veryDifferent:{t:0,b:{t:2,i:[{t:3}],s:"这两个模型编码语义的方式差异很大。"}},moderateAgreement:{t:0,b:{t:2,i:[{t:3}],s:"中等一致 — 两个模型共享部分语义结构。"}},highAgreement:{t:0,b:{t:2,i:[{t:3}],s:"高度一致 — 这两个模型对此文本的表示相似。"}},dimensionsMismatch:{t:0,b:{t:2,i:[{t:3,v:"维度不同("},{t:4,k:"dimA"},{t:3,v:" 与 "},{t:4,k:"dimB"},{t:3,v:")— 无法直接计算 cosine similarity。"}]}},compareStats:{t:0,b:{t:2,i:[{t:3}],s:"比较上方统计数据以评估每个模型的表示质量。"}}},stats:{dims:{t:0,b:{t:2,i:[{t:3}],s:"维度"}},l2Norm:{t:0,b:{t:2,i:[{t:3}],s:"L2 范数"}},sparsity:{t:0,b:{t:2,i:[{t:3}],s:"稀疏度"}},time:{t:0,b:{t:2,i:[{t:3}],s:"耗时"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"最近的 Embeddings"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"全部清除"}}}},Dy={title:{t:0,b:{t:2,i:[{t:3}],s:"知识库"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"导入文档用于 RAG 增强对话"}},modelSelector:{noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"没有 embedding 模型"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"知识库存储"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"篇文档"}},chunks:{t:0,b:{t:2,i:[{t:3}],s:"个片段"}},stored:{t:0,b:{t:2,i:[{t:3}],s:"已存储"}},ragStorage:{t:0,b:{t:2,i:[{t:3}],s:"RAG 存储"}}},upload:{dropZone:{t:0,b:{t:2,i:[{t:3}],s:"将文件拖放到此处"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"浏览"}},dropText:{t:0,b:{t:2,i:[{t:3}],s:"将文件拖放到此处或点击浏览"}},supportedFormats:{t:0,b:{t:2,i:[{t:3}],s:"支持 PDF、DOCX、TXT、Markdown、CSV"}}},documents:{title:{t:0,b:{t:2,i:[{t:3}],s:"文档"}},noDocuments:{t:0,b:{t:2,i:[{t:3}],s:"尚未导入任何文档"}},toggleContext:{t:0,b:{t:2,i:[{t:3}],s:"切换 RAG 上下文"}},removeDocument:{t:0,b:{t:2,i:[{t:3}],s:"移除文档"}}},search:{title:{t:0,b:{t:2,i:[{t:3}],s:"语义搜索"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"搜索你的文档..."}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"没有搜索结果"}},searching:{t:0,b:{t:2,i:[{t:3}],s:"搜索中..."}},button:{t:0,b:{t:2,i:[{t:3}],s:"搜索"}},results:{t:0,b:{t:2,i:[{t:3}],s:"条结果"}},showLess:{t:0,b:{t:2,i:[{t:3}],s:"收起"}},showFullChunk:{t:0,b:{t:2,i:[{t:3}],s:"显示完整片段"}}},ingest:{progress:{t:0,b:{t:2,i:[{t:3}],s:"导入进度"}},ingesting:{t:0,b:{t:2,i:[{t:3}],s:"导入中..."}}}},Oy={title:{t:0,b:{t:2,i:[{t:3}],s:"工具工坊"}},canvas:{addTool:{t:0,b:{t:2,i:[{t:3}],s:"添加工具"}},addFromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"从模板添加"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"尚未配置工具。添加一个以开始使用。"}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"工具名称"}},toolDescription:{t:0,b:{t:2,i:[{t:3}],s:"工具描述"}},functionName:{t:0,b:{t:2,i:[{t:3}],s:"函数名称"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"参数"}},implementation:{t:0,b:{t:2,i:[{t:3}],s:"实现"}},code:{t:0,b:{t:2,i:[{t:3}],s:"代码"}},testTool:{t:0,b:{t:2,i:[{t:3}],s:"测试工具"}},deleteTool:{t:0,b:{t:2,i:[{t:3}],s:"删除工具"}},codePanel:{t:0,b:{t:2,i:[{t:3}],s:"代码面板"}},close:{t:0,b:{t:2,i:[{t:3}],s:"关闭"}},source:{t:0,b:{t:2,i:[{t:3}],s:"源码"}},schema:{t:0,b:{t:2,i:[{t:3}],s:"Schema"}},schemaManifest:{t:0,b:{t:2,i:[{t:3}],s:"OpenAI 兼容的工具清单"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"复制"}},warnings:{t:0,b:{t:2,i:[{t:3}],s:"警告"}},emptyState:{t:0,b:{t:2,i:[{t:3}],s:"还没有工具。创建你的第一个工具或从模板开始。"}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"+ 新工具"}},fromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"从模板..."}},exportTitle:{t:0,b:{t:2,i:[{t:3}],s:"导出训练数据 (JSONL)"}},export:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},toolLibrary:{t:0,b:{t:2,i:[{t:3}],s:"工具库"}},clearAllTitle:{t:0,b:{t:2,i:[{t:3}],s:"从画布中移除所有工具"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"全部清除"}},clearAllConfirm:{t:0,b:{t:2,i:[{t:3}],s:"清除所有工具?"}},clearAllWarning:{t:0,b:{t:2,i:[{t:3,v:"这将从画布中移除全部 "},{t:4,k:"count"},{t:3,v:" 个工具。此操作无法撤销。"}]}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"取消"}},deleteAll:{t:0,b:{t:2,i:[{t:3}],s:"全部删除"}},disableForChat:{t:0,b:{t:2,i:[{t:3}],s:"在聊天中禁用"}},enableForChat:{t:0,b:{t:2,i:[{t:3}],s:"在聊天中启用"}},deleteToolTitle:{t:0,b:{t:2,i:[{t:3}],s:"删除工具"}},noToolsYet:{t:0,b:{t:2,i:[{t:3}],s:"还没有工具"}},enabledForChat:{t:0,b:{t:2,i:[{t:3}],s:"已在聊天中启用"}},exportAllJson:{t:0,b:{t:2,i:[{t:3}],s:"导出所有工具 (JSON)"}},exportToolJson:{t:0,b:{t:2,i:[{t:3}],s:"导出工具为 JSON"}}},templates:{title:{t:0,b:{t:2,i:[{t:3}],s:"工具模板"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"从可用的模板开始,然后自定义"}},categories:{utility:{t:0,b:{t:2,i:[{t:3}],s:"实用工具"}},api:{t:0,b:{t:2,i:[{t:3}],s:"API"}},data:{t:0,b:{t:2,i:[{t:3}],s:"数据"}},google:{t:0,b:{t:2,i:[{t:3}],s:"Google(日历和 Gmail)"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"自定义"}}}},builder:{functionName:{t:0,b:{t:2,i:[{t:3}],s:"函数名称"}},description:{t:0,b:{t:2,i:[{t:3}],s:"描述"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"获取指定位置的当前天气"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"参数"}},visualBuilder:{t:0,b:{t:2,i:[{t:3}],s:"可视化构建器"}},rawJson:{t:0,b:{t:2,i:[{t:3}],s:"原始 JSON"}},addParameter:{t:0,b:{t:2,i:[{t:3}],s:"+ 添加参数"}},removeParameter:{t:0,b:{t:2,i:[{t:3}],s:"移除参数"}},saveTool:{t:0,b:{t:2,i:[{t:3}],s:"保存工具"}}},list:{editTool:{t:0,b:{t:2,i:[{t:3}],s:"编辑工具"}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"新工具"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"尚未定义工具。"}},addTool:{t:0,b:{t:2,i:[{t:3}],s:"+ 添加工具"}}},execution:{running:{t:0,b:{t:2,i:[{t:3}],s:"运行中..."}},success:{t:0,b:{t:2,i:[{t:3}],s:"成功"}},error:{t:0,b:{t:2,i:[{t:3}],s:"错误"}},result:{t:0,b:{t:2,i:[{t:3}],s:"结果"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"耗时"}}},node:{badge:{t:0,b:{t:2,i:[{t:3}],s:"LLM 工具"}},functionNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"function_name"}},draftWithAi:{t:0,b:{t:2,i:[{t:3}],s:"AI 草拟"}},aiInsights:{t:0,b:{t:2,i:[{t:3}],s:"AI 洞察"}},running:{t:0,b:{t:2,i:[{t:3}],s:"运行中..."}},done:{t:0,b:{t:2,i:[{t:3}],s:"完成"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"失败"}},aiFix:{t:0,b:{t:2,i:[{t:3}],s:"AI 修复"}},description:{t:0,b:{t:2,i:[{t:3}],s:"描述"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"这个工具做什么?"}},intent:{t:0,b:{t:2,i:[{t:3}],s:"意图"}},intentPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"描述这个工具应该做什么..."}},generate:{t:0,b:{t:2,i:[{t:3}],s:"生成"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"生成中..."}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"参数"}},addParam:{t:0,b:{t:2,i:[{t:3}],s:"+ 添加"}},paramNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"名称"}},paramTypePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"类型"}},noParameters:{t:0,b:{t:2,i:[{t:3}],s:"无参数"}},probeAndPick:{t:0,b:{t:2,i:[{t:3}],s:"探测并选择"}},apiBadge:{t:0,b:{t:2,i:[{t:3}],s:"API"}},urlPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"https://api.example.com/..."}},probe:{t:0,b:{t:2,i:[{t:3}],s:"探测"}},headers:{t:0,b:{t:2,i:[{t:3}],s:"请求头"}},addHeader:{t:0,b:{t:2,i:[{t:3}],s:"+ 添加"}},headerNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"请求头名称"}},headerValuePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"值"}},markAsSecret:{t:0,b:{t:2,i:[{t:3}],s:"标记为机密(在生成的代码中使用环境变量)"}},requestBody:{t:0,b:{t:2,i:[{t:3}],s:"请求体"}},endpoints:{t:0,b:{t:2,i:[{t:3}],s:"端点"}},searchEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"搜索端点..."}},noMatchingEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"没有匹配的端点"}},aiSuggest:{t:0,b:{t:2,i:[{t:3}],s:"AI 建议"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"思考中..."}},field:{t:0,b:{t:2,i:[{t:3}],s:"个字段"}},fields:{t:0,b:{t:2,i:[{t:3}],s:"个字段"}},apply:{t:0,b:{t:2,i:[{t:3}],s:"应用"}},mappings:{t:0,b:{t:2,i:[{t:3}],s:"映射"}},outOfSync:{t:0,b:{t:2,i:[{t:3}],s:"不同步"}},bodyLabel:{t:0,b:{t:2,i:[{t:3}],s:"函数体 (TypeScript)"}},bodyPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"// 工具实现..."}},insightSuggestionLabel:{t:0,b:{t:2,i:[{t:3}],s:"AI 建议的修复(应用前请检查):"}},applyFix:{t:0,b:{t:2,i:[{t:3}],s:"应用修复"}},closeInsight:{t:0,b:{t:2,i:[{t:3}],s:"关闭"}}},aiDiff:{accept:{t:0,b:{t:2,i:[{t:3}],s:"接受"}},dismiss:{t:0,b:{t:2,i:[{t:3}],s:"忽略"}}}},Iy={title:{t:0,b:{t:2,i:[{t:3}],s:"AI 训练"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"浏览、筛选和导出工具工坊中的训练数据。"}},dashboard:{totalPairs:{t:0,b:{t:2,i:[{t:3}],s:"总数据对"}},accepted:{t:0,b:{t:2,i:[{t:3}],s:"已采纳"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"已拒绝"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"待处理"}},trainingPairs:{t:0,b:{t:2,i:[{t:3}],s:"训练数据对"}},acceptanceRate:{t:0,b:{t:2,i:[{t:3}],s:"采纳率"}},byPhase:{t:0,b:{t:2,i:[{t:3}],s:"按阶段"}},topModels:{t:0,b:{t:2,i:[{t:3}],s:"热门模型"}}},filters:{search:{t:0,b:{t:2,i:[{t:3}],s:"搜索..."}},searchPrompts:{t:0,b:{t:2,i:[{t:3}],s:"搜索提示词..."}},model:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"工具名称"}},tag:{t:0,b:{t:2,i:[{t:3}],s:"标签"}},status:{t:0,b:{t:2,i:[{t:3}],s:"状态"}},allModels:{t:0,b:{t:2,i:[{t:3}],s:"所有模型"}},allTools:{t:0,b:{t:2,i:[{t:3}],s:"所有工具"}},allTags:{t:0,b:{t:2,i:[{t:3}],s:"所有标签"}},allStatuses:{t:0,b:{t:2,i:[{t:3}],s:"所有状态"}}},bulk:{selected:{t:0,b:{t:2,i:[{t:3,v:"已选择 "},{t:4,k:"count"},{t:3,v:" 项"}]}},export:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},exportJsonl:{t:0,b:{t:2,i:[{t:3}],s:"导出 JSONL"}},markAccepted:{t:0,b:{t:2,i:[{t:3}],s:"标记为已采纳"}},markRejected:{t:0,b:{t:2,i:[{t:3}],s:"标记为已拒绝"}},addTag:{t:0,b:{t:2,i:[{t:3}],s:"添加标签"}},tagPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"标签名称..."}},delete:{t:0,b:{t:2,i:[{t:3}],s:"删除"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"确认?"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"取消选择"}}},tags:{addPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"添加标签..."}}},table:{selectAll:{t:0,b:{t:2,i:[{t:3}],s:"全选"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"取消全选"}},pairsShown:{t:0,b:{t:2,i:[{t:3,v:"显示 "},{t:4,k:"shown"},{t:3,v:" / 共 "},{t:4,k:"total"},{t:3,v:" 对"}]}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"没有匹配筛选条件的训练数据对。"}}},detail:{accepted:{t:0,b:{t:2,i:[{t:3}],s:"已采纳"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"已拒绝"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"系统提示词"}},userPrompt:{t:0,b:{t:2,i:[{t:3}],s:"用户提示词"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"推理过程"}},aiResponse:{t:0,b:{t:2,i:[{t:3}],s:"AI 回复"}},editResponse:{t:0,b:{t:2,i:[{t:3}],s:"编辑回复"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"标签"}},deletePair:{t:0,b:{t:2,i:[{t:3}],s:"删除数据对"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"确认删除?"}}},empty:{title:{t:0,b:{t:2,i:[{t:3}],s:"尚未收集到训练数据。"}},description:{t:0,b:{t:2,i:[{t:3}],s:"当你在工具工坊中使用 AI 功能(草拟生成、代码分析、自动映射和 AI 修复)时,训练数据对会自动生成。"}}}},Ny={title:{t:0,b:{t:2,i:[{t:3}],s:"我的系统"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"硬件、运行时和推理概览"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"刷新"}},detecting:{t:0,b:{t:2,i:[{t:3}],s:"检测硬件中..."}},detectingDetail:{t:0,b:{t:2,i:[{t:3}],s:"正在查询 CPU、内存、GPU 和存储"}},unavailable:{t:0,b:{t:2,i:[{t:3}],s:"硬件检测不可用。请重启开发服务器以启用系统信息插件。"}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"下载系统报告 (Markdown)"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"下载系统信息 (JSON)"}}},os:{title:{t:0,b:{t:2,i:[{t:3}],s:"操作系统"}},os:{t:0,b:{t:2,i:[{t:3}],s:"系统"}},version:{t:0,b:{t:2,i:[{t:3}],s:"版本"}},build:{t:0,b:{t:2,i:[{t:3}],s:"构建版本"}},architecture:{t:0,b:{t:2,i:[{t:3}],s:"架构"}}},device:{title:{t:0,b:{t:2,i:[{t:3}],s:"设备"}},name:{t:0,b:{t:2,i:[{t:3}],s:"名称"}},manufacturer:{t:0,b:{t:2,i:[{t:3}],s:"制造商"}},model:{t:0,b:{t:2,i:[{t:3}],s:"型号"}},family:{t:0,b:{t:2,i:[{t:3}],s:"系列"}}},cpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"处理器"}},cpu:{t:0,b:{t:2,i:[{t:3}],s:"CPU"}},physicalCores:{t:0,b:{t:2,i:[{t:3}],s:"物理核心"}},logicalProcessors:{t:0,b:{t:2,i:[{t:3}],s:"逻辑处理器"}},maxClock:{t:0,b:{t:2,i:[{t:3}],s:"最大频率"}}},memory:{title:{t:0,b:{t:2,i:[{t:3}],s:"内存"}},totalRam:{t:0,b:{t:2,i:[{t:3}],s:"总 RAM"}},available:{t:0,b:{t:2,i:[{t:3}],s:"可用"}},inUse:{t:0,b:{t:2,i:[{t:3}],s:"已使用"}}},gpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"显卡"}},gpu:{t:0,b:{t:2,i:[{t:3}],s:"GPU"}},adapterRam:{t:0,b:{t:2,i:[{t:3}],s:"适配器 RAM"}},sharedNotReported:{t:0,b:{t:2,i:[{t:3}],s:"共享 / 未报告"}},driver:{t:0,b:{t:2,i:[{t:3}],s:"驱动程序"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"存储"}},drive:{t:0,b:{t:2,i:[{t:3}],s:"磁盘"}},total:{t:0,b:{t:2,i:[{t:3}],s:"总计"}},free:{t:0,b:{t:2,i:[{t:3}],s:"可用"}},used:{t:0,b:{t:2,i:[{t:3}],s:"已使用"}}},browserStorage:{title:{t:0,b:{t:2,i:[{t:3}],s:"浏览器存储"}},persistent:{t:0,b:{t:2,i:[{t:3}],s:"持久化"}},bestEffort:{t:0,b:{t:2,i:[{t:3}],s:"尽力而为"}},scanning:{t:0,b:{t:2,i:[{t:3}],s:"扫描中..."}},indexedDbQuota:{t:0,b:{t:2,i:[{t:3}],s:"IndexedDB 配额"}},totalRecords:{t:0,b:{t:2,i:[{t:3,v:"共 "},{t:4,k:"count"},{t:3,v:" 条记录,分布于 "},{t:4,k:"databases"},{t:3,v:" 个数据库"}]}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"清除所有数据"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"空"}}},ollama:{title:{t:0,b:{t:2,i:[{t:3}],s:"Ollama 运行时"}},status:{t:0,b:{t:2,i:[{t:3}],s:"状态"}},version:{t:0,b:{t:2,i:[{t:3}],s:"版本"}},installedModels:{t:0,b:{t:2,i:[{t:3}],s:"已安装模型"}},totalModelStorage:{t:0,b:{t:2,i:[{t:3}],s:"模型总存储"}},modelsLoaded:{t:0,b:{t:2,i:[{t:3}],s:"已加载模型"}}},inference:{title:{t:0,b:{t:2,i:[{t:3}],s:"推理"}},thisSession:{t:0,b:{t:2,i:[{t:3}],s:"本次会话"}},noSessions:{t:0,b:{t:2,i:[{t:3}],s:"尚无推理会话。"}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"会话"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"平均速度"}},tokensGenerated:{t:0,b:{t:2,i:[{t:3}],s:"已生成 tokens"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"平均 TTFT"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"使用的模型"}}},activeModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"活跃模型"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"当前内存中没有加载模型。发送一条消息即可加载。"}},vram:{t:0,b:{t:2,i:[{t:3}],s:"VRAM"}},ram:{t:0,b:{t:2,i:[{t:3}],s:"RAM"}},total:{t:0,b:{t:2,i:[{t:3}],s:"总计"}},ctx:{t:0,b:{t:2,i:[{t:3}],s:"上下文"}}},installedModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"已安装模型"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"未安装任何模型。"}},model:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},family:{t:0,b:{t:2,i:[{t:3}],s:"系列"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"参数量"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"量化"}},size:{t:0,b:{t:2,i:[{t:3}],s:"大小"}}}},Ly={title:{t:0,b:{t:2,i:[{t:3}],s:"模型对比"}},configurator:{title:{t:0,b:{t:2,i:[{t:3}],s:"对比插槽"}},description:{t:0,b:{t:2,i:[{t:3}],s:"每个插槽是一个模型 + 设置组合。可多次添加同一模型并使用不同设置来对比行为。"}},addSlot:{t:0,b:{t:2,i:[{t:3}],s:"添加插槽"}},removeSlot:{t:0,b:{t:2,i:[{t:3}],s:"移除插槽"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"全部清除"}},model:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"系统提示词"}},optionalSystemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"可选的系统提示词..."}},options:{t:0,b:{t:2,i:[{t:3}],s:"选项"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"设置"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"温度"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top-P"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"随机(留空)"}},advanced:{t:0,b:{t:2,i:[{t:3}],s:"高级"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top-K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"重复惩罚"}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"关闭"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"最大 tokens"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"上下文长度"}},defaultPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"默认"}},slotsConfigured:{t:0,b:{t:2,i:[{t:3,v:"已配置 "},{t:4,k:"count"},{t:3,v:" 个插槽"}]}},emptyTitle:{t:0,b:{t:2,i:[{t:3}],s:"尚未配置插槽"}},emptyDescription:{t:0,b:{t:2,i:[{t:3}],s:"添加一个插槽来选择模型和设置,或使用上方的快速启动预设开始。"}},addFirstSlot:{t:0,b:{t:2,i:[{t:3}],s:"+ 添加第一个插槽"}},addSlotCount:{t:0,b:{t:2,i:[{t:3,v:"+ 添加插槽 ("},{t:4,k:"current"},{t:3,v:"/4)"}]}},presets:{quickStart:{t:0,b:{t:2,i:[{t:3}],s:"快速启动:"}},tempSweep:{t:0,b:{t:2,i:[{t:3}],s:"温度扫描"}},tempSweepDesc:{t:0,b:{t:2,i:[{t:3}],s:"创建同一模型的 3 个插槽,温度分别为 0.2(专注)、0.7(均衡)和 1.2(创意)。观察温度如何影响相同提示词的输出。"}},deterministicPair:{t:0,b:{t:2,i:[{t:3}],s:"确定性配对"}},deterministicPairDesc:{t:0,b:{t:2,i:[{t:3}],s:"创建同一模型的 2 个插槽,使用相同 seed 但不同温度(0.3 和 1.0)。共享 seed 意味着输出的任何差异纯粹来自温度,而非随机性。"}},languageCompare:{t:0,b:{t:2,i:[{t:3}],s:"语言对比"}},languageCompareTooltip:{t:0,b:{t:2,i:[{t:3}],s:"比较不同语言如何影响 token 成本和模型行为"}}}},prompt:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"输入提示词以跨插槽进行对比..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"对比"}},running:{t:0,b:{t:2,i:[{t:3}],s:"运行中..."}}},results:{title:{t:0,b:{t:2,i:[{t:3}],s:"结果"}},grid:{t:0,b:{t:2,i:[{t:3}],s:"网格"}},diff:{t:0,b:{t:2,i:[{t:3}],s:"差异"}}},diff:{needTwoResults:{t:0,b:{t:2,i:[{t:3}],s:"需要至少 2 个已完成的结果才能显示差异。"}},compare:{t:0,b:{t:2,i:[{t:3}],s:"比较:"}},vs:{t:0,b:{t:2,i:[{t:3}],s:"与"}},only:{t:0,b:{t:2,i:[{t:3,v:"仅 "},{t:4,k:"label"}]}}},metrics:{performanceComparison:{t:0,b:{t:2,i:[{t:3}],s:"性能对比"}},timeToFirstToken:{t:0,b:{t:2,i:[{t:3}],s:"首 token 时间"}},lowerBetter:{t:0,b:{t:2,i:[{t:3}],s:"越低越好"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"Tokens/秒"}},higherBetter:{t:0,b:{t:2,i:[{t:3}],s:"越高越好"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"总 tokens"}},speed:{t:0,b:{t:2,i:[{t:3}],s:"速度"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"耗时"}}},column:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens"}}},language:{mismatchTitle:{t:0,b:{t:2,i:[{t:3}],s:"检测到语言不匹配"}},mismatchDescription:{t:0,b:{t:2,i:[{t:3,v:"您的提示词似乎是"},{t:4,k:"detected"},{t:3,v:"。"}]}},targetIs:{t:0,b:{t:2,i:[{t:3,v:"目标语言:"},{t:4,k:"language"}]}},translateTo:{t:0,b:{t:2,i:[{t:3,v:"翻译为"},{t:4,k:"language"}]}},keepDetected:{t:0,b:{t:2,i:[{t:3,v:"保留"},{t:4,k:"language"}]}},translateAll:{t:0,b:{t:2,i:[{t:3}],s:"全部翻译"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"取消"}},tokenTaxTitle:{t:0,b:{t:2,i:[{t:3}],s:"Token 税"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"提示词 Tokens"}},promptText:{t:0,b:{t:2,i:[{t:3}],s:"翻译后的提示词"}},translated:{t:0,b:{t:2,i:[{t:3}],s:"已翻译"}},unsupported:{t:0,b:{t:2,i:[{t:3}],s:"暂不支持该语言"}},translating:{t:0,b:{t:2,i:[{t:3}],s:"翻译中……根据模型大小可能需要一些时间"}},qualityWarning:{t:0,b:{t:2,i:[{t:3}],s:"翻译质量取决于模型的语言能力。更大的模型能产生更好的翻译。"}},promptPlaceholder:{t:0,b:{t:2,i:[{t:3,v:"输入或粘贴"},{t:4,k:"lang"},{t:3,v:"提示词..."}]}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"已保存的对比"}},load:{t:0,b:{t:2,i:[{t:3}],s:"加载"}},noSavedRuns:{t:0,b:{t:2,i:[{t:3}],s:"暂无保存的对比"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},json:{t:0,b:{t:2,i:[{t:3}],s:"下载 JSON"}},markdown:{t:0,b:{t:2,i:[{t:3}],s:"下载 Markdown"}}},share:{toDiscussions:{t:0,b:{t:2,i:[{t:3}],s:"分享到 GitHub Discussions"}},dialogTitle:{t:0,b:{t:2,i:[{t:3}],s:"分享你的发现"}},commentaryLabel:{t:0,b:{t:2,i:[{t:3}],s:"添加你的评论"}},commentaryPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"你发现了什么?分享你的见解..."}},preview:{t:0,b:{t:2,i:[{t:3}],s:"报告预览"}},openGithub:{t:0,b:{t:2,i:[{t:3}],s:"打开 GitHub Discussions"}},copyMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"复制 Markdown"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"已复制!"}},note:{t:0,b:{t:2,i:[{t:3}],s:"你将被重定向到 GitHub 查看并发布你的结果。"}}}},Fy={title:{t:0,b:{t:2,i:[{t:3}],s:"会话"}},sessionId:{t:0,b:{t:2,i:[{t:3,v:"会话 "},{t:4,k:"id"}]}},notFound:{t:0,b:{t:2,i:[{t:3}],s:"未找到会话。"}},tabs:{stream:{t:0,b:{t:2,i:[{t:3}],s:"流"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"推理"}},introspection:{t:0,b:{t:2,i:[{t:3}],s:"内省"}},tools:{t:0,b:{t:2,i:[{t:3}],s:"工具"}},agent:{t:0,b:{t:2,i:[{t:3}],s:"Agent 图"}},prompt:{t:0,b:{t:2,i:[{t:3}],s:"提示词"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"导出"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"下载 JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"下载 Markdown"}},downloadTokenCsv:{t:0,b:{t:2,i:[{t:3}],s:"下载 Token 流 CSV"}}},stream:{tokenStream:{t:0,b:{t:2,i:[{t:3}],s:"Token 流"}},metrics:{t:0,b:{t:2,i:[{t:3}],s:"指标"}}},tokenStream:{promptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"输入你的提示词..."}}},reasoning:{title:{t:0,b:{t:2,i:[{t:3}],s:"推理"}},noReasoning:{t:0,b:{t:2,i:[{t:3}],s:"此会话没有可用的推理数据。"}}},introspection:{title:{t:0,b:{t:2,i:[{t:3}],s:"内省"}},illustrative:{t:0,b:{t:2,i:[{t:3}],s:"示意性"}}},toolCalls:{title:{t:0,b:{t:2,i:[{t:3}],s:"工具调用"}},timeline:{t:0,b:{t:2,i:[{t:3}],s:"时间线"}},optimize:{t:0,b:{t:2,i:[{t:3}],s:"优化"}}},agentGraph:{title:{t:0,b:{t:2,i:[{t:3}],s:"Agent 图"}}},promptInspector:{title:{t:0,b:{t:2,i:[{t:3}],s:"提示词检查器"}}}},jy={title:{t:0,b:{t:2,i:[{t:3}],s:"发送反馈"}},thankYou:{t:0,b:{t:2,i:[{t:3}],s:"感谢你的反馈!"}},thankYouDetail:{t:0,b:{t:2,i:[{t:3}],s:"你的意见有助于改进 LLMxRay。"}},typeQuestion:{t:0,b:{t:2,i:[{t:3}],s:"反馈类型?"}},types:{bug:{t:0,b:{t:2,i:[{t:3}],s:"缺陷"}},idea:{t:0,b:{t:2,i:[{t:3}],s:"建议"}},question:{t:0,b:{t:2,i:[{t:3}],s:"问题"}},other:{t:0,b:{t:2,i:[{t:3}],s:"其他"}}},message:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"告诉我们你的想法..."}}},email:{label:{t:0,b:{t:2,i:[{t:3}],s:"邮箱"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"(可选 — 仅在你希望收到回复时填写)"}},placeholder:{t:0,b:{t:2,i:[{t:3},{t:9},{t:3}],s:"your@email.com"}}},submit:{send:{t:0,b:{t:2,i:[{t:3}],s:"发送反馈"}},sending:{t:0,b:{t:2,i:[{t:3}],s:"发送中..."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"会包含应用上下文(页面、模型、系统)以帮助我们理解你的反馈。"}}},By={issuesDetected:{t:0,b:{t:2,i:[{t:3}],s:"检测到质量问题"}},repetition:{label:{t:0,b:{t:2,i:[{t:3}],s:"重复"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"回复包含过多重复短语"}}},refusal:{label:{t:0,b:{t:2,i:[{t:3}],s:"拒绝"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"回复似乎是拒绝回答"}}},gibberish:{label:{t:0,b:{t:2,i:[{t:3}],s:"乱码"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"回复包含大量不可打印字符"}}},empty:{label:{t:0,b:{t:2,i:[{t:3}],s:"空白"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"回复内容极少"}}},truncation:{label:{t:0,b:{t:2,i:[{t:3}],s:"截断"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"回复可能被提前中断"}}}},qy={title:{t:0,b:{t:2,i:[{t:3}],s:"成本面板"}},summary:{totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"总令牌数"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"会话数"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"预估成本"}},avgCostPerSession:{t:0,b:{t:2,i:[{t:3}],s:"平均成本/会话"}}},charts:{tokensByModel:{t:0,b:{t:2,i:[{t:3}],s:"按模型的令牌使用量"}},dailyUsage:{t:0,b:{t:2,i:[{t:3}],s:"每日使用量"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"提示令牌"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"完成令牌"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"预估成本"}},costTrend:{t:0,b:{t:2,i:[{t:3}],s:"成本趋势"}}},table:{model:{t:0,b:{t:2,i:[{t:3}],s:"模型"}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"会话"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"提示"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"完成"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"总计"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"预估成本"}},pricingSource:{t:0,b:{t:2,i:[{t:3}],s:"来源"}}},percentiles:{latencyTitle:{t:0,b:{t:2,i:[{t:3}],s:"请求延迟 (P50 / P95 / P99)"}},ttftTitle:{t:0,b:{t:2,i:[{t:3}],s:"首个令牌时间 (P50 / P95 / P99)"}},histogramTitle:{t:0,b:{t:2,i:[{t:3}],s:"令牌间延迟分布"}},histogramHint:{t:0,b:{t:2,i:[{t:3}],s:"桶边界遵循 OTel GenAI 规范。跨所有会话聚合。"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"会话数据不足,无法进行百分位分析。"}}},errors:{title:{t:0,b:{t:2,i:[{t:3}],s:"按模型的错误"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"未记录任何错误。"}}},loadDuration:{title:{t:0,b:{t:2,i:[{t:3}],s:"模型加载时长"}},coldStarts:{t:0,b:{t:2,i:[{t:3}],s:"次冷启动"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"橙色圆点表示冷启动(模型从磁盘加载,> 500ms)。"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"暂无会话数据。"}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"这些成本是基于等效云API定价的估算值。Ollama在本地免费运行。"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"暂无使用数据。开始聊天以查看令牌使用量和成本估算。"}}},$y={title:{t:0,b:{t:2,i:[{t:3}],s:"分析"}},sections:{quality:{t:0,b:{t:2,i:[{t:3}],s:"回复质量"}},latency:{t:0,b:{t:2,i:[{t:3}],s:"延迟分析"}},reliability:{t:0,b:{t:2,i:[{t:3}],s:"可靠性"}},usage:{t:0,b:{t:2,i:[{t:3}],s:"使用模式"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"参数影响"}},modelMemory:{t:0,b:{t:2,i:[{t:3}],s:"模型内存"}}},quality:{title:{t:0,b:{t:2,i:[{t:3}],s:"逐轮质量"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"绿色 = 好 (3.5+),黄色 = 一般 (2-3.5),红色 = 差 (< 2)。基于字数、词汇多样性和非重复性评分。"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"开始多轮对话以查看质量趋势。"}}},errors:{timelineTitle:{t:0,b:{t:2,i:[{t:3}],s:"错误时间线"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"未记录任何错误。"}}},usage:{requestVolume:{t:0,b:{t:2,i:[{t:3}],s:"请求量"}},modelDistribution:{t:0,b:{t:2,i:[{t:3}],s:"模型分布"}},activeHours:{t:0,b:{t:2,i:[{t:3}],s:"活跃时段"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"暂无会话数据。"}}},settings:{title:{t:0,b:{t:2,i:[{t:3}],s:"温度 vs 速度"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"每个点代表一个会话,展示温度对生成速度的影响。"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"至少需要2个带有显式温度设置的会话。"}}},modelLoad:{title:{t:0,b:{t:2,i:[{t:3}],s:"模型加载历史"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"冷启动"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"暂无会话数据。"}}}},Vy={common:Cy,dashboard:Ey,settings:Py,benchmark:Ry,embeddings:My,rag:Dy,tools:Oy,training:Iy,system:Ny,comparison:Ly,session:Fy,feedback:jy,quality:By,cost:qy,analytics:$y},Ky={nav:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"تشخيص المحادثة"}},compare:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"التضمينات"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة المعرفة"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"ورشة الأدوات"}},aiTraining:{t:0,b:{t:2,i:[{t:3}],s:"تدريب الذكاء الاصطناعي"}},models:{t:0,b:{t:2,i:[{t:3}],s:"النماذج"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"اختبار الأداء"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"التكاليف"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"التحليلات"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"نظامي"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"الإعدادات"}},tagline:{t:0,b:{t:2,i:[{t:3}],s:"مرصد النماذج اللغوية المحلية"}}},header:{chatDiagnostics:{t:0,b:{t:2,i:[{t:3}],s:"تشخيص المحادثة"}},session:{t:0,b:{t:2,i:[{t:3}],s:"الجلسة"}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة النماذج"}},embeddings:{t:0,b:{t:2,i:[{t:3}],s:"التضمينات"}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة المعرفة"}},models:{t:0,b:{t:2,i:[{t:3}],s:"النماذج"}},benchmark:{t:0,b:{t:2,i:[{t:3}],s:"اختبار الأداء"}},toolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"ورشة الأدوات"}},costDashboard:{t:0,b:{t:2,i:[{t:3}],s:"التكاليف"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"التحليلات"}},mySystem:{t:0,b:{t:2,i:[{t:3}],s:"نظامي"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"الإعدادات"}},default:{t:0,b:{t:2,i:[{t:3}],s:"LLMxRay"}}},status:{ollamaConnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama متصل"}},ollamaDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"Ollama غير متصل"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التحميل..."}},processing:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ المعالجة..."}},ready:{t:0,b:{t:2,i:[{t:3}],s:"جاهز"}},error:{t:0,b:{t:2,i:[{t:3}],s:"خطأ"}},success:{t:0,b:{t:2,i:[{t:3}],s:"نجاح"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"قيد الانتظار"}},running:{t:0,b:{t:2,i:[{t:3}],s:"قيد التشغيل"}},completed:{t:0,b:{t:2,i:[{t:3}],s:"مكتمل"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"فشل"}},streaming:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ البث"}},idle:{t:0,b:{t:2,i:[{t:3}],s:"خامل"}},connected:{t:0,b:{t:2,i:[{t:3}],s:"متصل"}},disconnected:{t:0,b:{t:2,i:[{t:3}],s:"غير متصل"}}},theme:{dark:{t:0,b:{t:2,i:[{t:3}],s:"داكن"}},light:{t:0,b:{t:2,i:[{t:3}],s:"فاتح"}},system:{t:0,b:{t:2,i:[{t:3}],s:"النظام"}},themeLabel:{t:0,b:{t:2,i:[{t:3}],s:"المظهر"}}},locale:{language:{t:0,b:{t:2,i:[{t:3}],s:"اللغة"}},english:{t:0,b:{t:2,i:[{t:3}],s:"الإنجليزية"}},french:{t:0,b:{t:2,i:[{t:3}],s:"الفرنسية"}}},actions:{save:{t:0,b:{t:2,i:[{t:3}],s:"حفظ"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"حذف"}},close:{t:0,b:{t:2,i:[{t:3}],s:"إغلاق"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"نسخ"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"تعديل"}},test:{t:0,b:{t:2,i:[{t:3}],s:"اختبار"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"تحديث"}},clear:{t:0,b:{t:2,i:[{t:3}],s:"مسح"}},send:{t:0,b:{t:2,i:[{t:3}],s:"إرسال"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"إيقاف"}},add:{t:0,b:{t:2,i:[{t:3}],s:"إضافة"}},remove:{t:0,b:{t:2,i:[{t:3}],s:"إزالة"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"تأكيد"}},back:{t:0,b:{t:2,i:[{t:3}],s:"رجوع"}},next:{t:0,b:{t:2,i:[{t:3}],s:"التالي"}},submit:{t:0,b:{t:2,i:[{t:3}],s:"إرسال"}},reset:{t:0,b:{t:2,i:[{t:3}],s:"إعادة تعيين"}},export:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},import:{t:0,b:{t:2,i:[{t:3}],s:"استيراد"}}},time:{justNow:{t:0,b:{t:2,i:[{t:3}],s:"الآن"}},minutesAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" دقيقة"}]},{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" دقائق"}]}]}},hoursAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" ساعة"}]},{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" ساعات"}]}]}},daysAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" يوم"}]},{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" أيام"}]}]}},monthsAgo:{t:0,b:{t:1,c:[{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" شهر"}]},{t:2,i:[{t:3,v:"منذ "},{t:4,k:"count"},{t:3,v:" أشهر"}]}]}}},units:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"token"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"token/ث"}},milliseconds:{t:0,b:{t:2,i:[{t:3}],s:"مللي ثانية"}},seconds:{t:0,b:{t:2,i:[{t:3}],s:"ث"}},bytes:{t:0,b:{t:2,i:[{t:3}],s:"بايت"}},kilobytes:{t:0,b:{t:2,i:[{t:3}],s:"كيلوبايت"}},megabytes:{t:0,b:{t:2,i:[{t:3}],s:"ميغابايت"}},gigabytes:{t:0,b:{t:2,i:[{t:3}],s:"غيغابايت"}},percent:{t:0,b:{t:2,i:[{t:3}],s:"%"}},dimensions:{t:0,b:{t:2,i:[{t:3}],s:"أبعاد"}}},model:{selectModel:{t:0,b:{t:2,i:[{t:3}],s:"اختر نموذجاً"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج متاحة"}},loadingModels:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ تحميل النماذج..."}},pullModel:{t:0,b:{t:2,i:[{t:3}],s:"تنزيل نموذج"}}},empty:{noData:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد بيانات متاحة"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم العثور على نتائج"}},nothingHere:{t:0,b:{t:2,i:[{t:3}],s:"لا يوجد شيء هنا بعد"}}},languages:{en:{t:0,b:{t:2,i:[{t:3}],s:"الإنجليزية"}},fr:{t:0,b:{t:2,i:[{t:3}],s:"الفرنسية"}},ar:{t:0,b:{t:2,i:[{t:3}],s:"العربية"}},zh:{t:0,b:{t:2,i:[{t:3}],s:"الصينية"}},ja:{t:0,b:{t:2,i:[{t:3}],s:"اليابانية"}},he:{t:0,b:{t:2,i:[{t:3}],s:"العبرية"}},de:{t:0,b:{t:2,i:[{t:3}],s:"الألمانية"}},es:{t:0,b:{t:2,i:[{t:3}],s:"الإسبانية"}},pt:{t:0,b:{t:2,i:[{t:3}],s:"البرتغالية"}},it:{t:0,b:{t:2,i:[{t:3}],s:"الإيطالية"}},ru:{t:0,b:{t:2,i:[{t:3}],s:"الروسية"}},ko:{t:0,b:{t:2,i:[{t:3}],s:"الكورية"}},hi:{t:0,b:{t:2,i:[{t:3}],s:"الهندية"}}}},Uy={title:{t:0,b:{t:2,i:[{t:3}],s:"تشخيص المحادثة"}},input:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"أرسل رسالة... (Shift+Enter لسطر جديد)"}},placeholderVision:{t:0,b:{t:2,i:[{t:3}],s:"أرسل رسالة أو الصق/أسقط صورة..."}},commands:{t:0,b:{t:2,i:[{t:3}],s:"الأوامر"}},attachFiles:{t:0,b:{t:2,i:[{t:3}],s:"إرفاق ملفات"}},attachFilesVision:{t:0,b:{t:2,i:[{t:3}],s:"إرفاق ملفات أو صور"}},stopGenerating:{t:0,b:{t:2,i:[{t:3}],s:"إيقاف التوليد"}},sendMessage:{t:0,b:{t:2,i:[{t:3}],s:"إرسال رسالة"}},visionBadge:{t:0,b:{t:2,i:[{t:3}],s:"نموذج رؤية — يمكنه معالجة الصور"}}},dropZone:{t:0,b:{t:2,i:[{t:3}],s:"أسقط الملفات لإرفاقها"}},conversation:{newChat:{t:0,b:{t:2,i:[{t:3}],s:"محادثة جديدة"}},newChatButton:{t:0,b:{t:2,i:[{t:3}],s:"+ محادثة جديدة"}},history:{t:0,b:{t:2,i:[{t:3}],s:"السجل"}},chatHistory:{t:0,b:{t:2,i:[{t:3}],s:"سجل المحادثات"}},rename:{t:0,b:{t:2,i:[{t:3}],s:"إعادة تسمية"}},deleteChat:{t:0,b:{t:2,i:[{t:3}],s:"حذف المحادثة"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"هل أنت متأكد من حذف هذه المحادثة؟"}},displayName:{t:0,b:{t:2,i:[{t:3}],s:"اسم العرض"}},defaultName:{t:0,b:{t:2,i:[{t:3}],s:"محادثة جديدة"}},editName:{t:0,b:{t:2,i:[{t:3}],s:"تعديل الاسم"}},noHistory:{t:0,b:{t:2,i:[{t:3}],s:"لا يوجد سجل محادثات"}},noConversationsYet:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد محادثات بعد."}},clickToRename:{t:0,b:{t:2,i:[{t:3}],s:"انقر لإعادة التسمية"}},viewSessionDetails:{t:0,b:{t:2,i:[{t:3}],s:"عرض تفاصيل الجلسة"}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"بدون عنوان"}},minutesAgo:{t:0,b:{t:2,i:[{t:3,v:"منذ "},{t:4,k:"n"},{t:3,v:" د"}]}},hoursAgo:{t:0,b:{t:2,i:[{t:3,v:"منذ "},{t:4,k:"n"},{t:3,v:" س"}]}},daysAgo:{t:0,b:{t:2,i:[{t:3,v:"منذ "},{t:4,k:"n"},{t:3,v:" ي"}]}}},metrics:{sessions:{t:0,b:{t:2,i:[{t:3}],s:"جلسات"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي الجلسات"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"متوسط TTFT"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"متوسط السرعة"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي token"}},recentChats:{t:0,b:{t:2,i:[{t:3}],s:"المحادثات الأخيرة"}}},settings:{chatSettings:{t:0,b:{t:2,i:[{t:3}],s:"إعدادات المحادثة"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"درجة الحرارة"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top P"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"عقوبة التكرار"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"طول السياق"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"الحد الأقصى لعدد token"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"موجه النظام"}},systemPromptHint:{t:0,b:{t:2,i:[{t:3}],s:"تعليمات تُرسل قبل المحادثة. تحدد سلوك النموذج وشخصيته."}},systemPromptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"أنت مساعد مفيد..."}},knowledgeBase:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة المعرفة"}},kbEnabled:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة المعرفة مفعّلة"}},kbDisabled:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة المعرفة معطّلة"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"مستندات"}},manage:{t:0,b:{t:2,i:[{t:3}],s:"إدارة"}},noDocumentsIngested:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم استيعاب أي مستندات"}},addDocuments:{t:0,b:{t:2,i:[{t:3}],s:"إضافة مستندات"}},precise:{t:0,b:{t:2,i:[{t:3}],s:"دقيق"}},creative:{t:0,b:{t:2,i:[{t:3}],s:"إبداعي"}},unlimited:{t:0,b:{t:2,i:[{t:3}],s:"غير محدود"}},maxTokensHint:{t:0,b:{t:2,i:[{t:3}],s:"الحد الأقصى لطول الاستجابة. -1 = غير محدود."}},maxTokensPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 لغير محدود"}},contextWindow:{t:0,b:{t:2,i:[{t:3}],s:"نافذة السياق"}},contextWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي السياق الذي يراه النموذج. أعلى = ذاكرة أكثر، أبطأ."}},advancedSampling:{t:0,b:{t:2,i:[{t:3}],s:"أخذ العينات المتقدم"}},topPHint:{t:0,b:{t:2,i:[{t:3}],s:"أخذ عينات نواة. أقل = تركيز أكبر على token الأكثر احتمالاً."}},topKHint:{t:0,b:{t:2,i:[{t:3}],s:"يحد أخذ العينات إلى أعلى K من token في كل خطوة."}},repeatPenaltyHint:{t:0,b:{t:2,i:[{t:3}],s:"يعاقب token التي ظهرت بالفعل. أعلى = تكرار أقل."}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"معطّل"}},mirostatDisabled:{t:0,b:{t:2,i:[{t:3}],s:"معطّل"}},mirostatV1:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v1"}},mirostatV2:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat v2"}},mirostatHint:{t:0,b:{t:2,i:[{t:3}],s:"أخذ عينات تكيّفي قائم على الحيرة. يتجاوز top_p/top_k عند التفعيل."}},seedRandom:{t:0,b:{t:2,i:[{t:3}],s:"عشوائي"}},seedHint:{t:0,b:{t:2,i:[{t:3}],s:"بذرة ثابتة لمخرجات قابلة للتكرار. -1 = عشوائي."}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"-1 لعشوائي"}},stopSequences:{t:0,b:{t:2,i:[{t:3}],s:"تسلسلات الإيقاف"}},stopSequencesPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"مثلاً Human:, \\n\\n"}},stopSequencesHint:{t:0,b:{t:2,i:[{t:3}],s:"سلاسل نصية مفصولة بفواصل توقف التوليد عند إنتاجها."}},tools:{t:0,b:{t:2,i:[{t:3}],s:"الأدوات"}},active:{t:0,b:{t:2,i:[{t:3}],s:"نشط"}},noToolsDefined:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم تعريف أدوات بعد"}},manageInToolWorkshop:{t:0,b:{t:2,i:[{t:3}],s:"إدارة في ورشة الأدوات..."}},pulling:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التنزيل..."}},pull:{t:0,b:{t:2,i:[{t:3}],s:"تنزيل"}}},memory:{slidingWindow:{t:0,b:{t:2,i:[{t:3}],s:"النافذة المنزلقة"}},slidingWindowHint:{t:0,b:{t:2,i:[{t:3}],s:"الاحتفاظ بآخر N رسالة فقط"}},maxMessages:{t:0,b:{t:2,i:[{t:3}],s:"الحد الأقصى للرسائل"}},autoSummarize:{t:0,b:{t:2,i:[{t:3}],s:"تلخيص تلقائي"}},autoSummarizeHint:{t:0,b:{t:2,i:[{t:3}],s:"تلخيص الرسائل القديمة تلقائياً"}},summarizeThreshold:{t:0,b:{t:2,i:[{t:3}],s:"عتبة التلخيص"}},triggerAfter:{t:0,b:{t:2,i:[{t:3}],s:"التفعيل بعد"}},messages:{t:0,b:{t:2,i:[{t:3}],s:"رسائل"}},userFacts:{t:0,b:{t:2,i:[{t:3}],s:"حقائق المستخدم"}},userMemories:{t:0,b:{t:2,i:[{t:3}],s:"ذاكرة المستخدم"}},userMemoriesHint:{t:0,b:{t:2,i:[{t:3}],s:"حقائق /remember تُحقن في السياق"}},addFact:{t:0,b:{t:2,i:[{t:3}],s:"إضافة حقيقة"}},ragMemory:{t:0,b:{t:2,i:[{t:3}],s:"ذاكرة RAG"}},messageMemoryRag:{t:0,b:{t:2,i:[{t:3}],s:"ذاكرة الرسائل (RAG)"}},messageMemoryHint:{t:0,b:{t:2,i:[{t:3}],s:"استرجاع الرسائل السابقة ذات الصلة عبر التضمينات"}},embeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"نموذج embedding"}},selectEmbeddingModel:{t:0,b:{t:2,i:[{t:3}],s:"اختر نموذج embedding..."}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم العثور على نماذج embedding. قم بتنزيل واحد:"}},retrieveTop:{t:0,b:{t:2,i:[{t:3}],s:"استرجاع أعلى"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"أعلى K نتيجة"}},memory:{t:0,b:{t:2,i:[{t:3}],s:"الذاكرة"}},facts:{t:0,b:{t:2,i:[{t:3}],s:"حقائق"}}},empty:{startConversation:{t:0,b:{t:2,i:[{t:3}],s:"ابدأ محادثة مع نموذج محلي"}}},bubble:{truncatedWarning:{t:0,b:{t:2,i:[{t:3}],s:"تم اقتطاع الاستجابة — قم بزيادة num_predict في الإعدادات للحصول على استجابات أطول"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"token"}},tokPerSec:{t:0,b:{t:2,i:[{t:3}],s:"tok/ث"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"بداية باردة"}},coldStart:{t:0,b:{t:2,i:[{t:3}],s:"تم تحميل النموذج من القرص لهذا الطلب (وقت التحميل > 500 مللي ثانية)"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"تحميل JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"تحميل Markdown"}},downloadText:{t:0,b:{t:2,i:[{t:3}],s:"تحميل نص"}}},slashCommands:{chatConversation:{t:0,b:{t:2,i:[{t:3}],s:"المحادثة والدردشة"}},modelSettings:{t:0,b:{t:2,i:[{t:3}],s:"النموذج والإعدادات"}},featuresNavigation:{t:0,b:{t:2,i:[{t:3}],s:"الميزات والتنقل"}}}},Hy={tabs:{general:{t:0,b:{t:2,i:[{t:3}],s:"عام"}},models:{t:0,b:{t:2,i:[{t:3}],s:"النماذج"}},integrations:{t:0,b:{t:2,i:[{t:3}],s:"التكاملات"}},about:{t:0,b:{t:2,i:[{t:3}],s:"حول"}},history:{t:0,b:{t:2,i:[{t:3}],s:"السجل"}}},general:{ollamaConnection:{t:0,b:{t:2,i:[{t:3}],s:"اتصال Ollama"}},ollamaUrl:{t:0,b:{t:2,i:[{t:3}],s:"رابط Ollama"}},testConnection:{t:0,b:{t:2,i:[{t:3}],s:"اختبار"}},save:{t:0,b:{t:2,i:[{t:3}],s:"حفظ"}},connectionSuccess:{t:0,b:{t:2,i:[{t:3}],s:"تم الاتصال بنجاح"}},connectionFailed:{t:0,b:{t:2,i:[{t:3}],s:"فشل الاتصال"}},connectionConnected:{t:0,b:{t:2,i:[{t:3}],s:"متصل"}},connectionTesting:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ الاختبار..."}},connectionDisconnected:{t:0,b:{t:2,i:[{t:3}],s:"غير متصل"}},defaultParameters:{t:0,b:{t:2,i:[{t:3}],s:"المعاملات الافتراضية"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"درجة الحرارة"}},temperatureTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"ما هي درجة الحرارة؟"}},temperatureTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:'تتحكم درجة الحرارة في مدى "إبداعية" أو "عشوائية" إجابات النموذج.'}},temperatureTooltipZero:{t:0,b:{t:2,i:[{t:3}],s:"يختار دائماً الكلمة الأكثر احتمالاً. مثالي للحقائق والرياضيات والبرمجة."}},temperatureTooltipDefault:{t:0,b:{t:2,i:[{t:3}],s:"توازن جيد. هذه هي القيمة الافتراضية."}},temperatureTooltipHigh:{t:0,b:{t:2,i:[{t:3}],s:"أكثر مفاجأة وإبداعاً."}},temperatureDeterministic:{t:0,b:{t:2,i:[{t:3}],s:"حتمي"}},temperatureFocused:{t:0,b:{t:2,i:[{t:3}],s:"مركّز"}},temperatureBalanced:{t:0,b:{t:2,i:[{t:3}],s:"متوازن"}},temperatureCreative:{t:0,b:{t:2,i:[{t:3}],s:"إبداعي"}},temperatureVeryRandom:{t:0,b:{t:2,i:[{t:3}],s:"عشوائي جداً"}},temperatureWild:{t:0,b:{t:2,i:[{t:3}],s:"جامح"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"طول السياق"}},contextLengthTooltipTitle:{t:0,b:{t:2,i:[{t:3}],s:"ما هو طول السياق؟"}},contextLengthTooltipDesc:{t:0,b:{t:2,i:[{t:3}],s:"مقدار المحادثة الذي يمكن للنموذج رؤيته دفعة واحدة، مقاساً بعدد token."}},contextLengthTooltipNote:{t:0,b:{t:2,i:[{t:3}],s:"سياق أكبر يستهلك المزيد من RAM/VRAM."}},approximateWords:{t:0,b:{t:2,i:[{t:3,v:"≈ "},{t:4,k:"count"},{t:3,v:" كلمة"}]}},language:{t:0,b:{t:2,i:[{t:3}],s:"اللغة"}},selectLanguage:{t:0,b:{t:2,i:[{t:3}],s:"اختر اللغة"}}},models:{installedModels:{t:0,b:{t:2,i:[{t:3}],s:"النماذج المثبّتة"}},pullNewModel:{t:0,b:{t:2,i:[{t:3}],s:"تنزيل نموذج جديد"}},modelName:{t:0,b:{t:2,i:[{t:3}],s:"اسم النموذج"}},pull:{t:0,b:{t:2,i:[{t:3}],s:"تنزيل"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"حذف"}},deleteConfirm:{t:0,b:{t:2,i:[{t:3}],s:"هل أنت متأكد من حذف هذا النموذج؟"}},size:{t:0,b:{t:2,i:[{t:3}],s:"الحجم"}},family:{t:0,b:{t:2,i:[{t:3}],s:"العائلة"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"التكميم"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"المعاملات"}},capabilities:{t:0,b:{t:2,i:[{t:3}],s:"القدرات"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"تحديث"}},downloadModels:{t:0,b:{t:2,i:[{t:3}],s:"تنزيل النماذج"}},searchModels:{t:0,b:{t:2,i:[{t:3}],s:"البحث في النماذج..."}},noModelsInstalled:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج مثبّتة. قم بتنزيل واحد من الكتالوج أدناه."}},noModelsMatch:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج تطابق بحثك."}},pullByName:{t:0,b:{t:2,i:[{t:3}],s:"تنزيل أي نموذج بالاسم"}},installed:{t:0,b:{t:2,i:[{t:3}],s:"مثبّت"}},confirmDeletePrompt:{t:0,b:{t:2,i:[{t:3}],s:"تأكيد الحذف؟"}}},integrations:{googleAccount:{t:0,b:{t:2,i:[{t:3}],s:"حساب Google"}},connect:{t:0,b:{t:2,i:[{t:3}],s:"ربط"}},disconnect:{t:0,b:{t:2,i:[{t:3}],s:"قطع الاتصال"}},connectedAs:{t:0,b:{t:2,i:[{t:3}],s:"متصل بحساب"}},googleIntegration:{t:0,b:{t:2,i:[{t:3}],s:"تكامل Google"}},googleIntegrationDesc:{t:0,b:{t:2,i:[{t:3}],s:"اربط حساب Google الخاص بك لتفعيل أدوات التقويم و Gmail في ورشة الأدوات."}},oauthClientId:{t:0,b:{t:2,i:[{t:3}],s:"معرّف عميل OAuth2"}},authenticating:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ المصادقة..."}},notConnected:{t:0,b:{t:2,i:[{t:3}],s:"غير متصل"}},connectGoogleAccount:{t:0,b:{t:2,i:[{t:3}],s:"ربط حساب Google"}},showSetup:{t:0,b:{t:2,i:[{t:3}],s:"عرض تعليمات الإعداد"}},hideSetup:{t:0,b:{t:2,i:[{t:3}],s:"إخفاء تعليمات الإعداد"}}},about:{version:{t:0,b:{t:2,i:[{t:3}],s:"الإصدار"}},license:{t:0,b:{t:2,i:[{t:3}],s:"الرخصة"}},repository:{t:0,b:{t:2,i:[{t:3}],s:"المستودع"}},techStack:{t:0,b:{t:2,i:[{t:3}],s:"المكدس التقني"}},localLlmObservatory:{t:0,b:{t:2,i:[{t:3}],s:"مرصد النماذج اللغوية المحلية"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"سجل الذكاء الاصطناعي المحلي"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"أرشيف أبحاثك — جميع التجارب، قابلة للاستعلام"}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"كيف يتم تخزين بياناتك"}},description:{t:0,b:{t:2,i:[{t:3}],s:"جميع بياناتك مخزّنة محلياً في متصفحك باستخدام IndexedDB — قاعدة بيانات دائمة ومدمجة في المتصفح. بياناتك تبقى محفوظة بعد إغلاق المتصفح وإعادة تشغيل الحاسوب وتحديثات البرامج. لا يتم إرسال أي شيء إلى أي خادم."}},indexedDb:{t:0,b:{t:2,i:[{t:3}],s:"البيانات الأصلية (اختبارات الأداء، المحادثات، المقارنات، التدريب) مخزّنة في 6 قواعد بيانات IndexedDB مخصصة — واحدة لكل ميزة. IndexedDB ليس تخزين جلسة — البيانات تبقى بشكل دائم حتى تختار حذفها بنفسك."}},historyDb:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة بيانات السجل هي فهرس بحث موحّد يعمل بتقنية Dexie.js. تسجّل ملخصاً لكل تجربة لتمكين الاستعلام السريع وتحليل الاتجاهات. اعتبرها محرك بحث يغطي جميع أنشطتك في LLMxRay."}},privacy:{t:0,b:{t:2,i:[{t:3}],s:"كل شيء يبقى على جهازك. شيئان فقط يمكنهما حذف بياناتك: مسح بيانات الموقع من المتصفح، أو استخدام أزرار المسح في هذا التطبيق. لا حسابات، لا مزامنة سحابية، لا قياس عن بُعد."}}},filters:{type:{t:0,b:{t:2,i:[{t:3}],s:"النوع"}},model:{t:0,b:{t:2,i:[{t:3}],s:"النموذج"}},language:{t:0,b:{t:2,i:[{t:3}],s:"اللغة"}},dateRange:{t:0,b:{t:2,i:[{t:3}],s:"نطاق التاريخ"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"الوسوم"}},all:{t:0,b:{t:2,i:[{t:3}],s:"الكل"}},last7days:{t:0,b:{t:2,i:[{t:3}],s:"آخر 7 أيام"}},last30days:{t:0,b:{t:2,i:[{t:3}],s:"آخر 30 يوماً"}},last90days:{t:0,b:{t:2,i:[{t:3}],s:"آخر 90 يوماً"}},allTime:{t:0,b:{t:2,i:[{t:3}],s:"كل الأوقات"}}},results:{entries:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" سجل"}]}},noEntries:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد سجلات بعد. قم بتشغيل اختبار أداء أو مقارنة أو محادثة لبدء بناء أرشيف أبحاثك."}}},trends:{title:{t:0,b:{t:2,i:[{t:3}],s:"الاتجاهات"}},activity:{t:0,b:{t:2,i:[{t:3}],s:"النشاط (آخر 30 يوماً)"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"النماذج المستخدمة"}}},management:{title:{t:0,b:{t:2,i:[{t:3}],s:"إدارة قاعدة البيانات"}},totalEntries:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي السجلات"}},estimatedSize:{t:0,b:{t:2,i:[{t:3}],s:"الحجم التقديري"}},exportAll:{t:0,b:{t:2,i:[{t:3}],s:"تصدير الكل (JSON)"}},exportFiltered:{t:0,b:{t:2,i:[{t:3}],s:"تصدير المصفّى (CSV)"}},retention:{t:0,b:{t:2,i:[{t:3}],s:"الاحتفاظ"}},keepForever:{t:0,b:{t:2,i:[{t:3}],s:"الاحتفاظ للأبد"}},days30:{t:0,b:{t:2,i:[{t:3}],s:"30 يوماً"}},days90:{t:0,b:{t:2,i:[{t:3}],s:"90 يوماً"}},year1:{t:0,b:{t:2,i:[{t:3}],s:"سنة واحدة"}},clearHistory:{t:0,b:{t:2,i:[{t:3}],s:"مسح السجل"}},confirmClear:{t:0,b:{t:2,i:[{t:3}],s:"سيؤدي هذا إلى حذف جميع سجلات السجل. البيانات الأخرى (اختبارات الأداء، المحادثات، إلخ) لن تتأثر."}}},types:{benchmark:{t:0,b:{t:2,i:[{t:3}],s:"اختبار أداء"}},comparison:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة"}},chat:{t:0,b:{t:2,i:[{t:3}],s:"محادثة"}},training:{t:0,b:{t:2,i:[{t:3}],s:"تدريب"}},session:{t:0,b:{t:2,i:[{t:3}],s:"جلسة"}}}}},Gy={title:{t:0,b:{t:2,i:[{t:3}],s:"اختبار الأداء"}},surgicalBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"اختبار الأداء الجراحي"}},surgicalBenchmarkDesc:{t:0,b:{t:2,i:[{t:3}],s:"تقييم النماذج بمجموعات أسئلة مختارة — ثقة logprob حقيقية، تشخيص لكل فئة"}},resultDetails:{t:0,b:{t:2,i:[{t:3}],s:"تفاصيل النتيجة"}},latestResult:{t:0,b:{t:2,i:[{t:3}],s:"آخر نتيجة"}},comparisonLedger:{t:0,b:{t:2,i:[{t:3}],s:"سجل المقارنة"}},configurator:{selectModels:{t:0,b:{t:2,i:[{t:3}],s:"اختر النماذج"}},selectSuites:{t:0,b:{t:2,i:[{t:3}],s:"اختر مجموعات الاختبار"}},contextSize:{t:0,b:{t:2,i:[{t:3}],s:"حجم السياق"}},startBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"بدء اختبار الأداء"}},estimatedTime:{t:0,b:{t:2,i:[{t:3}],s:"الوقت المقدّر"}},maxModels:{t:0,b:{t:2,i:[{t:3}],s:"الحد الأقصى للنماذج"}},models:{t:0,b:{t:2,i:[{t:3}],s:"النماذج"}},selected:{t:0,b:{t:2,i:[{t:3}],s:"محدد"}},benchmarkSuites:{t:0,b:{t:2,i:[{t:3}],s:"مجموعات اختبار الأداء"}},importCustom:{t:0,b:{t:2,i:[{t:3}],s:"+ استيراد مخصص"}},context:{t:0,b:{t:2,i:[{t:3}],s:"السياق:"}},runBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"تشغيل اختبار الأداء"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"مخصص"}}},suites:{arc:{t:0,b:{t:2,i:[{t:3}],s:"ARC Challenge"}},mmlupro:{t:0,b:{t:2,i:[{t:3}],s:"MMLU-Pro"}},hellaswag:{t:0,b:{t:2,i:[{t:3}],s:"HellaSwag"}},gsm8k:{t:0,b:{t:2,i:[{t:3}],s:"GSM-8K"}},truthfulqa:{t:0,b:{t:2,i:[{t:3}],s:"TruthfulQA"}}},live:{progress:{t:0,b:{t:2,i:[{t:3}],s:"التقدم"}},currentQuestion:{t:0,b:{t:2,i:[{t:3}],s:"السؤال الحالي"}},lastAnswer:{t:0,b:{t:2,i:[{t:3}],s:"آخر إجابة"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"صحيح"}},incorrect:{t:0,b:{t:2,i:[{t:3}],s:"خاطئ"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"الدقة"}},avgLatency:{t:0,b:{t:2,i:[{t:3}],s:"متوسط زمن الاستجابة"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"متوسط الثقة"}},categoryProgress:{t:0,b:{t:2,i:[{t:3}],s:"تقدم الفئة"}},stop:{t:0,b:{t:2,i:[{t:3}],s:"إيقاف"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"يفكّر"}},standard:{t:0,b:{t:2,i:[{t:3}],s:"قياسي"}},question:{t:0,b:{t:2,i:[{t:3}],s:"سؤال"}},waitingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"بانتظار السؤال..."}},waitingFirstAnswer:{t:0,b:{t:2,i:[{t:3}],s:"بانتظار الإجابة الأولى..."}},processingQuestion:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ معالجة السؤال..."}},stopBenchmark:{t:0,b:{t:2,i:[{t:3}],s:"إيقاف اختبار الأداء"}},benchmarkProgress:{t:0,b:{t:2,i:[{t:3}],s:"تقدم اختبار الأداء"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"متوسط TTFT"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"متوسط الإجمالي"}},suites:{t:0,b:{t:2,i:[{t:3}],s:"مجموعات الاختبار"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"الاستدلال"}},expected:{t:0,b:{t:2,i:[{t:3}],s:"المتوقع:"}}},results:{overallAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"الدقة الإجمالية"}},perCategory:{t:0,b:{t:2,i:[{t:3}],s:"لكل فئة"}},confidenceVsAccuracy:{t:0,b:{t:2,i:[{t:3}],s:"الثقة مقابل الدقة"}},questionDetails:{t:0,b:{t:2,i:[{t:3}],s:"تفاصيل الأسئلة"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نتائج بعد"}},confidenceVsAccuracyScatter:{t:0,b:{t:2,i:[{t:3}],s:"الثقة مقابل الدقة — مخطط التشتت"}},confused:{t:0,b:{t:2,i:[{t:3}],s:"مرتبك (ثقة منخفضة، خاطئ)"}},calibrated:{t:0,b:{t:2,i:[{t:3}],s:"معايَر (ثقة عالية، صحيح)"}},overconfident:{t:0,b:{t:2,i:[{t:3}],s:"مفرط الثقة (ثقة عالية، خاطئ)"}},lucky:{t:0,b:{t:2,i:[{t:3}],s:"محظوظ (ثقة منخفضة، صحيح)"}},perCategoryTotalTime:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي الوقت لكل فئة"}},contextPressure:{t:0,b:{t:2,i:[{t:3}],s:"ضغط السياق — تدهور الدقة"}},categoryBreakdown:{t:0,b:{t:2,i:[{t:3}],s:"تفصيل الفئات"}},category:{t:0,b:{t:2,i:[{t:3}],s:"الفئة"}},correct:{t:0,b:{t:2,i:[{t:3}],s:"صحيح"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"متوسط TTFT"}},avgTotal:{t:0,b:{t:2,i:[{t:3}],s:"متوسط الإجمالي"}},avgConfidence:{t:0,b:{t:2,i:[{t:3}],s:"متوسط الثقة"}},perQuestionDetail:{t:0,b:{t:2,i:[{t:3}],s:"تفصيل كل سؤال"}},all:{t:0,b:{t:2,i:[{t:3}],s:"الكل"}},wrong:{t:0,b:{t:2,i:[{t:3}],s:"خاطئ"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"الاستدلال"}},response:{t:0,b:{t:2,i:[{t:3}],s:"الاستجابة"}},accuracy:{t:0,b:{t:2,i:[{t:3}],s:"الدقة"}}},comparison:{compareResults:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة النتائج"}},radarChart:{t:0,b:{t:2,i:[{t:3}],s:"مخطط رادار"}},heatmap:{t:0,b:{t:2,i:[{t:3}],s:"خريطة حرارية"}},resume:{t:0,b:{t:2,i:[{t:3}],s:"استئناف"}},deleteResult:{t:0,b:{t:2,i:[{t:3}],s:"حذف النتيجة"}},savedResults:{t:0,b:{t:2,i:[{t:3}],s:"النتائج المحفوظة"}},noSavedResults:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نتائج محفوظة بعد"}},clickToCompare:{t:0,b:{t:2,i:[{t:3}],s:"انقر للتحديد للمقارنة"}},incomplete:{t:0,b:{t:2,i:[{t:3}],s:"غير مكتمل"}},viewDetails:{t:0,b:{t:2,i:[{t:3}],s:"عرض التفاصيل الكاملة"}},resumeIncomplete:{t:0,b:{t:2,i:[{t:3}],s:"استئناف اختبار أداء غير مكتمل"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"تحميل JSON"}},downloadCsv:{t:0,b:{t:2,i:[{t:3}],s:"تحميل CSV"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"تحميل Markdown"}}},builder:{createTitle:{t:0,b:{t:2,i:[{t:3}],s:"إنشاء مجموعة اختبار"}},editTitle:{t:0,b:{t:2,i:[{t:3}],s:"تعديل مجموعة اختبار"}},suiteName:{t:0,b:{t:2,i:[{t:3}],s:"اسم المجموعة"}},suiteNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"مثال: اختبار التاريخ الفرنسي"}},description:{t:0,b:{t:2,i:[{t:3}],s:"الوصف"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"ما الذي تختبره هذه المجموعة؟"}},defaultCategory:{t:0,b:{t:2,i:[{t:3}],s:"الفئة الافتراضية"}},questions:{t:0,b:{t:2,i:[{t:3}],s:"الأسئلة"}},addQuestion:{t:0,b:{t:2,i:[{t:3}],s:"إضافة سؤال"}},editQuestion:{t:0,b:{t:2,i:[{t:3}],s:"تعديل سؤال"}},noQuestions:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد أسئلة بعد. أضف سؤالك الأول أو استخدم الذكاء الاصطناعي لتوليدها."}},questionText:{t:0,b:{t:2,i:[{t:3}],s:"السؤال"}},questionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"اكتب سؤالك هنا..."}},choices:{t:0,b:{t:2,i:[{t:3}],s:"الخيارات"}},addChoice:{t:0,b:{t:2,i:[{t:3}],s:"إضافة خيار"}},correctAnswer:{t:0,b:{t:2,i:[{t:3}],s:"الإجابة الصحيحة"}},category:{t:0,b:{t:2,i:[{t:3}],s:"الفئة"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"الصعوبة"}},easy:{t:0,b:{t:2,i:[{t:3}],s:"سهل"}},medium:{t:0,b:{t:2,i:[{t:3}],s:"متوسط"}},hard:{t:0,b:{t:2,i:[{t:3}],s:"صعب"}},saveSuite:{t:0,b:{t:2,i:[{t:3}],s:"حفظ المجموعة"}},createSuite:{t:0,b:{t:2,i:[{t:3}],s:"إنشاء المجموعة"}},choiceCount:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" خيارات"}]}},aiGenerate:{title:{t:0,b:{t:2,i:[{t:3}],s:"التوليد بالذكاء الاصطناعي"}},topic:{t:0,b:{t:2,i:[{t:3}],s:"الموضوع"}},topicPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"مثال: التاريخ الفرنسي، برمجة Python، الكيمياء العضوية"}},count:{t:0,b:{t:2,i:[{t:3}],s:"عدد الأسئلة"}},difficulty:{t:0,b:{t:2,i:[{t:3}],s:"الصعوبة"}},mixed:{t:0,b:{t:2,i:[{t:3}],s:"متنوع"}},model:{t:0,b:{t:2,i:[{t:3}],s:"النموذج"}},generate:{t:0,b:{t:2,i:[{t:3}],s:"توليد الأسئلة"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التوليد..."}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء التوليد"}},preview:{t:0,b:{t:2,i:[{t:3}],s:"الأسئلة المولّدة"}},selectAll:{t:0,b:{t:2,i:[{t:3}],s:"تحديد الكل"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء تحديد الكل"}},addSelected:{t:0,b:{t:2,i:[{t:3}],s:"إضافة المحدد"}},errors:{t:0,b:{t:2,i:[{t:3}],s:"تعذّر تحليل بعض الأسئلة"}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم توليد أسئلة صالحة. جرّب موضوعاً أو نموذجاً آخر."}}}},import:{importSuite:{t:0,b:{t:2,i:[{t:3}],s:"استيراد مجموعة اختبار"}},importCustomBenchmarkSuite:{t:0,b:{t:2,i:[{t:3}],s:"استيراد مجموعة اختبار أداء مخصصة"}},dragDrop:{t:0,b:{t:2,i:[{t:3}],s:"اسحب وأسقط ملفاً هنا"}},dropJsonFile:{t:0,b:{t:2,i:[{t:3}],s:"أسقط ملف .json هنا"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"تصفح"}},maxSize:{t:0,b:{t:2,i:[{t:3}],s:"الحجم الأقصى"}},invalidFormat:{t:0,b:{t:2,i:[{t:3}],s:"تنسيق غير صالح"}},importSuccess:{t:0,b:{t:2,i:[{t:3}],s:"تم الاستيراد بنجاح"}},importing:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ الاستيراد..."}},requirements:{t:0,b:{t:2,i:[{t:3}],s:"المتطلبات: JSON يحتوي على name ومصفوفة questions (2-500 عنصر)."}},questionReqs:{t:0,b:{t:2,i:[{t:3}],s:"كل سؤال يحتاج: id، question، choices (2-6)، correctAnswer."}},maxSizeNote:{t:0,b:{t:2,i:[{t:3}],s:"الحد الأقصى 1 ميغابايت. ستتم إزالة وسوم HTML. سيتم إزالة تكرار المعرّفات."}},fileTooLarge:{t:0,b:{t:2,i:[{t:3}],s:"الملف كبير جداً (الحد الأقصى 1 ميغابايت)"}}}},Wy={title:{t:0,b:{t:2,i:[{t:3}],s:"التضمينات"}},modelSelector:{noModels:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج متاحة"}},noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم العثور على نماذج embedding. قم بتنزيل واحد: ollama pull nomic-embed-text"}}},storage:{embeddingMemory:{t:0,b:{t:2,i:[{t:3}],s:"ذاكرة embedding"}},records:{t:0,b:{t:2,i:[{t:3}],s:"سجلات"}}},playground:{title:{t:0,b:{t:2,i:[{t:3}],s:"ساحة تجربة embedding"}},description:{t:0,b:{t:2,i:[{t:3}],s:"أدخل نصاً لتوليد متجه embedding الخاص به وفحص الأبعاد."}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"أدخل نصاً لعمل embedding..."}},embed:{t:0,b:{t:2,i:[{t:3}],s:"تضمين"}},embedding:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التضمين..."}},showRawValues:{t:0,b:{t:2,i:[{t:3,v:"عرض القيم الخام (أول 50 من "},{t:4,k:"total"},{t:3,v:")"}]}}},similarity:{title:{t:0,b:{t:2,i:[{t:3}],s:"حاسبة التشابه"}},description:{t:0,b:{t:2,i:[{t:3}],s:"قارن نصين لقياس تشابههما الدلالي باستخدام مسافة cosine similarity."}},textA:{t:0,b:{t:2,i:[{t:3}],s:"النص أ"}},textB:{t:0,b:{t:2,i:[{t:3}],s:"النص ب"}},placeholderA:{t:0,b:{t:2,i:[{t:3}],s:"النص الأول..."}},placeholderB:{t:0,b:{t:2,i:[{t:3}],s:"النص الثاني..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة"}},comparing:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ المقارنة..."}}},modelComparison:{title:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة النماذج"}},description:{t:0,b:{t:2,i:[{t:3}],s:"تضمين نفس النص بنموذجين لمقارنة كيفية تمثيلهما للمعنى."}},modelA:{t:0,b:{t:2,i:[{t:3}],s:"النموذج أ"}},modelB:{t:0,b:{t:2,i:[{t:3}],s:"النموذج ب"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"أدخل نصاً لتضمينه بكلا النموذجين..."}},compareModels:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة النماذج"}},comparingModels:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ مقارنة النماذج..."}},crossModelSimilarity:{t:0,b:{t:2,i:[{t:3}],s:"التشابه بين النماذج — مدى تمثيل هذه النماذج لنفس النص بشكل متشابه."}},veryDifferent:{t:0,b:{t:2,i:[{t:3}],s:"هذه النماذج تشفّر المعنى بطرق مختلفة جداً."}},moderateAgreement:{t:0,b:{t:2,i:[{t:3}],s:"توافق متوسط — النماذج تتشارك بعض البنية الدلالية."}},highAgreement:{t:0,b:{t:2,i:[{t:3}],s:"توافق عالٍ — هذه النماذج تمثل هذا النص بشكل متشابه."}},dimensionsMismatch:{t:0,b:{t:2,i:[{t:3,v:"الأبعاد مختلفة ("},{t:4,k:"dimA"},{t:3,v:" مقابل "},{t:4,k:"dimB"},{t:3,v:") — لا يمكن حساب cosine similarity مباشرة."}]}},compareStats:{t:0,b:{t:2,i:[{t:3}],s:"قارن الإحصائيات أعلاه لتقييم جودة تمثيل كل نموذج."}}},stats:{dims:{t:0,b:{t:2,i:[{t:3}],s:"الأبعاد"}},l2Norm:{t:0,b:{t:2,i:[{t:3}],s:"معيار L2"}},sparsity:{t:0,b:{t:2,i:[{t:3}],s:"التناثر"}},time:{t:0,b:{t:2,i:[{t:3}],s:"الوقت"}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"التضمينات الأخيرة"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"مسح الكل"}}}},zy={title:{t:0,b:{t:2,i:[{t:3}],s:"قاعدة المعرفة"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"استيعاب المستندات لمحادثات مدعومة بـ RAG"}},modelSelector:{noEmbeddingModels:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج embedding"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"تخزين قاعدة المعرفة"}},documents:{t:0,b:{t:2,i:[{t:3}],s:"مستندات"}},chunks:{t:0,b:{t:2,i:[{t:3}],s:"أجزاء"}},stored:{t:0,b:{t:2,i:[{t:3}],s:"مخزّن"}},ragStorage:{t:0,b:{t:2,i:[{t:3}],s:"تخزين RAG"}}},upload:{dropZone:{t:0,b:{t:2,i:[{t:3}],s:"اسحب وأسقط الملفات هنا"}},browse:{t:0,b:{t:2,i:[{t:3}],s:"تصفح"}},dropText:{t:0,b:{t:2,i:[{t:3}],s:"أسقط الملفات هنا أو انقر للتصفح"}},supportedFormats:{t:0,b:{t:2,i:[{t:3}],s:"يدعم PDF، DOCX، TXT، Markdown، CSV"}}},documents:{title:{t:0,b:{t:2,i:[{t:3}],s:"المستندات"}},noDocuments:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم استيعاب أي مستندات بعد"}},toggleContext:{t:0,b:{t:2,i:[{t:3}],s:"تبديل سياق RAG"}},removeDocument:{t:0,b:{t:2,i:[{t:3}],s:"إزالة المستند"}}},search:{title:{t:0,b:{t:2,i:[{t:3}],s:"البحث الدلالي"}},placeholder:{t:0,b:{t:2,i:[{t:3}],s:"ابحث في مستنداتك..."}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نتائج بحث"}},searching:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ البحث..."}},button:{t:0,b:{t:2,i:[{t:3}],s:"بحث"}},results:{t:0,b:{t:2,i:[{t:3}],s:"نتائج"}},showLess:{t:0,b:{t:2,i:[{t:3}],s:"عرض أقل"}},showFullChunk:{t:0,b:{t:2,i:[{t:3}],s:"عرض الجزء كاملاً"}}},ingest:{progress:{t:0,b:{t:2,i:[{t:3}],s:"تقدم الاستيعاب"}},ingesting:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ الاستيعاب..."}}}},Jy={title:{t:0,b:{t:2,i:[{t:3}],s:"ورشة الأدوات"}},canvas:{addTool:{t:0,b:{t:2,i:[{t:3}],s:"إضافة أداة"}},addFromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"إضافة من قالب"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد أدوات مهيّأة. أضف واحدة للبدء."}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"اسم الأداة"}},toolDescription:{t:0,b:{t:2,i:[{t:3}],s:"وصف الأداة"}},functionName:{t:0,b:{t:2,i:[{t:3}],s:"اسم الدالة"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"المعاملات"}},implementation:{t:0,b:{t:2,i:[{t:3}],s:"التنفيذ"}},code:{t:0,b:{t:2,i:[{t:3}],s:"الشفرة"}},testTool:{t:0,b:{t:2,i:[{t:3}],s:"اختبار الأداة"}},deleteTool:{t:0,b:{t:2,i:[{t:3}],s:"حذف الأداة"}},codePanel:{t:0,b:{t:2,i:[{t:3}],s:"لوحة الشفرة"}},close:{t:0,b:{t:2,i:[{t:3}],s:"إغلاق"}},source:{t:0,b:{t:2,i:[{t:3}],s:"المصدر"}},schema:{t:0,b:{t:2,i:[{t:3}],s:"Schema"}},schemaManifest:{t:0,b:{t:2,i:[{t:3}],s:"بيان أدوات متوافق مع OpenAI"}},copy:{t:0,b:{t:2,i:[{t:3}],s:"نسخ"}},warnings:{t:0,b:{t:2,i:[{t:3}],s:"تحذيرات"}},emptyState:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد أدوات بعد. أنشئ أداتك الأولى أو ابدأ من قالب."}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"+ أداة جديدة"}},fromTemplate:{t:0,b:{t:2,i:[{t:3}],s:"من قالب..."}},exportTitle:{t:0,b:{t:2,i:[{t:3}],s:"تصدير بيانات التدريب (JSONL)"}},export:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},toolLibrary:{t:0,b:{t:2,i:[{t:3}],s:"مكتبة الأدوات"}},clearAllTitle:{t:0,b:{t:2,i:[{t:3}],s:"إزالة جميع الأدوات من اللوحة"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"مسح الكل"}},clearAllConfirm:{t:0,b:{t:2,i:[{t:3}],s:"مسح جميع الأدوات؟"}},clearAllWarning:{t:0,b:{t:2,i:[{t:3,v:"سيؤدي هذا إلى إزالة جميع الأدوات ("},{t:4,k:"count"},{t:3,v:") من اللوحة. لا يمكن التراجع عن هذا."}]}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء"}},deleteAll:{t:0,b:{t:2,i:[{t:3}],s:"حذف الكل"}},disableForChat:{t:0,b:{t:2,i:[{t:3}],s:"تعطيل للمحادثة"}},enableForChat:{t:0,b:{t:2,i:[{t:3}],s:"تفعيل للمحادثة"}},deleteToolTitle:{t:0,b:{t:2,i:[{t:3}],s:"حذف الأداة"}},noToolsYet:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد أدوات بعد"}},enabledForChat:{t:0,b:{t:2,i:[{t:3}],s:"مفعّل للمحادثة"}},exportAllJson:{t:0,b:{t:2,i:[{t:3}],s:"تصدير جميع الأدوات (JSON)"}},exportToolJson:{t:0,b:{t:2,i:[{t:3}],s:"تصدير الأداة كـ JSON"}}},templates:{title:{t:0,b:{t:2,i:[{t:3}],s:"قوالب الأدوات"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"ابدأ بقالب جاهز وقم بتخصيصه"}},categories:{utility:{t:0,b:{t:2,i:[{t:3}],s:"أدوات مساعدة"}},api:{t:0,b:{t:2,i:[{t:3}],s:"API"}},data:{t:0,b:{t:2,i:[{t:3}],s:"البيانات"}},google:{t:0,b:{t:2,i:[{t:3}],s:"Google (التقويم و Gmail)"}},custom:{t:0,b:{t:2,i:[{t:3}],s:"مخصص"}}}},builder:{functionName:{t:0,b:{t:2,i:[{t:3}],s:"اسم الدالة"}},description:{t:0,b:{t:2,i:[{t:3}],s:"الوصف"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"الحصول على الطقس الحالي لموقع معين"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"المعاملات"}},visualBuilder:{t:0,b:{t:2,i:[{t:3}],s:"المنشئ المرئي"}},rawJson:{t:0,b:{t:2,i:[{t:3}],s:"JSON خام"}},addParameter:{t:0,b:{t:2,i:[{t:3}],s:"+ إضافة معامل"}},removeParameter:{t:0,b:{t:2,i:[{t:3}],s:"إزالة المعامل"}},saveTool:{t:0,b:{t:2,i:[{t:3}],s:"حفظ الأداة"}}},list:{editTool:{t:0,b:{t:2,i:[{t:3}],s:"تعديل الأداة"}},newTool:{t:0,b:{t:2,i:[{t:3}],s:"أداة جديدة"}},noTools:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم تعريف أدوات بعد."}},addTool:{t:0,b:{t:2,i:[{t:3}],s:"+ إضافة أداة"}}},execution:{running:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التشغيل..."}},success:{t:0,b:{t:2,i:[{t:3}],s:"نجاح"}},error:{t:0,b:{t:2,i:[{t:3}],s:"خطأ"}},result:{t:0,b:{t:2,i:[{t:3}],s:"النتيجة"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"المدة"}}},node:{badge:{t:0,b:{t:2,i:[{t:3}],s:"أداة LLM"}},functionNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"function_name"}},draftWithAi:{t:0,b:{t:2,i:[{t:3}],s:"مسودة بالذكاء الاصطناعي"}},aiInsights:{t:0,b:{t:2,i:[{t:3}],s:"رؤى الذكاء الاصطناعي"}},running:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التشغيل..."}},done:{t:0,b:{t:2,i:[{t:3}],s:"تم"}},failed:{t:0,b:{t:2,i:[{t:3}],s:"فشل"}},aiFix:{t:0,b:{t:2,i:[{t:3}],s:"إصلاح بالذكاء الاصطناعي"}},description:{t:0,b:{t:2,i:[{t:3}],s:"الوصف"}},descriptionPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"ماذا تفعل هذه الأداة؟"}},intent:{t:0,b:{t:2,i:[{t:3}],s:"الغرض"}},intentPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"صف ما يجب أن تفعله هذه الأداة..."}},generate:{t:0,b:{t:2,i:[{t:3}],s:"توليد"}},generating:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التوليد..."}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"المعاملات"}},addParam:{t:0,b:{t:2,i:[{t:3}],s:"+ إضافة"}},paramNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"الاسم"}},paramTypePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"النوع"}},noParameters:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد معاملات"}},probeAndPick:{t:0,b:{t:2,i:[{t:3}],s:"استكشاف واختيار"}},apiBadge:{t:0,b:{t:2,i:[{t:3}],s:"API"}},urlPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"https://api.example.com/..."}},probe:{t:0,b:{t:2,i:[{t:3}],s:"استكشاف"}},headers:{t:0,b:{t:2,i:[{t:3}],s:"الترويسات"}},addHeader:{t:0,b:{t:2,i:[{t:3}],s:"+ إضافة"}},headerNamePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"اسم الترويسة"}},headerValuePlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"القيمة"}},markAsSecret:{t:0,b:{t:2,i:[{t:3}],s:"تعيين كسري (استخدام متغير بيئة في الشفرة المولّدة)"}},requestBody:{t:0,b:{t:2,i:[{t:3}],s:"جسم الطلب"}},endpoints:{t:0,b:{t:2,i:[{t:3}],s:"نقاط النهاية"}},searchEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"البحث في نقاط النهاية..."}},noMatchingEndpoints:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نقاط نهاية مطابقة"}},aiSuggest:{t:0,b:{t:2,i:[{t:3}],s:"اقتراح الذكاء الاصطناعي"}},thinking:{t:0,b:{t:2,i:[{t:3}],s:"يفكّر..."}},field:{t:0,b:{t:2,i:[{t:3}],s:"حقل"}},fields:{t:0,b:{t:2,i:[{t:3}],s:"حقول"}},apply:{t:0,b:{t:2,i:[{t:3}],s:"تطبيق"}},mappings:{t:0,b:{t:2,i:[{t:3}],s:"التعيينات"}},outOfSync:{t:0,b:{t:2,i:[{t:3}],s:"غير متزامن"}},bodyLabel:{t:0,b:{t:2,i:[{t:3}],s:"الجسم (TypeScript)"}},bodyPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"// تنفيذ الأداة..."}},insightSuggestionLabel:{t:0,b:{t:2,i:[{t:3}],s:"إصلاح مقترح بالذكاء الاصطناعي (راجع قبل التطبيق):"}},applyFix:{t:0,b:{t:2,i:[{t:3}],s:"تطبيق الإصلاح"}},closeInsight:{t:0,b:{t:2,i:[{t:3}],s:"إغلاق"}}},aiDiff:{accept:{t:0,b:{t:2,i:[{t:3}],s:"قبول"}},dismiss:{t:0,b:{t:2,i:[{t:3}],s:"رفض"}}}},Qy={title:{t:0,b:{t:2,i:[{t:3}],s:"تدريب الذكاء الاصطناعي"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"تصفّح وانتقِ وصدّر بيانات التدريب من ورشة الأدوات."}},dashboard:{totalPairs:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي الأزواج"}},accepted:{t:0,b:{t:2,i:[{t:3}],s:"مقبول"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"مرفوض"}},pending:{t:0,b:{t:2,i:[{t:3}],s:"قيد الانتظار"}},trainingPairs:{t:0,b:{t:2,i:[{t:3}],s:"أزواج التدريب"}},acceptanceRate:{t:0,b:{t:2,i:[{t:3}],s:"معدل القبول"}},byPhase:{t:0,b:{t:2,i:[{t:3}],s:"حسب المرحلة"}},topModels:{t:0,b:{t:2,i:[{t:3}],s:"أفضل النماذج"}}},filters:{search:{t:0,b:{t:2,i:[{t:3}],s:"بحث..."}},searchPrompts:{t:0,b:{t:2,i:[{t:3}],s:"البحث في الموجّهات..."}},model:{t:0,b:{t:2,i:[{t:3}],s:"النموذج"}},toolName:{t:0,b:{t:2,i:[{t:3}],s:"اسم الأداة"}},tag:{t:0,b:{t:2,i:[{t:3}],s:"وسم"}},status:{t:0,b:{t:2,i:[{t:3}],s:"الحالة"}},allModels:{t:0,b:{t:2,i:[{t:3}],s:"جميع النماذج"}},allTools:{t:0,b:{t:2,i:[{t:3}],s:"جميع الأدوات"}},allTags:{t:0,b:{t:2,i:[{t:3}],s:"جميع الوسوم"}},allStatuses:{t:0,b:{t:2,i:[{t:3}],s:"جميع الحالات"}}},bulk:{selected:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" محدد"}]}},export:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},exportJsonl:{t:0,b:{t:2,i:[{t:3}],s:"تصدير JSONL"}},markAccepted:{t:0,b:{t:2,i:[{t:3}],s:"تعيين كمقبول"}},markRejected:{t:0,b:{t:2,i:[{t:3}],s:"تعيين كمرفوض"}},addTag:{t:0,b:{t:2,i:[{t:3}],s:"إضافة وسم"}},tagPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"اسم الوسم..."}},delete:{t:0,b:{t:2,i:[{t:3}],s:"حذف"}},confirm:{t:0,b:{t:2,i:[{t:3}],s:"تأكيد؟"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء التحديد"}}},tags:{addPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"إضافة وسم..."}}},table:{selectAll:{t:0,b:{t:2,i:[{t:3}],s:"تحديد الكل"}},deselectAll:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء تحديد الكل"}},pairsShown:{t:0,b:{t:2,i:[{t:4,k:"shown"},{t:3,v:" من "},{t:4,k:"total"},{t:3,v:" زوج معروض"}]}},noResults:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد أزواج تدريب تطابق مرشحاتك."}}},detail:{accepted:{t:0,b:{t:2,i:[{t:3}],s:"مقبول"}},rejected:{t:0,b:{t:2,i:[{t:3}],s:"مرفوض"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"موجه النظام"}},userPrompt:{t:0,b:{t:2,i:[{t:3}],s:"موجه المستخدم"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"الاستدلال"}},aiResponse:{t:0,b:{t:2,i:[{t:3}],s:"استجابة الذكاء الاصطناعي"}},editResponse:{t:0,b:{t:2,i:[{t:3}],s:"تعديل الاستجابة"}},tags:{t:0,b:{t:2,i:[{t:3}],s:"الوسوم"}},deletePair:{t:0,b:{t:2,i:[{t:3}],s:"حذف الزوج"}},confirmDelete:{t:0,b:{t:2,i:[{t:3}],s:"تأكيد الحذف؟"}}},empty:{title:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم جمع بيانات تدريب بعد."}},description:{t:0,b:{t:2,i:[{t:3}],s:"تُنشأ أزواج التدريب تلقائياً عند استخدام ميزات الذكاء الاصطناعي في ورشة الأدوات (توليد المسودات، تحليل الشفرة، التعيين التلقائي، وإصلاح الذكاء الاصطناعي)."}}}},Yy={title:{t:0,b:{t:2,i:[{t:3}],s:"نظامي"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"نظرة عامة على العتاد وبيئة التشغيل والاستدلال"}},refresh:{t:0,b:{t:2,i:[{t:3}],s:"تحديث"}},detecting:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ اكتشاف العتاد..."}},detectingDetail:{t:0,b:{t:2,i:[{t:3}],s:"الاستعلام عن CPU والذاكرة و GPU والتخزين"}},unavailable:{t:0,b:{t:2,i:[{t:3}],s:"اكتشاف العتاد غير متاح. يرجى إعادة تشغيل خادم التطوير لتفعيل إضافة معلومات النظام."}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"تحميل تقرير النظام (Markdown)"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"تحميل معلومات النظام (JSON)"}}},os:{title:{t:0,b:{t:2,i:[{t:3}],s:"نظام التشغيل"}},os:{t:0,b:{t:2,i:[{t:3}],s:"نظام التشغيل"}},version:{t:0,b:{t:2,i:[{t:3}],s:"الإصدار"}},build:{t:0,b:{t:2,i:[{t:3}],s:"البناء"}},architecture:{t:0,b:{t:2,i:[{t:3}],s:"البنية"}}},device:{title:{t:0,b:{t:2,i:[{t:3}],s:"الجهاز"}},name:{t:0,b:{t:2,i:[{t:3}],s:"الاسم"}},manufacturer:{t:0,b:{t:2,i:[{t:3}],s:"الشركة المصنّعة"}},model:{t:0,b:{t:2,i:[{t:3}],s:"الطراز"}},family:{t:0,b:{t:2,i:[{t:3}],s:"العائلة"}}},cpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"المعالج"}},cpu:{t:0,b:{t:2,i:[{t:3}],s:"CPU"}},physicalCores:{t:0,b:{t:2,i:[{t:3}],s:"الأنوية الفيزيائية"}},logicalProcessors:{t:0,b:{t:2,i:[{t:3}],s:"المعالجات المنطقية"}},maxClock:{t:0,b:{t:2,i:[{t:3}],s:"أقصى تردد"}}},memory:{title:{t:0,b:{t:2,i:[{t:3}],s:"الذاكرة"}},totalRam:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي RAM"}},available:{t:0,b:{t:2,i:[{t:3}],s:"متاح"}},inUse:{t:0,b:{t:2,i:[{t:3}],s:"قيد الاستخدام"}}},gpu:{title:{t:0,b:{t:2,i:[{t:3}],s:"الرسومات"}},gpu:{t:0,b:{t:2,i:[{t:3}],s:"GPU"}},adapterRam:{t:0,b:{t:2,i:[{t:3}],s:"ذاكرة المحوّل"}},sharedNotReported:{t:0,b:{t:2,i:[{t:3}],s:"مشتركة / غير مُبلّغ عنها"}},driver:{t:0,b:{t:2,i:[{t:3}],s:"برنامج التشغيل"}}},storage:{title:{t:0,b:{t:2,i:[{t:3}],s:"التخزين"}},drive:{t:0,b:{t:2,i:[{t:3}],s:"القرص"}},total:{t:0,b:{t:2,i:[{t:3}],s:"الإجمالي"}},free:{t:0,b:{t:2,i:[{t:3}],s:"متاح"}},used:{t:0,b:{t:2,i:[{t:3}],s:"مستخدم"}}},browserStorage:{title:{t:0,b:{t:2,i:[{t:3}],s:"تخزين المتصفح"}},persistent:{t:0,b:{t:2,i:[{t:3}],s:"دائم"}},bestEffort:{t:0,b:{t:2,i:[{t:3}],s:"أفضل جهد"}},scanning:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ الفحص..."}},indexedDbQuota:{t:0,b:{t:2,i:[{t:3}],s:"حصة IndexedDB"}},totalRecords:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" سجل إجمالي عبر "},{t:4,k:"databases"},{t:3,v:" قاعدة بيانات"}]}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"مسح جميع البيانات"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"فارغ"}}},ollama:{title:{t:0,b:{t:2,i:[{t:3}],s:"بيئة تشغيل Ollama"}},status:{t:0,b:{t:2,i:[{t:3}],s:"الحالة"}},version:{t:0,b:{t:2,i:[{t:3}],s:"الإصدار"}},installedModels:{t:0,b:{t:2,i:[{t:3}],s:"النماذج المثبّتة"}},totalModelStorage:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي تخزين النماذج"}},modelsLoaded:{t:0,b:{t:2,i:[{t:3}],s:"النماذج المحمّلة"}}},inference:{title:{t:0,b:{t:2,i:[{t:3}],s:"الاستدلال"}},thisSession:{t:0,b:{t:2,i:[{t:3}],s:"هذه الجلسة"}},noSessions:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد جلسات استدلال بعد."}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"الجلسات"}},avgSpeed:{t:0,b:{t:2,i:[{t:3}],s:"متوسط السرعة"}},tokensGenerated:{t:0,b:{t:2,i:[{t:3}],s:"token المولّدة"}},avgTtft:{t:0,b:{t:2,i:[{t:3}],s:"متوسط TTFT"}},modelsUsed:{t:0,b:{t:2,i:[{t:3}],s:"النماذج المستخدمة"}}},activeModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"النماذج النشطة"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج محمّلة حالياً في الذاكرة. أرسل رسالة لتحميل واحد."}},vram:{t:0,b:{t:2,i:[{t:3}],s:"VRAM"}},ram:{t:0,b:{t:2,i:[{t:3}],s:"RAM"}},total:{t:0,b:{t:2,i:[{t:3}],s:"الإجمالي"}},ctx:{t:0,b:{t:2,i:[{t:3}],s:"السياق"}}},installedModels:{title:{t:0,b:{t:2,i:[{t:3}],s:"النماذج المثبّتة"}},noModels:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد نماذج مثبّتة."}},model:{t:0,b:{t:2,i:[{t:3}],s:"النموذج"}},family:{t:0,b:{t:2,i:[{t:3}],s:"العائلة"}},parameters:{t:0,b:{t:2,i:[{t:3}],s:"المعاملات"}},quantization:{t:0,b:{t:2,i:[{t:3}],s:"التكميم"}},size:{t:0,b:{t:2,i:[{t:3}],s:"الحجم"}}}},Xy={title:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة النماذج"}},configurator:{title:{t:0,b:{t:2,i:[{t:3}],s:"خانات المقارنة"}},description:{t:0,b:{t:2,i:[{t:3}],s:"كل خانة هي مزيج من نموذج + إعدادات. أضف نفس النموذج عدة مرات بإعدادات مختلفة لمقارنة السلوك."}},addSlot:{t:0,b:{t:2,i:[{t:3}],s:"إضافة خانة"}},removeSlot:{t:0,b:{t:2,i:[{t:3}],s:"إزالة خانة"}},clearAll:{t:0,b:{t:2,i:[{t:3}],s:"مسح الكل"}},model:{t:0,b:{t:2,i:[{t:3}],s:"النموذج"}},systemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"موجه النظام"}},optionalSystemPrompt:{t:0,b:{t:2,i:[{t:3}],s:"موجه نظام اختياري..."}},options:{t:0,b:{t:2,i:[{t:3}],s:"الخيارات"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"الإعدادات"}},temperature:{t:0,b:{t:2,i:[{t:3}],s:"درجة الحرارة"}},topP:{t:0,b:{t:2,i:[{t:3}],s:"Top-P"}},seed:{t:0,b:{t:2,i:[{t:3}],s:"Seed"}},seedPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"عشوائي (اتركه فارغاً)"}},advanced:{t:0,b:{t:2,i:[{t:3}],s:"متقدم"}},topK:{t:0,b:{t:2,i:[{t:3}],s:"Top-K"}},repeatPenalty:{t:0,b:{t:2,i:[{t:3}],s:"عقوبة التكرار"}},mirostat:{t:0,b:{t:2,i:[{t:3}],s:"Mirostat"}},mirostatOff:{t:0,b:{t:2,i:[{t:3}],s:"معطّل"}},maxTokens:{t:0,b:{t:2,i:[{t:3}],s:"الحد الأقصى لعدد token"}},contextLength:{t:0,b:{t:2,i:[{t:3}],s:"طول السياق"}},defaultPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"افتراضي"}},slotsConfigured:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" خانة مهيّأة"}]}},emptyTitle:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم تهيئة خانات بعد"}},emptyDescription:{t:0,b:{t:2,i:[{t:3}],s:"أضف خانة لاختيار نموذج وإعدادات، أو استخدم إعداداً مسبقاً للبدء السريع أعلاه."}},addFirstSlot:{t:0,b:{t:2,i:[{t:3}],s:"+ إضافة الخانة الأولى"}},addSlotCount:{t:0,b:{t:2,i:[{t:3,v:"+ إضافة خانة ("},{t:4,k:"current"},{t:3,v:"/4)"}]}},presets:{quickStart:{t:0,b:{t:2,i:[{t:3}],s:"بداية سريعة:"}},tempSweep:{t:0,b:{t:2,i:[{t:3}],s:"مسح درجة الحرارة"}},tempSweepDesc:{t:0,b:{t:2,i:[{t:3}],s:"ينشئ 3 خانات لنفس النموذج بدرجات حرارة 0.2 (مركّز)، 0.7 (متوازن)، و 1.2 (إبداعي). شاهد كيف تغيّر درجة الحرارة المخرجات لنفس الموجه."}},deterministicPair:{t:0,b:{t:2,i:[{t:3}],s:"زوج حتمي"}},deterministicPairDesc:{t:0,b:{t:2,i:[{t:3}],s:"ينشئ خانتين لنفس النموذج بنفس البذرة لكن بدرجات حرارة مختلفة (0.3 و 1.0). البذرة المشتركة تعني أن أي اختلاف في المخرجات ناتج فقط عن درجة الحرارة وليس العشوائية."}},languageCompare:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة اللغات"}},languageCompareTooltip:{t:0,b:{t:2,i:[{t:3}],s:"قارن كيف تؤثر اللغات المختلفة على تكلفة tokens وسلوك النموذج"}}}},prompt:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"أدخل موجهاً للمقارنة عبر الخانات..."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة"}},running:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ التشغيل..."}}},results:{title:{t:0,b:{t:2,i:[{t:3}],s:"النتائج"}},grid:{t:0,b:{t:2,i:[{t:3}],s:"شبكة"}},diff:{t:0,b:{t:2,i:[{t:3}],s:"الفرق"}}},diff:{needTwoResults:{t:0,b:{t:2,i:[{t:3}],s:"يلزم نتيجتان مكتملتان على الأقل لعرض الفرق."}},compare:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة:"}},vs:{t:0,b:{t:2,i:[{t:3}],s:"مقابل"}},only:{t:0,b:{t:2,i:[{t:4,k:"label"},{t:3,v:" فقط"}]}}},metrics:{performanceComparison:{t:0,b:{t:2,i:[{t:3}],s:"مقارنة الأداء"}},timeToFirstToken:{t:0,b:{t:2,i:[{t:3}],s:"وقت أول token"}},lowerBetter:{t:0,b:{t:2,i:[{t:3}],s:"الأقل أفضل"}},tokensPerSec:{t:0,b:{t:2,i:[{t:3}],s:"token/ث"}},higherBetter:{t:0,b:{t:2,i:[{t:3}],s:"الأعلى أفضل"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي token"}},speed:{t:0,b:{t:2,i:[{t:3}],s:"السرعة"}},ttft:{t:0,b:{t:2,i:[{t:3}],s:"TTFT"}},tokens:{t:0,b:{t:2,i:[{t:3}],s:"token"}},duration:{t:0,b:{t:2,i:[{t:3}],s:"المدة"}}},column:{tokens:{t:0,b:{t:2,i:[{t:3}],s:"token"}}},language:{mismatchTitle:{t:0,b:{t:2,i:[{t:3}],s:"تم اكتشاف عدم تطابق اللغة"}},mismatchDescription:{t:0,b:{t:2,i:[{t:3,v:"يبدو أن موجهك مكتوب بال"},{t:4,k:"detected"},{t:3,v:"."}]}},targetIs:{t:0,b:{t:2,i:[{t:3,v:"الهدف: "},{t:4,k:"language"}]}},translateTo:{t:0,b:{t:2,i:[{t:3,v:"ترجمة إلى "},{t:4,k:"language"}]}},keepDetected:{t:0,b:{t:2,i:[{t:3,v:"الإبقاء على "},{t:4,k:"language"}]}},translateAll:{t:0,b:{t:2,i:[{t:3}],s:"ترجمة الكل"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"إلغاء"}},tokenTaxTitle:{t:0,b:{t:2,i:[{t:3}],s:"ضريبة Tokens"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"Tokens الإدخال"}},promptText:{t:0,b:{t:2,i:[{t:3}],s:"النص المترجم"}},translated:{t:0,b:{t:2,i:[{t:3}],s:"مترجم"}},unsupported:{t:0,b:{t:2,i:[{t:3}],s:"اللغة غير مدعومة بعد"}},translating:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ الترجمة... قد يستغرق ذلك بعض الوقت حسب حجم النموذج"}},qualityWarning:{t:0,b:{t:2,i:[{t:3}],s:"جودة الترجمة تعتمد على قدرات النموذج اللغوية. النماذج الأكبر تنتج ترجمات أفضل."}},promptPlaceholder:{t:0,b:{t:2,i:[{t:3,v:"اكتب أو الصق النص بـ"},{t:4,k:"lang"},{t:3,v:"..."}]}}},history:{title:{t:0,b:{t:2,i:[{t:3}],s:"المقارنات المحفوظة"}},load:{t:0,b:{t:2,i:[{t:3}],s:"تحميل"}},noSavedRuns:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد مقارنات محفوظة بعد"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},json:{t:0,b:{t:2,i:[{t:3}],s:"تحميل كـ JSON"}},markdown:{t:0,b:{t:2,i:[{t:3}],s:"تحميل كـ Markdown"}}},share:{toDiscussions:{t:0,b:{t:2,i:[{t:3}],s:"مشاركة في GitHub Discussions"}},dialogTitle:{t:0,b:{t:2,i:[{t:3}],s:"شارك اكتشافاتك"}},commentaryLabel:{t:0,b:{t:2,i:[{t:3}],s:"أضف تعليقك"}},commentaryPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"ماذا اكتشفت؟ شارك ملاحظاتك..."}},preview:{t:0,b:{t:2,i:[{t:3}],s:"معاينة التقرير"}},openGithub:{t:0,b:{t:2,i:[{t:3}],s:"فتح GitHub Discussions"}},copyMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"نسخ Markdown"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"تم النسخ!"}},note:{t:0,b:{t:2,i:[{t:3}],s:"ستتم إعادة توجيهك إلى GitHub لمراجعة ونشر نتائجك."}}}},Zy={title:{t:0,b:{t:2,i:[{t:3}],s:"الجلسة"}},sessionId:{t:0,b:{t:2,i:[{t:3,v:"الجلسة "},{t:4,k:"id"}]}},notFound:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم العثور على الجلسة."}},tabs:{stream:{t:0,b:{t:2,i:[{t:3}],s:"البث"}},reasoning:{t:0,b:{t:2,i:[{t:3}],s:"الاستدلال"}},introspection:{t:0,b:{t:2,i:[{t:3}],s:"الاستبطان"}},tools:{t:0,b:{t:2,i:[{t:3}],s:"الأدوات"}},agent:{t:0,b:{t:2,i:[{t:3}],s:"رسم الوكيل البياني"}},prompt:{t:0,b:{t:2,i:[{t:3}],s:"الموجه"}}},export:{title:{t:0,b:{t:2,i:[{t:3}],s:"تصدير"}},downloadJson:{t:0,b:{t:2,i:[{t:3}],s:"تحميل JSON"}},downloadMarkdown:{t:0,b:{t:2,i:[{t:3}],s:"تحميل Markdown"}},downloadTokenCsv:{t:0,b:{t:2,i:[{t:3}],s:"تحميل CSV بث token"}}},stream:{tokenStream:{t:0,b:{t:2,i:[{t:3}],s:"بث token"}},metrics:{t:0,b:{t:2,i:[{t:3}],s:"المقاييس"}}},tokenStream:{promptPlaceholder:{t:0,b:{t:2,i:[{t:3}],s:"أدخل الموجه الخاص بك..."}}},reasoning:{title:{t:0,b:{t:2,i:[{t:3}],s:"الاستدلال"}},noReasoning:{t:0,b:{t:2,i:[{t:3}],s:"لا تتوفر بيانات استدلال لهذه الجلسة."}}},introspection:{title:{t:0,b:{t:2,i:[{t:3}],s:"الاستبطان"}},illustrative:{t:0,b:{t:2,i:[{t:3}],s:"توضيحي"}}},toolCalls:{title:{t:0,b:{t:2,i:[{t:3}],s:"استدعاءات الأدوات"}},timeline:{t:0,b:{t:2,i:[{t:3}],s:"الخط الزمني"}},optimize:{t:0,b:{t:2,i:[{t:3}],s:"تحسين"}}},agentGraph:{title:{t:0,b:{t:2,i:[{t:3}],s:"رسم الوكيل البياني"}}},promptInspector:{title:{t:0,b:{t:2,i:[{t:3}],s:"فاحص الموجه"}}}},tv={title:{t:0,b:{t:2,i:[{t:3}],s:"إرسال ملاحظات"}},thankYou:{t:0,b:{t:2,i:[{t:3}],s:"شكراً لملاحظاتك!"}},thankYouDetail:{t:0,b:{t:2,i:[{t:3}],s:"مساهمتك تساعد في تحسين LLMxRay."}},typeQuestion:{t:0,b:{t:2,i:[{t:3}],s:"ما نوع الملاحظة؟"}},types:{bug:{t:0,b:{t:2,i:[{t:3}],s:"خلل"}},idea:{t:0,b:{t:2,i:[{t:3}],s:"فكرة"}},question:{t:0,b:{t:2,i:[{t:3}],s:"سؤال"}},other:{t:0,b:{t:2,i:[{t:3}],s:"أخرى"}}},message:{placeholder:{t:0,b:{t:2,i:[{t:3}],s:"أخبرنا بما يدور في ذهنك..."}}},email:{label:{t:0,b:{t:2,i:[{t:3}],s:"البريد الإلكتروني"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"(اختياري — فقط إذا أردت الحصول على رد)"}},placeholder:{t:0,b:{t:2,i:[{t:3},{t:9},{t:3}],s:"بريدك@email.com"}}},submit:{send:{t:0,b:{t:2,i:[{t:3}],s:"إرسال الملاحظات"}},sending:{t:0,b:{t:2,i:[{t:3}],s:"جارٍ الإرسال..."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"يتضمن سياق التطبيق (الصفحة، النموذج، النظام) لمساعدتنا في فهم ملاحظاتك."}}},ev={issuesDetected:{t:0,b:{t:2,i:[{t:3}],s:"تم اكتشاف مشاكل في الجودة"}},repetition:{label:{t:0,b:{t:2,i:[{t:3}],s:"متكرر"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"الرد يحتوي على عبارات مكررة بشكل مفرط"}}},refusal:{label:{t:0,b:{t:2,i:[{t:3}],s:"رفض"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"يبدو أن الرد هو رفض"}}},gibberish:{label:{t:0,b:{t:2,i:[{t:3}],s:"مشوش"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"الرد يحتوي على نسبة عالية من الأحرف غير القابلة للطباعة"}}},empty:{label:{t:0,b:{t:2,i:[{t:3}],s:"فارغ"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"الرد يحتوي على محتوى قليل جداً"}}},truncation:{label:{t:0,b:{t:2,i:[{t:3}],s:"مقطوع"}},reason:{t:0,b:{t:2,i:[{t:3}],s:"ربما تم اقتطاع الرد"}}}},sv={title:{t:0,b:{t:2,i:[{t:3}],s:"لوحة التكاليف"}},summary:{totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"إجمالي الرموز"}},totalSessions:{t:0,b:{t:2,i:[{t:3}],s:"الجلسات"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"التكلفة المقدرة"}},avgCostPerSession:{t:0,b:{t:2,i:[{t:3}],s:"متوسط التكلفة/جلسة"}}},charts:{tokensByModel:{t:0,b:{t:2,i:[{t:3}],s:"استخدام الرموز حسب النموذج"}},dailyUsage:{t:0,b:{t:2,i:[{t:3}],s:"الاستخدام اليومي"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"رموز المطالبة"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"رموز الإكمال"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"التكلفة المقدرة"}},costTrend:{t:0,b:{t:2,i:[{t:3}],s:"اتجاه التكلفة"}}},table:{model:{t:0,b:{t:2,i:[{t:3}],s:"النموذج"}},sessions:{t:0,b:{t:2,i:[{t:3}],s:"الجلسات"}},promptTokens:{t:0,b:{t:2,i:[{t:3}],s:"المطالبة"}},completionTokens:{t:0,b:{t:2,i:[{t:3}],s:"الإكمال"}},totalTokens:{t:0,b:{t:2,i:[{t:3}],s:"الإجمالي"}},estimatedCost:{t:0,b:{t:2,i:[{t:3}],s:"التكلفة المقدرة"}},pricingSource:{t:0,b:{t:2,i:[{t:3}],s:"المصدر"}}},percentiles:{latencyTitle:{t:0,b:{t:2,i:[{t:3}],s:"زمن الاستجابة (P50 / P95 / P99)"}},ttftTitle:{t:0,b:{t:2,i:[{t:3}],s:"الوقت حتى أول رمز (P50 / P95 / P99)"}},histogramTitle:{t:0,b:{t:2,i:[{t:3}],s:"توزيع التأخير بين الرموز"}},histogramHint:{t:0,b:{t:2,i:[{t:3}],s:"حدود المجموعات تتبع اتفاقيات OTel GenAI. مجمعة عبر جميع الجلسات."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد بيانات كافية لتحليل النسب المئوية."}}},errors:{title:{t:0,b:{t:2,i:[{t:3}],s:"الأخطاء حسب النموذج"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم تسجيل أي أخطاء."}}},loadDuration:{title:{t:0,b:{t:2,i:[{t:3}],s:"مدة تحميل النموذج"}},coldStarts:{t:0,b:{t:2,i:[{t:3}],s:"بدايات باردة"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"تشير النقاط البرتقالية إلى البدايات الباردة (النموذج محمل من القرص، > 500 مللي ثانية)."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد بيانات جلسات بعد."}}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"هذه التكاليف تقديرات مبنية على أسعار واجهات برمجة التطبيقات السحابية المكافئة. يعمل Ollama محلياً بدون تكلفة."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد بيانات استخدام بعد. ابدأ المحادثة لرؤية استخدام الرموز وتقديرات التكلفة."}}},nv={title:{t:0,b:{t:2,i:[{t:3}],s:"التحليلات"}},sections:{quality:{t:0,b:{t:2,i:[{t:3}],s:"جودة الاستجابة"}},latency:{t:0,b:{t:2,i:[{t:3}],s:"تحليل التأخير"}},reliability:{t:0,b:{t:2,i:[{t:3}],s:"الموثوقية"}},usage:{t:0,b:{t:2,i:[{t:3}],s:"أنماط الاستخدام"}},settings:{t:0,b:{t:2,i:[{t:3}],s:"تأثير الإعدادات"}},modelMemory:{t:0,b:{t:2,i:[{t:3}],s:"ذاكرة النموذج"}}},quality:{title:{t:0,b:{t:2,i:[{t:3}],s:"الجودة عبر الأدوار"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"أخضر = جيد (3.5+)، أصفر = متوسط (2-3.5)، أحمر = ضعيف (< 2)."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"ابدأ محادثة متعددة الأدوار لرؤية اتجاهات الجودة."}}},errors:{timelineTitle:{t:0,b:{t:2,i:[{t:3}],s:"الجدول الزمني للأخطاء"}},noErrors:{t:0,b:{t:2,i:[{t:3}],s:"لم يتم تسجيل أي أخطاء."}}},usage:{requestVolume:{t:0,b:{t:2,i:[{t:3}],s:"حجم الطلبات"}},modelDistribution:{t:0,b:{t:2,i:[{t:3}],s:"توزيع النماذج"}},activeHours:{t:0,b:{t:2,i:[{t:3}],s:"ساعات النشاط"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد بيانات جلسات بعد."}}},settings:{title:{t:0,b:{t:2,i:[{t:3}],s:"الحرارة مقابل السرعة"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"كل نقطة تمثل جلسة. يوضح تأثير درجة الحرارة على سرعة التوليد."}},noData:{t:0,b:{t:2,i:[{t:3}],s:"يلزم جلستان على الأقل مع إعدادات حرارة صريحة."}}},modelLoad:{title:{t:0,b:{t:2,i:[{t:3}],s:"سجل تحميل النموذج"}},cold:{t:0,b:{t:2,i:[{t:3}],s:"بارد"}},noData:{t:0,b:{t:2,i:[{t:3}],s:"لا توجد بيانات جلسات بعد."}}}},iv={common:Ky,dashboard:Uy,settings:Hy,benchmark:Gy,embeddings:Wy,rag:zy,tools:Jy,training:Qy,system:Yy,comparison:Xy,session:Zy,feedback:tv,quality:ev,cost:sv,analytics:nv},rv=["en","fr","zh","ar"];function ov(){const t=localStorage.getItem("llmxray-locale");if(t&&rv.includes(t))return t;const e=navigator.language;return e.startsWith("fr")?"fr":e.startsWith("zh")?"zh":e.startsWith("ar")?"ar":"en"}const sl=C3({locale:ov(),fallbackLocale:"en",globalInjection:!0,messages:{en:uy,fr:Ay,zh:Vy,ar:iv},numberFormats:{en:{decimal:{minimumFractionDigits:0,maximumFractionDigits:2},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1}},fr:{decimal:{minimumFractionDigits:0,maximumFractionDigits:2},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1}},zh:{decimal:{minimumFractionDigits:0,maximumFractionDigits:2},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1}},ar:{decimal:{minimumFractionDigits:0,maximumFractionDigits:2},percent:{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1}}},datetimeFormats:{en:{short:{year:"numeric",month:"short",day:"numeric"},long:{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}},fr:{short:{year:"numeric",month:"short",day:"numeric"},long:{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}},zh:{short:{year:"numeric",month:"short",day:"numeric"},long:{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}},ar:{short:{year:"numeric",month:"short",day:"numeric"},long:{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}}}}),Zu=new Set(["ar","he","fa","ur"]),td=[{code:"en",label:"English",flag:"🇬🇧"},{code:"fr",label:"Français",flag:"🇫🇷"},{code:"zh",label:"中文",flag:"🇨🇳"},{code:"ar",label:"العربية",flag:"🇸🇦"}],av=ko("locale",()=>{const t=Te(sl.global.locale.value);function e(s){t.value=s,sl.global.locale.value=s,localStorage.setItem("llmxray-locale",s),document.documentElement.lang=s,document.documentElement.dir=Zu.has(s)?"rtl":"ltr"}return document.documentElement.lang=t.value,document.documentElement.dir=Zu.has(t.value)?"rtl":"ltr",{locale:t,setLocale:e}}),lv={class:"flex h-14 items-center justify-between border-b border-border-default bg-surface-raised px-6"},cv={class:"text-lg font-semibold text-text-primary"},uv={class:"flex items-center gap-3"},dv=["title"],fv=["title"],bv={class:"flex items-center gap-2 text-sm text-text-secondary"},mv=Ms({__name:"AppHeader",setup(t){const e=wl(),{t:s}=Zi(),n=zg(),r=av();function a(){const p=td.map(v=>v.code),g=p.indexOf(r.locale);r.setLocale(p[(g+1)%p.length])}const l=ne(()=>td.find(p=>p.code===r.locale)?.flag??"🌐"),d=ne(()=>{const p=e.name;return{dashboard:s("common.header.chatDiagnostics"),session:s("common.header.session"),comparison:s("common.header.compareModels"),embeddings:s("common.header.embeddings"),rag:s("common.header.knowledgeBase"),models:s("common.header.models"),benchmark:s("common.header.benchmark"),costs:s("common.header.costDashboard"),analytics:s("common.header.analytics"),tools:s("common.header.toolWorkshop"),system:s("common.header.mySystem"),settings:s("common.header.settings")}[p??""]??s("common.header.default")}),u=Te(!1);async function m(){try{const p=await fetch("/api/tags");u.value=p.ok}catch{u.value=!1}}return Qi(()=>{m(),setInterval(m,15e3)}),(p,g)=>{const v=vo("RouterLink");return ke(),Ws("header",lv,[Mt("h1",cv,[_e(e).name==="session"?(ke(),Ws(we,{key:0},[fe(v,{to:"/",class:"text-text-secondary hover:text-accent transition-colors"},{default:po(()=>[Di(De(p.$t("common.header.chatDiagnostics")),1)]),_:1}),g[1]||(g[1]=Mt("span",{class:"mx-2 text-text-muted"},"/",-1)),Mt("span",null,"Session "+De(_e(e).params.id?.slice(0,8)),1)],64)):(ke(),Ws(we,{key:1},[Di(De(d.value),1)],64))]),Mt("div",uv,[Mt("button",{class:"flex items-center justify-center rounded-lg p-1.5 text-text-secondary hover:bg-surface-overlay hover:text-text-primary transition-colors",title:`Theme: ${_e(n).mode}`,onClick:g[0]||(g[0]=S=>_e(n).setMode(_e(n).resolvedTheme==="dark"?"light":"dark"))},[_e(n).resolvedTheme==="dark"?(ke(),bs(_e(ig),{key:0,class:"h-4 w-4"})):(ke(),bs(_e(sg),{key:1,class:"h-4 w-4"}))],8,dv),Mt("button",{class:"flex items-center justify-center rounded-lg px-1.5 py-1 text-xs font-medium text-text-secondary hover:bg-surface-overlay hover:text-text-primary transition-colors",title:p.$t("settings.general.language"),onClick:a},De(l.value),9,fv),Mt("div",bv,[Mt("span",{class:pn(["inline-block h-2 w-2 rounded-full",u.value?"bg-success":"bg-error"])},null,2),Di(" "+De(u.value?p.$t("common.status.ollamaConnected"):p.$t("common.status.ollamaDisconnected")),1)])])])}}}),pv={class:"flex h-screen overflow-hidden"},hv={class:"flex flex-1 flex-col overflow-hidden"},gv={class:"flex-1 overflow-hidden"},yv=Ms({__name:"DefaultLayout",setup(t){return(e,s)=>{const n=vo("RouterView");return ke(),Ws("div",pv,[fe(Wg),Mt("div",hv,[fe(mv),Mt("main",gv,[fe(n,null,{default:po(({Component:r,route:a})=>[Mt("div",{class:pn(["h-full",a.name==="dashboard"||a.name==="tools"?"":"overflow-auto p-6"])},[(ke(),bs(Xd(r)))],2)]),_:1})])])])}}}),vv=Nh({history:bh(),routes:[{path:"/",component:yv,children:[{path:"",name:"dashboard",component:()=>Xe(()=>import("./DashboardPage-CV8Ejgxv.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))},{path:"session/:id",name:"session",component:()=>Xe(()=>import("./SessionPage-B0fMQGSB.js"),__vite__mapDeps([16,3,1,6,17,18,5,19,2,20,21,8,9,22,23,24,15])),props:!0},{path:"compare",name:"comparison",component:()=>Xe(()=>import("./ComparisonPage-BoBWSObY.js"),__vite__mapDeps([25,3,1,4,5,6,7,8,17,2,19,26,15,27]))},{path:"embeddings",name:"embeddings",component:()=>Xe(()=>import("./EmbeddingsPage-DXjVT4eU.js"),__vite__mapDeps([28,2,29,30,31,23,32]))},{path:"rag",name:"rag",component:()=>Xe(()=>import("./RAGPage-Dv4UDEyz.js"),__vite__mapDeps([33,10,11,29,30,2,31]))},{path:"models",redirect:{path:"/settings",query:{tab:"models"}}},{path:"benchmark",name:"benchmark",component:()=>Xe(()=>import("./BenchmarkPage-jiUqdHmg.js"),__vite__mapDeps([34,35,7,3,6,1,8,13,36,15,14,20,17,27]))},{path:"tools",name:"tools",component:()=>Xe(()=>import("./ToolWorkshopPage-DmpoHHaD.js"),__vite__mapDeps([37,9,17,8,3,38,22,23,24,26,15,36,39]))},{path:"training",name:"training",component:()=>Xe(()=>import("./AITrainingPage-DEU4UAR7.js"),__vite__mapDeps([40,38,2,30,31]))},{path:"costs",name:"costs",component:()=>Xe(()=>import("./CostDashboardPage-BKQDsZhx.js"),__vite__mapDeps([41,1,20,21]))},{path:"analytics",name:"analytics",component:()=>Xe(()=>import("./AnalyticsPage-C7mNUAil.js"),__vite__mapDeps([42,20,1,3]))},{path:"system",name:"system",component:()=>Xe(()=>import("./SystemPage-BPK15qwe.js"),__vite__mapDeps([43,17,1,2,29,30,31,15]))},{path:"settings",name:"settings",component:()=>Xe(()=>import("./SettingsPage-DTJP-4xU.js"),__vite__mapDeps([44,18,2,13,36,45,46,23,20,17]))},{path:"auth/google/callback",name:"google-oauth-callback",component:()=>Xe(()=>import("./GoogleCallbackPage-BUIkYpZv.js"),__vite__mapDeps([47,45,46]))}]}]}),_v="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let wv=(t=21)=>{let e="",s=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=_v[s[t]&63];return e};const Tv="llmxray-conversations",kv=1,cs="conversations",Ze="messages",us="sessions",Bs="tokens";function rs(){return new Promise((t,e)=>{const s=indexedDB.open(Tv,kv);s.onupgradeneeded=()=>{const n=s.result;n.objectStoreNames.contains(cs)||n.createObjectStore(cs,{keyPath:"id"}),n.objectStoreNames.contains(Ze)||n.createObjectStore(Ze,{keyPath:"id"}).createIndex("byConversation","conversationId",{unique:!1}),n.objectStoreNames.contains(us)||n.createObjectStore(us,{keyPath:"id"}).createIndex("byConversation","conversationId",{unique:!1}),n.objectStoreNames.contains(Bs)||n.createObjectStore(Bs,{keyPath:"sessionId"}).createIndex("bySession","sessionId",{unique:!0})},s.onsuccess=()=>t(s.result),s.onerror=()=>e(s.error)})}function Rn(t){return new Promise((e,s)=>{t.oncomplete=()=>e(),t.onerror=()=>s(t.error)})}function ed(t,e){return new Promise((s,n)=>{const r=t.get(e);r.onsuccess=()=>s(r.result),r.onerror=()=>n(r.error)})}function Sv(t){return new Promise((e,s)=>{const n=t.getAll();n.onsuccess=()=>e(n.result),n.onerror=()=>s(n.error)})}function Ca(t,e,s){return new Promise((n,r)=>{const l=t.index(e).getAll(s);l.onsuccess=()=>n(l.result),l.onerror=()=>r(l.error)})}const ls={async saveConversation(t){const e=await rs(),s=e.transaction([cs,Ze],"readwrite"),n={id:t.id,name:t.name,title:t.title,model:t.model,options:t.options,createdAt:t.createdAt,updatedAt:t.updatedAt};s.objectStore(cs).put(n);const r=s.objectStore(Ze);for(const a of t.messages)r.put(a);await Rn(s),e.close()},async saveConversationMeta(t){const e=await rs(),s=e.transaction(cs,"readwrite"),n={id:t.id,name:t.name,title:t.title,model:t.model,options:t.options,createdAt:t.createdAt,updatedAt:t.updatedAt};s.objectStore(cs).put(n),await Rn(s),e.close()},async saveMessage(t){const e=await rs(),s=e.transaction(Ze,"readwrite");s.objectStore(Ze).put(t),await Rn(s),e.close()},async getAllConversations(){const t=await rs(),e=t.transaction(cs,"readonly"),s=await Sv(e.objectStore(cs));return t.close(),s},async getMessages(t){const e=await rs(),s=e.transaction(Ze,"readonly"),n=await Ca(s.objectStore(Ze),"byConversation",t);return e.close(),n.sort((r,a)=>r.timestamp-a.timestamp)},async deleteConversation(t){const e=await rs(),s=e.transaction(Ze,"readonly"),n=await Ca(s.objectStore(Ze),"byConversation",t),r=n.map(g=>g.sessionId).filter(g=>!!g),a=[...new Set(r)],l=[cs,Ze,us,Bs],d=e.transaction(l,"readwrite");d.objectStore(cs).delete(t);const u=d.objectStore(Ze);for(const g of n)u.delete(g.id);const m=d.objectStore(us),p=d.objectStore(Bs);for(const g of a)m.delete(g),p.delete(g);await Rn(d),e.close()},async saveSession(t,e){const s=await rs(),n=s.transaction(us,"readwrite"),r={...t,conversationId:e};n.objectStore(us).put(r),await Rn(n),s.close()},async getSession(t){const e=await rs(),s=e.transaction(us,"readonly"),n=await ed(s.objectStore(us),t);return e.close(),n},async getSessionsByConversation(t){const e=await rs(),s=e.transaction(us,"readonly"),n=await Ca(s.objectStore(us),"byConversation",t);return e.close(),n},async saveTokens(t,e){const s=await rs(),n=s.transaction(Bs,"readwrite"),r={sessionId:t,tokens:e};n.objectStore(Bs).put(r),await Rn(n),s.close()},async getTokens(t){const e=await rs(),s=e.transaction(Bs,"readonly"),n=await ed(s.objectStore(Bs),t);return e.close(),n?.tokens??[]},async clear(){const t=await rs(),e=[cs,Ze,us,Bs],s=t.transaction(e,"readwrite");for(const n of e)s.objectStore(n).clear();await Rn(s),t.close()}},Xv=Object.freeze(Object.defineProperty({__proto__:null,conversationDB:ls},Symbol.toStringTag,{value:"Module"}));var xv=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Av(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Zv(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var s=function n(){var r=!1;try{r=this instanceof n}catch{}return r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};s.prototype=e.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(s,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}),s}var Br={exports:{}},Cv=Br.exports,sd;function Ev(){return sd||(sd=1,(function(t,e){((s,n)=>{t.exports=n()})(Cv,function(){var s=function(i,o){return(s=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(c,f){c.__proto__=f}:function(c,f){for(var b in f)Object.prototype.hasOwnProperty.call(f,b)&&(c[b]=f[b])}))(i,o)},n=function(){return(n=Object.assign||function(i){for(var o,c=1,f=arguments.length;c<f;c++)for(var b in o=arguments[c])Object.prototype.hasOwnProperty.call(o,b)&&(i[b]=o[b]);return i}).apply(this,arguments)};function r(i,o,c){for(var f,b=0,h=o.length;b<h;b++)!f&&b in o||((f=f||Array.prototype.slice.call(o,0,b))[b]=o[b]);return i.concat(f||Array.prototype.slice.call(o))}var a=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:xv,l=Object.keys,d=Array.isArray;function u(i,o){return typeof o=="object"&&l(o).forEach(function(c){i[c]=o[c]}),i}typeof Promise>"u"||a.Promise||(a.Promise=Promise);var m=Object.getPrototypeOf,p={}.hasOwnProperty;function g(i,o){return p.call(i,o)}function v(i,o){typeof o=="function"&&(o=o(m(i))),(typeof Reflect>"u"?l:Reflect.ownKeys)(o).forEach(function(c){$(i,c,o[c])})}var S=Object.defineProperty;function $(i,o,c,f){S(i,o,u(c&&g(c,"get")&&typeof c.get=="function"?{get:c.get,set:c.set,configurable:!0}:{value:c,configurable:!0,writable:!0},f))}function F(i){return{from:function(o){return i.prototype=Object.create(o.prototype),$(i.prototype,"constructor",i),{extend:v.bind(null,i.prototype)}}}}var W=Object.getOwnPropertyDescriptor,x=[].slice;function A(i,o,c){return x.call(i,o,c)}function G(i,o){return o(i)}function N(i){if(!i)throw new Error("Assertion Failed")}function X(i){a.setImmediate?setImmediate(i):setTimeout(i,0)}function z(i,o){if(typeof o=="string"&&g(i,o))return i[o];if(!o)return i;if(typeof o!="string"){for(var c=[],f=0,b=o.length;f<b;++f){var h=z(i,o[f]);c.push(h)}return c}var y,_=o.indexOf(".");return _===-1||(y=i[o.substr(0,_)])==null?void 0:z(y,o.substr(_+1))}function H(i,o,c){if(i&&o!==void 0&&!("isFrozen"in Object&&Object.isFrozen(i)))if(typeof o!="string"&&"length"in o){N(typeof c!="string"&&"length"in c);for(var f=0,b=o.length;f<b;++f)H(i,o[f],c[f])}else{var h,y,_=o.indexOf(".");_!==-1?(h=o.substr(0,_),(_=o.substr(_+1))===""?c===void 0?d(i)&&!isNaN(parseInt(h))?i.splice(h,1):delete i[h]:i[h]=c:H(y=(y=i[h])&&g(i,h)?y:i[h]={},_,c)):c===void 0?d(i)&&!isNaN(parseInt(o))?i.splice(o,1):delete i[o]:i[o]=c}}function ot(i){var o,c={};for(o in i)g(i,o)&&(c[o]=i[o]);return c}var st=[].concat;function vt(i){return st.apply([],i)}var Jt="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(vt([8,16,32,64].map(function(i){return["Int","Uint","Float"].map(function(o){return o+i+"Array"})}))).filter(function(i){return a[i]}),xt=new Set(Jt.map(function(i){return a[i]})),lt=null;function Et(i){return lt=new WeakMap,i=(function o(c){if(!c||typeof c!="object")return c;var f=lt.get(c);if(f)return f;if(d(c)){f=[],lt.set(c,f);for(var b=0,h=c.length;b<h;++b)f.push(o(c[b]))}else if(xt.has(c.constructor))f=c;else{var y,_=m(c);for(y in f=_===Object.prototype?{}:Object.create(_),lt.set(c,f),c)g(c,y)&&(f[y]=o(c[y]))}return f})(i),lt=null,i}var Yt={}.toString;function ae(i){return Yt.call(i).slice(8,-1)}var Lt=typeof Symbol<"u"?Symbol.iterator:"@@iterator",Pt=typeof Lt=="symbol"?function(i){var o;return i!=null&&(o=i[Lt])&&o.apply(i)}:function(){return null};function Dt(i,o){o=i.indexOf(o),0<=o&&i.splice(o,1)}var Xt={};function le(i){var o,c,f,b;if(arguments.length===1){if(d(i))return i.slice();if(this===Xt&&typeof i=="string")return[i];if(b=Pt(i))for(c=[];!(f=b.next()).done;)c.push(f.value);else{if(i==null)return[i];if(typeof(o=i.length)!="number")return[i];for(c=new Array(o);o--;)c[o]=i[o]}}else for(o=arguments.length,c=new Array(o);o--;)c[o]=arguments[o];return c}var xe=typeof Symbol<"u"?function(i){return i[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},Jt=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],mt=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(Jt),ss={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function Ie(i,o){this.name=i,this.message=o}function Qe(i,o){return i+". Errors: "+Object.keys(o).map(function(c){return o[c].toString()}).filter(function(c,f,b){return b.indexOf(c)===f}).join(`
|
|
7
|
+
`)}function ge(i,o,c,f){this.failures=o,this.failedKeys=f,this.successCount=c,this.message=Qe(i,o)}function tt(i,o){this.name="BulkError",this.failures=Object.keys(o).map(function(c){return o[c]}),this.failuresByPos=o,this.message=Qe(i,this.failures)}F(Ie).from(Error).extend({toString:function(){return this.name+": "+this.message}}),F(ge).from(Ie),F(tt).from(Ie);var gt=mt.reduce(function(i,o){return i[o]=o+"Error",i},{}),bt=Ie,rt=mt.reduce(function(i,o){var c=o+"Error";function f(b,h){this.name=c,b?typeof b=="string"?(this.message="".concat(b).concat(h?`
|
|
8
|
+
`+h:""),this.inner=h||null):typeof b=="object"&&(this.message="".concat(b.name," ").concat(b.message),this.inner=b):(this.message=ss[o]||c,this.inner=null)}return F(f).from(bt),i[o]=f,i},{}),Ot=(rt.Syntax=SyntaxError,rt.Type=TypeError,rt.Range=RangeError,Jt.reduce(function(i,o){return i[o+"Error"]=rt[o],i},{}));Jt=mt.reduce(function(i,o){return["Syntax","Type","Range"].indexOf(o)===-1&&(i[o+"Error"]=rt[o]),i},{});function w(){}function C(i){return i}function B(i,o){return i==null||i===C?o:function(c){return o(i(c))}}function Y(i,o){return function(){i.apply(this,arguments),o.apply(this,arguments)}}function nt(i,o){return i===w?o:function(){var c=i.apply(this,arguments),f=(c!==void 0&&(arguments[0]=c),this.onsuccess),b=this.onerror,h=(this.onsuccess=null,this.onerror=null,o.apply(this,arguments));return f&&(this.onsuccess=this.onsuccess?Y(f,this.onsuccess):f),b&&(this.onerror=this.onerror?Y(b,this.onerror):b),h!==void 0?h:c}}function et(i,o){return i===w?o:function(){i.apply(this,arguments);var c=this.onsuccess,f=this.onerror;this.onsuccess=this.onerror=null,o.apply(this,arguments),c&&(this.onsuccess=this.onsuccess?Y(c,this.onsuccess):c),f&&(this.onerror=this.onerror?Y(f,this.onerror):f)}}function T(i,o){return i===w?o:function(b){var f=i.apply(this,arguments),b=(u(b,f),this.onsuccess),h=this.onerror,y=(this.onsuccess=null,this.onerror=null,o.apply(this,arguments));return b&&(this.onsuccess=this.onsuccess?Y(b,this.onsuccess):b),h&&(this.onerror=this.onerror?Y(h,this.onerror):h),f===void 0?y===void 0?void 0:y:u(f,y)}}function k(i,o){return i===w?o:function(){return o.apply(this,arguments)!==!1&&i.apply(this,arguments)}}function L(i,o){return i===w?o:function(){var c=i.apply(this,arguments);if(c&&typeof c.then=="function"){for(var f=this,b=arguments.length,h=new Array(b);b--;)h[b]=arguments[b];return c.then(function(){return o.apply(f,h)})}return o.apply(this,arguments)}}Jt.ModifyError=ge,Jt.DexieError=Ie,Jt.BulkError=tt;var K=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function pt(i){K=i}var it={},j=100,Q=typeof Promise>"u"?[]:(mt=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[Q=crypto.subtle.digest("SHA-512",new Uint8Array([0])),m(Q),mt]:[mt,m(mt),mt]),mt=Q[0],Hn=Q[1],Hn=Hn&&Hn.then,St=mt&&mt.constructor,It=!!Q[2],ee=function(i,o){Zs.push([i,o]),Ne&&(queueMicrotask(_b),Ne=!1)},se=!0,Ne=!0,Ae=[],vs=[],Fn=C,be={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:w,pgp:!1,env:{},finalize:w},_t=be,Zs=[],_s=0,tr=[];function ht(i){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var o=this._PSD=_t;if(typeof i!="function"){if(i!==it)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&Do(this,this._value)}else this._state=null,this._value=null,++o.ref,(function c(f,b){try{b(function(h){if(f._state===null){if(h===f)throw new TypeError("A promise cannot be resolved with itself.");var y=f._lib&&jn();h&&typeof h.then=="function"?c(f,function(_,R){h instanceof ht?h._then(_,R):h.then(_,R)}):(f._state=!0,f._value=h,Dl(f)),y&&Bn()}},Do.bind(null,f))}catch(h){Do(f,h)}})(this,i)}var Mo={get:function(){var i=_t,o=ir;function c(f,b){var h=this,y=!i.global&&(i!==_t||o!==ir),_=y&&!en(),R=new ht(function(V,M){Oo(h,new Ml(Il(f,i,y,_),Il(b,i,y,_),V,M,i))});return this._consoleTask&&(R._consoleTask=this._consoleTask),R}return c.prototype=it,c},set:function(i){$(this,"then",i&&i.prototype===it?Mo:{get:function(){return i},set:Mo.set})}};function Ml(i,o,c,f,b){this.onFulfilled=typeof i=="function"?i:null,this.onRejected=typeof o=="function"?o:null,this.resolve=c,this.reject=f,this.psd=b}function Do(i,o){var c,f;vs.push(o),i._state===null&&(c=i._lib&&jn(),o=Fn(o),i._state=!1,i._value=o,f=i,Ae.some(function(b){return b._value===f._value})||Ae.push(f),Dl(i),c)&&Bn()}function Dl(i){var o=i._listeners;i._listeners=[];for(var c=0,f=o.length;c<f;++c)Oo(i,o[c]);var b=i._PSD;--b.ref||b.finalize(),_s===0&&(++_s,ee(function(){--_s==0&&Io()},[]))}function Oo(i,o){if(i._state===null)i._listeners.push(o);else{var c=i._state?o.onFulfilled:o.onRejected;if(c===null)return(i._state?o.resolve:o.reject)(i._value);++o.psd.ref,++_s,ee(vb,[c,i,o])}}function vb(i,o,c){try{var f,b=o._value;!o._state&&vs.length&&(vs=[]),f=K&&o._consoleTask?o._consoleTask.run(function(){return i(b)}):i(b),o._state||vs.indexOf(b)!==-1||(h=>{for(var y=Ae.length;y;)if(Ae[--y]._value===h._value)return Ae.splice(y,1)})(o),c.resolve(f)}catch(h){c.reject(h)}finally{--_s==0&&Io(),--c.psd.ref||c.psd.finalize()}}function _b(){_n(be,function(){jn()&&Bn()})}function jn(){var i=se;return Ne=se=!1,i}function Bn(){var i,o,c;do for(;0<Zs.length;)for(i=Zs,Zs=[],c=i.length,o=0;o<c;++o){var f=i[o];f[0].apply(null,f[1])}while(0<Zs.length);Ne=se=!0}function Io(){for(var i=Ae,o=(Ae=[],i.forEach(function(f){f._PSD.onunhandled.call(null,f._value,f)}),tr.slice(0)),c=o.length;c;)o[--c]()}function er(i){return new ht(it,!1,i)}function ie(i,o){var c=_t;return function(){var f=jn(),b=_t;try{return sn(c,!0),i.apply(this,arguments)}catch(h){o&&o(h)}finally{sn(b,!1),f&&Bn()}}}v(ht.prototype,{then:Mo,_then:function(i,o){Oo(this,new Ml(null,null,i,o,_t))},catch:function(i){var o,c;return arguments.length===1?this.then(null,i):(o=i,c=arguments[1],typeof o=="function"?this.then(null,function(f){return(f instanceof o?c:er)(f)}):this.then(null,function(f){return(f&&f.name===o?c:er)(f)}))},finally:function(i){return this.then(function(o){return ht.resolve(i()).then(function(){return o})},function(o){return ht.resolve(i()).then(function(){return er(o)})})},timeout:function(i,o){var c=this;return i<1/0?new ht(function(f,b){var h=setTimeout(function(){return b(new rt.Timeout(o))},i);c.then(f,b).finally(clearTimeout.bind(null,h))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&$(ht.prototype,Symbol.toStringTag,"Dexie.Promise"),be.env=Ol(),v(ht,{all:function(){var i=le.apply(null,arguments).map(rr);return new ht(function(o,c){i.length===0&&o([]);var f=i.length;i.forEach(function(b,h){return ht.resolve(b).then(function(y){i[h]=y,--f||o(i)},c)})})},resolve:function(i){return i instanceof ht?i:i&&typeof i.then=="function"?new ht(function(o,c){i.then(o,c)}):new ht(it,!0,i)},reject:er,race:function(){var i=le.apply(null,arguments).map(rr);return new ht(function(o,c){i.map(function(f){return ht.resolve(f).then(o,c)})})},PSD:{get:function(){return _t},set:function(i){return _t=i}},totalEchoes:{get:function(){return ir}},newPSD:tn,usePSD:_n,scheduler:{get:function(){return ee},set:function(i){ee=i}},rejectionMapper:{get:function(){return Fn},set:function(i){Fn=i}},follow:function(i,o){return new ht(function(c,f){return tn(function(b,h){var y=_t;y.unhandleds=[],y.onunhandled=h,y.finalize=Y(function(){var _,R=this;_=function(){R.unhandleds.length===0?b():h(R.unhandleds[0])},tr.push(function V(){_(),tr.splice(tr.indexOf(V),1)}),++_s,ee(function(){--_s==0&&Io()},[])},y.finalize),i()},o,c,f)})}}),St&&(St.allSettled&&$(ht,"allSettled",function(){var i=le.apply(null,arguments).map(rr);return new ht(function(o){i.length===0&&o([]);var c=i.length,f=new Array(c);i.forEach(function(b,h){return ht.resolve(b).then(function(y){return f[h]={status:"fulfilled",value:y}},function(y){return f[h]={status:"rejected",reason:y}}).then(function(){return--c||o(f)})})})}),St.any&&typeof AggregateError<"u"&&$(ht,"any",function(){var i=le.apply(null,arguments).map(rr);return new ht(function(o,c){i.length===0&&c(new AggregateError([]));var f=i.length,b=new Array(f);i.forEach(function(h,y){return ht.resolve(h).then(function(_){return o(_)},function(_){b[y]=_,--f||c(new AggregateError(b))})})})}),St.withResolvers)&&(ht.withResolvers=St.withResolvers);var Re={awaits:0,echoes:0,id:0},wb=0,sr=[],nr=0,ir=0,Tb=0;function tn(i,y,c,f){var b=_t,h=Object.create(b),y=(h.parent=b,h.ref=0,h.global=!1,h.id=++Tb,be.env,h.env=It?{Promise:ht,PromiseProp:{value:ht,configurable:!0,writable:!0},all:ht.all,race:ht.race,allSettled:ht.allSettled,any:ht.any,resolve:ht.resolve,reject:ht.reject}:{},y&&u(h,y),++b.ref,h.finalize=function(){--this.parent.ref||this.parent.finalize()},_n(h,i,c,f));return h.ref===0&&h.finalize(),y}function qn(){return Re.id||(Re.id=++wb),++Re.awaits,Re.echoes+=j,Re.id}function en(){return!!Re.awaits&&(--Re.awaits==0&&(Re.id=0),Re.echoes=Re.awaits*j,!0)}function rr(i){return Re.echoes&&i&&i.constructor===St?(qn(),i.then(function(o){return en(),o},function(o){return en(),ye(o)})):i}function kb(){var i=sr[sr.length-1];sr.pop(),sn(i,!1)}function sn(i,o){var c,f,b=_t;(o?!Re.echoes||nr++&&i===_t:!nr||--nr&&i===_t)||queueMicrotask(o?(function(h){++ir,Re.echoes&&--Re.echoes!=0||(Re.echoes=Re.awaits=Re.id=0),sr.push(_t),sn(h,!0)}).bind(null,i):kb),i!==_t&&(_t=i,b===be&&(be.env=Ol()),It)&&(c=be.env.Promise,f=i.env,b.global||i.global)&&(Object.defineProperty(a,"Promise",f.PromiseProp),c.all=f.all,c.race=f.race,c.resolve=f.resolve,c.reject=f.reject,f.allSettled&&(c.allSettled=f.allSettled),f.any)&&(c.any=f.any)}function Ol(){var i=a.Promise;return It?{Promise:i,PromiseProp:Object.getOwnPropertyDescriptor(a,"Promise"),all:i.all,race:i.race,allSettled:i.allSettled,any:i.any,resolve:i.resolve,reject:i.reject}:{}}function _n(i,o,c,f,b){var h=_t;try{return sn(i,!0),o(c,f,b)}finally{sn(h,!1)}}function Il(i,o,c,f){return typeof i!="function"?i:function(){var b=_t;c&&qn(),sn(o,!0);try{return i.apply(this,arguments)}finally{sn(b,!1),f&&queueMicrotask(en)}}}function No(i){Promise===St&&Re.echoes===0?nr===0?i():enqueueNativeMicroTask(i):setTimeout(i,0)}(""+Hn).indexOf("[native code]")===-1&&(qn=en=w);var ye=ht.reject,wn="",Ds="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",Nl="String expected.",$n=[],or="__dbnames",Lo="readonly",Fo="readwrite";function Tn(i,o){return i?o?function(){return i.apply(this,arguments)&&o.apply(this,arguments)}:i:o}var Ll={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function ar(i){return typeof i!="string"||/\./.test(i)?function(o){return o}:function(o){return o[i]===void 0&&i in o&&delete(o=Et(o))[i],o}}function Fl(){throw rt.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function Ft(i,o){try{var c=jl(i),f=jl(o);if(c!==f)return c==="Array"?1:f==="Array"?-1:c==="binary"?1:f==="binary"?-1:c==="string"?1:f==="string"?-1:c==="Date"?1:f!=="Date"?NaN:-1;switch(c){case"number":case"Date":case"string":return o<i?1:i<o?-1:0;case"binary":for(var b=Bl(i),h=Bl(o),y=b.length,_=h.length,R=y<_?y:_,V=0;V<R;++V)if(b[V]!==h[V])return b[V]<h[V]?-1:1;return y===_?0:y<_?-1:1;case"Array":for(var M=i,E=o,O=M.length,I=E.length,D=O<I?O:I,P=0;P<D;++P){var U=Ft(M[P],E[P]);if(U!==0)return U}return O===I?0:O<I?-1:1}}catch{}return NaN}function jl(i){var o=typeof i;return o=="object"&&(ArrayBuffer.isView(i)||(o=ae(i))==="ArrayBuffer")?"binary":o}function Bl(i){return i instanceof Uint8Array?i:ArrayBuffer.isView(i)?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i)}function lr(i,o,c){var f=i.schema.yProps;return f?(o&&0<c.numFailures&&(o=o.filter(function(b,h){return!c.failures[h]})),Promise.all(f.map(function(b){return b=b.updatesTable,o?i.db.table(b).where("k").anyOf(o).delete():i.db.table(b).clear()})).then(function(){return c})):c}ql.prototype.execute=function(i){var o=this["@@propmod"];if(o.add!==void 0){var c=o.add;if(d(c))return r(r([],d(i)?i:[],!0),c).sort();if(typeof c=="number")return(Number(i)||0)+c;if(typeof c=="bigint")try{return BigInt(i)+c}catch{return BigInt(0)+c}throw new TypeError("Invalid term ".concat(c))}if(o.remove!==void 0){var f=o.remove;if(d(f))return d(i)?i.filter(function(b){return!f.includes(b)}).sort():[];if(typeof f=="number")return Number(i)-f;if(typeof f=="bigint")try{return BigInt(i)-f}catch{return BigInt(0)-f}throw new TypeError("Invalid subtrahend ".concat(f))}return c=(c=o.replacePrefix)==null?void 0:c[0],c&&typeof i=="string"&&i.startsWith(c)?o.replacePrefix[1]+i.substring(c.length):i};var li=ql;function ql(i){this["@@propmod"]=i}function $l(i,o){for(var c=l(o),f=c.length,b=!1,h=0;h<f;++h){var y=c[h],_=o[y],R=z(i,y);_ instanceof li?(H(i,y,_.execute(R)),b=!0):R!==_&&(H(i,y,_),b=!0)}return b}Zt.prototype._trans=function(i,o,c){var f=this._tx||_t.trans,b=this.name,h=K&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(i==="readonly"?"read":"write"," ").concat(this.name));function y(V,M,E){if(E.schema[b])return o(E.idbtrans,E);throw new rt.NotFound("Table "+b+" not part of transaction")}var _=jn();try{var R=f&&f.db._novip===this.db._novip?f===_t.trans?f._promise(i,y,c):tn(function(){return f._promise(i,y,c)},{trans:f,transless:_t.transless||_t}):(function V(M,E,O,I){if(M.idbdb&&(M._state.openComplete||_t.letThrough||M._vip)){var D=M._createTransaction(E,O,M._dbSchema);try{D.create(),M._state.PR1398_maxLoop=3}catch(P){return P.name===gt.InvalidState&&M.isOpen()&&0<--M._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),M.close({disableAutoOpen:!1}),M.open().then(function(){return V(M,E,O,I)})):ye(P)}return D._promise(E,function(P,U){return tn(function(){return _t.trans=D,I(P,U,D)})}).then(function(P){if(E==="readwrite")try{D.idbtrans.commit()}catch{}return E==="readonly"?P:D._completion.then(function(){return P})})}if(M._state.openComplete)return ye(new rt.DatabaseClosed(M._state.dbOpenError));if(!M._state.isBeingOpened){if(!M._state.autoOpen)return ye(new rt.DatabaseClosed);M.open().catch(w)}return M._state.dbReadyPromise.then(function(){return V(M,E,O,I)})})(this.db,i,[this.name],y);return h&&(R._consoleTask=h,R=R.catch(function(V){return console.trace(V),ye(V)})),R}finally{_&&Bn()}},Zt.prototype.get=function(i,o){var c=this;return i&&i.constructor===Object?this.where(i).first(o):i==null?ye(new rt.Type("Invalid argument to Table.get()")):this._trans("readonly",function(f){return c.core.get({trans:f,key:i}).then(function(b){return c.hook.reading.fire(b)})}).then(o)},Zt.prototype.where=function(i){if(typeof i=="string")return new this.db.WhereClause(this,i);if(d(i))return new this.db.WhereClause(this,"[".concat(i.join("+"),"]"));var o=l(i);if(o.length===1)return this.where(o[0]).equals(i[o[0]]);var c=this.schema.indexes.concat(this.schema.primKey).filter(function(_){if(_.compound&&o.every(function(V){return 0<=_.keyPath.indexOf(V)})){for(var R=0;R<o.length;++R)if(o.indexOf(_.keyPath[R])===-1)return!1;return!0}return!1}).sort(function(_,R){return _.keyPath.length-R.keyPath.length})[0];if(c&&this.db._maxKey!==wn)return y=c.keyPath.slice(0,o.length),this.where(y).equals(y.map(function(_){return i[_]}));!c&&K&&console.warn("The query ".concat(JSON.stringify(i)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(o.join("+"),"]"));var f=this.schema.idxByName;function b(_,R){return Ft(_,R)===0}var y=o.reduce(function(M,R){var V=M[0],M=M[1],E=f[R],O=i[R];return[V||E,V||!E?Tn(M,E&&E.multi?function(I){return I=z(I,R),d(I)&&I.some(function(D){return b(O,D)})}:function(I){return b(O,z(I,R))}):M]},[null,null]),h=y[0],y=y[1];return h?this.where(h.name).equals(i[h.keyPath]).filter(y):c?this.filter(y):this.where(o).equals("")},Zt.prototype.filter=function(i){return this.toCollection().and(i)},Zt.prototype.count=function(i){return this.toCollection().count(i)},Zt.prototype.offset=function(i){return this.toCollection().offset(i)},Zt.prototype.limit=function(i){return this.toCollection().limit(i)},Zt.prototype.each=function(i){return this.toCollection().each(i)},Zt.prototype.toArray=function(i){return this.toCollection().toArray(i)},Zt.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},Zt.prototype.orderBy=function(i){return new this.db.Collection(new this.db.WhereClause(this,d(i)?"[".concat(i.join("+"),"]"):i))},Zt.prototype.reverse=function(){return this.toCollection().reverse()},Zt.prototype.mapToClass=function(i){for(var o=this.db,c=this.name,f=((this.schema.mappedClass=i).prototype instanceof Fl&&(i=(y=>{var _=M,R=y;if(typeof R!="function"&&R!==null)throw new TypeError("Class extends value "+String(R)+" is not a constructor or null");function V(){this.constructor=_}function M(){return y!==null&&y.apply(this,arguments)||this}return s(_,R),_.prototype=R===null?Object.create(R):(V.prototype=R.prototype,new V),Object.defineProperty(M.prototype,"db",{get:function(){return o},enumerable:!1,configurable:!0}),M.prototype.table=function(){return c},M})(i)),new Set),b=i.prototype;b;b=m(b))Object.getOwnPropertyNames(b).forEach(function(y){return f.add(y)});function h(y){if(!y)return y;var _,R=Object.create(i.prototype);for(_ in y)if(!f.has(_))try{R[_]=y[_]}catch{}return R}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=h,this.hook("reading",h),i},Zt.prototype.defineClass=function(){return this.mapToClass(function(i){u(this,i)})},Zt.prototype.add=function(i,o){var c=this,f=this.schema.primKey,b=f.auto,h=f.keyPath,y=i;return h&&b&&(y=ar(h)(i)),this._trans("readwrite",function(_){return c.core.mutate({trans:_,type:"add",keys:o!=null?[o]:null,values:[y]})}).then(function(_){return _.numFailures?ht.reject(_.failures[0]):_.lastResult}).then(function(_){if(h)try{H(i,h,_)}catch{}return _})},Zt.prototype.upsert=function(i,o){var c=this,f=this.schema.primKey.keyPath;return this._trans("readwrite",function(b){return c.core.get({trans:b,key:i}).then(function(h){var y=h??{};return $l(y,o),f&&H(y,f,i),c.core.mutate({trans:b,type:"put",values:[y],keys:[i],upsert:!0,updates:{keys:[i],changeSpecs:[o]}}).then(function(_){return _.numFailures?ht.reject(_.failures[0]):!!h})})})},Zt.prototype.update=function(i,o){return typeof i!="object"||d(i)?this.where(":id").equals(i).modify(o):(i=z(i,this.schema.primKey.keyPath))===void 0?ye(new rt.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(i).modify(o)},Zt.prototype.put=function(i,o){var c=this,f=this.schema.primKey,b=f.auto,h=f.keyPath,y=i;return h&&b&&(y=ar(h)(i)),this._trans("readwrite",function(_){return c.core.mutate({trans:_,type:"put",values:[y],keys:o!=null?[o]:null})}).then(function(_){return _.numFailures?ht.reject(_.failures[0]):_.lastResult}).then(function(_){if(h)try{H(i,h,_)}catch{}return _})},Zt.prototype.delete=function(i){var o=this;return this._trans("readwrite",function(c){return o.core.mutate({trans:c,type:"delete",keys:[i]}).then(function(f){return lr(o,[i],f)}).then(function(f){return f.numFailures?ht.reject(f.failures[0]):void 0})})},Zt.prototype.clear=function(){var i=this;return this._trans("readwrite",function(o){return i.core.mutate({trans:o,type:"deleteRange",range:Ll}).then(function(c){return lr(i,null,c)})}).then(function(o){return o.numFailures?ht.reject(o.failures[0]):void 0})},Zt.prototype.bulkGet=function(i){var o=this;return this._trans("readonly",function(c){return o.core.getMany({keys:i,trans:c}).then(function(f){return f.map(function(b){return o.hook.reading.fire(b)})})})},Zt.prototype.bulkAdd=function(i,o,c){var f=this,b=Array.isArray(o)?o:void 0,h=(c=c||(b?void 0:o))?c.allKeys:void 0;return this._trans("readwrite",function(y){var _=f.schema.primKey,V=_.auto,_=_.keyPath;if(_&&b)throw new rt.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(b&&b.length!==i.length)throw new rt.InvalidArgument("Arguments objects and keys must have the same length");var R=i.length,V=_&&V?i.map(ar(_)):i;return f.core.mutate({trans:y,type:"add",keys:b,values:V,wantResults:h}).then(function(M){var E=M.numFailures,O=M.failures;if(E===0)return h?M.results:M.lastResult;throw new tt("".concat(f.name,".bulkAdd(): ").concat(E," of ").concat(R," operations failed"),O)})})},Zt.prototype.bulkPut=function(i,o,c){var f=this,b=Array.isArray(o)?o:void 0,h=(c=c||(b?void 0:o))?c.allKeys:void 0;return this._trans("readwrite",function(y){var _=f.schema.primKey,V=_.auto,_=_.keyPath;if(_&&b)throw new rt.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(b&&b.length!==i.length)throw new rt.InvalidArgument("Arguments objects and keys must have the same length");var R=i.length,V=_&&V?i.map(ar(_)):i;return f.core.mutate({trans:y,type:"put",keys:b,values:V,wantResults:h}).then(function(M){var E=M.numFailures,O=M.failures;if(E===0)return h?M.results:M.lastResult;throw new tt("".concat(f.name,".bulkPut(): ").concat(E," of ").concat(R," operations failed"),O)})})},Zt.prototype.bulkUpdate=function(i){var o=this,c=this.core,f=i.map(function(y){return y.key}),b=i.map(function(y){return y.changes}),h=[];return this._trans("readwrite",function(y){return c.getMany({trans:y,keys:f,cache:"clone"}).then(function(_){var R=[],V=[],M=(i.forEach(function(E,O){var I=E.key,D=E.changes,P=_[O];if(P){for(var U=0,J=Object.keys(D);U<J.length;U++){var q=J[U],Z=D[q];if(q===o.schema.primKey.keyPath){if(Ft(Z,I)!==0)throw new rt.Constraint("Cannot update primary key in bulkUpdate()")}else H(P,q,Z)}h.push(O),R.push(I),V.push(P)}}),R.length);return c.mutate({trans:y,type:"put",keys:R,values:V,updates:{keys:f,changeSpecs:b}}).then(function(E){var O=E.numFailures,I=E.failures;if(O===0)return M;for(var D=0,P=Object.keys(I);D<P.length;D++){var U,J=P[D],q=h[Number(J)];q!=null&&(U=I[J],delete I[J],I[q]=U)}throw new tt("".concat(o.name,".bulkUpdate(): ").concat(O," of ").concat(M," operations failed"),I)})})})},Zt.prototype.bulkDelete=function(i){var o=this,c=i.length;return this._trans("readwrite",function(f){return o.core.mutate({trans:f,type:"delete",keys:i}).then(function(b){return lr(o,i,b)})}).then(function(f){var b=f.numFailures,h=f.failures;if(b===0)return f.lastResult;throw new tt("".concat(o.name,".bulkDelete(): ").concat(b," of ").concat(c," operations failed"),h)})};var Vl=Zt;function Zt(){}function ci(i){function o(y,_){if(_){for(var R=arguments.length,V=new Array(R-1);--R;)V[R-1]=arguments[R];return c[y].subscribe.apply(null,V),i}if(typeof y=="string")return c[y]}var c={};o.addEventType=h;for(var f=1,b=arguments.length;f<b;++f)h(arguments[f]);return o;function h(y,_,R){var V,M;if(typeof y!="object")return _=_||k,M={subscribers:[],fire:R=R||w,subscribe:function(E){M.subscribers.indexOf(E)===-1&&(M.subscribers.push(E),M.fire=_(M.fire,E))},unsubscribe:function(E){M.subscribers=M.subscribers.filter(function(O){return O!==E}),M.fire=M.subscribers.reduce(_,R)}},c[y]=o[y]=M;l(V=y).forEach(function(E){var O=V[E];if(d(O))h(E,V[E][0],V[E][1]);else{if(O!=="asap")throw new rt.InvalidArgument("Invalid event config");var I=h(E,C,function(){for(var D=arguments.length,P=new Array(D);D--;)P[D]=arguments[D];I.subscribers.forEach(function(U){X(function(){U.apply(null,P)})})})}})}}function ui(i,o){return F(o).from({prototype:i}),o}function Vn(i,o){return!(i.filter||i.algorithm||i.or)&&(o?i.justLimit:!i.replayFilter)}function jo(i,o){i.filter=Tn(i.filter,o)}function Bo(i,o,c){var f=i.replayFilter;i.replayFilter=f?function(){return Tn(f(),o())}:o,i.justLimit=c&&!f}function cr(i,o){if(i.isPrimKey)return o.primaryKey;var c=o.getIndexByKeyPath(i.index);if(c)return c;throw new rt.Schema("KeyPath "+i.index+" on object store "+o.name+" is not indexed")}function Kl(i,o,c){var f=cr(i,o.schema);return o.openCursor({trans:c,values:!i.keysOnly,reverse:i.dir==="prev",unique:!!i.unique,query:{index:f,range:i.range}})}function ur(i,o,c,f){var b,h,y=i.replayFilter?Tn(i.filter,i.replayFilter()):i.filter;return i.or?(b={},h=function(_,R,V){var M,E;y&&!y(R,V,function(O){return R.stop(O)},function(O){return R.fail(O)})||((E=""+(M=R.primaryKey))=="[object ArrayBuffer]"&&(E=""+new Uint8Array(M)),g(b,E))||(b[E]=!0,o(_,R,V))},Promise.all([i.or._iterate(h,c),Ul(Kl(i,f,c),i.algorithm,h,!i.keysOnly&&i.valueMapper)])):Ul(Kl(i,f,c),Tn(i.algorithm,y),o,!i.keysOnly&&i.valueMapper)}function Ul(i,o,c,f){var b=ie(f?function(h,y,_){return c(f(h),y,_)}:c);return i.then(function(h){if(h)return h.start(function(){var y=function(){return h.continue()};o&&!o(h,function(_){return y=_},function(_){h.stop(_),y=w},function(_){h.fail(_),y=w})||b(h.value,h,function(_){return y=_}),y()})})}$t.prototype._read=function(i,o){var c=this._ctx;return c.error?c.table._trans(null,ye.bind(null,c.error)):c.table._trans("readonly",i).then(o)},$t.prototype._write=function(i){var o=this._ctx;return o.error?o.table._trans(null,ye.bind(null,o.error)):o.table._trans("readwrite",i,"locked")},$t.prototype._addAlgorithm=function(i){var o=this._ctx;o.algorithm=Tn(o.algorithm,i)},$t.prototype._iterate=function(i,o){return ur(this._ctx,i,o,this._ctx.table.core)},$t.prototype.clone=function(i){var o=Object.create(this.constructor.prototype),c=Object.create(this._ctx);return i&&u(c,i),o._ctx=c,o},$t.prototype.raw=function(){return this._ctx.valueMapper=null,this},$t.prototype.each=function(i){var o=this._ctx;return this._read(function(c){return ur(o,i,c,o.table.core)})},$t.prototype.count=function(i){var o=this;return this._read(function(c){var f,b=o._ctx,h=b.table.core;return Vn(b,!0)?h.count({trans:c,query:{index:cr(b,h.schema),range:b.range}}).then(function(y){return Math.min(y,b.limit)}):(f=0,ur(b,function(){return++f,!1},c,h).then(function(){return f}))}).then(i)},$t.prototype.sortBy=function(i,o){var c=i.split(".").reverse(),f=c[0],b=c.length-1;function h(R,V){return V?h(R[c[V]],V-1):R[f]}var y=this._ctx.dir==="next"?1:-1;function _(R,V){return Ft(h(R,b),h(V,b))*y}return this.toArray(function(R){return R.sort(_)}).then(o)},$t.prototype.toArray=function(i){var o=this;return this._read(function(c){var f,b,h,y=o._ctx;return y.dir==="next"&&Vn(y,!0)&&0<y.limit?(f=y.valueMapper,b=cr(y,y.table.core.schema),y.table.core.query({trans:c,limit:y.limit,values:!0,query:{index:b,range:y.range}}).then(function(_){return _=_.result,f?_.map(f):_})):(h=[],ur(y,function(_){return h.push(_)},c,y.table.core).then(function(){return h}))},i)},$t.prototype.offset=function(i){var o=this._ctx;return i<=0||(o.offset+=i,Vn(o)?Bo(o,function(){var c=i;return function(f,b){return c===0||(c===1?--c:b(function(){f.advance(c),c=0}),!1)}}):Bo(o,function(){var c=i;return function(){return--c<0}})),this},$t.prototype.limit=function(i){return this._ctx.limit=Math.min(this._ctx.limit,i),Bo(this._ctx,function(){var o=i;return function(c,f,b){return--o<=0&&f(b),0<=o}},!0),this},$t.prototype.until=function(i,o){return jo(this._ctx,function(c,f,b){return!i(c.value)||(f(b),o)}),this},$t.prototype.first=function(i){return this.limit(1).toArray(function(o){return o[0]}).then(i)},$t.prototype.last=function(i){return this.reverse().first(i)},$t.prototype.filter=function(i){var o;return jo(this._ctx,function(c){return i(c.value)}),(o=this._ctx).isMatch=Tn(o.isMatch,i),this},$t.prototype.and=function(i){return this.filter(i)},$t.prototype.or=function(i){return new this.db.WhereClause(this._ctx.table,i,this)},$t.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},$t.prototype.desc=function(){return this.reverse()},$t.prototype.eachKey=function(i){var o=this._ctx;return o.keysOnly=!o.isMatch,this.each(function(c,f){i(f.key,f)})},$t.prototype.eachUniqueKey=function(i){return this._ctx.unique="unique",this.eachKey(i)},$t.prototype.eachPrimaryKey=function(i){var o=this._ctx;return o.keysOnly=!o.isMatch,this.each(function(c,f){i(f.primaryKey,f)})},$t.prototype.keys=function(i){var o=this._ctx,c=(o.keysOnly=!o.isMatch,[]);return this.each(function(f,b){c.push(b.key)}).then(function(){return c}).then(i)},$t.prototype.primaryKeys=function(i){var o=this._ctx;if(o.dir==="next"&&Vn(o,!0)&&0<o.limit)return this._read(function(f){var b=cr(o,o.table.core.schema);return o.table.core.query({trans:f,values:!1,limit:o.limit,query:{index:b,range:o.range}})}).then(function(f){return f.result}).then(i);o.keysOnly=!o.isMatch;var c=[];return this.each(function(f,b){c.push(b.primaryKey)}).then(function(){return c}).then(i)},$t.prototype.uniqueKeys=function(i){return this._ctx.unique="unique",this.keys(i)},$t.prototype.firstKey=function(i){return this.limit(1).keys(function(o){return o[0]}).then(i)},$t.prototype.lastKey=function(i){return this.reverse().firstKey(i)},$t.prototype.distinct=function(){var i,o=this._ctx,o=o.index&&o.table.schema.idxByName[o.index];return o&&o.multi&&(i={},jo(this._ctx,function(f){var f=f.primaryKey.toString(),b=g(i,f);return i[f]=!0,!b})),this},$t.prototype.modify=function(i){var o=this,c=this._ctx;return this._write(function(f){function b(P,U){var J=U.failures;O+=P-U.numFailures;for(var q=0,Z=l(J);q<Z.length;q++){var at=Z[q];E.push(J[at])}}var h=typeof i=="function"?i:function(P){return $l(P,i)},y=c.table.core,M=y.schema.primaryKey,_=M.outbound,R=M.extractKey,V=200,M=o.db._options.modifyChunkSize,E=(M&&(V=typeof M=="object"?M[y.name]||M["*"]||200:M),[]),O=0,I=[],D=i===Hl;return o.clone().primaryKeys().then(function(P){function U(q){var Z=Math.min(V,P.length-q),at=P.slice(q,q+Z);return(D?Promise.resolve([]):y.getMany({trans:f,keys:at,cache:"immutable"})).then(function(dt){var ft=[],ct=[],wt=_?[]:null,yt=D?at:[];if(!D)for(var ut=0;ut<Z;++ut){var Tt=dt[ut],jt={value:Et(Tt),primKey:P[q+ut]};h.call(jt,jt.value,jt)!==!1&&(jt.value==null?yt.push(P[q+ut]):_||Ft(R(Tt),R(jt.value))===0?(ct.push(jt.value),_&&wt.push(P[q+ut])):(yt.push(P[q+ut]),ft.push(jt.value)))}return Promise.resolve(0<ft.length&&y.mutate({trans:f,type:"add",values:ft}).then(function(Vt){for(var At in Vt.failures)yt.splice(parseInt(At),1);b(ft.length,Vt)})).then(function(){return(0<ct.length||J&&typeof i=="object")&&y.mutate({trans:f,type:"put",keys:wt,values:ct,criteria:J,changeSpec:typeof i!="function"&&i,isAdditionalChunk:0<q}).then(function(Vt){return b(ct.length,Vt)})}).then(function(){return(0<yt.length||J&&D)&&y.mutate({trans:f,type:"delete",keys:yt,criteria:J,isAdditionalChunk:0<q}).then(function(Vt){return lr(c.table,yt,Vt)}).then(function(Vt){return b(yt.length,Vt)})}).then(function(){return P.length>q+Z&&U(q+V)})})}var J=Vn(c)&&c.limit===1/0&&(typeof i!="function"||D)&&{index:c.index,range:c.range};return U(0).then(function(){if(0<E.length)throw new ge("Error modifying one or more objects",E,O,I);return P.length})})})},$t.prototype.delete=function(){var i=this._ctx,o=i.range;return!Vn(i)||i.table.schema.yProps||!i.isPrimKey&&o.type!==3?this.modify(Hl):this._write(function(c){var f=i.table.core.schema.primaryKey,b=o;return i.table.core.count({trans:c,query:{index:f,range:b}}).then(function(h){return i.table.core.mutate({trans:c,type:"deleteRange",range:b}).then(function(R){var _=R.failures,R=R.numFailures;if(R)throw new ge("Could not delete some values",Object.keys(_).map(function(V){return _[V]}),h-R);return h-R})})})};var Sb=$t;function $t(){}var Hl=function(i,o){return o.value=null};function xb(i,o){return i<o?-1:i===o?0:1}function Ab(i,o){return o<i?-1:i===o?0:1}function Ye(i,o,c){return i=i instanceof Wl?new i.Collection(i):i,i._ctx.error=new(c||TypeError)(o),i}function Kn(i){return new i.Collection(i,function(){return Gl("")}).limit(0)}function dr(I,o,c,f){var b,h,y,_,R,V,M,E=c.length;if(!c.every(function(P){return typeof P=="string"}))return Ye(I,Nl);function O(P){b=P==="next"?function(J){return J.toUpperCase()}:function(J){return J.toLowerCase()},h=P==="next"?function(J){return J.toLowerCase()}:function(J){return J.toUpperCase()},y=P==="next"?xb:Ab;var U=c.map(function(J){return{lower:h(J),upper:b(J)}}).sort(function(J,q){return y(J.lower,q.lower)});_=U.map(function(J){return J.upper}),R=U.map(function(J){return J.lower}),M=(V=P)==="next"?"":f}O("next");var I=new I.Collection(I,function(){return nn(_[0],R[E-1]+f)}),D=(I._ondirectionchange=function(P){O(P)},0);return I._addAlgorithm(function(P,U,J){var q=P.key;if(typeof q=="string"){var Z=h(q);if(o(Z,R,D))return!0;for(var at=null,dt=D;dt<E;++dt){var ft=((ct,wt,yt,ut,Tt,jt)=>{for(var Vt=Math.min(ct.length,ut.length),At=-1,Nt=0;Nt<Vt;++Nt){var ce=wt[Nt];if(ce!==ut[Nt])return Tt(ct[Nt],yt[Nt])<0?ct.substr(0,Nt)+yt[Nt]+yt.substr(Nt+1):Tt(ct[Nt],ut[Nt])<0?ct.substr(0,Nt)+ut[Nt]+yt.substr(Nt+1):0<=At?ct.substr(0,At)+wt[At]+yt.substr(At+1):null;Tt(ct[Nt],ce)<0&&(At=Nt)}return Vt<ut.length&&jt==="next"?ct+yt.substr(ct.length):Vt<ct.length&&jt==="prev"?ct.substr(0,yt.length):At<0?null:ct.substr(0,At)+ut[At]+yt.substr(At+1)})(q,Z,_[dt],R[dt],y,V);ft===null&&at===null?D=dt+1:(at===null||0<y(at,ft))&&(at=ft)}U(at!==null?function(){P.continue(at+M)}:J)}return!1}),I}function nn(i,o,c,f){return{type:2,lower:i,upper:o,lowerOpen:c,upperOpen:f}}function Gl(i){return{type:1,lower:i,upper:i}}Object.defineProperty(Me.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),Me.prototype.between=function(i,o,c,f){c=c!==!1,f=f===!0;try{return 0<this._cmp(i,o)||this._cmp(i,o)===0&&(c||f)&&(!c||!f)?Kn(this):new this.Collection(this,function(){return nn(i,o,!c,!f)})}catch{return Ye(this,Ds)}},Me.prototype.equals=function(i){return i==null?Ye(this,Ds):new this.Collection(this,function(){return Gl(i)})},Me.prototype.above=function(i){return i==null?Ye(this,Ds):new this.Collection(this,function(){return nn(i,void 0,!0)})},Me.prototype.aboveOrEqual=function(i){return i==null?Ye(this,Ds):new this.Collection(this,function(){return nn(i,void 0,!1)})},Me.prototype.below=function(i){return i==null?Ye(this,Ds):new this.Collection(this,function(){return nn(void 0,i,!1,!0)})},Me.prototype.belowOrEqual=function(i){return i==null?Ye(this,Ds):new this.Collection(this,function(){return nn(void 0,i)})},Me.prototype.startsWith=function(i){return typeof i!="string"?Ye(this,Nl):this.between(i,i+wn,!0,!0)},Me.prototype.startsWithIgnoreCase=function(i){return i===""?this.startsWith(i):dr(this,function(o,c){return o.indexOf(c[0])===0},[i],wn)},Me.prototype.equalsIgnoreCase=function(i){return dr(this,function(o,c){return o===c[0]},[i],"")},Me.prototype.anyOfIgnoreCase=function(){var i=le.apply(Xt,arguments);return i.length===0?Kn(this):dr(this,function(o,c){return c.indexOf(o)!==-1},i,"")},Me.prototype.startsWithAnyOfIgnoreCase=function(){var i=le.apply(Xt,arguments);return i.length===0?Kn(this):dr(this,function(o,c){return c.some(function(f){return o.indexOf(f)===0})},i,wn)},Me.prototype.anyOf=function(){var i,o,c=this,f=le.apply(Xt,arguments),b=this._cmp;try{f.sort(b)}catch{return Ye(this,Ds)}return f.length===0?Kn(this):((i=new this.Collection(this,function(){return nn(f[0],f[f.length-1])}))._ondirectionchange=function(h){b=h==="next"?c._ascending:c._descending,f.sort(b)},o=0,i._addAlgorithm(function(h,y,_){for(var R=h.key;0<b(R,f[o]);)if(++o===f.length)return y(_),!1;return b(R,f[o])===0||(y(function(){h.continue(f[o])}),!1)}),i)},Me.prototype.notEqual=function(i){return this.inAnyRange([[-1/0,i],[i,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Me.prototype.noneOf=function(){var i=le.apply(Xt,arguments);if(i.length===0)return new this.Collection(this);try{i.sort(this._ascending)}catch{return Ye(this,Ds)}var o=i.reduce(function(c,f){return c?c.concat([[c[c.length-1][1],f]]):[[-1/0,f]]},null);return o.push([i[i.length-1],this.db._maxKey]),this.inAnyRange(o,{includeLowers:!1,includeUppers:!1})},Me.prototype.inAnyRange=function(i,J){var c=this,f=this._cmp,b=this._ascending,h=this._descending,y=this._min,_=this._max;if(i.length===0)return Kn(this);if(!i.every(function(q){return q[0]!==void 0&&q[1]!==void 0&&b(q[0],q[1])<=0}))return Ye(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",rt.InvalidArgument);var R=!J||J.includeLowers!==!1,V=J&&J.includeUppers===!0,M,E=b;function O(q,Z){return E(q[0],Z[0])}try{(M=i.reduce(function(q,Z){for(var at=0,dt=q.length;at<dt;++at){var ft=q[at];if(f(Z[0],ft[1])<0&&0<f(Z[1],ft[0])){ft[0]=y(ft[0],Z[0]),ft[1]=_(ft[1],Z[1]);break}}return at===dt&&q.push(Z),q},[])).sort(O)}catch{return Ye(this,Ds)}var I=0,D=V?function(q){return 0<b(q,M[I][1])}:function(q){return 0<=b(q,M[I][1])},P=R?function(q){return 0<h(q,M[I][0])}:function(q){return 0<=h(q,M[I][0])},U=D,J=new this.Collection(this,function(){return nn(M[0][0],M[M.length-1][1],!R,!V)});return J._ondirectionchange=function(q){E=q==="next"?(U=D,b):(U=P,h),M.sort(O)},J._addAlgorithm(function(q,Z,at){for(var dt,ft=q.key;U(ft);)if(++I===M.length)return Z(at),!1;return!D(dt=ft)&&!P(dt)||(c._cmp(ft,M[I][1])===0||c._cmp(ft,M[I][0])===0||Z(function(){E===b?q.continue(M[I][0]):q.continue(M[I][1])}),!1)}),J},Me.prototype.startsWithAnyOf=function(){var i=le.apply(Xt,arguments);return i.every(function(o){return typeof o=="string"})?i.length===0?Kn(this):this.inAnyRange(i.map(function(o){return[o,o+wn]})):Ye(this,"startsWithAnyOf() only works with strings")};var Wl=Me;function Me(){}function ws(i){return ie(function(o){return di(o),i(o.target.error),!1})}function di(i){i.stopPropagation&&i.stopPropagation(),i.preventDefault&&i.preventDefault()}var fi="storagemutated",qo="x-storagemutated-1",rn=ci(null,fi),Cb=(Ts.prototype._lock=function(){return N(!_t.global),++this._reculock,this._reculock!==1||_t.global||(_t.lockOwnerFor=this),this},Ts.prototype._unlock=function(){if(N(!_t.global),--this._reculock==0)for(_t.global||(_t.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var i=this._blockedFuncs.shift();try{_n(i[1],i[0])}catch{}}return this},Ts.prototype._locked=function(){return this._reculock&&_t.lockOwnerFor!==this},Ts.prototype.create=function(i){var o=this;if(this.mode){var c=this.db.idbdb,f=this.db._state.dbOpenError;if(N(!this.idbtrans),!i&&!c)switch(f&&f.name){case"DatabaseClosedError":throw new rt.DatabaseClosed(f);case"MissingAPIError":throw new rt.MissingAPI(f.message,f);default:throw new rt.OpenFailed(f)}if(!this.active)throw new rt.TransactionInactive;N(this._completion._state===null),(i=this.idbtrans=i||(this.db.core||c).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=ie(function(b){di(b),o._reject(i.error)}),i.onabort=ie(function(b){di(b),o.active&&o._reject(new rt.Abort(i.error)),o.active=!1,o.on("abort").fire(b)}),i.oncomplete=ie(function(){o.active=!1,o._resolve(),"mutatedParts"in i&&rn.storagemutated.fire(i.mutatedParts)})}return this},Ts.prototype._promise=function(i,o,c){var f,b=this;return i==="readwrite"&&this.mode!=="readwrite"?ye(new rt.ReadOnly("Transaction is readonly")):this.active?this._locked()?new ht(function(h,y){b._blockedFuncs.push([function(){b._promise(i,o,c).then(h,y)},_t])}):c?tn(function(){var h=new ht(function(y,_){b._lock();var R=o(y,_,b);R&&R.then&&R.then(y,_)});return h.finally(function(){return b._unlock()}),h._lib=!0,h}):((f=new ht(function(h,y){var _=o(h,y,b);_&&_.then&&_.then(h,y)}))._lib=!0,f):ye(new rt.TransactionInactive)},Ts.prototype._root=function(){return this.parent?this.parent._root():this},Ts.prototype.waitFor=function(i){var o,c=this._root(),f=ht.resolve(i),b=(c._waitingFor?c._waitingFor=c._waitingFor.then(function(){return f}):(c._waitingFor=f,c._waitingQueue=[],o=c.idbtrans.objectStore(c.storeNames[0]),(function h(){for(++c._spinCount;c._waitingQueue.length;)c._waitingQueue.shift()();c._waitingFor&&(o.get(-1/0).onsuccess=h)})()),c._waitingFor);return new ht(function(h,y){f.then(function(_){return c._waitingQueue.push(ie(h.bind(null,_)))},function(_){return c._waitingQueue.push(ie(y.bind(null,_)))}).finally(function(){c._waitingFor===b&&(c._waitingFor=null)})})},Ts.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new rt.Abort))},Ts.prototype.table=function(i){var o=this._memoizedTables||(this._memoizedTables={});if(g(o,i))return o[i];var c=this.schema[i];if(c)return(c=new this.db.Table(i,c,this)).core=this.db.core.table(i),o[i]=c;throw new rt.NotFound("Table "+i+" not part of transaction")},Ts);function Ts(){}function $o(i,o,c,f,b,h,y,_){return{name:i,keyPath:o,unique:c,multi:f,auto:b,compound:h,src:(c&&!y?"&":"")+(f?"*":"")+(b?"++":"")+zl(o),type:_}}function zl(i){return typeof i=="string"?i:i?"["+[].join.call(i,"+")+"]":""}function Vo(i,o,c){return{name:i,primKey:o,indexes:c,mappedClass:null,idxByName:(f=function(b){return[b.name,b]},c.reduce(function(b,h,y){return h=f(h,y),h&&(b[h[0]]=h[1]),b},{}))};var f}var bi=function(i){try{return i.only([[]]),bi=function(){return[[]]},[[]]}catch{return bi=function(){return wn},wn}};function Ko(i){return i==null?function(){}:typeof i=="string"?(o=i).split(".").length===1?function(c){return c[o]}:function(c){return z(c,o)}:function(c){return z(c,i)};var o}function Jl(i){return[].slice.call(i)}var Eb=0;function mi(i){return i==null?":id":typeof i=="string"?i:"[".concat(i.join("+"),"]")}function Pb(i,o,R){function f(D){if(D.type===3)return null;if(D.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var E=D.lower,O=D.upper,I=D.lowerOpen,D=D.upperOpen;return E===void 0?O===void 0?null:o.upperBound(O,!!D):O===void 0?o.lowerBound(E,!!I):o.bound(E,O,!!I,!!D)}function b(M){var E,O=M.name;return{name:O,schema:M,mutate:function(I){var D=I.trans,P=I.type,U=I.keys,J=I.values,q=I.range;return new Promise(function(Z,at){Z=ie(Z);var dt=D.objectStore(O),ft=dt.keyPath==null,ct=P==="put"||P==="add";if(!ct&&P!=="delete"&&P!=="deleteRange")throw new Error("Invalid operation type: "+P);var wt,yt=(U||J||{length:1}).length;if(U&&J&&U.length!==J.length)throw new Error("Given keys array must have same length as given values array.");if(yt===0)return Z({numFailures:0,failures:{},results:[],lastResult:void 0});function ut(me){++Vt,di(me)}var Tt=[],jt=[],Vt=0;if(P==="deleteRange"){if(q.type===4)return Z({numFailures:Vt,failures:jt,results:[],lastResult:void 0});q.type===3?Tt.push(wt=dt.clear()):Tt.push(wt=dt.delete(f(q)))}else{var ft=ct?ft?[J,U]:[J,null]:[U,null],At=ft[0],Nt=ft[1];if(ct)for(var ce=0;ce<yt;++ce)Tt.push(wt=Nt&&Nt[ce]!==void 0?dt[P](At[ce],Nt[ce]):dt[P](At[ce])),wt.onerror=ut;else for(ce=0;ce<yt;++ce)Tt.push(wt=dt[P](At[ce])),wt.onerror=ut}function ns(me){me=me.target.result,Tt.forEach(function(xn,aa){return xn.error!=null&&(jt[aa]=xn.error)}),Z({numFailures:Vt,failures:jt,results:P==="delete"?U:Tt.map(function(xn){return xn.result}),lastResult:me})}wt.onerror=function(me){ut(me),ns(me)},wt.onsuccess=ns})},getMany:function(I){var D=I.trans,P=I.keys;return new Promise(function(U,J){U=ie(U);for(var q,Z=D.objectStore(O),at=P.length,dt=new Array(at),ft=0,ct=0,wt=function(Tt){Tt=Tt.target,dt[Tt._pos]=Tt.result,++ct===ft&&U(dt)},yt=ws(J),ut=0;ut<at;++ut)P[ut]!=null&&((q=Z.get(P[ut]))._pos=ut,q.onsuccess=wt,q.onerror=yt,++ft);ft===0&&U(dt)})},get:function(I){var D=I.trans,P=I.key;return new Promise(function(U,J){U=ie(U);var q=D.objectStore(O).get(P);q.onsuccess=function(Z){return U(Z.target.result)},q.onerror=ws(J)})},query:(E=_,function(I){return new Promise(function(D,P){D=ie(D);var U,J,q,ct=I.trans,Z=I.values,at=I.limit,ft=I.query,dt=at===1/0?void 0:at,wt=ft.index,ft=ft.range,ct=ct.objectStore(O),ct=wt.isPrimaryKey?ct:ct.index(wt.name),wt=f(ft);if(at===0)return D({result:[]});E?((ft=Z?ct.getAll(wt,dt):ct.getAllKeys(wt,dt)).onsuccess=function(yt){return D({result:yt.target.result})},ft.onerror=ws(P)):(U=0,J=!Z&&"openKeyCursor"in ct?ct.openKeyCursor(wt):ct.openCursor(wt),q=[],J.onsuccess=function(yt){var ut=J.result;return!ut||(q.push(Z?ut.value:ut.primaryKey),++U===at)?D({result:q}):void ut.continue()},J.onerror=ws(P))})}),openCursor:function(I){var D=I.trans,P=I.values,U=I.query,J=I.reverse,q=I.unique;return new Promise(function(Z,at){Z=ie(Z);var ct=U.index,dt=U.range,ft=D.objectStore(O),ft=ct.isPrimaryKey?ft:ft.index(ct.name),ct=J?q?"prevunique":"prev":q?"nextunique":"next",wt=!P&&"openKeyCursor"in ft?ft.openKeyCursor(f(dt),ct):ft.openCursor(f(dt),ct);wt.onerror=ws(at),wt.onsuccess=ie(function(yt){var ut,Tt,jt,Vt,At=wt.result;At?(At.___id=++Eb,At.done=!1,ut=At.continue.bind(At),Tt=(Tt=At.continuePrimaryKey)&&Tt.bind(At),jt=At.advance.bind(At),Vt=function(){throw new Error("Cursor not stopped")},At.trans=D,At.stop=At.continue=At.continuePrimaryKey=At.advance=function(){throw new Error("Cursor not started")},At.fail=ie(at),At.next=function(){var Nt=this,ce=1;return this.start(function(){return ce--?Nt.continue():Nt.stop()}).then(function(){return Nt})},At.start=function(Nt){function ce(){if(wt.result)try{Nt()}catch(me){At.fail(me)}else At.done=!0,At.start=function(){throw new Error("Cursor behind last entry")},At.stop()}var ns=new Promise(function(me,xn){me=ie(me),wt.onerror=ws(xn),At.fail=xn,At.stop=function(aa){At.stop=At.continue=At.continuePrimaryKey=At.advance=Vt,me(aa)}});return wt.onsuccess=ie(function(me){wt.onsuccess=ce,ce()}),At.continue=ut,At.continuePrimaryKey=Tt,At.advance=jt,ce(),ns},Z(At)):Z(null)},at)})},count:function(I){var D=I.query,P=I.trans,U=D.index,J=D.range;return new Promise(function(q,Z){var at=P.objectStore(O),at=U.isPrimaryKey?at:at.index(U.name),dt=f(J),dt=dt?at.count(dt):at.count();dt.onsuccess=ie(function(ft){return q(ft.target.result)}),dt.onerror=ws(Z)})}}}h=R,y=Jl((R=i).objectStoreNames);var h,R={schema:{name:R.name,tables:y.map(function(M){return h.objectStore(M)}).map(function(M){var E=M.keyPath,O=M.autoIncrement,D=d(E),I={},D={name:M.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:E==null,compound:D,keyPath:E,autoIncrement:O,unique:!0,extractKey:Ko(E)},indexes:Jl(M.indexNames).map(function(P){return M.index(P)}).map(function(q){var Z=q.name,U=q.unique,J=q.multiEntry,q=q.keyPath,Z={name:Z,compound:d(q),keyPath:q,unique:U,multiEntry:J,extractKey:Ko(q)};return I[mi(q)]=Z}),getIndexByKeyPath:function(P){return I[mi(P)]}};return I[":id"]=D.primaryKey,E!=null&&(I[mi(E)]=D.primaryKey),D})},hasGetAll:0<y.length&&"getAll"in h.objectStore(y[0])&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)},y=R.schema,_=R.hasGetAll,R=y.tables.map(b),V={};return R.forEach(function(M){return V[M.name]=M}),{stack:"dbcore",transaction:i.transaction.bind(i),table:function(M){if(V[M])return V[M];throw new Error("Table '".concat(M,"' not found"))},MIN_KEY:-1/0,MAX_KEY:bi(o),schema:y}}function Rb(i,o,c,f){return c=c.IDBKeyRange,o=Pb(o,c,f),{dbcore:i.dbcore.reduce(function(b,h){return h=h.create,n(n({},b),h(b))},o)}}function fr(i,o){var c=o.db,c=Rb(i._middlewares,c,i._deps,o);i.core=c.dbcore,i.tables.forEach(function(f){var b=f.name;i.core.schema.tables.some(function(h){return h.name===b})&&(f.core=i.core.table(b),i[b]instanceof i.Table)&&(i[b].core=f.core)})}function br(i,o,c,f){c.forEach(function(b){var h=f[b];o.forEach(function(y){var _=(function R(V,M){return W(V,M)||(V=m(V))&&R(V,M)})(y,b);(!_||"value"in _&&_.value===void 0)&&(y===i.Transaction.prototype||y instanceof i.Transaction?$(y,b,{get:function(){return this.table(b)},set:function(R){S(this,b,{value:R,writable:!0,configurable:!0,enumerable:!0})}}):y[b]=new i.Table(b,h))})})}function Uo(i,o){o.forEach(function(c){for(var f in c)c[f]instanceof i.Table&&delete c[f]})}function Mb(i,o){return i._cfg.version-o._cfg.version}function Db(i,o,c,f){var b=i._dbSchema,h=(c.objectStoreNames.contains("$meta")&&!b.$meta&&(b.$meta=Vo("$meta",Yl("")[0],[]),i._storeNames.push("$meta")),i._createTransaction("readwrite",i._storeNames,b)),y=(h.create(c),h._completion.catch(f),h._reject.bind(h)),_=_t.transless||_t;tn(function(){if(_t.trans=h,_t.transless=_,o!==0)return fr(i,c),V=o,((R=h).storeNames.includes("$meta")?R.table("$meta").get("version").then(function(M){return M??V}):ht.resolve(V)).then(function(U){var E=i,O=U,I=h,D=c,P=[],U=E._versions,J=E._dbSchema=pr(0,E.idbdb,D);return(U=U.filter(function(q){return q._cfg.version>=O})).length===0?ht.resolve():(U.forEach(function(q){P.push(function(){var Z,at,dt,ft=J,ct=q._cfg.dbschema,wt=(hr(E,ft,D),hr(E,ct,D),J=E._dbSchema=ct,Ho(ft,ct)),yt=(wt.add.forEach(function(ut){Go(D,ut[0],ut[1].primKey,ut[1].indexes)}),wt.change.forEach(function(ut){if(ut.recreate)throw new rt.Upgrade("Not yet support for changing primary key");var Tt=D.objectStore(ut.name);ut.add.forEach(function(jt){return mr(Tt,jt)}),ut.change.forEach(function(jt){Tt.deleteIndex(jt.name),mr(Tt,jt)}),ut.del.forEach(function(jt){return Tt.deleteIndex(jt)})}),q._cfg.contentUpgrade);if(yt&&q._cfg.version>O)return fr(E,D),I._memoizedTables={},Z=ot(ct),wt.del.forEach(function(ut){Z[ut]=ft[ut]}),Uo(E,[E.Transaction.prototype]),br(E,[E.Transaction.prototype],l(Z),Z),I.schema=Z,(at=xe(yt))&&qn(),ct=ht.follow(function(){var ut;(dt=yt(I))&&at&&(ut=en.bind(null,null),dt.then(ut,ut))}),dt&&typeof dt.then=="function"?ht.resolve(dt):ct.then(function(){return dt})}),P.push(function(Z){var at,dt,ft=q._cfg.dbschema;at=ft,dt=Z,[].slice.call(dt.db.objectStoreNames).forEach(function(ct){return at[ct]==null&&dt.db.deleteObjectStore(ct)}),Uo(E,[E.Transaction.prototype]),br(E,[E.Transaction.prototype],E._storeNames,E._dbSchema),I.schema=E._dbSchema}),P.push(function(Z){E.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(E.idbdb.version/10)===q._cfg.version?(E.idbdb.deleteObjectStore("$meta"),delete E._dbSchema.$meta,E._storeNames=E._storeNames.filter(function(at){return at!=="$meta"})):Z.objectStore("$meta").put(q._cfg.version,"version"))})}),(function q(){return P.length?ht.resolve(P.shift()(I.idbtrans)).then(q):ht.resolve()})().then(function(){Ql(J,D)}))}).catch(y);var R,V;l(b).forEach(function(M){Go(c,M,b[M].primKey,b[M].indexes)}),fr(i,c),ht.follow(function(){return i.on.populate.fire(h)}).catch(y)})}function Ob(i,o){Ql(i._dbSchema,o),o.db.version%10!=0||o.objectStoreNames.contains("$meta")||o.db.createObjectStore("$meta").add(Math.ceil(o.db.version/10-1),"version");var c=pr(0,i.idbdb,o);hr(i,i._dbSchema,o);for(var f=0,b=Ho(c,i._dbSchema).change;f<b.length;f++){var h=(y=>{if(y.change.length||y.recreate)return console.warn("Unable to patch indexes of table ".concat(y.name," because it has changes on the type of index or primary key.")),{value:void 0};var _=o.objectStore(y.name);y.add.forEach(function(R){K&&console.debug("Dexie upgrade patch: Creating missing index ".concat(y.name,".").concat(R.src)),mr(_,R)})})(b[f]);if(typeof h=="object")return h.value}}function Ho(i,o){var c,f={del:[],add:[],change:[]};for(c in i)o[c]||f.del.push(c);for(c in o){var b=i[c],h=o[c];if(b){var y={name:c,def:h,recreate:!1,del:[],add:[],change:[]};if(""+(b.primKey.keyPath||"")!=""+(h.primKey.keyPath||"")||b.primKey.auto!==h.primKey.auto)y.recreate=!0,f.change.push(y);else{var _=b.idxByName,R=h.idxByName,V=void 0;for(V in _)R[V]||y.del.push(V);for(V in R){var M=_[V],E=R[V];M?M.src!==E.src&&y.change.push(E):y.add.push(E)}(0<y.del.length||0<y.add.length||0<y.change.length)&&f.change.push(y)}}else f.add.push([c,h])}return f}function Go(i,o,c,f){var b=i.db.createObjectStore(o,c.keyPath?{keyPath:c.keyPath,autoIncrement:c.auto}:{autoIncrement:c.auto});f.forEach(function(h){return mr(b,h)})}function Ql(i,o){l(i).forEach(function(c){o.db.objectStoreNames.contains(c)||(K&&console.debug("Dexie: Creating missing table",c),Go(o,c,i[c].primKey,i[c].indexes))})}function mr(i,o){i.createIndex(o.name,o.keyPath,{unique:o.unique,multiEntry:o.multi})}function pr(i,o,c){var f={};return A(o.objectStoreNames,0).forEach(function(b){for(var h=c.objectStore(b),y=$o(zl(V=h.keyPath),V||"",!0,!1,!!h.autoIncrement,V&&typeof V!="string",!0),_=[],R=0;R<h.indexNames.length;++R){var M=h.index(h.indexNames[R]),V=M.keyPath,M=$o(M.name,V,!!M.unique,!!M.multiEntry,!1,V&&typeof V!="string",!1);_.push(M)}f[b]=Vo(b,y,_)}),f}function hr(i,o,c){for(var f=c.db.objectStoreNames,b=0;b<f.length;++b){var h=f[b],y=c.objectStore(h);i._hasGetAll="getAll"in y;for(var _=0;_<y.indexNames.length;++_){var R,V=y.indexNames[_],M=y.index(V).keyPath,M=typeof M=="string"?M:"["+A(M).join("+")+"]";o[h]&&(R=o[h].idxByName[M])&&(R.name=V,delete o[h].idxByName[M],o[h].idxByName[V]=R)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&a.WorkerGlobalScope&&a instanceof a.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(i._hasGetAll=!1)}function Yl(i){return i.split(",").map(function(o,c){var b=o.split(":"),f=(f=b[1])==null?void 0:f.trim(),b=(o=b[0].trim()).replace(/([&*]|\+\+)/g,""),h=/^\[/.test(b)?b.match(/^\[(.*)\]$/)[1].split("+"):b;return $o(b,h||null,/\&/.test(o),/\*/.test(o),/\+\+/.test(o),d(h),c===0,f)})}Un.prototype._createTableSchema=Vo,Un.prototype._parseIndexSyntax=Yl,Un.prototype._parseStoresSpec=function(i,o){var c=this;l(i).forEach(function(f){if(i[f]!==null){var b=c._parseIndexSyntax(i[f]),h=b.shift();if(!h)throw new rt.Schema("Invalid schema for table "+f+": "+i[f]);if(h.unique=!0,h.multi)throw new rt.Schema("Primary key cannot be multiEntry*");b.forEach(function(y){if(y.auto)throw new rt.Schema("Only primary key can be marked as autoIncrement (++)");if(!y.keyPath)throw new rt.Schema("Index must have a name and cannot be an empty string")}),h=c._createTableSchema(f,h,b),o[f]=h}})},Un.prototype.stores=function(c){var o=this.db,c=(this._cfg.storesSource=this._cfg.storesSource?u(this._cfg.storesSource,c):c,o._versions),f={},b={};return c.forEach(function(h){u(f,h._cfg.storesSource),b=h._cfg.dbschema={},h._parseStoresSpec(f,b)}),o._dbSchema=b,Uo(o,[o._allTables,o,o.Transaction.prototype]),br(o,[o._allTables,o,o.Transaction.prototype,this._cfg.tables],l(b),b),o._storeNames=l(b),this},Un.prototype.upgrade=function(i){return this._cfg.contentUpgrade=L(this._cfg.contentUpgrade||w,i),this};var Ib=Un;function Un(){}function Wo(i,o){var c=i._dbNamesDB;return c||(c=i._dbNamesDB=new Os(or,{addons:[],indexedDB:i,IDBKeyRange:o})).version(1).stores({dbnames:"name"}),c.table("dbnames")}function zo(i){return i&&typeof i.databases=="function"}function Jo(i){return tn(function(){return _t.letThrough=!0,i()})}function Qo(i){return!("from"in i)}var je=function(i,o){var c;if(!this)return c=new je,i&&"d"in i&&u(c,i),c;u(this,arguments.length?{d:1,from:i,to:1<arguments.length?o:i}:{d:0})};function pi(i,o,c){var f=Ft(o,c);if(!isNaN(f)){if(0<f)throw RangeError();if(Qo(i))return u(i,{from:o,to:c,d:1});var f=i.l,b=i.r;if(Ft(c,i.from)<0)return f?pi(f,o,c):i.l={from:o,to:c,d:1,l:null,r:null},Zl(i);if(0<Ft(o,i.to))return b?pi(b,o,c):i.r={from:o,to:c,d:1,l:null,r:null},Zl(i);Ft(o,i.from)<0&&(i.from=o,i.l=null,i.d=b?b.d+1:1),0<Ft(c,i.to)&&(i.to=c,i.r=null,i.d=i.l?i.l.d+1:1),o=!i.r,f&&!i.l&&hi(i,f),b&&o&&hi(i,b)}}function hi(i,o){Qo(o)||(function c(f,b){var h=b.from,y=b.l,_=b.r;pi(f,h,b.to),y&&c(f,y),_&&c(f,_)})(i,o)}function Xl(i,o){var c=gr(o),f=c.next();if(!f.done)for(var b=f.value,h=gr(i),y=h.next(b.from),_=y.value;!f.done&&!y.done;){if(Ft(_.from,b.to)<=0&&0<=Ft(_.to,b.from))return!0;Ft(b.from,_.from)<0?b=(f=c.next(_.from)).value:_=(y=h.next(b.from)).value}return!1}function gr(i){var o=Qo(i)?null:{s:0,n:i};return{next:function(c){for(var f=0<arguments.length;o;)switch(o.s){case 0:if(o.s=1,f)for(;o.n.l&&Ft(c,o.n.from)<0;)o={up:o,n:o.n.l,s:1};else for(;o.n.l;)o={up:o,n:o.n.l,s:1};case 1:if(o.s=2,!f||Ft(c,o.n.to)<=0)return{value:o.n,done:!1};case 2:if(o.n.r){o.s=3,o={up:o,n:o.n.r,s:0};continue}case 3:o=o.up}return{done:!0}}}}function Zl(i){var o,c,f,b=(((b=i.r)==null?void 0:b.d)||0)-(((b=i.l)==null?void 0:b.d)||0),b=1<b?"r":b<-1?"l":"";b&&(o=b=="r"?"l":"r",c=n({},i),f=i[b],i.from=f.from,i.to=f.to,i[b]=f[b],c[b]=f[o],(i[o]=c).d=tc(c)),i.d=tc(i)}function tc(c){var o=c.r,c=c.l;return(o?c?Math.max(o.d,c.d):o.d:c?c.d:0)+1}function yr(i,o){return l(o).forEach(function(c){i[c]?hi(i[c],o[c]):i[c]=(function f(b){var h,y,_={};for(h in b)g(b,h)&&(y=b[h],_[h]=!y||typeof y!="object"||xt.has(y.constructor)?y:f(y));return _})(o[c])}),i}function Yo(i,o){return i.all||o.all||Object.keys(i).some(function(c){return o[c]&&Xl(o[c],i[c])})}v(je.prototype,((mt={add:function(i){return hi(this,i),this},addKey:function(i){return pi(this,i,i),this},addKeys:function(i){var o=this;return i.forEach(function(c){return pi(o,c,c)}),this},hasKey:function(i){var o=gr(this).next(i).value;return o&&Ft(o.from,i)<=0&&0<=Ft(o.to,i)}})[Lt]=function(){return gr(this)},mt));var kn={},Xo={},Zo=!1;function vr(i){yr(Xo,i),Zo||(Zo=!0,setTimeout(function(){Zo=!1,ta(Xo,!(Xo={}))},0))}function ta(i,o){o===void 0&&(o=!1);var c=new Set;if(i.all)for(var f=0,b=Object.values(kn);f<b.length;f++)ec(_=b[f],i,c,o);else for(var h in i){var y,_,h=/^idb\:\/\/(.*)\/(.*)\//.exec(h);h&&(y=h[1],h=h[2],_=kn["idb://".concat(y,"/").concat(h)])&&ec(_,i,c,o)}c.forEach(function(R){return R()})}function ec(i,o,c,f){for(var b=[],h=0,y=Object.entries(i.queries.query);h<y.length;h++){for(var _=y[h],R=_[0],V=[],M=0,E=_[1];M<E.length;M++){var O=E[M];Yo(o,O.obsSet)?O.subscribers.forEach(function(U){return c.add(U)}):f&&V.push(O)}f&&b.push([R,V])}if(f)for(var I=0,D=b;I<D.length;I++){var P=D[I],R=P[0],V=P[1];i.queries.query[R]=V}}function Nb(i){var o=i._state,c=i._deps.indexedDB;if(o.isBeingOpened||i.idbdb)return o.dbReadyPromise.then(function(){return o.dbOpenError?ye(o.dbOpenError):i});o.isBeingOpened=!0,o.dbOpenError=null,o.openComplete=!1;var f=o.openCanceller,b=Math.round(10*i.verno),h=!1;function y(){if(o.openCanceller!==f)throw new rt.DatabaseClosed("db.open() was cancelled")}function _(){return new ht(function(O,I){if(y(),!c)throw new rt.MissingAPI;var D=i.name,P=o.autoSchema||!b?c.open(D):c.open(D,b);if(!P)throw new rt.MissingAPI;P.onerror=ws(I),P.onblocked=ie(i._fireOnBlocked),P.onupgradeneeded=ie(function(U){var J;M=P.transaction,o.autoSchema&&!i._options.allowEmptyDB?(P.onerror=di,M.abort(),P.result.close(),(J=c.deleteDatabase(D)).onsuccess=J.onerror=ie(function(){I(new rt.NoSuchDatabase("Database ".concat(D," doesnt exist")))})):(M.onerror=ws(I),J=U.oldVersion>Math.pow(2,62)?0:U.oldVersion,E=J<1,i.idbdb=P.result,h&&Ob(i,M),Db(i,J/10,M,I))},I),P.onsuccess=ie(function(){M=null;var U,J,q,Z,at,dt,ft=i.idbdb=P.result,ct=A(ft.objectStoreNames);if(0<ct.length)try{var wt=ft.transaction((at=ct).length===1?at[0]:at,"readonly");if(o.autoSchema)dt=ft,Z=wt,(q=i).verno=dt.version/10,Z=q._dbSchema=pr(0,dt,Z),q._storeNames=A(dt.objectStoreNames,0),br(q,[q._allTables],l(Z),Z);else if(hr(i,i._dbSchema,wt),J=wt,((J=Ho(pr(0,(U=i).idbdb,J),U._dbSchema)).add.length||J.change.some(function(yt){return yt.add.length||yt.change.length}))&&!h)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),ft.close(),b=ft.version+1,h=!0,O(_());fr(i,wt)}catch{}$n.push(i),ft.onversionchange=ie(function(yt){o.vcFired=!0,i.on("versionchange").fire(yt)}),ft.onclose=ie(function(){i.close({disableAutoOpen:!1})}),E&&(ct=i._deps,at=D,zo(dt=ct.indexedDB)||at===or||Wo(dt,ct.IDBKeyRange).put({name:at}).catch(w)),O()},I)}).catch(function(O){switch(O?.name){case"UnknownError":if(0<o.PR1398_maxLoop)return o.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),_();break;case"VersionError":if(0<b)return b=0,_()}return ht.reject(O)})}var R,V=o.dbReadyResolve,M=null,E=!1;return ht.race([f,(typeof navigator>"u"?ht.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(O){function I(){return indexedDB.databases().finally(O)}R=setInterval(I,100),I()}).finally(function(){return clearInterval(R)}):Promise.resolve()).then(_)]).then(function(){return y(),o.onReadyBeingFired=[],ht.resolve(Jo(function(){return i.on.ready.fire(i.vip)})).then(function O(){var I;if(0<o.onReadyBeingFired.length)return I=o.onReadyBeingFired.reduce(L,w),o.onReadyBeingFired=[],ht.resolve(Jo(function(){return I(i.vip)})).then(O)})}).finally(function(){o.openCanceller===f&&(o.onReadyBeingFired=null,o.isBeingOpened=!1)}).catch(function(O){o.dbOpenError=O;try{M&&M.abort()}catch{}return f===o.openCanceller&&i._close(),ye(O)}).finally(function(){o.openComplete=!0,V()}).then(function(){var O;return E&&(O={},i.tables.forEach(function(I){I.schema.indexes.forEach(function(D){D.name&&(O["idb://".concat(i.name,"/").concat(I.name,"/").concat(D.name)]=new je(-1/0,[[[]]]))}),O["idb://".concat(i.name,"/").concat(I.name,"/")]=O["idb://".concat(i.name,"/").concat(I.name,"/:dels")]=new je(-1/0,[[[]]])}),rn(fi).fire(O),ta(O,!0)),i})}function ea(i){function o(h){return i.next(h)}var c=b(o),f=b(function(h){return i.throw(h)});function b(h){return function(_){var _=h(_),R=_.value;return _.done?R:R&&typeof R.then=="function"?R.then(c,f):d(R)?Promise.all(R).then(c,f):c(R)}}return b(o)()}function _r(i,o,c){for(var f=d(i)?i.slice():[i],b=0;b<c;++b)f.push(o);return f}var Lb={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(i){return n(n({},i),{table:function(f){var c=i.table(f),f=c.schema,b={},h=[];function y(O,I,D){var q=mi(O),P=b[q]=b[q]||[],U=O==null?0:typeof O=="string"?1:O.length,J=0<I,q=n(n({},D),{name:J?"".concat(q,"(virtual-from:").concat(D.name,")"):D.name,lowLevelIndex:D,isVirtual:J,keyTail:I,keyLength:U,extractKey:Ko(O),unique:!J&&D.unique});return P.push(q),q.isPrimaryKey||h.push(q),1<U&&y(U===2?O[0]:O.slice(0,U-1),I+1,D),P.sort(function(Z,at){return Z.keyTail-at.keyTail}),q}var _=y(f.primaryKey.keyPath,0,f.primaryKey);b[":id"]=[_];for(var R=0,V=f.indexes;R<V.length;R++){var M=V[R];y(M.keyPath,0,M)}function E(O){var I,D=O.query.index;return D.isVirtual?n(n({},O),{query:{index:D.lowLevelIndex,range:(I=O.query.range,D=D.keyTail,{type:I.type===1?2:I.type,lower:_r(I.lower,I.lowerOpen?i.MAX_KEY:i.MIN_KEY,D),lowerOpen:!0,upper:_r(I.upper,I.upperOpen?i.MIN_KEY:i.MAX_KEY,D),upperOpen:!0})}}):O}return n(n({},c),{schema:n(n({},f),{primaryKey:_,indexes:h,getIndexByKeyPath:function(O){return(O=b[mi(O)])&&O[0]}}),count:function(O){return c.count(E(O))},query:function(O){return c.query(E(O))},openCursor:function(O){var I=O.query.index,D=I.keyTail,P=I.keyLength;return I.isVirtual?c.openCursor(E(O)).then(function(J){return J&&U(J)}):c.openCursor(O);function U(J){return Object.create(J,{continue:{value:function(q){q!=null?J.continue(_r(q,O.reverse?i.MAX_KEY:i.MIN_KEY,D)):O.unique?J.continue(J.key.slice(0,P).concat(O.reverse?i.MIN_KEY:i.MAX_KEY,D)):J.continue()}},continuePrimaryKey:{value:function(q,Z){J.continuePrimaryKey(_r(q,i.MAX_KEY,D),Z)}},primaryKey:{get:function(){return J.primaryKey}},key:{get:function(){var q=J.key;return P===1?q[0]:q.slice(0,P)}},value:{get:function(){return J.value}}})}}})}})}};function sa(i,o,c,f){return c=c||{},f=f||"",l(i).forEach(function(b){var h,y,_;g(o,b)?(h=i[b],y=o[b],typeof h=="object"&&typeof y=="object"&&h&&y?(_=ae(h))!==ae(y)?c[f+b]=o[b]:_==="Object"?sa(h,y,c,f+b+"."):h!==y&&(c[f+b]=o[b]):h!==y&&(c[f+b]=o[b])):c[f+b]=void 0}),l(o).forEach(function(b){g(i,b)||(c[f+b]=o[b])}),c}function na(i,o){return o.type==="delete"?o.keys:o.keys||o.values.map(i.extractKey)}var Fb={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(i){return n(n({},i),{table:function(o){var c=i.table(o),f=c.schema.primaryKey;return n(n({},c),{mutate:function(b){var h=_t.trans,y=h.table(o).hook,_=y.deleting,R=y.creating,V=y.updating;switch(b.type){case"add":if(R.fire===w)break;return h._promise("readwrite",function(){return M(b)},!0);case"put":if(R.fire===w&&V.fire===w)break;return h._promise("readwrite",function(){return M(b)},!0);case"delete":if(_.fire===w)break;return h._promise("readwrite",function(){return M(b)},!0);case"deleteRange":if(_.fire===w)break;return h._promise("readwrite",function(){return(function E(O,I,D){return c.query({trans:O,values:!1,query:{index:f,range:I},limit:D}).then(function(P){var U=P.result;return M({type:"delete",keys:U,trans:O}).then(function(J){return 0<J.numFailures?Promise.reject(J.failures[0]):U.length<D?{failures:[],numFailures:0,lastResult:void 0}:E(O,n(n({},I),{lower:U[U.length-1],lowerOpen:!0}),D)})})})(b.trans,b.range,1e4)},!0)}return c.mutate(b);function M(E){var O,I,D,P=_t.trans,U=E.keys||na(f,E);if(U)return(E=E.type==="add"||E.type==="put"?n(n({},E),{keys:U}):n({},E)).type!=="delete"&&(E.values=r([],E.values)),E.keys&&(E.keys=r([],E.keys)),O=c,D=U,((I=E).type==="add"?Promise.resolve([]):O.getMany({trans:I.trans,keys:D,cache:"immutable"})).then(function(J){var q=U.map(function(Z,at){var dt,ft,ct,wt=J[at],yt={onerror:null,onsuccess:null};return E.type==="delete"?_.fire.call(yt,Z,wt,P):E.type==="add"||wt===void 0?(dt=R.fire.call(yt,Z,E.values[at],P),Z==null&&dt!=null&&(E.keys[at]=Z=dt,f.outbound||H(E.values[at],f.keyPath,Z))):(dt=sa(wt,E.values[at]),(ft=V.fire.call(yt,dt,Z,wt,P))&&(ct=E.values[at],Object.keys(ft).forEach(function(ut){g(ct,ut)?ct[ut]=ft[ut]:H(ct,ut,ft[ut])}))),yt});return c.mutate(E).then(function(Z){for(var at=Z.failures,dt=Z.results,ft=Z.numFailures,Z=Z.lastResult,ct=0;ct<U.length;++ct){var wt=(dt||U)[ct],yt=q[ct];wt==null?yt.onerror&&yt.onerror(at[ct]):yt.onsuccess&&yt.onsuccess(E.type==="put"&&J[ct]?E.values[ct]:wt)}return{failures:at,results:dt,numFailures:ft,lastResult:Z}}).catch(function(Z){return q.forEach(function(at){return at.onerror&&at.onerror(Z)}),Promise.reject(Z)})});throw new Error("Keys missing")}}})}})}};function sc(i,o,c){try{if(!o||o.keys.length<i.length)return null;for(var f=[],b=0,h=0;b<o.keys.length&&h<i.length;++b)Ft(o.keys[b],i[h])===0&&(f.push(c?Et(o.values[b]):o.values[b]),++h);return f.length===i.length?f:null}catch{return null}}var jb={stack:"dbcore",level:-1,create:function(i){return{table:function(o){var c=i.table(o);return n(n({},c),{getMany:function(f){var b;return f.cache?(b=sc(f.keys,f.trans._cache,f.cache==="clone"))?ht.resolve(b):c.getMany(f).then(function(h){return f.trans._cache={keys:f.keys,values:f.cache==="clone"?Et(h):h},h}):c.getMany(f)},mutate:function(f){return f.type!=="add"&&(f.trans._cache=null),c.mutate(f)}})}}}};function nc(i,o){return i.trans.mode==="readonly"&&!!i.subscr&&!i.trans.explicit&&i.trans.db._options.cache!=="disabled"&&!o.schema.primaryKey.outbound}function ic(i,o){switch(i){case"query":return o.values&&!o.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var Bb={stack:"dbcore",level:0,name:"Observability",create:function(i){var o=i.schema.name,c=new je(i.MIN_KEY,i.MAX_KEY);return n(n({},i),{transaction:function(f,b,h){if(_t.subscr&&b!=="readonly")throw new rt.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(_t.querier));return i.transaction(f,b,h)},table:function(f){function b(U){var P,U=U.query;return[P=U.index,new je((P=(U=U.range).lower)!=null?P:i.MIN_KEY,(P=U.upper)!=null?P:i.MAX_KEY)]}var h=i.table(f),y=h.schema,_=y.primaryKey,R=y.indexes,V=_.extractKey,M=_.outbound,E=_.autoIncrement&&R.filter(function(D){return D.compound&&D.keyPath.includes(_.keyPath)}),O=n(n({},h),{mutate:function(D){function P(Tt){return Tt="idb://".concat(o,"/").concat(f,"/").concat(Tt),at[Tt]||(at[Tt]=new je)}var U,J,q,Z=D.trans,at=D.mutatedParts||(D.mutatedParts={}),dt=P(""),ft=P(":dels"),ct=D.type,yt=D.type==="deleteRange"?[D.range]:D.type==="delete"?[D.keys]:D.values.length<50?[na(_,D).filter(function(Tt){return Tt}),D.values]:[],wt=yt[0],yt=yt[1],ut=D.trans._cache;return d(wt)?(dt.addKeys(wt),(ct=ct==="delete"||wt.length===yt.length?sc(wt,ut):null)||ft.addKeys(wt),(ct||yt)&&(U=P,J=ct,q=yt,y.indexes.forEach(function(Tt){var jt=U(Tt.name||"");function Vt(Nt){return Nt!=null?Tt.extractKey(Nt):null}function At(Nt){Tt.multiEntry&&d(Nt)?Nt.forEach(function(ce){return jt.addKey(ce)}):jt.addKey(Nt)}(J||q).forEach(function(Nt,me){var ns=J&&Vt(J[me]),me=q&&Vt(q[me]);Ft(ns,me)!==0&&(ns!=null&&At(ns),me!=null)&&At(me)})}))):wt?(yt={from:(ut=wt.lower)!=null?ut:i.MIN_KEY,to:(ct=wt.upper)!=null?ct:i.MAX_KEY},ft.add(yt),dt.add(yt)):(dt.add(c),ft.add(c),y.indexes.forEach(function(Tt){return P(Tt.name).add(c)})),h.mutate(D).then(function(Tt){return!wt||D.type!=="add"&&D.type!=="put"||(dt.addKeys(Tt.results),E&&E.forEach(function(jt){for(var Vt=D.values.map(function(ns){return jt.extractKey(ns)}),At=jt.keyPath.findIndex(function(ns){return ns===_.keyPath}),Nt=0,ce=Tt.results.length;Nt<ce;++Nt)Vt[Nt][At]=Tt.results[Nt];P(jt.name).addKeys(Vt)})),Z.mutatedParts=yr(Z.mutatedParts||{},at),Tt})}}),I={get:function(D){return[_,new je(D.key)]},getMany:function(D){return[_,new je().addKeys(D.keys)]},count:b,query:b,openCursor:b};return l(I).forEach(function(D){O[D]=function(P){var U=_t.subscr,J=!!U,q=nc(_t,h)&&ic(D,P)?P.obsSet={}:U;if(J){var Z,U=function(yt){return yt="idb://".concat(o,"/").concat(f,"/").concat(yt),q[yt]||(q[yt]=new je)},at=U(""),dt=U(":dels"),J=I[D](P),ft=J[0],J=J[1];if((D==="query"&&ft.isPrimaryKey&&!P.values?dt:U(ft.name||"")).add(J),!ft.isPrimaryKey){if(D!=="count")return Z=D==="query"&&M&&P.values&&h.query(n(n({},P),{values:!1})),h[D].apply(this,arguments).then(function(yt){if(D==="query"){if(M&&P.values)return Z.then(function(Vt){return Vt=Vt.result,at.addKeys(Vt),yt});var ut=P.values?yt.result.map(V):yt.result;(P.values?at:dt).addKeys(ut)}else{var Tt,jt;if(D==="openCursor")return jt=P.values,(Tt=yt)&&Object.create(Tt,{key:{get:function(){return dt.addKey(Tt.primaryKey),Tt.key}},primaryKey:{get:function(){var Vt=Tt.primaryKey;return dt.addKey(Vt),Vt}},value:{get:function(){return jt&&at.addKey(Tt.primaryKey),Tt.value}}})}return yt});dt.add(c)}}return h[D].apply(this,arguments)}}),O}})}};function rc(i,o,c){var f;return c.numFailures===0?o:o.type==="deleteRange"||(f=o.keys?o.keys.length:"values"in o&&o.values?o.values.length:1,c.numFailures===f)?null:(f=n({},o),d(f.keys)&&(f.keys=f.keys.filter(function(b,h){return!(h in c.failures)})),"values"in f&&d(f.values)&&(f.values=f.values.filter(function(b,h){return!(h in c.failures)})),f)}function ia(i,o){return c=i,((f=o).lower===void 0||(f.lowerOpen?0<Ft(c,f.lower):0<=Ft(c,f.lower)))&&(c=i,(f=o).upper===void 0||(f.upperOpen?Ft(c,f.upper)<0:Ft(c,f.upper)<=0));var c,f}function oc(i,o,c,f,b,h){var y,_,R,V,M,E;return!c||c.length===0||(y=o.query.index,_=y.multiEntry,R=o.query.range,V=f.schema.primaryKey.extractKey,M=y.extractKey,E=(y.lowLevelIndex||y).extractKey,(f=c.reduce(function(O,I){var D=O,P=[];if(I.type==="add"||I.type==="put")for(var U=new je,J=I.values.length-1;0<=J;--J){var q,Z=I.values[J],at=V(Z);!U.hasKey(at)&&(q=M(Z),_&&d(q)?q.some(function(yt){return ia(yt,R)}):ia(q,R))&&(U.addKey(at),P.push(Z))}switch(I.type){case"add":var dt=new je().addKeys(o.values?O.map(function(ut){return V(ut)}):O),D=O.concat(o.values?P.filter(function(ut){return ut=V(ut),!dt.hasKey(ut)&&(dt.addKey(ut),!0)}):P.map(function(ut){return V(ut)}).filter(function(ut){return!dt.hasKey(ut)&&(dt.addKey(ut),!0)}));break;case"put":var ft=new je().addKeys(I.values.map(function(ut){return V(ut)}));D=O.filter(function(ut){return!ft.hasKey(o.values?V(ut):ut)}).concat(o.values?P:P.map(function(ut){return V(ut)}));break;case"delete":var ct=new je().addKeys(I.keys);D=O.filter(function(ut){return!ct.hasKey(o.values?V(ut):ut)});break;case"deleteRange":var wt=I.range;D=O.filter(function(ut){return!ia(V(ut),wt)})}return D},i))===i)?i:(f.sort(function(O,I){return Ft(E(O),E(I))||Ft(V(O),V(I))}),o.limit&&o.limit<1/0&&(f.length>o.limit?f.length=o.limit:i.length===o.limit&&f.length<o.limit&&(b.dirty=!0)),h?Object.freeze(f):f)}function ac(i,o){return Ft(i.lower,o.lower)===0&&Ft(i.upper,o.upper)===0&&!!i.lowerOpen==!!o.lowerOpen&&!!i.upperOpen==!!o.upperOpen}function qb(i,o){return((c,f,b,h)=>{if(c===void 0)return f!==void 0?-1:0;if(f===void 0)return 1;if((c=Ft(c,f))===0){if(b&&h)return 0;if(b)return 1;if(h)return-1}return c})(i.lower,o.lower,i.lowerOpen,o.lowerOpen)<=0&&0<=((c,f,b,h)=>{if(c===void 0)return f!==void 0?1:0;if(f===void 0)return-1;if((c=Ft(c,f))===0){if(b&&h)return 0;if(b)return-1;if(h)return 1}return c})(i.upper,o.upper,i.upperOpen,o.upperOpen)}function $b(i,o,c,f){i.subscribers.add(c),f.addEventListener("abort",function(){var b,h;i.subscribers.delete(c),i.subscribers.size===0&&(b=i,h=o,setTimeout(function(){b.subscribers.size===0&&Dt(h,b)},3e3))})}var Vb={stack:"dbcore",level:0,name:"Cache",create:function(i){var o=i.schema.name;return n(n({},i),{transaction:function(c,f,b){var h,y,_=i.transaction(c,f,b);return f==="readwrite"&&(b=(h=new AbortController).signal,_.addEventListener("abort",(y=function(R){return function(){if(h.abort(),f==="readwrite"){for(var V=new Set,M=0,E=c;M<E.length;M++){var O=E[M],I=kn["idb://".concat(o,"/").concat(O)];if(I){var D=i.table(O),P=I.optimisticOps.filter(function(Tt){return Tt.trans===_});if(_._explicit&&R&&_.mutatedParts)for(var U=0,J=Object.values(I.queries.query);U<J.length;U++)for(var q=0,Z=(ft=J[U]).slice();q<Z.length;q++)Yo((ct=Z[q]).obsSet,_.mutatedParts)&&(Dt(ft,ct),ct.subscribers.forEach(function(Tt){return V.add(Tt)}));else if(0<P.length){I.optimisticOps=I.optimisticOps.filter(function(Tt){return Tt.trans!==_});for(var at=0,dt=Object.values(I.queries.query);at<dt.length;at++)for(var ft,ct,wt,yt=0,ut=(ft=dt[at]).slice();yt<ut.length;yt++)(ct=ut[yt]).res!=null&&_.mutatedParts&&(R&&!ct.dirty?(wt=Object.isFrozen(ct.res),wt=oc(ct.res,ct.req,P,D,ct,wt),ct.dirty?(Dt(ft,ct),ct.subscribers.forEach(function(Tt){return V.add(Tt)})):wt!==ct.res&&(ct.res=wt,ct.promise=ht.resolve({result:wt}))):(ct.dirty&&Dt(ft,ct),ct.subscribers.forEach(function(Tt){return V.add(Tt)})))}}}V.forEach(function(Tt){return Tt()})}}})(!1),{signal:b}),_.addEventListener("error",y(!1),{signal:b}),_.addEventListener("complete",y(!0),{signal:b})),_},table:function(c){var f=i.table(c),b=f.schema.primaryKey;return n(n({},f),{mutate:function(h){var y,_=_t.trans;return!b.outbound&&_.db._options.cache!=="disabled"&&!_.explicit&&_.idbtrans.mode==="readwrite"&&(y=kn["idb://".concat(o,"/").concat(c)])?(_=f.mutate(h),h.type!=="add"&&h.type!=="put"||!(50<=h.values.length||na(b,h).some(function(R){return R==null}))?(y.optimisticOps.push(h),h.mutatedParts&&vr(h.mutatedParts),_.then(function(R){0<R.numFailures&&(Dt(y.optimisticOps,h),(R=rc(0,h,R))&&y.optimisticOps.push(R),h.mutatedParts)&&vr(h.mutatedParts)}),_.catch(function(){Dt(y.optimisticOps,h),h.mutatedParts&&vr(h.mutatedParts)})):_.then(function(R){var V=rc(0,n(n({},h),{values:h.values.map(function(M,E){var O;return R.failures[E]?M:(H(O=(O=b.keyPath)!=null&&O.includes(".")?Et(M):n({},M),b.keyPath,R.results[E]),O)})}),R);y.optimisticOps.push(V),queueMicrotask(function(){return h.mutatedParts&&vr(h.mutatedParts)})}),_):f.mutate(h)},query:function(h){var y,_,R,V,M,E,O;return nc(_t,f)&&ic("query",h)?(y=((R=_t.trans)==null?void 0:R.db._options.cache)==="immutable",_=(R=_t).requery,R=R.signal,E=((I,D,P,U)=>{var J=kn["idb://".concat(I,"/").concat(D)];if(!J)return[];if(!(I=J.queries[P]))return[null,!1,J,null];var q=I[(U.query?U.query.index.name:null)||""];if(!q)return[null,!1,J,null];switch(P){case"query":var Z=q.find(function(at){return at.req.limit===U.limit&&at.req.values===U.values&&ac(at.req.query.range,U.query.range)});return Z?[Z,!0,J,q]:[q.find(function(at){return("limit"in at.req?at.req.limit:1/0)>=U.limit&&(!U.values||at.req.values)&&qb(at.req.query.range,U.query.range)}),!1,J,q];case"count":return Z=q.find(function(at){return ac(at.req.query.range,U.query.range)}),[Z,!!Z,J,q]}})(o,c,"query",h),O=E[0],V=E[2],M=E[3],O&&E[1]?O.obsSet=h.obsSet:(E=f.query(h).then(function(I){var D=I.result;if(O&&(O.res=D),y){for(var P=0,U=D.length;P<U;++P)Object.freeze(D[P]);Object.freeze(D)}else I.result=Et(D);return I}).catch(function(I){return M&&O&&Dt(M,O),Promise.reject(I)}),O={obsSet:h.obsSet,promise:E,subscribers:new Set,type:"query",req:h,dirty:!1},M?M.push(O):(M=[O],(V=V||(kn["idb://".concat(o,"/").concat(c)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[h.query.index.name||""]=M)),$b(O,M,_,R),O.promise.then(function(I){return{result:oc(I.result,h,V?.optimisticOps,f,O,y)}})):f.query(h)}})}})}};function wr(i,o){return new Proxy(i,{get:function(c,f,b){return f==="db"?o:Reflect.get(c,f,b)}})}ve.prototype.version=function(i){if(isNaN(i)||i<.1)throw new rt.Type("Given version is not a positive number");if(i=Math.round(10*i)/10,this.idbdb||this._state.isBeingOpened)throw new rt.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,i);var o=this._versions,c=o.filter(function(f){return f._cfg.version===i})[0];return c||(c=new this.Version(i),o.push(c),o.sort(Mb),c.stores({}),this._state.autoSchema=!1),c},ve.prototype._whenReady=function(i){var o=this;return this.idbdb&&(this._state.openComplete||_t.letThrough||this._vip)?i():new ht(function(c,f){if(o._state.openComplete)return f(new rt.DatabaseClosed(o._state.dbOpenError));if(!o._state.isBeingOpened){if(!o._state.autoOpen)return void f(new rt.DatabaseClosed);o.open().catch(w)}o._state.dbReadyPromise.then(c,f)}).then(i)},ve.prototype.use=function(b){var o=b.stack,c=b.create,f=b.level,b=b.name,h=(b&&this.unuse({stack:o,name:b}),this._middlewares[o]||(this._middlewares[o]=[]));return h.push({stack:o,create:c,level:f??10,name:b}),h.sort(function(y,_){return y.level-_.level}),this},ve.prototype.unuse=function(i){var o=i.stack,c=i.name,f=i.create;return o&&this._middlewares[o]&&(this._middlewares[o]=this._middlewares[o].filter(function(b){return f?b.create!==f:!!c&&b.name!==c})),this},ve.prototype.open=function(){var i=this;return _n(be,function(){return Nb(i)})},ve.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var i=this._state,o=$n.indexOf(this);if(0<=o&&$n.splice(o,1),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}i.isBeingOpened||(i.dbReadyPromise=new ht(function(c){i.dbReadyResolve=c}),i.openCanceller=new ht(function(c,f){i.cancelOpen=f}))},ve.prototype.close=function(o){var o=(o===void 0?{disableAutoOpen:!0}:o).disableAutoOpen,c=this._state;o?(c.isBeingOpened&&c.cancelOpen(new rt.DatabaseClosed),this._close(),c.autoOpen=!1,c.dbOpenError=new rt.DatabaseClosed):(this._close(),c.autoOpen=this._options.autoOpen||c.isBeingOpened,c.openComplete=!1,c.dbOpenError=null)},ve.prototype.delete=function(i){var o=this,c=(i===void 0&&(i={disableAutoOpen:!0}),0<arguments.length&&typeof arguments[0]!="object"),f=this._state;return new ht(function(b,h){function y(){o.close(i);var _=o._deps.indexedDB.deleteDatabase(o.name);_.onsuccess=ie(function(){var R,V,M;R=o._deps,V=o.name,zo(M=R.indexedDB)||V===or||Wo(M,R.IDBKeyRange).delete(V).catch(w),b()}),_.onerror=ws(h),_.onblocked=o._fireOnBlocked}if(c)throw new rt.InvalidArgument("Invalid closeOptions argument to db.delete()");f.isBeingOpened?f.dbReadyPromise.then(y):y()})},ve.prototype.backendDB=function(){return this.idbdb},ve.prototype.isOpen=function(){return this.idbdb!==null},ve.prototype.hasBeenClosed=function(){var i=this._state.dbOpenError;return i&&i.name==="DatabaseClosed"},ve.prototype.hasFailed=function(){return this._state.dbOpenError!==null},ve.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(ve.prototype,"tables",{get:function(){var i=this;return l(this._allTables).map(function(o){return i._allTables[o]})},enumerable:!1,configurable:!0}),ve.prototype.transaction=function(){var i=(function(o,c,f){var b=arguments.length;if(b<2)throw new rt.InvalidArgument("Too few arguments");for(var h=new Array(b-1);--b;)h[b-1]=arguments[b];return f=h.pop(),[o,vt(h),f]}).apply(this,arguments);return this._transaction.apply(this,i)},ve.prototype._transaction=function(i,o,c){var f,b,h=this,y=_t.trans,_=(y&&y.db===this&&i.indexOf("!")===-1||(y=null),i.indexOf("?")!==-1);i=i.replace("!","").replace("?","");try{if(b=o.map(function(V){if(V=V instanceof h.Table?V.name:V,typeof V!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return V}),i=="r"||i===Lo)f=Lo;else{if(i!="rw"&&i!=Fo)throw new rt.InvalidArgument("Invalid transaction mode: "+i);f=Fo}if(y){if(y.mode===Lo&&f===Fo){if(!_)throw new rt.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");y=null}y&&b.forEach(function(V){if(y&&y.storeNames.indexOf(V)===-1){if(!_)throw new rt.SubTransaction("Table "+V+" not included in parent transaction.");y=null}}),_&&y&&!y.active&&(y=null)}}catch(V){return y?y._promise(null,function(M,E){E(V)}):ye(V)}var R=(function V(M,E,O,I,D){return ht.resolve().then(function(){var q=_t.transless||_t,P=M._createTransaction(E,O,M._dbSchema,I),q=(P.explicit=!0,{trans:P,transless:q});if(I)P.idbtrans=I.idbtrans;else try{P.create(),P.idbtrans._explicit=!0,M._state.PR1398_maxLoop=3}catch(Z){return Z.name===gt.InvalidState&&M.isOpen()&&0<--M._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),M.close({disableAutoOpen:!1}),M.open().then(function(){return V(M,E,O,null,D)})):ye(Z)}var U,J=xe(D),q=(J&&qn(),ht.follow(function(){var Z;(U=D.call(P,P))&&(J?(Z=en.bind(null,null),U.then(Z,Z)):typeof U.next=="function"&&typeof U.throw=="function"&&(U=ea(U)))},q));return(U&&typeof U.then=="function"?ht.resolve(U).then(function(Z){return P.active?Z:ye(new rt.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):q.then(function(){return U})).then(function(Z){return I&&P._resolve(),P._completion.then(function(){return Z})}).catch(function(Z){return P._reject(Z),ye(Z)})})}).bind(null,this,f,b,y,c);return y?y._promise(f,R,"lock"):_t.trans?_n(_t.transless,function(){return h._whenReady(R)}):this._whenReady(R)},ve.prototype.table=function(i){if(g(this._allTables,i))return this._allTables[i];throw new rt.InvalidTable("Table ".concat(i," does not exist"))};var Os=ve;function ve(i,o){var c,f,b,h,y,_=this,R=(this._middlewares={},this.verno=0,ve.dependencies),R=(this._options=o=n({addons:ve.addons,autoOpen:!0,indexedDB:R.indexedDB,IDBKeyRange:R.IDBKeyRange,cache:"cloned"},o),this._deps={indexedDB:o.indexedDB,IDBKeyRange:o.IDBKeyRange},o.addons),V=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:w,dbReadyPromise:null,cancelOpen:w,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:o.autoOpen}),M=(V.dbReadyPromise=new ht(function(E){V.dbReadyResolve=E}),V.openCanceller=new ht(function(E,O){V.cancelOpen=O}),this._state=V,this.name=i,this.on=ci(this,"populate","blocked","versionchange","close",{ready:[L,w]}),this.once=function(E,O){var I=function(){for(var D=[],P=0;P<arguments.length;P++)D[P]=arguments[P];_.on(E).unsubscribe(I),O.apply(_,D)};return _.on(E,I)},this.on.ready.subscribe=G(this.on.ready.subscribe,function(E){return function(O,I){ve.vip(function(){var D,P=_._state;P.openComplete?(P.dbOpenError||ht.resolve().then(O),I&&E(O)):P.onReadyBeingFired?(P.onReadyBeingFired.push(O),I&&E(O)):(E(O),D=_,I||E(function U(){D.on.ready.unsubscribe(O),D.on.ready.unsubscribe(U)}))})}}),this.Collection=(c=this,ui(Sb.prototype,function(U,P){this.db=c;var I=Ll,D=null;if(P)try{I=P()}catch(q){D=q}var P=U._ctx,U=P.table,J=U.hook.reading.fire;this._ctx={table:U,index:P.index,isPrimKey:!P.index||U.schema.primKey.keyPath&&P.index===U.schema.primKey.name,range:I,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:D,or:P.or,valueMapper:J!==C?J:null}})),this.Table=(f=this,ui(Vl.prototype,function(E,O,I){this.db=f,this._tx=I,this.name=E,this.schema=O,this.hook=f._allTables[E]?f._allTables[E].hook:ci(null,{creating:[nt,w],reading:[B,C],updating:[T,w],deleting:[et,w]})})),this.Transaction=(b=this,ui(Cb.prototype,function(E,O,I,D,P){var U=this;E!=="readonly"&&O.forEach(function(J){J=(J=I[J])==null?void 0:J.yProps,J&&(O=O.concat(J.map(function(q){return q.updatesTable})))}),this.db=b,this.mode=E,this.storeNames=O,this.schema=I,this.chromeTransactionDurability=D,this.idbtrans=null,this.on=ci(this,"complete","error","abort"),this.parent=P||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new ht(function(J,q){U._resolve=J,U._reject=q}),this._completion.then(function(){U.active=!1,U.on.complete.fire()},function(J){var q=U.active;return U.active=!1,U.on.error.fire(J),U.parent?U.parent._reject(J):q&&U.idbtrans&&U.idbtrans.abort(),ye(J)})})),this.Version=(h=this,ui(Ib.prototype,function(E){this.db=h,this._cfg={version:E,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(y=this,ui(Wl.prototype,function(E,O,I){if(this.db=y,this._ctx={table:E,index:O===":id"?null:O,or:I},this._cmp=this._ascending=Ft,this._descending=function(D,P){return Ft(P,D)},this._max=function(D,P){return 0<Ft(D,P)?D:P},this._min=function(D,P){return Ft(D,P)<0?D:P},this._IDBKeyRange=y._deps.IDBKeyRange,!this._IDBKeyRange)throw new rt.MissingAPI})),this.on("versionchange",function(E){0<E.newVersion?console.warn("Another connection wants to upgrade database '".concat(_.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(_.name,"'. Closing db now to resume the delete request.")),_.close({disableAutoOpen:!1})}),this.on("blocked",function(E){!E.newVersion||E.newVersion<E.oldVersion?console.warn("Dexie.delete('".concat(_.name,"') was blocked")):console.warn("Upgrade '".concat(_.name,"' blocked by other connection holding version ").concat(E.oldVersion/10))}),this._maxKey=bi(o.IDBKeyRange),this._createTransaction=function(E,O,I,D){return new _.Transaction(E,O,I,_._options.chromeTransactionDurability,D)},this._fireOnBlocked=function(E){_.on("blocked").fire(E),$n.filter(function(O){return O.name===_.name&&O!==_&&!O._state.vcFired}).map(function(O){return O.on("versionchange").fire(E)})},this.use(jb),this.use(Vb),this.use(Bb),this.use(Lb),this.use(Fb),new Proxy(this,{get:function(E,O,I){var D;return O==="_vip"||(O==="table"?function(P){return wr(_.table(P),M)}:(D=Reflect.get(E,O,I))instanceof Vl?wr(D,M):O==="tables"?D.map(function(P){return wr(P,M)}):O==="_createTransaction"?function(){return wr(D.apply(this,arguments),M)}:D)}}));this.vip=M,R.forEach(function(E){return E(_)})}var Tr,Hn=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",Kb=(ra.prototype.subscribe=function(i,o,c){return this._subscribe(i&&typeof i!="function"?i:{next:i,error:o,complete:c})},ra.prototype[Hn]=function(){return this},ra);function ra(i){this._subscribe=i}try{Tr={indexedDB:a.indexedDB||a.mozIndexedDB||a.webkitIndexedDB||a.msIndexedDB,IDBKeyRange:a.IDBKeyRange||a.webkitIDBKeyRange}}catch{Tr={indexedDB:null,IDBKeyRange:null}}function lc(i){var o,c=!1,f=new Kb(function(b){var h=xe(i),y,_=!1,R={},V={},M={get closed(){return _},unsubscribe:function(){_||(_=!0,y&&y.abort(),E&&rn.storagemutated.unsubscribe(I))}},E=(b.start&&b.start(M),!1),O=function(){return No(D)},I=function(P){yr(R,P),Yo(V,R)&&O()},D=function(){var P,U,J;!_&&Tr.indexedDB&&(R={},P={},y&&y.abort(),y=new AbortController,J=(q=>{var Z=jn();try{h&&qn();var at=tn(i,q);return at=h?at.finally(en):at}finally{Z&&Bn()}})(U={subscr:P,signal:y.signal,requery:O,querier:i,trans:null}),Promise.resolve(J).then(function(q){c=!0,o=q,_||U.signal.aborted||(R={},(Z=>{for(var at in Z)if(g(Z,at))return;return 1})(V=P)||E||(rn(fi,I),E=!0),No(function(){return!_&&b.next&&b.next(q)}))},function(q){c=!1,["DatabaseClosedError","AbortError"].includes(q?.name)||_||No(function(){_||b.error&&b.error(q)})}))};return setTimeout(O,0),M});return f.hasValue=function(){return c},f.getValue=function(){return o},f}var Sn=Os;function oa(i){var o=on;try{on=!0,rn.storagemutated.fire(i),ta(i,!0)}finally{on=o}}v(Sn,n(n({},Jt),{delete:function(i){return new Sn(i,{addons:[]}).delete()},exists:function(i){return new Sn(i,{addons:[]}).open().then(function(o){return o.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(i){try{return o=Sn.dependencies,c=o.indexedDB,o=o.IDBKeyRange,(zo(c)?Promise.resolve(c.databases()).then(function(f){return f.map(function(b){return b.name}).filter(function(b){return b!==or})}):Wo(c,o).toCollection().primaryKeys()).then(i)}catch{return ye(new rt.MissingAPI)}var o,c},defineClass:function(){return function(i){u(this,i)}},ignoreTransaction:function(i){return _t.trans?_n(_t.transless,i):i()},vip:Jo,async:function(i){return function(){try{var o=ea(i.apply(this,arguments));return o&&typeof o.then=="function"?o:ht.resolve(o)}catch(c){return ye(c)}}},spawn:function(i,o,c){try{var f=ea(i.apply(c,o||[]));return f&&typeof f.then=="function"?f:ht.resolve(f)}catch(b){return ye(b)}},currentTransaction:{get:function(){return _t.trans||null}},waitFor:function(i,o){return i=ht.resolve(typeof i=="function"?Sn.ignoreTransaction(i):i).timeout(o||6e4),_t.trans?_t.trans.waitFor(i):i},Promise:ht,debug:{get:function(){return K},set:function(i){pt(i)}},derive:F,extend:u,props:v,override:G,Events:ci,on:rn,liveQuery:lc,extendObservabilitySet:yr,getByKeyPath:z,setByKeyPath:H,delByKeyPath:function(i,o){typeof o=="string"?H(i,o,void 0):"length"in o&&[].map.call(o,function(c){H(i,c,void 0)})},shallowClone:ot,deepClone:Et,getObjectDiff:sa,cmp:Ft,asap:X,minKey:-1/0,addons:[],connections:$n,errnames:gt,dependencies:Tr,cache:kn,semVer:"4.3.0",version:"4.3.0".split(".").map(function(i){return parseInt(i)}).reduce(function(i,o,c){return i+o/Math.pow(10,2*c)})})),Sn.maxKey=bi(Sn.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(rn(fi,function(i){on||(i=new CustomEvent(qo,{detail:i}),on=!0,dispatchEvent(i),on=!1)}),addEventListener(qo,function(i){i=i.detail,on||oa(i)}));var Gn,on=!1,cc=function(){};return typeof BroadcastChannel<"u"&&((cc=function(){(Gn=new BroadcastChannel(qo)).onmessage=function(i){return i.data&&oa(i.data)}})(),typeof Gn.unref=="function"&&Gn.unref(),rn(fi,function(i){on||Gn.postMessage(i)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(i){if(!Os.disableBfCache&&i.persisted){K&&console.debug("Dexie: handling persisted pagehide"),Gn?.close();for(var o=0,c=$n;o<c.length;o++)c[o].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(i){!Os.disableBfCache&&i.persisted&&(K&&console.debug("Dexie: handling persisted pageshow"),cc(),oa({all:new je(-1/0,[[]])}))})),ht.rejectionMapper=function(i,o){return!i||i instanceof Ie||i instanceof TypeError||i instanceof SyntaxError||!i.name||!Ot[i.name]?i:(o=new Ot[i.name](o||i.message,i),"stack"in i&&$(o,"stack",{get:function(){return this.inner.stack}}),o)},pt(K),n(Os,Object.freeze({__proto__:null,Dexie:Os,Entity:Fl,PropModification:li,RangeSet:je,add:function(i){return new li({add:i})},cmp:Ft,default:Os,liveQuery:lc,mergeRanges:hi,rangesOverlap:Xl,remove:function(i){return new li({remove:i})},replacePrefix:function(i,o){return new li({replacePrefix:[i,o]})}}),{default:Os}),Os})})(Br)),Br.exports}var Pv=Ev();const nl=Av(Pv),nd=Symbol.for("Dexie"),to=globalThis[nd]||(globalThis[nd]=nl);if(nl.semVer!==to.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${nl.semVer} and ${to.semVer}`);const{liveQuery:t_,mergeRanges:e_,rangesOverlap:s_,RangeSet:n_,cmp:i_,Entity:r_,PropModification:o_,replacePrefix:a_,add:l_,remove:c_,DexieYProvider:u_}=to;class Rv extends to{constructor(){super("llmxray-history"),this.version(1).stores({entries:"++id, type, timestamp, model, language, accuracy, tokenTaxRatio, *tags, [type+model], [type+timestamp]"})}}const Po=new Rv,yb={en:"English",fr:"Français",ar:"العربية",zh:"中文",ja:"日本語",he:"עברית",de:"Deutsch",es:"Español",pt:"Português",it:"Italiano",ru:"Русский",ko:"한국어",hi:"हिन्दी"};function d_(t,e){const s=e.filter(u=>u.model===t.model),n=(s.length<=1,t.model);if(t.language){const u=yb[t.language]??t.language.toUpperCase();return`${s.length<=1,t.model} (${u})`}if(s.length<=1)return n;if(new Set(s.map(u=>u.options.temperature??.7)).size===s.length)return`${t.model} @ ${(t.options.temperature??.7).toFixed(2)}`;if(new Set(s.map(u=>u.system)).size===s.length&&t.system){const u=t.system.split(/\s+/)[0]??"",m=u.length>12?u.slice(0,12)+"...":u;return`${t.model} (${m})`}if(new Set(s.map(u=>u.options.seed)).size===s.length&&t.options.seed!=null)return`${t.model} seed:${t.options.seed}`;const d=s.findIndex(u=>u.slotId===t.slotId);return`${t.model} #${d+1}`}function f_(t){const e=(t.accuracy*100).toFixed(1),s=t.benchmarkIds.join(", "),n=t.completedAt?Math.round((t.completedAt-t.startedAt)/1e3):0,r={type:"benchmark",timestamp:t.startedAt,model:t.modelName,tags:[],benchmarkSuites:t.benchmarkIds,accuracy:t.accuracy,correctCount:t.correctCount,totalQuestions:t.totalQuestions,durationMs:n*1e3,sourceId:t.id,sourceDb:"llmxray-benchmarks",summary:`Benchmark: ${t.modelName} — ${e}% on ${s} (${t.correctCount}/${t.totalQuestions})`};Po.entries.add(r).catch(()=>{})}function b_(t){const e=[...new Set(t.executions.map(u=>u.model))],s=t.executions.some(u=>u.language),n=t.executions.filter(u=>u.language).map(u=>u.language);let r,a;if(s){const u=t.executions.filter(m=>m.metrics?.promptTokenCount).map(m=>({lang:m.language??"?",tokens:m.metrics.promptTokenCount}));if(u.length>=2){const m=Math.min(...u.map(v=>v.tokens)),p=Math.max(...u.map(v=>v.tokens));r=m>0?p/m:void 0,a=u.find(v=>v.tokens===p)?.lang}}let l;if(s){const u=n.map(p=>yb[p]??p).join(" vs "),m=r?` · Tax: ${r.toFixed(1)}x`:"";l=`Language Compare: ${u} — ${e[0]}${m}`}else l=`Comparison: ${e.join(" vs ")} — ${t.executions.length} slots`;const d={type:"comparison",timestamp:t.createdAt,model:e[0]??"",language:a,languages:n,tags:[],tokenTaxRatio:r,slotCount:t.executions.length,sourceId:t.id,sourceDb:"llmxray-comparisons",summary:l};Po.entries.add(d).catch(()=>{})}function Mv(t,e,s,n,r){const a={type:"chat",timestamp:Date.now(),model:e,tags:[],conversationId:t,messageCount:n,totalTokens:r,sourceId:t,sourceDb:"llmxray-conversations",summary:`Chat: "${s||"Untitled"}" — ${e} · ${n} messages`};Po.entries.add(a).catch(()=>{})}function m_(t,e,s,n,r){const a={type:"training",timestamp:Date.now(),model:e,tags:[],phase:s,accepted:r,sourceId:t,sourceDb:"llmxray-canvas-ai",summary:`Training: ${s} phase${n?` — ${n}`:""} · ${r?"accepted":"pending"}`};Po.entries.add(a).catch(()=>{})}const Dv=ko("conversations",()=>{const t=Te(new Map),e=Te(null),s=Te(!1),n=ne(()=>e.value?t.value.get(e.value)??null:null),r=ne(()=>[...t.value.values()].sort((W,x)=>x.updatedAt-W.updatedAt));async function a(){try{const W=await ls.getAllConversations();for(const x of W)t.value.set(x.id,{id:x.id,name:x.name,title:x.title,model:x.model,messages:[],options:x.options,createdAt:x.createdAt,updatedAt:x.updatedAt})}catch(W){console.error("Failed to hydrate conversations from IndexedDB:",W)}s.value=!0}async function l(W){const x=t.value.get(W);if(!(!x||x.messages.length>0))try{const A=await ls.getMessages(W);x.messages=A}catch(A){console.error(`Failed to load messages for ${W}:`,A)}}function d(W,x){const A=wv(),G={id:A,name:"Untitled",title:"Untitled",model:W,messages:[],options:x??{},createdAt:Date.now(),updatedAt:Date.now()};return t.value.set(A,G),e.value=A,ls.saveConversationMeta(G).catch(console.error),A}function u(W,x){const A=t.value.get(W);A&&(A.messages.push(x),A.updatedAt=Date.now(),A.title==="Untitled"&&x.role==="user"&&(A.title=x.content.slice(0,50)+(x.content.length>50?"...":"")),A.name==="Untitled"&&x.role==="user"&&(A.name=x.content.slice(0,50)+(x.content.length>50?"...":"")),x.isStreaming||ls.saveMessage(x).catch(console.error),ls.saveConversationMeta(A).catch(console.error))}function m(W,x,A){const G=t.value.get(W);if(!G)return;const N=G.messages.find(X=>X.id===x);N&&(N.content=A)}function p(W,x){const A=t.value.get(W);if(!A)return;const G=A.messages.find(N=>N.id===x);G&&(G.isStreaming=!1,A.updatedAt=Date.now(),ls.saveMessage(G).catch(console.error),ls.saveConversationMeta(A).catch(console.error),G.role==="assistant"&&Mv(W,A.model,A.name,A.messages.length))}function g(W){e.value=W,W&&l(W)}function v(W,x){const A=t.value.get(W);A&&(A.name=x,A.updatedAt=Date.now(),ls.saveConversationMeta(A).catch(console.error))}function S(W){const x=t.value.get(W);return x?x.messages.filter(A=>A.role==="user"||A.role==="assistant"||A.role==="system").map(A=>({role:A.role,content:A.role==="assistant"?Ov(A.content):A.content})):[]}function $(W,x,A){const G=t.value.get(W);if(!G)return;const N=G.messages.find(X=>X.id===x);N&&(N.feedback=A,ls.saveMessage(N).catch(console.error))}function F(W){t.value.delete(W),e.value===W&&(e.value=null),ls.deleteConversation(W).catch(console.error)}return{conversations:t,activeConversationId:e,activeConversation:n,recentConversations:r,hydrated:s,hydrate:a,loadConversationMessages:l,createConversation:d,addMessage:u,updateAssistantContent:m,finalizeMessage:p,setActiveConversation:g,renameConversation:v,getMessagesAsOllamaFormat:S,setMessageFeedback:$,deleteConversation:F}});function Ov(t){return t.replace(/<think>[\s\S]*?<\/think>/g,"").trim()}const Iv=Ms({__name:"App",setup(t){const e=Dv();return Qi(()=>{e.hydrate()}),(s,n)=>{const r=vo("RouterView");return ke(),bs(r)}}}),Ro=vp(Iv);Ro.use(Tp());Ro.use(sl);Ro.use(vv);Ro.mount("#app");export{qt as $,bg as A,Qi as B,pc as C,Yc as D,J3 as E,we as F,zv as G,Qv as H,Dv as I,ls as J,Xd as K,fg as L,Yv as M,b_ as N,yb as O,Kv as P,d_ as Q,td as R,ng as S,Km as T,Wv as U,Uv as V,pl as W,lg as X,Jv as Y,f_ as Z,Xe as _,ne as a,Pd as a0,al as a1,qv as a2,Bv as a3,Vv as a4,hn as a5,bd as a6,es as a7,nm as a8,Qm as a9,Jd as aa,Hv as ab,zi as ac,re as ad,Cm as ae,Am as af,Dr as ag,mn as ah,Lv as ai,bl as aj,Ma as ak,vo as al,$v as am,D0 as an,jv as ao,Nv as ap,Zv as aq,av as ar,Po as as,wl as at,$0 as au,fo as av,xv as aw,Av as ax,m_ as ay,Xv as az,Ms as b,he as c,ko as d,Ws as e,Mt as f,pn as g,Di as h,M0 as i,ke as j,tf as k,lo as l,Fv as m,wv as n,jr as o,fe as p,bs as q,Te as r,po as s,De as t,_e as u,pp as v,Gs as w,Gv as x,mo as y,Zi as z};
|