@shawnstack/quickforge 1.7.2 → 1.7.3
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 +1 -0
- package/bin/quickforge.mjs +2 -0
- package/dist/assets/{AgentProfilesPage-BFgyFa5e.js → AgentProfilesPage-D7pbg8nm.js} +1 -1
- package/dist/assets/{ChatPanelHost-Cld9HcVz.js → ChatPanelHost-wfGCaCzD.js} +62 -62
- package/dist/assets/{PluginsPage-DEMqwhOA.js → PluginsPage-NAGroBm3.js} +1 -1
- package/dist/assets/{ScheduledTasksPage-DTP_gedp.js → ScheduledTasksPage-Bp0MNfQD.js} +2 -2
- package/dist/assets/{SettingsWorkspacePage-Dr9zT5Bs.js → SettingsWorkspacePage-BtJZMIsZ.js} +350 -269
- package/dist/assets/{SharedConversationPage-op3DRwcw.js → SharedConversationPage-Ce3KoVZt.js} +1 -1
- package/dist/assets/{TerminalDock-BL_UovwU.js → TerminalDock-4eUuXP7X.js} +2 -2
- package/dist/assets/WorkspaceInspector-kM3BRPjY.js +13 -0
- package/dist/assets/{index-yV1wtqTr.js → index-C6k5taeb.js} +8 -8
- package/dist/assets/index-CzN8NSKC.css +3 -0
- package/dist/assets/{mcp-servers-dialog-Bp6kbIup.js → mcp-servers-dialog-BQbFywVL.js} +2 -2
- package/dist/assets/{skills-dialog-DiJAUfvW.js → skills-dialog-REBeTFSH.js} +1 -1
- package/dist/index.html +4 -4
- package/package.json +4 -1
- package/server/ai-http-logger.mjs +6 -6
- package/server/ai-provider-options.mjs +8 -0
- package/server/index.mjs +7 -2
- package/server/network-proxy.mjs +384 -0
- package/server/public-api.mjs +4 -0
- package/server/routes/agent-profiles.mjs +2 -0
- package/server/routes/models.mjs +1 -0
- package/server/routes/scheduled-tasks.mjs +2 -0
- package/server/routes/system.mjs +26 -0
- package/server/routes/workspace.mjs +2 -0
- package/server/session-utils.mjs +2 -0
- package/dist/assets/WorkspaceInspector-73dhAime.js +0 -13
- package/dist/assets/index-Cu2bBHLv.css +0 -3
package/server/routes/models.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { streamSimple } from '@earendil-works/pi-ai/compat'
|
|
2
|
+
import { DEFAULT_AI_MAX_RETRIES } from '../ai-provider-options.mjs'
|
|
2
3
|
import { readJsonBody, sendJson, decodeSegment } from '../utils/response.mjs'
|
|
3
4
|
import { readStore, atomicUpdate } from '../storage.mjs'
|
|
4
5
|
import { createAgent, getSessionEventBus, agentEvents, persistSessionState, abortRun } from '../agent-manager.mjs'
|
|
@@ -165,6 +166,7 @@ async function parseScheduledTaskInstructionWithAi(instruction, model, thinkingL
|
|
|
165
166
|
maxTokens: 600,
|
|
166
167
|
temperature: 0,
|
|
167
168
|
reasoning: thinkingLevel === 'off' ? undefined : thinkingLevel,
|
|
169
|
+
maxRetries: DEFAULT_AI_MAX_RETRIES,
|
|
168
170
|
maxRetryDelayMs: 60000,
|
|
169
171
|
},
|
|
170
172
|
)
|
package/server/routes/system.mjs
CHANGED
|
@@ -70,6 +70,32 @@ export async function handleSystemApi(req, res, url, context) {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
if (req.method === 'GET' && url.pathname === '/api/system/network-proxy') {
|
|
74
|
+
sendJson(res, 200, await context.getNetworkProxyConfig())
|
|
75
|
+
return
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (req.method === 'PUT' && url.pathname === '/api/system/network-proxy') {
|
|
79
|
+
if (!context.isLocalRequest) {
|
|
80
|
+
const error = new Error('Network proxy settings can only be changed from this computer')
|
|
81
|
+
error.statusCode = 403
|
|
82
|
+
throw error
|
|
83
|
+
}
|
|
84
|
+
const body = await readJsonBody(req, 64 * 1024) || {}
|
|
85
|
+
sendJson(res, 200, await context.updateNetworkProxyConfig(body))
|
|
86
|
+
return
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (req.method === 'POST' && url.pathname === '/api/system/network-proxy/refresh') {
|
|
90
|
+
if (!context.isLocalRequest) {
|
|
91
|
+
const error = new Error('System proxy can only be refreshed from this computer')
|
|
92
|
+
error.statusCode = 403
|
|
93
|
+
throw error
|
|
94
|
+
}
|
|
95
|
+
sendJson(res, 200, await context.refreshSystemProxy())
|
|
96
|
+
return
|
|
97
|
+
}
|
|
98
|
+
|
|
73
99
|
if (req.method === 'GET' && url.pathname === '/api/system/network') {
|
|
74
100
|
sendJson(res, 200, {
|
|
75
101
|
host: context.host,
|
|
@@ -2,6 +2,7 @@ import { promises as fs } from 'node:fs'
|
|
|
2
2
|
import path from 'node:path'
|
|
3
3
|
import { spawn } from 'node:child_process'
|
|
4
4
|
import { streamSimple } from '@earendil-works/pi-ai/compat'
|
|
5
|
+
import { DEFAULT_AI_MAX_RETRIES } from '../ai-provider-options.mjs'
|
|
5
6
|
import { sendJson, readJsonBody } from '../utils/response.mjs'
|
|
6
7
|
import { projectContextFromId } from '../project-config.mjs'
|
|
7
8
|
import { readStore } from '../storage.mjs'
|
|
@@ -630,6 +631,7 @@ ${trimForPrompt(worktreeDiff)}`
|
|
|
630
631
|
maxTokens: 500,
|
|
631
632
|
temperature: 0,
|
|
632
633
|
reasoning: thinkingLevel === 'off' ? undefined : thinkingLevel,
|
|
634
|
+
maxRetries: DEFAULT_AI_MAX_RETRIES,
|
|
633
635
|
maxRetryDelayMs: 60000,
|
|
634
636
|
},
|
|
635
637
|
)
|
package/server/session-utils.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { streamSimple } from '@earendil-works/pi-ai/compat'
|
|
2
|
+
import { DEFAULT_AI_MAX_RETRIES } from './ai-provider-options.mjs'
|
|
2
3
|
import { buildInstructionsPayload, projectContextFromId } from './project-config.mjs'
|
|
3
4
|
import { composeSystemPrompt } from './system-prompt.mjs'
|
|
4
5
|
import { listSubagentProfiles } from './agent-profiles.mjs'
|
|
@@ -99,6 +100,7 @@ export async function generateAiTitle(messages, model, thinkingLevel, getApiKey)
|
|
|
99
100
|
maxTokens: 160,
|
|
100
101
|
temperature: 0.2,
|
|
101
102
|
reasoning: thinkingLevel === 'off' ? undefined : 'medium',
|
|
103
|
+
maxRetries: DEFAULT_AI_MAX_RETRIES,
|
|
102
104
|
maxRetryDelayMs: 60000,
|
|
103
105
|
},
|
|
104
106
|
)
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-DWdDZTNf.js";import{$ as t,B as n,Ct as r,D as i,K as a,L as o,M as s,Pt as c,Q as l,S as u,St as d,U as f,W as p,Y as m,_ as h,at as g,b as _,bt as v,ct as y,g as b,i as ee,it as x,j as te,jt as S,kt as C,lt as w,n as T,nt as E,q as D,rt as ne,s as re,ut as ie,y as ae}from"./icons-BP8YOS-Z.js";import{n as oe}from"./react-vendor-Dr5xvL-e.js";import{A as se,B as ce,M as le,V as ue,_ as de,a as O,d as fe,f as pe,g as me,h as he,ht as k,i as ge,l as _e,m as ve,mt as A,n as ye,p as be,pt as xe,r as Se,t as j,u as Ce,v as we,y as Te,yt as M}from"./index-yV1wtqTr.js";import{n as Ee,r as N,t as De}from"./mermaid-renderer-BmbSAmpG.js";import{TerminalDock as Oe,t as P}from"./TerminalDock-BL_UovwU.js";import{n as ke,t as Ae}from"./monaco-BTsVCDWS.js";var F=e(c(),1),I=oe(),je={"not-found":{icon:l,title:`previewErrorNotFoundTitle`,description:`previewErrorNotFoundDescription`},unsupported:{icon:t,title:`artifactPreviewUnsupported`,description:`artifactPreviewUnsupportedDescription`},"too-large":{icon:f,title:`previewErrorTooLargeTitle`,description:`previewErrorTooLargeDescription`},"permission-denied":{icon:C,title:`previewErrorPermissionTitle`,description:`previewErrorPermissionDescription`},"service-failed":{icon:b,title:`previewErrorServiceTitle`,description:`previewErrorServiceDescription`},unknown:{icon:ee,title:`previewErrorUnknownTitle`,description:`previewErrorUnknownDescription`}};function Me({issue:e,onRetry:t}){let n=je[e.kind],r=n.icon;return(0,I.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center overflow-auto px-8 py-10 text-center`,children:[(0,I.jsx)(r,{className:`size-20 shrink-0 stroke-[1.55] text-muted-foreground/75`}),(0,I.jsx)(`div`,{className:`mt-8 text-xl font-semibold tracking-tight text-foreground/88`,children:M(n.title)}),(0,I.jsx)(`div`,{className:`mt-4 max-w-md text-base leading-6 text-muted-foreground/82`,children:M(n.description)}),e.retryable&&t?(0,I.jsxs)(A,{type:`button`,variant:`outline`,size:`sm`,className:`mt-6`,onClick:t,children:[(0,I.jsx)(_,{className:`size-3.5`}),M(`retry`)]}):null,(0,I.jsxs)(`details`,{className:`mt-6 w-full max-w-xl rounded-xl border border-[color-mix(in_oklab,var(--border)_55%,transparent)] bg-background/65 text-left text-sm text-muted-foreground`,children:[(0,I.jsx)(`summary`,{className:`cursor-pointer select-none px-4 py-3 font-medium text-foreground/78 marker:text-muted-foreground`,children:M(`previewErrorDetails`)}),(0,I.jsxs)(`dl`,{className:`space-y-3 border-t border-border/60 px-4 py-3`,children:[typeof e.status==`number`?(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`dt`,{className:`text-xs text-muted-foreground/70`,children:M(`previewErrorStatusCode`)}),(0,I.jsx)(`dd`,{className:`mt-1 font-mono text-xs text-foreground/82`,children:e.status})]}):null,e.code?(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`dt`,{className:`text-xs text-muted-foreground/70`,children:M(`previewErrorCode`)}),(0,I.jsx)(`dd`,{className:`mt-1 break-all font-mono text-xs text-foreground/82`,children:e.code})]}):null,e.path?(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`dt`,{className:`text-xs text-muted-foreground/70`,children:M(`previewErrorFilePath`)}),(0,I.jsx)(`dd`,{className:`mt-1 break-all font-mono text-xs text-foreground/82`,children:e.path})]}):null,(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`dt`,{className:`text-xs text-muted-foreground/70`,children:M(`previewErrorRawMessage`)}),(0,I.jsx)(`dd`,{className:`mt-1 whitespace-pre-wrap break-all font-mono text-xs leading-5 text-foreground/82`,children:e.error})]})]})]})]})}function Ne(e){let t=e.status,n=e.code,r=`unknown`;return n===`PREVIEW_FILE_NOT_FOUND`||t===404?r=`not-found`:n===`PREVIEW_UNSUPPORTED_TYPE`||t===415?r=`unsupported`:n===`PREVIEW_FILE_TOO_LARGE`||t===413?r=`too-large`:n===`PREVIEW_PERMISSION_DENIED`||t===401||t===403?r=`permission-denied`:(n===`PREVIEW_SERVICE_FAILED`||typeof t==`number`&&t>=500)&&(r=`service-failed`),{kind:r,status:t,code:n,path:e.path,error:e.error||`Unknown preview error`,retryable:r!==`unsupported`&&r!==`permission-denied`}}function Pe(e){let t=e.indexOf(`#`),n=t>=0?e.slice(0,t):e;return`${n}${n.includes(`?`)?`&`:`?`}__quickforge_check=1`}function Fe(e){let t=e.trim();if(!t.startsWith(`/api/workspace/preview/`))return!1;try{let e=new URL(t,window.location.origin);return e.origin===window.location.origin&&e.pathname.startsWith(`/api/workspace/preview/`)}catch{return!1}}function Ie(e){let t=e.trim().replace(/\\/g,`/`);return t.startsWith(`/`)||/^[a-zA-Z]:\//.test(t)}function L(e,t){let n=e.trim();if(!t||!Fe(n))return n;try{let e=new URL(n,window.location.origin),r=`/api/workspace/preview/${encodeURIComponent(t)}/`;return e.pathname.startsWith(r)?e.pathname.slice(r.length).split(`/`).map(e=>decodeURIComponent(e)).join(`/`):n}catch{return n}}function R(e,t){let n=e.trim();if(!n)return{url:``,displayUrl:``,error:``};if(Fe(n)){let e=new URL(n,window.location.origin);return{url:`${e.pathname}${e.search}${e.hash}`,displayUrl:L(n,t),error:``}}if(t&&Ie(n))return{url:O(t,n),displayUrl:n,error:``};let r=/^https?:\/\//i.test(n)?n:`http://${n}`;try{let e=new URL(r);return e.protocol!==`http:`&&e.protocol!==`https:`?{url:``,displayUrl:n,error:M(`invalidPreviewUrl`)}:{url:e.toString(),displayUrl:e.toString(),error:``}}catch{return{url:``,displayUrl:n,error:M(`invalidPreviewUrl`)}}}function Le({url:e,onUrlChange:t,projectId:n}){let r=(0,F.useMemo)(()=>R(e,n),[n,e]),[i,a]=(0,F.useState)({sourceUrl:e,value:r.displayUrl}),[o,s]=(0,F.useState)(``),[c,l]=(0,F.useState)(0),[d,f]=(0,F.useState)(!1),[m,h]=(0,F.useState)(100),[v,y]=(0,F.useState)(null),b=(0,F.useRef)(null),ee=(0,F.useRef)(null),x=r.url,C=x.startsWith(`/api/workspace/preview/`),w=C?r.displayUrl:``,T=(0,F.useMemo)(()=>w&&!Se(w)?Ne({status:415,code:`PREVIEW_UNSUPPORTED_TYPE`,path:w,error:`Unsupported preview file type`}):null,[w]),E=C?`${x}:${c}`:``,D=v?.key===E?v.issue:null,re=T??D,ie=C&&!T&&v?.key!==E,ae=!C||v?.key===E&&!v.issue,oe=C?`allow-scripts allow-same-origin allow-forms`:`allow-scripts allow-same-origin allow-forms allow-popups allow-downloads allow-modals allow-pointer-lock`,se=i.sourceUrl===e?i.value:r.displayUrl;(0,F.useEffect)(()=>{if(!d)return;function e(e){b.current?.contains(e.target)||f(!1)}return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[d]),(0,F.useEffect)(()=>{if(!C||!w||T)return;let e=new AbortController;return fetch(Pe(x),{cache:`no-store`,signal:e.signal}).then(async e=>{let t=await e.json().catch(()=>null);if(e.ok){y({key:E,issue:null});return}y({key:E,issue:Ne({status:e.status,code:typeof t?.code==`string`?t.code:void 0,path:typeof t?.path==`string`?t.path:w,error:typeof t?.error==`string`?t.error:`${e.status} ${e.statusText}`.trim()})})}).catch(t=>{e.signal.aborted||y({key:E,issue:Ne({code:`PREVIEW_SERVICE_FAILED`,path:w,error:t instanceof Error?t.message:String(t)})})}),()=>e.abort()},[C,E,x,T,w]);function ce(){try{ee.current?.contentWindow?.history.back()}catch{}}function le(e=se){let r=R(e,n);if(r.error){s(r.error);return}s(``),a({sourceUrl:r.displayUrl,value:r.displayUrl}),t(r.displayUrl),r.url&&l(e=>e+1)}function ue(){x&&l(e=>e+1)}function de(){x&&window.open(x,`_blank`,`noopener,noreferrer`)}return(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 border-b border-border p-3`,children:[(0,I.jsxs)(`form`,{className:`flex items-center gap-2`,onSubmit:e=>{e.preventDefault(),le()},children:[(0,I.jsx)(A,{type:`button`,variant:`ghost`,size:`icon`,onClick:ce,disabled:!x,"aria-label":M(`back`),title:M(`back`),children:(0,I.jsx)(S,{className:`size-4`})}),(0,I.jsx)(A,{type:`button`,variant:`ghost`,size:`icon`,onClick:ue,disabled:!x,"aria-label":M(`refreshPreview`),title:M(`refreshPreview`),children:(0,I.jsx)(_,{className:`size-4`})}),(0,I.jsxs)(`label`,{className:`mx-auto flex h-9 min-w-0 max-w-xl flex-1 items-center rounded-full border border-[color-mix(in_oklab,var(--border)_42%,transparent)] bg-muted/30 px-3 text-sm text-muted-foreground/65 focus-within:bg-background focus-within:text-foreground/85`,children:[(0,I.jsx)(`span`,{className:`sr-only`,children:M(`previewUrl`)}),(0,I.jsx)(`input`,{value:se,onChange:t=>{a({sourceUrl:e,value:t.target.value}),o&&s(``)},placeholder:M(`previewUrlPlaceholder`),className:`min-w-0 flex-1 bg-transparent text-center text-sm text-foreground/85 outline-none placeholder:text-muted-foreground/55`})]}),(0,I.jsx)(A,{type:`button`,variant:`ghost`,size:`icon`,onClick:de,disabled:!x,"aria-label":M(`openInBrowser`),title:M(`openInBrowser`),children:(0,I.jsx)(ne,{className:`size-4`})}),(0,I.jsxs)(`div`,{ref:b,className:`relative shrink-0`,children:[(0,I.jsx)(A,{type:`button`,variant:`ghost`,size:`icon`,onClick:()=>f(e=>!e),"aria-label":M(`more`),title:M(`more`),"aria-haspopup":`menu`,"aria-expanded":d,children:(0,I.jsx)(g,{className:`size-4`})}),d?(0,I.jsxs)(`div`,{className:`absolute right-0 top-10 z-30 w-48 rounded-2xl border border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-popover p-2 shadow-quickforge`,role:`menu`,children:[(0,I.jsx)(`div`,{className:`px-2 py-1.5 text-xs font-medium text-muted-foreground`,children:M(`zoom`)}),(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-xl px-1 py-1.5`,children:[(0,I.jsx)(A,{type:`button`,variant:`ghost`,size:`icon`,className:`size-8`,onClick:()=>h(e=>Math.max(50,e-10)),"aria-label":M(`zoomOut`),title:M(`zoomOut`),children:(0,I.jsx)(te,{className:`size-4`})}),(0,I.jsxs)(`button`,{type:`button`,className:`min-w-14 rounded-lg px-2 py-1 text-sm font-medium text-foreground/85 hover:bg-muted/50`,onClick:()=>h(100),title:M(`resetZoom`),children:[m,`%`]}),(0,I.jsx)(A,{type:`button`,variant:`ghost`,size:`icon`,className:`size-8`,onClick:()=>h(e=>Math.min(200,e+10)),"aria-label":M(`zoomIn`),title:M(`zoomIn`),children:(0,I.jsx)(u,{className:`size-4`})})]})]}):null]})]}),o?(0,I.jsx)(`div`,{className:`text-xs text-destructive`,children:o}):null]}),(0,I.jsx)(`div`,{className:`min-h-0 flex-1 bg-muted/10`,children:re?(0,I.jsx)(Me,{issue:re,onRetry:ue}):ie?(0,I.jsxs)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground/75`,children:[(0,I.jsx)(_,{className:`mr-2 size-4 animate-spin`}),M(`previewChecking`)]}):x&&ae?(0,I.jsx)(`div`,{className:`h-full w-full overflow-auto bg-background`,children:(0,I.jsx)(`iframe`,{ref:ee,title:M(`webPreview`),src:x,sandbox:oe,className:`origin-top-left border-0 bg-background`,style:{width:`${1e4/m}%`,height:`${1e4/m}%`,transform:`scale(${m/100})`}},`${x}:${c}`)}):(0,I.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-8 text-center`,children:[(0,I.jsx)(p,{className:`size-20 stroke-[1.55] text-muted-foreground/75`}),(0,I.jsx)(`div`,{className:`mt-8 text-xl font-semibold tracking-tight text-foreground/88`,children:M(`noPreviewUrlTitle`)}),(0,I.jsx)(`div`,{className:`mt-4 max-w-xs text-base leading-6 text-muted-foreground/82`,children:M(`noPreviewUrlDescription`)})]})})]})}function z({source:e}){let[t,n]=(0,F.useState)({source:e,value:`preview`}),[r,i]=(0,F.useState)({source:``,dataUrl:``,error:!1});(0,F.useEffect)(()=>{let t=!1;return N(e).then(n=>{t||i({source:e,dataUrl:De(n),error:!1})}).catch(()=>{t||i({source:e,dataUrl:``,error:!0})}),()=>{t=!0}},[e]);let a=r.source===e?r:{source:e,dataUrl:``,error:!1},o=t.source===e?t.value:`preview`,s=r.source!==e,c=o===`source`||a.error;return(0,I.jsxs)(`figure`,{className:`my-5 overflow-hidden rounded-xl border border-border bg-muted/20`,children:[(0,I.jsxs)(`figcaption`,{className:`flex min-h-9 items-center justify-between gap-3 border-b border-border px-3 py-1.5`,children:[(0,I.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground/65`,children:`mermaid`}),(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md bg-background/70 p-0.5`,children:[(0,I.jsx)(`button`,{type:`button`,className:`rounded px-2 py-1 text-[11px] text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40`,disabled:!a.dataUrl,"aria-pressed":!c,onClick:()=>n({source:e,value:`preview`}),children:M(`svgPreviewMode`)}),(0,I.jsx)(`button`,{type:`button`,className:`rounded px-2 py-1 text-[11px] text-muted-foreground transition-colors hover:text-foreground`,"aria-pressed":c,onClick:()=>n({source:e,value:`source`}),children:M(`svgSourceMode`)})]})]}),s?(0,I.jsx)(`div`,{className:`flex min-h-28 items-center justify-center px-4 py-8 text-xs text-muted-foreground/70`,role:`status`,children:M(`mermaidRendering`)}):c?(0,I.jsxs)(I.Fragment,{children:[a.error?(0,I.jsx)(`p`,{className:`px-4 pt-3 text-xs text-muted-foreground`,children:M(`mermaidRenderFailed`)}):null,(0,I.jsx)(`pre`,{className:`overflow-auto p-4 text-[12px] leading-5`,children:(0,I.jsx)(`code`,{children:e})})]}):(0,I.jsx)(`div`,{className:`flex min-h-28 justify-center overflow-auto bg-background/45 p-4`,children:(0,I.jsx)(`img`,{className:`h-auto max-w-full object-contain`,src:a.dataUrl,alt:M(`mermaidPreviewLabel`)})})]})}function B(){let[e,t]=(0,F.useState)(()=>le());return(0,F.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>t(le());return window.addEventListener(se,e),()=>window.removeEventListener(se,e)},[]),e}function Re({path:e,content:t,language:n,wordWrap:r=!1}){let i=P(),a=B();return(0,I.jsx)(Ae,{value:t,language:n,theme:i===`dark`?`vs-dark`:`vs`,options:{readOnly:!0,contextmenu:!1,automaticLayout:!0,minimap:{enabled:!1},fontFamily:getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`,fontSize:a.fontSize,lineHeight:a.lineHeight,lineNumbers:`on`,scrollBeyondLastLine:!1,wordWrap:r?`on`:`off`,renderLineHighlight:`line`,folding:!1,glyphMargin:!1,scrollbar:{horizontal:r?`auto`:`visible`,horizontalScrollbarSize:10,verticalScrollbarSize:8}}},e)}function ze(e){let t=e.trim();if(t&&!/^(javascript|data|vbscript):/i.test(t)&&/^(https?:|mailto:|#|\/|\.\.?\/)/i.test(t))return t}function V(e,t){let n=[],r=/`([^`]+)`|\[([^\]]+)\]\(([^)\s]+)(?:\s+"[^"]*")?\)|\*\*([^*]+)\*\*|__([^_]+)__|\*([^*\n]+)\*|_([^_\n]+)_/g,i=0,a=0,o;for(;o=r.exec(e);){o.index>i&&n.push(e.slice(i,o.index));let s=`${t}-inline-${a++}`;if(o[1])n.push((0,I.jsx)(`code`,{className:`rounded bg-muted/35 px-1 py-0.5 font-mono text-[0.85em] text-foreground/90`,children:o[1]},s));else if(o[2]&&o[3]){let e=ze(o[3]);n.push(e?(0,I.jsx)(`a`,{className:`text-primary underline-offset-4 hover:underline`,href:e,target:e.startsWith(`http`)?`_blank`:void 0,rel:`noreferrer`,children:o[2]},s):`[${o[2]}](${o[3]})`)}else o[4]||o[5]?n.push((0,I.jsx)(`strong`,{className:`font-semibold text-foreground/95`,children:o[4]||o[5]},s)):(o[6]||o[7])&&n.push((0,I.jsx)(`em`,{className:`italic`,children:o[6]||o[7]},s));i=r.lastIndex}return i<e.length&&n.push(e.slice(i)),n.length?n:[e]}function Be(e,t){return e.split(`
|
|
2
|
-
`).flatMap((e,n)=>{let r=V(e,`${t}-line-${n}`);return n===0?r:[(0,I.jsx)(`br`,{},`${t}-br-${n}`),...r]})}function H(e){return/^\s*(```|~~~)/.test(e)}function Ve(e){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/.test(e)}function He(e,t){return!!(e[t]?.includes(`|`)&&e[t+1]&&Ve(e[t+1]))}function Ue(e,t){let n=e[t]??``;return H(n)||He(e,t)||/^\s{0,3}#{1,6}\s+/.test(n)||/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/.test(n)||/^\s{0,3}>\s?/.test(n)||/^\s{0,3}[-*+]\s+/.test(n)||/^\s{0,3}\d+[.)]\s+/.test(n)}function We(e){return e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim())}function Ge(e){let t=e.replace(/\r\n?/g,`
|
|
3
|
-
`).split(`
|
|
4
|
-
`),n=[],r=0,i=0;for(;r<t.length;){let e=t[r],a=`markdown-block-${i++}`;if(!e.trim()){r+=1;continue}if(H(e)){let i=e.match(/^\s*(```|~~~)\s*([^`]*)$/),o=i?.[1]??"```",s=i?.[2]?.trim(),c=[];for(r+=1;r<t.length&&!t[r].trimStart().startsWith(o);)c.push(t[r]),r+=1;r<t.length&&(r+=1);let l=c.join(`
|
|
5
|
-
`);Ee(s)?n.push((0,I.jsx)(z,{source:l},a)):n.push((0,I.jsxs)(`figure`,{className:`my-5 overflow-hidden rounded-xl border border-border bg-muted/20`,children:[s?(0,I.jsx)(`figcaption`,{className:`border-b border-border px-3 py-1.5 font-mono text-[11px] text-muted-foreground/65`,children:s}):null,(0,I.jsx)(`pre`,{className:`overflow-auto p-4 text-[12px] leading-5`,children:(0,I.jsx)(`code`,{children:l})})]},a));continue}let o=e.match(/^\s{0,3}(#{1,6})\s+(.+?)\s*#*\s*$/);if(o){let e=o[1].length,t=o[2],i=[`mt-8 mb-3 border-border text-foreground/95`,e===1?`border-b pb-3 text-3xl font-semibold tracking-tight`:``,e===2?`border-b pb-2 text-2xl font-semibold tracking-tight`:``,e===3?`text-xl font-semibold`:``,e===4?`text-lg font-semibold`:``,e>=5?`text-base font-semibold`:``].filter(Boolean).join(` `),s=V(t,`${a}-heading`);e===1?n.push((0,I.jsx)(`h1`,{className:i,children:s},a)):e===2?n.push((0,I.jsx)(`h2`,{className:i,children:s},a)):e===3?n.push((0,I.jsx)(`h3`,{className:i,children:s},a)):e===4?n.push((0,I.jsx)(`h4`,{className:i,children:s},a)):e===5?n.push((0,I.jsx)(`h5`,{className:i,children:s},a)):n.push((0,I.jsx)(`h6`,{className:i,children:s},a)),r+=1;continue}if(/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/.test(e)){n.push((0,I.jsx)(`hr`,{className:`my-6 border-border`},a)),r+=1;continue}if(He(t,r)){let e=We(t[r]);r+=2;let i=[];for(;r<t.length&&t[r].includes(`|`)&&t[r].trim();)i.push(We(t[r])),r+=1;n.push((0,I.jsx)(`div`,{className:`my-5 overflow-auto rounded-xl border border-border`,children:(0,I.jsxs)(`table`,{className:`w-full border-collapse text-left text-sm`,children:[(0,I.jsx)(`thead`,{className:`bg-muted/25 text-foreground/90`,children:(0,I.jsx)(`tr`,{children:e.map((e,t)=>(0,I.jsx)(`th`,{className:`border-b border-border px-3 py-2 font-semibold`,children:V(e,`${a}-th-${t}`)},`${a}-th-${t}`))})}),(0,I.jsx)(`tbody`,{children:i.map((t,n)=>(0,I.jsx)(`tr`,{className:`border-t border-border/70`,children:e.map((e,r)=>(0,I.jsx)(`td`,{className:`px-3 py-2 align-top text-foreground/85`,children:V(t[r]??``,`${a}-td-${n}-${r}`)},`${a}-td-${n}-${r}`))},`${a}-row-${n}`))})]})},a));continue}if(/^\s{0,3}>\s?/.test(e)){let e=[];for(;r<t.length&&/^\s{0,3}>\s?/.test(t[r]);)e.push(t[r].replace(/^\s{0,3}>\s?/,``)),r+=1;n.push((0,I.jsx)(`blockquote`,{className:`my-4 border-l-2 border-border pl-4 text-muted-foreground/85`,children:Be(e.join(`
|
|
6
|
-
`),`${a}-quote`)},a));continue}if(/^\s{0,3}[-*+]\s+/.test(e)){let e=[];for(;r<t.length&&/^\s{0,3}[-*+]\s+/.test(t[r]);)e.push(t[r].replace(/^\s{0,3}[-*+]\s+/,``)),r+=1;n.push((0,I.jsx)(`ul`,{className:`my-4 list-disc space-y-1 pl-6`,children:e.map((e,t)=>(0,I.jsx)(`li`,{children:V(e,`${a}-li-${t}`)},`${a}-li-${t}`))},a));continue}if(/^\s{0,3}\d+[.)]\s+/.test(e)){let e=[];for(;r<t.length&&/^\s{0,3}\d+[.)]\s+/.test(t[r]);)e.push(t[r].replace(/^\s{0,3}\d+[.)]\s+/,``)),r+=1;n.push((0,I.jsx)(`ol`,{className:`my-4 list-decimal space-y-1 pl-6`,children:e.map((e,t)=>(0,I.jsx)(`li`,{children:V(e,`${a}-li-${t}`)},`${a}-li-${t}`))},a));continue}let s=[];for(;r<t.length&&t[r].trim()&&!Ue(t,r);)s.push(t[r].trim()),r+=1;n.push((0,I.jsx)(`p`,{className:`my-4 text-foreground/86`,children:V(s.join(` `),`${a}-p`)},a))}return n}function Ke({path:e,content:t,language:n,mode:r,wordWrap:i=!1}){let a=(0,F.useMemo)(()=>Ge(t),[t]);return(0,I.jsx)(`div`,{className:`flex h-full min-h-0 flex-col bg-background`,children:(0,I.jsx)(`div`,{className:`min-h-0 flex-1`,children:r===`source`?(0,I.jsx)(Re,{path:e,content:t,language:n,wordWrap:i}):(0,I.jsx)(`div`,{className:`h-full overflow-auto bg-background`,children:(0,I.jsx)(`article`,{className:`quickforge-markdown-reader mx-auto max-w-3xl px-8 py-7 text-sm leading-7 text-foreground/88`,children:a.length?a:(0,I.jsx)(`p`,{className:`text-muted-foreground/70`,children:`This Markdown file is empty.`})})})})})}function qe({path:e,oldContent:t,newContent:n,language:r,status:i}){let a=P(),o=B();return(0,I.jsx)(ke,{original:t,modified:n,language:r,theme:a===`dark`?`vs-dark`:`vs`,options:{readOnly:!0,contextmenu:!1,automaticLayout:!0,renderSideBySide:!0,minimap:{enabled:!1},fontFamily:getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`,fontSize:o.fontSize,lineHeight:o.lineHeight,scrollBeyondLastLine:!1,ignoreTrimWhitespace:!1,folding:!1,glyphMargin:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}},`${i}:${e}`)}function Je(e,t){let n=e.replace(/\r\n?/g,`
|
|
7
|
-
`).split(`
|
|
8
|
-
`),r=t.replace(/\r\n?/g,`
|
|
9
|
-
`).split(`
|
|
10
|
-
`),i=n.length,a=r.length;if(i*a>4e6)return;let o=Array(a+1).fill(0),s=Array(a+1).fill(0);for(let e=1;e<=i;e++){let t=n[e-1];for(let e=1;e<=a;e++)s[e]=t===r[e-1]?o[e-1]+1:Math.max(o[e],s[e-1]);let i=o;o=s,s=i}let c=o[a];return{added:a-c,removed:i-c}}var Ye=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ef5350'%20d='M16%202a14%2014%200%201%200%2014%2014A14%2014%200%200%200%2016%202m6%2010h-4v8a4%204%200%201%201-4-4%203.96%203.96%200%200%201%202%20.555V8h6Z'/%3e%3c/svg%3e`,Xe=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%230288d1'%20d='M19.563%2022A5.57%205.57%200%200%201%2014%2016.437v-2.873A5.57%205.57%200%200%201%2019.563%208H24V2h-4.437A11.563%2011.563%200%200%200%208%2013.563v2.873A11.564%2011.564%200%200%200%2019.563%2028H24v-6Z'/%3e%3c/svg%3e`,Ze=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23ff5722'%20d='M2%202a1%201%200%200%200-1%201v7a1%201%200%200%200%201%201h6v3l2-1.25L12%2014v-3h2a1%201%200%200%200%201-1V3a1%201%200%200%200-1-1Zm0%201h4v1H2Zm6%200%202%201.25L12%203v2.5l2%201-2%201V10l-2-1.25L8%2010V7.5l-2-1%202-1zM2%205h3v1H2Zm0%202h3v1H2Zm0%202h4v1H2Z'/%3e%3c/svg%3e`,Qe=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23ff7043'%20d='M2%202a1%201%200%200%200-1%201v10c0%20.554.446%201%201%201h12c.554%200%201-.446%201-1V3a1%201%200%200%200-1-1zm0%203h12v8H2zm1%202%202%202-2%202%201%201%203-3-3-3zm5%203.5V12h5v-1.5z'/%3e%3c/svg%3e`,$e=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%230288d1'%20d='M28%2014v-4h-2v4h-6v-4h-2v4h-4v2h4v4h2v-4h6v4h2v-4h4v-2z'/%3e%3cpath%20fill='%230288d1'%20d='M13.563%2022A5.57%205.57%200%200%201%208%2016.437v-2.873A5.57%205.57%200%200%201%2013.563%208H18V2h-4.437A11.563%2011.563%200%200%200%202%2013.563v2.873A11.564%2011.564%200%200%200%2013.563%2028H18v-6Z'/%3e%3c/svg%3e`,U=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%230288d1'%20d='M30%2014v-2h-2V8h-2v4h-2V8h-2v4h-2v2h2v2h-2v2h2v4h2v-4h2v4h2v-4h2v-2h-2v-2Zm-4%202h-2v-2h2Zm-12.437%206A5.57%205.57%200%200%201%208%2016.437v-2.873A5.57%205.57%200%200%201%2013.563%208H18V2h-4.437A11.563%2011.563%200%200%200%202%2013.563v2.873A11.564%2011.564%200%200%200%2013.563%2028H18v-6Z'/%3e%3c/svg%3e`,et=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%237e57c2'%20d='M20%2018h-2v-2h-2v2c0%20.193%200%20.703%201.254%201.033A3.345%203.345%200%200%201%2020%2022h2v2h2v-2c0-.388-.562-.851-1.254-1.034C20.356%2020.34%2020%2018.84%2020%2018m-3.254%202.966C14.356%2020.34%2014%2018.84%2014%2018h-2v-2h-2v8h2v-2h4v2h2v-2c0-.388-.562-.851-1.254-1.034'/%3e%3cpath%20fill='%237e57c2'%20d='M24%204H4v20a4%204%200%200%200%204%204h16.16A3.84%203.84%200%200%200%2028%2024.16V8a4%204%200%200%200-4-4m2%2014h-2v-2h-2v2c0%20.193%200%20.703%201.254%201.033A3.345%203.345%200%200%201%2026%2022v2a2%202%200%200%201-2%202h-2a2%202%200%200%201-2-2%202%202%200%200%201-2%202h-2a2%202%200%200%201-2-2%202%202%200%200%201-2%202h-2a2%202%200%200%201-2-2v-8a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202%202%202%200%200%201%202-2h2a2%202%200%200%201%202%202%202%202%200%200%201%202-2h2a2%202%200%200%201%202%202Z'/%3e%3c/svg%3e`,tt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ffca28'%20d='M16%2024c-5.525%200-10-.9-10-2v4c0%201.1%204.475%202%2010%202s10-.9%2010-2v-4c0%201.1-4.475%202-10%202m0-8c-5.525%200-10-.9-10-2v4c0%201.1%204.475%202%2010%202s10-.9%2010-2v-4c0%201.1-4.475%202-10%202m0-12C10.477%204%206%204.895%206%206v4c0%201.1%204.475%202%2010%202s10-.9%2010-2V6c0-1.105-4.477-2-10-2'/%3e%3c/svg%3e`,nt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%230288d1'%20d='M21.81%2010.25c-.06-.04-.56-.43-1.64-.43-.28%200-.56.03-.84.08-.21-1.4-1.38-2.11-1.43-2.14l-.29-.17-.18.27c-.24.36-.43.77-.51%201.19-.2.8-.08%201.56.33%202.21-.49.28-1.29.35-1.46.35H2.62c-.34%200-.62.28-.62.63%200%201.15.18%202.3.58%203.38.45%201.19%201.13%202.07%202%202.61.98.6%202.59.94%204.42.94.79%200%201.61-.07%202.42-.22%201.12-.2%202.2-.59%203.19-1.16A8.3%208.3%200%200%200%2016.78%2016c1.05-1.17%201.67-2.5%202.12-3.65h.19c1.14%200%201.85-.46%202.24-.85.26-.24.45-.53.59-.87l.08-.24zm-17.96.99h1.76c.08%200%20.16-.07.16-.16V9.5c0-.08-.07-.16-.16-.16H3.85c-.09%200-.16.07-.16.16v1.58c.01.09.07.16.16.16m2.43%200h1.76c.08%200%20.16-.07.16-.16V9.5c0-.08-.07-.16-.16-.16H6.28c-.09%200-.16.07-.16.16v1.58c.01.09.07.16.16.16m2.47%200h1.75c.1%200%20.17-.07.17-.16V9.5c0-.08-.06-.16-.17-.16H8.75c-.08%200-.15.07-.15.16v1.58c0%20.09.06.16.15.16m2.44%200h1.77c.08%200%20.15-.07.15-.16V9.5c0-.08-.06-.16-.15-.16h-1.77c-.08%200-.15.07-.15.16v1.58c0%20.09.07.16.15.16M6.28%209h1.76c.08%200%20.16-.09.16-.18V7.25c0-.09-.07-.16-.16-.16H6.28c-.09%200-.16.06-.16.16v1.57c.01.09.07.18.16.18m2.47%200h1.75c.1%200%20.17-.09.17-.18V7.25c0-.09-.06-.16-.17-.16H8.75c-.08%200-.15.06-.15.16v1.57c0%20.09.06.18.15.18m2.44%200h1.77c.08%200%20.15-.09.15-.18V7.25c0-.09-.07-.16-.15-.16h-1.77c-.08%200-.15.06-.15.16v1.57c0%20.09.07.18.15.18m0-2.28h1.77c.08%200%20.15-.07.15-.16V5c0-.1-.07-.17-.15-.17h-1.77c-.08%200-.15.06-.15.17v1.56c0%20.08.07.16.15.16m2.46%204.52h1.76c.09%200%20.16-.07.16-.16V9.5c0-.08-.07-.16-.16-.16h-1.76c-.08%200-.15.07-.15.16v1.58c0%20.09.07.16.15.16'/%3e%3c/svg%3e`,W=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M0%200h24v24H0z'/%3e%3cpath%20fill='%2342a5f5'%20d='M8%2016h8v2H8zm0-4h8v2H8zm6-10H6c-1.1%200-2%20.9-2%202v16c0%201.1.89%202%201.99%202H18c1.1%200%202-.9%202-2V8zm4%2018H6V4h7v5h5z'/%3e%3c/svg%3e`,rt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%233f51b5'%20d='M22.713%204H9.287a.5.5%200%200%200-.432.248l-6.708%2011.5a.5.5%200%200%200%200%20.504l6.708%2011.5a.5.5%200%200%200%20.432.248h13.426a.5.5%200%200%200%20.432-.248l6.708-11.5a.5.5%200%200%200%200-.504l-6.708-11.5A.5.5%200%200%200%2022.713%204m-6.937%2020.888-7.5-3.75A.5.5%200%200%201%208%2020.691v-9.382a.5.5%200%200%201%20.276-.447l7.5-3.75a.5.5%200%200%201%20.448%200l7.5%203.75a.5.5%200%200%201%20.276.447v9.382a.5.5%200%200%201-.276.447l-7.5%203.75a.5.5%200%200%201-.448%200'/%3e%3cpath%20fill='%237986cb'%20d='M22%2019.441v-6.882a.5.5%200%200%200-.276-.447l-5.5-2.75a.5.5%200%200%200-.448%200l-5.5%202.75a.5.5%200%200%200-.276.447v6.882a.5.5%200%200%200%20.276.447l5.5%202.75a.5.5%200%200%200%20.448%200l5.5-2.75a.5.5%200%200%200%20.276-.447'/%3e%3c/svg%3e`,it=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23f44336'%20d='M24%2028h4L18%204h-4L4%2028h4l8-19.422'/%3e%3cpath%20fill='%23f44336'%20d='M8%2020h16v4H8z'/%3e%3c/svg%3e`,at=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23e64a19'%20d='M13.172%202.828%2011.78%204.22l1.91%201.91%202%202A2.986%202.986%200%200%201%2020%2010.81a3.25%203.25%200%200%201-.31%201.31l2.06%202a2.68%202.68%200%200%201%203.37.57%202.86%202.86%200%200%201%20.88%202.117%203.02%203.02%200%200%201-.856%202.109A2.9%202.9%200%200%201%2023%2019.81a2.93%202.93%200%200%201-2.13-.87%202.694%202.694%200%200%201-.56-3.38l-2-2.06a3%203%200%200%201-.31.12V20a3%203%200%200%201%201.44%201.09%202.92%202.92%200%200%201%20.56%201.72%202.88%202.88%200%200%201-.878%202.128%202.98%202.98%200%200%201-2.048.871%202.981%202.981%200%200%201-2.514-4.719A3%203%200%200%201%2016%2020v-6.38a2.96%202.96%200%200%201-1.44-1.09%202.9%202.9%200%200%201-.56-1.72%202.9%202.9%200%200%201%20.31-1.31l-3.9-3.9-7.579%207.572a4%204%200%200%200-.001%205.658l10.342%2010.342a4%204%200%200%200%205.656%200l10.344-10.344a4%204%200%200%200%200-5.656L18.828%202.828a4%204%200%200%200-5.656%200'/%3e%3c/svg%3e`,G=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%2300acc1'%20d='M2%2012h4v2H2zm-2%204h6v2H0zm4%204h2v2H4zm16.954-5H14v3h3.239a4.42%204.42%200%200%201-3.531%202%202.65%202.65%200%200%201-2.053-.858%202.86%202.86%200%200%201-.628-2.28A4.515%204.515%200%200%201%2015.292%2013a2.73%202.73%200%200%201%201.749.584l2.962-1.185A5.6%205.6%200%200%200%2015.292%2010a7.526%207.526%200%200%200-7.243%206.5%205.614%205.614%200%200%200%205.659%206.5%207.526%207.526%200%200%200%207.243-6.5%206.4%206.4%200%200%200%20.003-1.5'/%3e%3cpath%20fill='%2300acc1'%20d='M26.292%2010a7.526%207.526%200%200%200-7.243%206.5%205.614%205.614%200%200%200%205.659%206.5%207.526%207.526%200%200%200%207.243-6.5%205.614%205.614%200%200%200-5.659-6.5m2.681%206.137A4.515%204.515%200%200%201%2024.708%2020a2.65%202.65%200%200%201-2.053-.858%202.86%202.86%200%200%201-.628-2.28A4.515%204.515%200%200%201%2026.292%2013a2.65%202.65%200%200%201%202.053.858%202.86%202.86%200%200%201%20.628%202.28Z'/%3e%3c/svg%3e`,ot=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23e65100'%20d='m4%204%202%2022%2010%202%2010-2%202-22Zm19.72%207H11.28l.29%203h11.86l-.802%209.335L15.99%2025l-6.635-1.646L8.93%2019h3.02l.19%202%203.86.77%203.84-.77.29-4H8.84L8%208h16Z'/%3e%3c/svg%3e`,st=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%2326a69a'%20d='M8.5%206h4l-4-4zM3.875%201H9.5l4%204v8.6c0%20.773-.616%201.4-1.375%201.4h-8.25c-.76%200-1.375-.627-1.375-1.4V2.4c0-.777.612-1.4%201.375-1.4M4%2013.6h8V8l-2.625%202.8L8%209.4zm1.25-7.7c-.76%200-1.375.627-1.375%201.4s.616%201.4%201.375%201.4c.76%200%201.375-.627%201.375-1.4S6.009%205.9%205.25%205.9'/%3e%3c/svg%3e`,ct=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23f44336'%20d='M4%2026h24v2H4zM28%204H7a1%201%200%200%200-1%201v13a4%204%200%200%200%204%204h10a4%204%200%200%200%204-4v-4h4a2%202%200%200%200%202-2V6a2%202%200%200%200-2-2m0%208h-4V6h4Z'/%3e%3c/svg%3e`,lt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23ffca28'%20d='M2%202v12h12V2zm6%206h1v4a1.003%201.003%200%200%201-1%201H7a1.003%201.003%200%200%201-1-1v-1h1v1h1zm3%200h2v1h-2v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201h-2v-1h2v-1h-1a1.003%201.003%200%200%201-1-1V9a1.003%201.003%200%200%201%201-1'/%3e%3c/svg%3e`,K=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cg%20fill='%23ffca28'%3e%3cpath%20d='M12%205v1h1v7H6v-1H5l-.069%202%209.069.001V5z'/%3e%3cpath%20d='M2%202v9h9V2zm3%203h1v4a1.003%201.003%200%200%201-1%201H4a1.003%201.003%200%200%201-1-1V8h1v1h1zm3%200h2v1H8v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201H7V9h2V8H8a1.003%201.003%200%200%201-1-1V6a1.003%201.003%200%200%201%201-1'/%3e%3c/g%3e%3c/svg%3e`,ut=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%20-960%20960%20960'%3e%3cpath%20fill='%23f9a825'%20d='M560-160v-80h120q17%200%2028.5-11.5T720-280v-80q0-38%2022-69t58-44v-14q-36-13-58-44t-22-69v-80q0-17-11.5-28.5T680-720H560v-80h120q50%200%2085%2035t35%2085v80q0%2017%2011.5%2028.5T840-560h40v160h-40q-17%200-28.5%2011.5T800-360v80q0%2050-35%2085t-85%2035zm-280%200q-50%200-85-35t-35-85v-80q0-17-11.5-28.5T120-400H80v-160h40q17%200%2028.5-11.5T160-600v-80q0-50%2035-85t85-35h120v80H280q-17%200-28.5%2011.5T240-680v80q0%2038-22%2069t-58%2044v14q36%2013%2058%2044t22%2069v80q0%2017%2011.5%2028.5T280-240h120v80z'/%3e%3c/svg%3e`,q=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%2326a69a'%20d='M30%2014H17.738a8%208%200%201%200%200%204H24v4h4v-4h2Zm-20%205a3%203%200%201%201%203-3%203.003%203.003%200%200%201-3%203'/%3e%3c/svg%3e`,J=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='1.725'%20x2='22.185'%20y1='22.67'%20y2='1.982'%20gradientTransform='translate(1.306%201.129)scale(.89324)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%237c4dff'/%3e%3cstop%20offset='.5'%20stop-color='%23d500f9'/%3e%3cstop%20offset='1'%20stop-color='%23ef5350'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20fill='url(%23a)'%20d='M2.975%202.976v18.048h18.05v-.03l-4.478-4.511-4.48-4.515%204.48-4.515%204.443-4.477z'/%3e%3c/svg%3e`,dt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%230277bd'%20d='M8%203a2%202%200%200%200-2%202v4a2%202%200%200%201-2%202H3v2h1a2%202%200%200%201%202%202v4a2%202%200%200%200%202%202h2v-2H8v-5a2%202%200%200%200-2-2%202%202%200%200%200%202-2V5h2V3m6%200a2%202%200%200%201%202%202v4a2%202%200%200%200%202%202h1v2h-1a2%202%200%200%200-2%202v4a2%202%200%200%201-2%202h-2v-2h2v-5a2%202%200%200%201%202-2%202%202%200%200%201-2-2V5h-2V3z'/%3e%3c/svg%3e`,ft=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23ff5722'%20d='M8%201a5.5%205.5%200%200%200-4%209.26V15l4-1.5%204%201.5v-4.74A5.49%205.49%200%200%200%208%201m0%201.5a4%204%200%201%201%200%208%204%204%200%200%201%200-8m0%202a2%202%200%201%200%200%204%202%202%200%200%200%200-4'/%3e%3c/svg%3e`,pt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ffd54f'%20d='M25%2012h-3V8a6%206%200%200%200-12%200v4H7a1%201%200%200%200-1%201v16a1%201%200%200%200%201%201h18a1%201%200%200%200%201-1V13a1%201%200%200%200-1-1M14%208a2%202%200%200%201%204%200v4h-4Zm2%2017a4%204%200%201%201%204-4%204%204%200%200%201-4%204'/%3e%3c/svg%3e`,mt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M0%200h24v24H0z'/%3e%3cpath%20fill='%23afb42b'%20d='M19%205v9h-5v5H5V5zm0-2H5c-1.1%200-2%20.9-2%202v14c0%201.1.9%202%202%202h10l6-6V5c0-1.1-.9-2-2-2m-7%2011H7v-2h5zm5-4H7V8h10z'/%3e%3c/svg%3e`,ht=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ef5350'%20d='m29.5%2024.02-1.6-.92a4.4%204.4%200%200%200%20.09-.9A1.3%201.3%200%200%200%2028%2022a5.6%205.6%200%200%200-.1-1.1l1.6-.92a.493.493%200%200%200%20.18-.68l-1.5-2.6a.45.45%200%200%200-.18-.18V6.01a2.006%202.006%200%200%200-2-2H4a2.006%202.006%200%200%200-2%202V22a2.006%202.006%200%200%200%202%202h10.53l-.03.02a.493.493%200%200%200-.18.68l1.5%202.6a.493.493%200%200%200%20.68.18l1.6-.92a5.9%205.9%200%200%200%201.9%201.09v1.85a.495.495%200%200%200%20.5.5h3a.495.495%200%200%200%20.5-.5v-1.85a5.9%205.9%200%200%200%201.9-1.09l1.6.92a.493.493%200%200%200%20.68-.18l1.5-2.6a.493.493%200%200%200-.18-.68M24%2022.01a1.99%201.99%200%200%201-.88%201.65l-.18.11a2.04%202.04%200%200%201-1.88%200l-.18-.11a1.99%201.99%200%200%201-.88-1.65V22a2%202%200%200%201%20.88-1.66l.18-.11a2.04%202.04%200%200%201%201.88%200l.18.11A2%202%200%200%201%2024%2022Zm2-4.63-.1.06a5.9%205.9%200%200%200-1.9-1.09V14.5a.495.495%200%200%200-.5-.5h-3a.495.495%200%200%200-.5.5v1.85a5.9%205.9%200%200%200-1.9%201.09l-1.6-.92a.493.493%200%200%200-.68.18l-1.5%202.6a.493.493%200%200%200%20.18.68l1.6.92A5.6%205.6%200%200%200%2016%2022v.01L4%2022V10.01h22Z'/%3e%3c/svg%3e`,gt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%2342a5f5'%20d='m14%2010-4%203.5L6%2010H4v12h4v-6l2%202%202-2v6h4V10zm12%206v-6h-4v6h-4l6%208%206-8z'/%3e%3c/svg%3e`,Y=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%238bc34a'%20d='M16%2020.003v2h4a2%202%200%200%200%202-2v-2a2%202%200%200%200-2-2h-2v-2h4v-2h-4a2%202%200%200%200-2%202v2a2%202%200%200%200%202%202h2v2Z'/%3e%3cpath%20fill='%238bc34a'%20d='m16%203.003-12%207v14l4%202h6v-13.5a.5.5%200%200%200-.5-.5h-1a.5.5%200%200%200-.5.5v11.5H8l-2-1.034V11.15l10-5.833%2010%205.833v11.703l-10%205.833-1.745-1.022L13%2029.253l3%201.75%2012-7v-14Z'/%3e%3c/svg%3e`,_t=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23e53935'%20d='M4%204v24h24V4Zm20%2020h-4V12h-4v12H8V8h16Z'/%3e%3c/svg%3e`,vt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23ef5350'%20d='M13%209h5.5L13%203.5zM6%202h8l6%206v12a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2m4.93%2010.44c.41.9.93%201.64%201.53%202.15l.41.32c-.87.16-2.07.44-3.34.93l-.11.04.5-1.04c.45-.87.78-1.66%201.01-2.4m6.48%203.81c.18-.18.27-.41.28-.66.03-.2-.02-.39-.12-.55-.29-.47-1.04-.69-2.28-.69l-1.29.07-.87-.58c-.63-.52-1.2-1.43-1.6-2.56l.04-.14c.33-1.33.64-2.94-.02-3.6a.85.85%200%200%200-.61-.24h-.24c-.37%200-.7.39-.79.77-.37%201.33-.15%202.06.22%203.27v.01c-.25.88-.57%201.9-1.08%202.93l-.96%201.8-.89.49c-1.2.75-1.77%201.59-1.88%202.12-.04.19-.02.36.05.54l.03.05.48.31.44.11c.81%200%201.73-.95%202.97-3.07l.18-.07c1.03-.33%202.31-.56%204.03-.75%201.03.51%202.24.74%203%20.74.44%200%20.74-.11.91-.3m-.41-.71.09.11c-.01.1-.04.11-.09.13h-.04l-.19.02c-.46%200-1.17-.19-1.9-.51.09-.1.13-.1.23-.1%201.4%200%201.8.25%201.9.35M7.83%2017c-.65%201.19-1.24%201.85-1.69%202%20.05-.38.5-1.04%201.21-1.69zm3.02-6.91c-.23-.9-.24-1.63-.07-2.05l.07-.12.15.05c.17.24.19.56.09%201.1l-.03.16-.16.82z'/%3e%3c/svg%3e`,X=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%231e88e5'%20d='M12%2018.08c-6.63%200-12-2.72-12-6.08s5.37-6.08%2012-6.08S24%208.64%2024%2012s-5.37%206.08-12%206.08m-5.19-7.95c.54%200%20.91.1%201.09.31.18.2.22.56.13%201.03-.1.53-.29.87-.58%201.09q-.42.33-1.29.33h-.87l.53-2.76zm-3.5%205.55h1.44l.34-1.75h1.23c.54%200%20.98-.06%201.33-.17.35-.12.67-.31.96-.58.24-.22.43-.46.58-.73.15-.26.26-.56.31-.88.16-.78.05-1.39-.33-1.82-.39-.44-.99-.65-1.82-.65H4.59zm7.25-8.33-1.28%206.58h1.42l.74-3.77h1.14c.36%200%20.6.06.71.18s.13.34.07.66l-.57%202.93h1.45l.59-3.07c.13-.62.03-1.07-.27-1.36-.3-.27-.85-.4-1.65-.4h-1.27L12%207.35zM18%2010.13c.55%200%20.91.1%201.09.31.18.2.22.56.13%201.03-.1.53-.29.87-.57%201.09-.29.22-.72.33-1.3.33h-.85l.5-2.76zm-3.5%205.55h1.44l.34-1.75h1.22c.55%200%201-.06%201.35-.17.35-.12.65-.31.95-.58.24-.22.44-.46.58-.73.15-.26.26-.56.32-.88.15-.78.04-1.39-.34-1.82-.36-.44-.99-.65-1.82-.65h-2.75z'/%3e%3c/svg%3e`,Z=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23e64a19'%20d='M6%202h8l6%206v12a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2m7%201.5V9h5.5zM8%2011v2h1v6H8v1h4v-1h-1v-2h2a3%203%200%200%200%203-3%203%203%200%200%200-3-3zm5%202a1%201%200%200%201%201%201%201%201%200%200%201-1%201h-2v-2z'/%3e%3c/svg%3e`,yt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%2303a9f4'%20d='M29.07%206H7.677A1.535%201.535%200%200%200%206.24%207.113l-4.2%2017.774A.852.852%200%200%200%202.93%2026h21.393a1.535%201.535%200%200%200%201.436-1.113L29.96%207.112A.852.852%200%200%200%2029.07%206M8.626%2023.797a1.4%201.4%200%200%201-1.814-.31l-.007-.009a1.075%201.075%200%200%201%20.315-1.599l9.6-6.061-6.102-5.852-.01-.01a1.068%201.068%200%200%201%20.084-1.625l.037-.03a1.38%201.38%200%200%201%201.8.07l7.233%206.957a1.1%201.1%200%200%201%20.236.739%201.08%201.08%200%200%201-.412.79c-.074.04-.146.119-10.951%206.935ZM24%2022.94A1.135%201.135%200%200%201%2022.803%2024h-5.634a1.061%201.061%200%201%201%20.001-2.112h5.633A1.134%201.134%200%200%201%2024%2022.938Z'/%3e%3c/svg%3e`,bt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23f44336'%20d='M2%208h4v1H2zm0%206h4v1H2zm9-10h3v1h-3zM2%202h3v1H2z'/%3e%3cpath%20fill='%23f9a825'%20d='M9%202h3v1H9zm1%204h4v1h-4zm-5%206h1v1H5zm-3-2h6v1H2z'/%3e%3cpath%20fill='%2326a69a'%20d='M2%2012h3v1H2zm7-4h5v1H9zM2%204h4v1H2zm3-2h4v1H5z'/%3e%3cpath%20fill='%23ba68c8'%20d='M2%206h3v1H2zm7-2h2v1H9zm-1%206h4v1H8z'/%3e%3c/svg%3e`,Q=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%230288d1'%20d='M9.86%202A2.86%202.86%200%200%200%207%204.86v1.68h4.29c.39%200%20.71.57.71.96H4.86A2.86%202.86%200%200%200%202%2010.36v3.781a2.86%202.86%200%200%200%202.86%202.86h1.18v-2.68a2.85%202.85%200%200%201%202.85-2.86h5.25c1.58%200%202.86-1.271%202.86-2.851V4.86A2.86%202.86%200%200%200%2014.14%202zm-.72%201.61c.4%200%20.72.12.72.71s-.32.891-.72.891c-.39%200-.71-.3-.71-.89s.32-.711.71-.711'/%3e%3cpath%20fill='%23fdd835'%20d='M17.959%207v2.68a2.85%202.85%200%200%201-2.85%202.859H9.86A2.85%202.85%200%200%200%207%2015.389v3.75a2.86%202.86%200%200%200%202.86%202.86h4.28A2.86%202.86%200%200%200%2017%2019.14v-1.68h-4.291c-.39%200-.709-.57-.709-.96h7.14A2.86%202.86%200%200%200%2022%2013.64V9.86A2.86%202.86%200%200%200%2019.14%207zM8.32%2011.513l-.004.004.038-.004zm6.54%207.276c.39%200%20.71.3.71.89a.71.71%200%200%201-.71.71c-.4%200-.72-.12-.72-.71s.32-.89.72-.89'/%3e%3c/svg%3e`,xt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%2300bcd4'%20d='M16%2012c7.444%200%2012%202.59%2012%204s-4.556%204-12%204-12-2.59-12-4%204.556-4%2012-4m0-2c-7.732%200-14%202.686-14%206s6.268%206%2014%206%2014-2.686%2014-6-6.268-6-14-6'/%3e%3cpath%20fill='%2300bcd4'%20d='M16%2014a2%202%200%201%200%202%202%202%202%200%200%200-2-2'/%3e%3cpath%20fill='%2300bcd4'%20d='M10.458%205.507c2.017%200%205.937%203.177%209.006%208.493%203.722%206.447%203.757%2011.687%202.536%2012.392a.9.9%200%200%201-.457.1c-2.017%200-5.938-3.176-9.007-8.492C8.814%2011.553%208.779%206.313%2010%205.608a.9.9%200%200%201%20.458-.1m-.001-2A2.87%202.87%200%200%200%209%203.875C6.13%205.532%206.938%2012.304%2010.804%2019c3.284%205.69%207.72%209.493%2010.74%209.493A2.87%202.87%200%200%200%2023%2028.124c2.87-1.656%202.062-8.428-1.804-15.124-3.284-5.69-7.72-9.493-10.74-9.493Z'/%3e%3cpath%20fill='%2300bcd4'%20d='M21.543%205.507a.9.9%200%200%201%20.457.1c1.221.706%201.186%205.946-2.536%2012.393-3.07%205.316-6.99%208.493-9.007%208.493a.9.9%200%200%201-.457-.1C8.779%2025.686%208.814%2020.446%2012.536%2014c3.07-5.316%206.99-8.493%209.007-8.493m0-2c-3.02%200-7.455%203.804-10.74%209.493C6.939%2019.696%206.13%2026.468%209%2028.124a2.87%202.87%200%200%200%201.457.369c3.02%200%207.455-3.804%2010.74-9.493C25.061%2012.304%2025.87%205.532%2023%203.876a2.87%202.87%200%200%200-1.457-.369'/%3e%3c/svg%3e`,St=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%230288d1'%20d='M16%2012c7.444%200%2012%202.59%2012%204s-4.556%204-12%204-12-2.59-12-4%204.556-4%2012-4m0-2c-7.732%200-14%202.686-14%206s6.268%206%2014%206%2014-2.686%2014-6-6.268-6-14-6'/%3e%3cpath%20fill='%230288d1'%20d='M16%2014a2%202%200%201%200%202%202%202%202%200%200%200-2-2'/%3e%3cpath%20fill='%230288d1'%20d='M10.458%205.507c2.017%200%205.937%203.177%209.006%208.493%203.722%206.447%203.757%2011.687%202.536%2012.392a.9.9%200%200%201-.457.1c-2.017%200-5.938-3.176-9.007-8.492C8.814%2011.553%208.779%206.313%2010%205.608a.9.9%200%200%201%20.458-.1m-.001-2A2.87%202.87%200%200%200%209%203.875C6.13%205.532%206.938%2012.304%2010.804%2019c3.284%205.69%207.72%209.493%2010.74%209.493A2.87%202.87%200%200%200%2023%2028.124c2.87-1.656%202.062-8.428-1.804-15.124-3.284-5.69-7.72-9.493-10.74-9.493Z'/%3e%3cpath%20fill='%230288d1'%20d='M21.543%205.507a.9.9%200%200%201%20.457.1c1.221.706%201.186%205.946-2.536%2012.393-3.07%205.316-6.99%208.493-9.007%208.493a.9.9%200%200%201-.457-.1C8.779%2025.686%208.814%2020.446%2012.536%2014c3.07-5.316%206.99-8.493%209.007-8.493m0-2c-3.02%200-7.455%203.804-10.74%209.493C6.939%2019.696%206.13%2026.468%209%2028.124a2.87%202.87%200%200%200%201.457.369c3.02%200%207.455-3.804%2010.74-9.493C25.061%2012.304%2025.87%205.532%2023%203.876a2.87%202.87%200%200%200-1.457-.369'/%3e%3c/svg%3e`,Ct=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M0%200h24v24H0z'/%3e%3cpath%20fill='%2342a5f5'%20d='M8%201C4.136%201%201%204.136%201%208s3.136%207%207%207%207-3.136%207-7-3.136-7-7-7m1%2011H7V7.5h2zm0-6H7V4h2z'/%3e%3c/svg%3e`,wt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23f44336'%20d='M18.041%203.177c2.24.382%202.879%201.919%202.843%203.527V6.67l-1.013%2013.266-13.132.897h.008c-1.093-.044-3.518-.151-3.634-3.545l1.217-2.222%202.462%205.74%202.097-6.77-.045.009.018-.018%206.85%202.186L13.945%209.3l6.53-.409-5.144-4.212%202.71-1.51v.009M3.113%2017.252v.017zM6.916%206.874c2.63-2.622%206.033-4.168%207.34-2.844%201.297%201.306-.072%204.523-2.702%207.135-2.666%202.613-6.015%204.248-7.322%202.933-1.306-1.324.036-4.612%202.675-7.224z'/%3e%3c/svg%3e`,Tt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ff7043'%20d='m30%2012-4-2V6h-4l-2-4-4%202-4-2-2%204H6v4l-4%202%202%204-2%204%204%202v4h4l2%204%204-2%204%202%202-4h4v-4l4-2-2-4ZM6%2016a9.9%209.9%200%200%201%20.842-4H10v8H6.842A9.9%209.9%200%200%201%206%2016m10%2010a9.98%209.98%200%200%201-7.978-4H16v-2h-2v-2h4c.819.819.297%202.308%201.179%203.37a1.89%201.89%200%200%200%201.46.63h3.34A9.98%209.98%200%200%201%2016%2026m-2-12v-2h4a1%201%200%200%201%200%202Zm11.158%206H24a2.006%202.006%200%200%201-2-2%202%202%200%200%200-2-2%203%203%200%200%200%203-3q0-.08-.004-.161A3.115%203.115%200%200%200%2019.83%2010H8.022a9.986%209.986%200%200%201%2017.136%2010'/%3e%3c/svg%3e`,Et=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ec407a'%20d='M27.837%205.673a4.33%204.33%200%200%200-2.293-2.701c-2.362-1.261-6.11-1.298-9.548-.092a26.3%2026.3%200%200%200-8.76%204.966c-2.752%202.542-3.438%204.925-3.189%206.194.523%202.668%203.274%204.539%205.485%206.042.418.284.822.559%201.175.816-1.429.76-4.261%202.444-5.088%204.248a3.88%203.88%200%200%200-.118%203.332A2.37%202.37%200%200%200%206.869%2029.8a5.6%205.6%200%200%200%201.49.2%206.35%206.35%200%200%200%205.19-2.856%206.74%206.74%200%200%200%20.864-5.382%207.3%207.3%200%200%201%202.044-.03%203.92%203.92%200%200%201%202.816%201.311%201.82%201.82%200%200%201%20.423%201.262%201.55%201.55%200%200%201-.772%201.05c-.234.14-.586.355-.504.803.036.194.198.633.894.512a2.93%202.93%200%200%200%202.145-2.651%204%204%200%200%200-1.197-2.904%205.94%205.94%200%200%200-4.396-1.626%2010.6%2010.6%200%200%200-2.672.304%2020%2020%200%200%200-2.203-1.846c-1.712-1.3-3.33-2.529-3.235-4.26.125-2.263%202.468-4.532%206.964-6.744%204.016-1.976%207.254-2.037%208.944-1.438a2%202%200%200%201%201.204.883%202.77%202.77%200%200%201-.36%202.47%209.71%209.71%200%200%201-7.425%204.304%203.86%203.86%200%200%201-3.238-.757c-.278-.302-.593-.645-1.074-.383q-.565.31-.225%201.189a3.9%203.9%200%200%200%202.407%201.92%2011.7%2011.7%200%200%200%207.128-.671c3.527-1.35%206.681-5.202%205.756-8.787M11.895%2024.475a4%204%200%200%201-.192.468%204.5%204.5%200%200%201-.753%201.081%202.83%202.83%200%200%201-2.533%201.107c-.056-.032-.078-.146-.085-.193a3.28%203.28%200%200%201%201.076-2.284%2011.3%2011.3%200%200%201%202.644-1.933%203.85%203.85%200%200%201-.157%201.754'/%3e%3c/svg%3e`,Dt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M0%200h24v24H0z'/%3e%3cpath%20fill='%2342a5f5'%20d='M19.43%2012.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46a.5.5%200%200%200-.61-.22l-2.49%201c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.49.49%200%200%200%2014%202h-4c-.25%200-.46.18-.49.42l-.38%202.65c-.61.25-1.17.59-1.69.98l-2.49-1a.6.6%200%200%200-.18-.03c-.17%200-.34.09-.43.25l-2%203.46c-.13.22-.07.49.12.64l2.11%201.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11%201.65c-.19.15-.24.42-.12.64l2%203.46a.5.5%200%200%200%20.61.22l2.49-1c.52.4%201.08.73%201.69.98l.38%202.65c.03.24.24.42.49.42h4c.25%200%20.46-.18.49-.42l.38-2.65c.61-.25%201.17-.59%201.69-.98l2.49%201q.09.03.18.03c.17%200%20.34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64zm-1.98-1.71c.04.31.05.52.05.73s-.02.43-.05.73l-.14%201.13.89.7%201.08.84-.7%201.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16%201.13-.2%201.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21%201.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21%201.27.51%201.04.42.9-.68c.43-.32.84-.56%201.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19%201.35.16%201.13%201.06.43c.43.18.83.41%201.23.71l.91.7%201.06-.43%201.27-.51.7%201.21-1.07.85-.89.7zM12%208c-2.21%200-4%201.79-4%204s1.79%204%204%204%204-1.79%204-4-1.79-4-4-4m0%206c-1.1%200-2-.9-2-2s.9-2%202-2%202%20.9%202%202-.9%202-2%202'/%3e%3c/svg%3e`,Ot=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ffb300'%20d='M29.168%2014.03a2.7%202.7%200%200%200-1.968-.83%202.51%202.51%200%200%200-1.929.8h-4.443l3.078-3.078a2.835%202.835%200%200%200%202.857-2.842%202.6%202.6%200%200%200-.831-1.969%202.82%202.82%200%200%200-2.014-.788%202.67%202.67%200%200%200-1.968.788%202.36%202.36%200%200%200-.812%201.922L18%2011.17V6.726a2.51%202.51%200%200%200%20.8-1.929%202.7%202.7%200%200%200-.832-1.968%202.745%202.745%200%200%200-3.936%200%202.7%202.7%200%200%200-.832%201.968%202.51%202.51%200%200%200%20.8%201.93v4.443l-3.138-3.138a2.36%202.36%200%200%200-.812-1.922%202.66%202.66%200%200%200-1.968-.788%202.83%202.83%200%200%200-2.014.788%202.6%202.6%200%200%200-.831%201.969%202.74%202.74%200%200%200%20.831%202.013%202.8%202.8%200%200%200%202.026.829l3.078%203.078H6.729a2.51%202.51%200%200%200-1.929-.8%202.7%202.7%200%200%200-1.968.831%202.745%202.745%200%200%200%200%203.937%202.7%202.7%200%200%200%201.968.832%202.51%202.51%200%200%200%201.929-.8h4.443l-3.078%203.077a2.835%202.835%200%200%200-2.857%202.842%202.6%202.6%200%200%200%20.831%201.969%202.82%202.82%200%200%200%202.014.788%202.67%202.67%200%200%200%201.968-.788%202.36%202.36%200%200%200%20.812-1.922L14%2020.827v4.444a2.51%202.51%200%200%200-.8%201.929%202.784%202.784%200%200%200%204.768%201.968A2.7%202.7%200%200%200%2018.8%2027.2a2.51%202.51%200%200%200-.8-1.929v-4.444l3.138%203.138a2.36%202.36%200%200%200%20.812%201.922%202.66%202.66%200%200%200%201.968.788%202.83%202.83%200%200%200%202.014-.788%202.6%202.6%200%200%200%20.831-1.969%202.74%202.74%200%200%200-.831-2.013%202.8%202.8%200%200%200-2.026-.829L20.828%2018h4.443a2.51%202.51%200%200%200%201.93.8%202.784%202.784%200%200%200%201.967-4.769Z'/%3e%3c/svg%3e`,kt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23ff6e40'%20d='M17.087%2019.721c-2.36%201.36-5.59%201.5-8.86.1a13.8%2013.8%200%200%201-6.23-5.32c.67.55%201.46%201%202.3%201.4%203.37%201.57%206.73%201.46%209.1%200-3.37-2.59-6.24-5.96-8.37-8.71-.45-.45-.78-1.01-1.12-1.51%208.28%206.05%207.92%207.59%202.41-1.01%204.89%204.94%209.43%207.74%209.43%207.74.16.09.25.16.36.22.1-.25.19-.51.26-.78.79-2.85-.11-6.12-2.08-8.81%204.55%202.75%207.25%207.91%206.12%2012.24-.03.11-.06.22-.05.39%202.24%202.83%201.64%205.78%201.35%205.22-1.21-2.39-3.48-1.65-4.62-1.17'/%3e%3c/svg%3e`,At=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%238bc34a'%20d='M6%202h8l6%206v12a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2m7%201.5V9h5.5zm4%207.5h-4v2h1l-2%201.67L10%2013h1v-2H7v2h1l3%202.5L8%2018H7v2h4v-2h-1l2-1.67L14%2018h-1v2h4v-2h-1l-3-2.5%203-2.5h1z'/%3e%3c/svg%3e`,jt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%234db6ac'%20d='M23.5%2012H8c.89-2.3%204.02-4%207.75-4s6.86%201.7%207.75%204M14%2012h15.5c-.89%202.3-4.02%204-7.75%204s-6.86-1.7-7.75-4m3.5%208H2c.89-2.3%204.02-4%207.75-4s6.86%201.7%207.75%204M8%2020h15.5c-.89%202.3-4.02%204-7.75%204S8.89%2022.3%208%2020'/%3e%3c/svg%3e`,Mt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ffca28'%20d='M20%204v2h-2v4.531l.264.461%207.473%2013.078a2%202%200%200%201%20.263.992V26a2%202%200%200%201-2%202H8a2%202%200%200%201-2-2v-.938a2%202%200%200%201%20.264-.992l7.473-13.078.263-.46V6h-2V4zm0-2h-8a2%202%200%200%200-2%202v2a2%202%200%200%200%202%202v2L4.527%2023.078A4%204%200%200%200%204%2025.062V26a4%204%200%200%200%204%204h16a4%204%200%200%200%204-4v-.938a4%204%200%200%200-.527-1.984L20%2010V8a2%202%200%200%200%202-2V4a2%202%200%200%200-2-2'/%3e%3ccircle%20cx='17'%20cy='17'%20r='1'%20fill='%23ffca28'/%3e%3cpath%20fill='%23ffca28'%20d='M19.72%2020.715a1%201%200%200%200-1.134-.318%205%205%200%200%201-1.18.262%203.95%203.95%200%200%201-1.862-.292%202.74%202.74%200%200%200-3.371.489%202%202%200%200%200-.237.35L10%2024h12Z'/%3e%3c/svg%3e`,Nt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%2300bcd4'%20d='M20%204v2h-2v4.531l.264.461%207.473%2013.078a2%202%200%200%201%20.263.992V26a2%202%200%200%201-2%202H8a2%202%200%200%201-2-2v-.938a2%202%200%200%201%20.264-.992l7.473-13.078.263-.46V6h-2V4zm0-2h-8a2%202%200%200%200-2%202v2a2%202%200%200%200%202%202v2L4.527%2023.078A4%204%200%200%200%204%2025.062V26a4%204%200%200%200%204%204h16a4%204%200%200%200%204-4v-.938a4%204%200%200%200-.527-1.984L20%2010V8a2%202%200%200%200%202-2V4a2%202%200%200%200-2-2'/%3e%3ccircle%20cx='17'%20cy='17'%20r='1'%20fill='%2300bcd4'/%3e%3cpath%20fill='%2300bcd4'%20d='M19.72%2020.715a1%201%200%200%200-1.134-.318%205%205%200%200%201-1.18.262%203.95%203.95%200%200%201-1.862-.292%202.74%202.74%200%200%200-3.371.489%202%202%200%200%200-.237.35L10%2024h12Z'/%3e%3c/svg%3e`,Pt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%230288d1'%20d='M20%204v2h-2v4.531l.264.461%207.473%2013.078a2%202%200%200%201%20.263.992V26a2%202%200%200%201-2%202H8a2%202%200%200%201-2-2v-.938a2%202%200%200%201%20.264-.992l7.473-13.078.263-.46V6h-2V4zm0-2h-8a2%202%200%200%200-2%202v2a2%202%200%200%200%202%202v2L4.527%2023.078A4%204%200%200%200%204%2025.062V26a4%204%200%200%200%204%204h16a4%204%200%200%200%204-4v-.938a4%204%200%200%200-.527-1.984L20%2010V8a2%202%200%200%200%202-2V4a2%202%200%200%200-2-2'/%3e%3ccircle%20cx='17'%20cy='17'%20r='1'%20fill='%230288d1'/%3e%3cpath%20fill='%230288d1'%20d='M19.72%2020.715a1%201%200%200%200-1.134-.318%205%205%200%200%201-1.18.262%203.95%203.95%200%200%201-1.862-.292%202.74%202.74%200%200%200-3.371.489%202%202%200%200%200-.237.35L10%2024h12Z'/%3e%3c/svg%3e`,Ft=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%23cfd8dc'%20d='M4%206V4h8v2H9v7H7V6z'/%3e%3cpath%20fill='%23ef5350'%20d='M4%201v1H2v12h2v1H1V1zm8%200v1h2v12h-2v1h3V1z'/%3e%3c/svg%3e`,It=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23757575'%20d='M15%202H6a2.006%202.006%200%200%200-2%202v22a2.006%202.006%200%200%200%202%202h6v-4H6v-2h6v-2H6v-2h6v-2H6v-2h6v-2h2V4l8%208h2v-1Z'%20data-mit-no-recolor='true'/%3e%3cpath%20fill='%230288d1'%20d='M12%2012v18h18V12Zm8%206h-2v8h-2v-8h-2v-2h6Zm8%200h-4v2h2a2.006%202.006%200%200%201%202%202v2a2.006%202.006%200%200%201-2%202h-4v-2h4v-2h-2a2.006%202.006%200%200%201-2-2v-2a2.006%202.006%200%200%201%202-2h4Z'/%3e%3c/svg%3e`,Lt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='%230288d1'%20d='M2%202v12h12V2zm4%206h3v1H8v4H7V9H6zm5%200h2v1h-2v1h1a1.003%201.003%200%200%201%201%201v1a1.003%201.003%200%200%201-1%201h-2v-1h2v-1h-1a1.003%201.003%200%200%201-1-1V9a1.003%201.003%200%200%201%201-1'/%3e%3c/svg%3e`,Rt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cg%20fill='%230288d1'%3e%3cpath%20d='M2%202v12h12V2zm1%201h10v10H3z'/%3e%3cpath%20d='M5%207v1h1v4h1V8h1V7zm5%200a1.003%201.003%200%200%200-1%201v1a1.003%201.003%200%200%200%201%201h1v1H9v1h2a1.003%201.003%200%200%200%201-1v-1a1.003%201.003%200%200%200-1-1h-1V8h2V7z'/%3e%3c/g%3e%3c/svg%3e`,zt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23ff9800'%20d='m24%206%202%206h-4l-2-6h-3l2%206h-4l-2-6h-3l2%206H8L6%206H5a3%203%200%200%200-3%203v14a3%203%200%200%200%203%203h22a3%203%200%200%200%203-3V6Z'/%3e%3c/svg%3e`,Bt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cpath%20fill='%23a0f'%20d='M29.313%2012h-6.664a1.427%201.427%200%200%201-1.1-2.24l4.398-6.676A.703.703%200%200%200%2025.397%202H8.428a.62.62%200%200%200-.55.289l-5.77%208.627A.703.703%200%200%200%202.658%2012h8.175a1.427%201.427%200%200%201%201.099%202.24l-4.48%206.676A.702.702%200%200%200%208%2022l6.695.002A1.34%201.34%200%200%201%2016%2023.375v5.934a.652.652%200%200%200%201.168.433l12.694-16.586a.725.725%200%200%200-.55-1.156'/%3e%3c/svg%3e`,Vt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%2301579b'%20d='M6%202h8l6%206v12a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2m7%201.5V9h5.5zM7%2013l1.5%207h2l1.5-3%201.5%203h2l1.5-7h1v-2h-4v2h1l-.9%204.2L13%2015h-2l-1.1%202.2L9%2013h1v-2H6v2z'/%3e%3c/svg%3e`,Ht=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%238bc34a'%20d='M13%209h5.5L13%203.5zM6%202h8l6%206v12a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4c0-1.11.89-2%202-2m.12%2013.5%203.74%203.74%201.42-1.41-2.33-2.33%202.33-2.33-1.42-1.41zm11.16%200-3.74-3.74-1.42%201.41%202.33%202.33-2.33%202.33%201.42%201.41z'/%3e%3c/svg%3e`,Ut=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23ff5252'%20d='M13%209h5.5L13%203.5zM6%202h8l6%206v12c0%201.1-.9%202-2%202H6c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2m12%2016v-2H9v2zm-4-4v-2H6v2z'/%3e%3c/svg%3e`,Wt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23afb42b'%20d='M14%2017h-2v-2h-2v-2h2v2h2m0-6h-2v2h2v2h-2v-2h-2V9h2V7h-2V5h2v2h2m5-4H5c-1.11%200-2%20.89-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2V5a2%202%200%200%200-2-2'/%3e%3c/svg%3e`,Gt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23fbc02d'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23fffde7'%20d='M10%209H8v1h3V7h-1zm4%200V7h-1v3h3V9Zm-6%204h2v2h1v-3H8Zm5%200v2h1v-2h2v-1h-3z'/%3e%3c/svg%3e`,$=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%238d6e63'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23d7ccc8'%20d='M7.5%2011c-.277%200-.5.223-.5.5v2c0%20.277.223.5.5.5h8c.277%200%20.5-.223.5-.5v-2c0-.277-.223-.5-.5-.5Z'/%3e%3c/svg%3e`,Kt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23c0ca33'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23f0f4c3'%20d='M6%2010h4v4H6zm5%200h4v4h-4zM6%205h4v4H6zm4.172%202L13%204.172%2015.829%207%2013%209.829z'/%3e%3c/svg%3e`,qt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%2300acc1'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%2380deea'%20d='M11.5%2012.075A1.6%201.6%200%200%201%209.882%2010.5a1.62%201.62%200%201%201%201.62%201.575m3.437-1.138a4%204%200%200%200%20.032-.438%204%204%200%200%200-.032-.45l.976-.733a.223.223%200%200%200%20.056-.288l-.926-1.556a.23.23%200%200%200-.283-.1l-1.15.45a3.4%203.4%200%200%200-.783-.44l-.171-1.193A.23.23%200%200%200%2012.425%206h-1.85a.23.23%200%200%200-.231.189l-.171%201.193a3.4%203.4%200%200%200-.781.44l-1.152-.45a.23.23%200%200%200-.282.1l-.926%201.556a.22.22%200%200%200%20.056.288l.975.734a4%204%200%200%200-.032.45%204%204%200%200%200%20.032.437l-.975.746a.22.22%200%200%200-.056.288l.925%201.558a.235.235%200%200%200%20.283.099l1.152-.455a3.2%203.2%200%200%200%20.781.446l.171%201.192a.23.23%200%200%200%20.232.189h1.85a.23.23%200%200%200%20.232-.189l.17-1.192a3.4%203.4%200%200%200%20.783-.446l1.15.455a.24.24%200%200%200%20.284-.1l.924-1.557a.223.223%200%200%200-.055-.288Z'/%3e%3c/svg%3e`,Jt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2016%2016'%3e%3cdefs%3e%3cpath%20id='a'%20fill='%23d1c4e9'%20d='M7%2010V9H6v4h1v-1h1v1a1%201%200%200%201-1%201H6a1%201%200%200%201-1-1V9a1%201%200%200%201%201-1h1a1%201%200%200%201%201%201v1Zm5%200V9a1%201%200%200%200-1-1h-1a1%201%200%200%200-1%201v1c0%20.42.179%201.17%201.373%201.483.346.092.627.323.627.517v1h-1v-1H9v1a1%201%200%200%200%201%201h1a1%201%200%200%200%201-1v-1a1.67%201.67%200%200%200-1.373-1.483C10%2010.352%2010%2010.097%2010%2010V9h1v1Zm4%200V9a1%201%200%200%200-1-1h-1a1%201%200%200%200-1%201v1c0%20.42.179%201.17%201.373%201.483.346.092.627.323.627.517v1h-1v-1h-1v1a1%201%200%200%200%201%201h1a1%201%200%200%200%201-1v-1a1.67%201.67%200%200%200-1.373-1.483C14%2010.352%2014%2010.097%2014%2010V9h1v1Z'/%3e%3c/defs%3e%3cpath%20id='folder'%20fill='%237e57c2'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cg%20id='motive'%3e%3cuse%20xlink:href='%23a'/%3e%3cuse%20xlink:href='%23a'/%3e%3c/g%3e%3c/svg%3e`,Yt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%230277bd'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23b3e5fc'%20d='M12%205H8.5a.5.5%200%200%200-.5.5v8a.5.5%200%200%200%20.5.5h6a.5.5%200%200%200%20.5-.5V8Zm0%208H9v-1h3zm2-2H9v-1h5zm-2.414-2.586V6L14%208.414Z'/%3e%3c/svg%3e`,Xt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23ff7043'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23ffccbc'%20d='m6.297%209.295%202.892-2.897.846.85a.99.99%200%200%200%20.465%201.116v2.772a1%201%200%200%200-.5.865%201.001%201.001%200%200%200%202.001%200%201%201%200%200%200-.5-.865V8.704l1.035%201.046a.6.6%200%200%200-.035.25%201.001%201.001%200%201%200%201.001-1.001.6.6%200%200%200-.25.035l-1.287-1.285a.99.99%200%200%200-.575-1.171%201.05%201.05%200%200%200-.64-.045l-.851-.846.396-.39a.987.987%200%200%201%201.41%200l3.998%203.998a.987.987%200%200%201%200%201.41l-3.998%203.998a.987.987%200%200%201-1.41%200l-3.998-3.998a.987.987%200%200%201%200-1.41'/%3e%3c/svg%3e`,Zt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%237e57c2'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23d1c4e9'%20d='M12.5%205A1.5%201.5%200%200%200%2011%206.5a1.5%201.5%200%200%200%201%201.41V12a1%201%200%200%201-2%200v-1h1L9%209v3a2%202%200%200%200%204%200V7.91a1.5%201.5%200%200%200%201-1.41A1.5%201.5%200%200%200%2012.5%205m0%201a.5.5%200%201%201%200%201%20.5.5%200%200%201%200-1'/%3e%3c/svg%3e`,Qt=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23009688'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23b2dfdb'%20d='M12%205H8.5a.5.5%200%200%200-.5.5v8a.5.5%200%200%200%20.5.5h6a.5.5%200%200%200%20.5-.5V8Zm-2%203a1%201%200%201%201-1%201%201.005%201.005%200%200%201%201-1m4%205H9l2-2%201%201%202-2zm-2.414-4.586V6L14%208.414Z'/%3e%3c/svg%3e`,$t=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23c0ca33'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23f0f4c3'%20d='M11.5%208a1.5%201.5%200%200%200%20.002-3H11.5A1.5%201.5%200%200%200%2010%206.5%201.5%201.5%200%200%200%2011.5%208m0%201.987C10.387%208.947%208.523%207.996%207%208v5c1.595%200%203.425%201.002%204.5%202%201.113-1.039%202.978-2.002%204.5-2V8c-1.522-.003-3.387.947-4.5%201.986'/%3e%3c/svg%3e`,en=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23039be5'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23b3e5fc'%20d='M11%205a5%205%200%201%200%205%205%205%205%200%200%200-5-5m3.459%203H12.98a8%208%200%200%200-.671-1.77A4.02%204.02%200%200%201%2014.459%208M11%206a7%207%200%200%201%20.945%202h-1.89A7%207%200%200%201%2011%206m-1.309.23A8%208%200%200%200%209.02%208H7.541a4.02%204.02%200%200%201%202.15-1.77M7.131%2011a3.85%203.85%200%200%201%200-2h1.704a7.8%207.8%200%200%200%200%202zm.41%201H9.02a8%208%200%200%200%20.671%201.77A4.02%204.02%200%200%201%207.541%2012M11%2014a7%207%200%200%201-.945-2h1.89A7%207%200%200%201%2011%2014m1.155-3h-2.31a6.7%206.7%200%200%201%200-2h2.31a6.7%206.7%200%200%201%200%202m.154%202.77A8%208%200%200%200%2012.98%2012h1.479a4.02%204.02%200%200%201-2.15%201.77m2.56-2.77h-1.704a7.8%207.8%200%200%200%200-2h1.704a3.85%203.85%200%200%201%200%202'/%3e%3c/svg%3e`,tn=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23fbc02d'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23fff9c4'%20d='M9.5%206a.5.5%200%200%200-.5.5v6a.5.5%200%200%200%20.5.5h6a.5.5%200%200%200%20.5-.5v-6a.5.5%200%200%200-.5-.5zm.5%201h5v1h-5zM7%208v6.5a.5.5%200%200%200%20.5.5H14v-1H8V8zm3%201h5v1h-5zm0%202h3v1h-3z'/%3e%3c/svg%3e`,nn=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%2343a047'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23c8e6c9'%20d='M8.707%207.293%2010%206H6v4l1.293-1.293%202.455%202.455a.85.85%200%200%201%20.252.608V14h2v-2.23a2.84%202.84%200%200%200-.838-2.022ZM14.68%206l-2.805%202.465.285.285a2.8%202.8%200%200%201%20.78%201.445L16%207.505Z'/%3e%3c/svg%3e`,rn=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23546e7a'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23cfd8dc'%20d='M14%206h-3a2%202%200%200%200-2%202v4h1V8h4v4.947a1.04%201.04%200%200%201-.832%201.04A1%201%200%200%201%2012%2013H8a2%202%200%200%200%202%202h3a2%202%200%200%200%202-2V8h1a2%202%200%200%200-2-2'/%3e%3c/svg%3e`,an=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%23fbc02d'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23fffde7'%20d='M7%207.5v2a.5.5%200%200%200%20.5.5h8a.5.5%200%200%200%20.5-.5v-2a.5.5%200%200%200-.5-.5h-8a.5.5%200%200%200-.5.5M10%209H8V8h2zm2%200h-1V8h1zm-5%202.5v2a.5.5%200%200%200%20.5.5h8a.5.5%200%200%200%20.5-.5v-2a.5.5%200%200%200-.5-.5h-8a.5.5%200%200%200-.5.5m3%201.5H8v-1h2zm2%200h-1v-1h1z'/%3e%3c/svg%3e`,on=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%234caf50'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23c8e6c9'%20d='M9.225%2015a.5.5%200%200%201-.12-.014.57.568%200%200%201-.414-.661l1.549-7.872a.566.565%200%200%201%20.254-.372.53.53%200%200%201%20.4-.067.57.57%200%200%201%20.415.662l-1.552%207.872a.56.56%200%200%201-.253.371.53.53%200%200%201-.28.081m3.105-1h-.038a.54.54%200%200%201-.382-.206.583.582%200%200%201%20.057-.774l2.664-2.483-2.653-2.312a.583.582%200%200%201-.08-.772.54.54%200%200%201%20.377-.218.53.53%200%200%201%20.406.129l3.126%202.727a.579.578%200%200%201%20.002.862l-3.114%202.904a.536.535%200%200%201-.365.144zm-4.661%200a.536.535%200%200%201-.365-.146L4.186%2010.95a.58.58%200%200%201-.005-.846l.01-.01%203.128-2.726a.516.515%200%200%201%20.4-.13.54.54%200%200%201%20.38.218.583.582%200%200%201-.08.773l-2.65%202.31%202.663%202.482a.579.578%200%200%201%20.056.774.536.535%200%200%201-.381.206z'/%3e%3c/svg%3e`,sn=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%2300bfa5'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23a7ffeb'%20d='M8%206v1h1v6a2%202%200%200%200%204%200V7h1V6Zm2.5%207a.5.5%200%201%201%20.5-.5.5.5%200%200%201-.5.5m1-2a.5.5%200%201%201%20.5-.5.5.5%200%200%201-.5.5m.5-2h-2V7h2z'/%3e%3c/svg%3e`,cn=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%3e%3cpath%20id='folder'%20fill='%237cb342'%20d='m6.922%203.768-.644-.536A1%201%200%200%200%205.638%203H2a1%201%200%200%200-1%201v8a1%201%200%200%200%201%201h12a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H7.562a1%201%200%200%201-.64-.232'/%3e%3cpath%20id='motive'%20fill='%23dcedc8'%20d='M9.5%206a.5.5%200%200%200-.5.5v6a.5.5%200%200%200%20.5.5h6a.5.5%200%200%200%20.5-.5v-6a.5.5%200%200%200-.5-.5zM12%207h1v2h2v1h-2v2h-1v-2h-2V9h2zM7%208v6.5a.5.5%200%200%200%20.5.5H14v-1H8V8z'/%3e%3c/svg%3e`,ln=new Set([`png`,`jpg`,`jpeg`,`gif`,`ico`,`webp`,`bmp`,`avif`]),un=new Set([`zip`,`tar`,`gz`,`tgz`,`rar`,`7z`,`bz2`,`xz`]),dn=new Set([`csv`,`tsv`,`psv`,`xls`,`xlsx`,`xlsm`,`ods`]),fn=new Set([`aac`,`aiff`,`flac`,`m4a`,`mp3`,`ogg`,`opus`,`wav`,`wma`]),pn=new Set([`avi`,`flv`,`m4v`,`mkv`,`mov`,`mp4`,`mpeg`,`mpg`,`webm`,`wmv`]),mn=new Set([`eot`,`otf`,`ttf`,`woff`,`woff2`]),hn=new Set([`cer`,`cert`,`crt`,`der`,`p12`,`pfx`]),gn=new Set([`asc`,`key`,`pem`,`pub`]),_n=new Set([`doc`,`docx`,`odt`,`rtf`]),vn=new Set([`odp`,`pot`,`potx`,`pps`,`ppsx`,`ppt`,`pptx`]),yn=new Set([`cfg`,`cnf`,`conf`,`config`,`ini`,`option`,`prefs`,`properties`,`props`,`settings`]);function bn(e){return e.replace(/\\/g,`/`)}function xn(e){let t=bn(e);return t.slice(t.lastIndexOf(`/`)+1)}function Sn(e){let t=e.lastIndexOf(`.`);return t>0?e.slice(t+1):``}function Cn(e){return/(?:^|[.\-_])(spec|test)\.[^.]+$/i.test(e)||/(?:^|[.\-_])tests?\.[^.]+$/i.test(e)}function wn(e){if(e===`readme`||e.startsWith(`readme.`))return`readme`;if(e===`license`||e.startsWith(`license.`)||e===`licence`||e.startsWith(`licence.`)||e===`copying`||e.startsWith(`copying.`))return`license`;if(e===`makefile`||e.startsWith(`makefile.`))return`makefile`;if(e===`dockerfile`||e.endsWith(`.dockerfile`)||e.startsWith(`docker-compose`)||e===`compose.yml`||e===`compose.yaml`)return`docker`;if(/^vite\.config\.(?:[cm]?[jt]s)$/.test(e))return`vite`;if(e===`package.json`||e===`package-lock.json`||e===`.nvmrc`||e===`.node-version`)return`nodejs`;if(e===`.npmignore`||e===`.npmrc`)return`npm`;if(e===`tsconfig.json`||e.startsWith(`tsconfig.`))return`tsconfig`;if(e===`eslint.config.js`||e===`eslint.config.mjs`||e===`eslint.config.cjs`||e===`eslint.config.ts`||e===`.eslintrc`||e.startsWith(`.eslintrc.`))return`eslint`;if(e===`.prettierrc`||e.startsWith(`.prettierrc.`)||e.startsWith(`prettier.config.`))return`prettier`;if(e.startsWith(`tailwind.config.`))return`tailwindcss`;if(e===`.gitignore`||e===`.gitattributes`||e===`.gitmodules`)return`git`;if(e===`.env`||e.startsWith(`.env.`))return`settings`;if(e.endsWith(`.lock`)||e.endsWith(`-lock.json`)||e.endsWith(`-lock.yaml`)||e.endsWith(`-lock.yml`))return`lock`}function Tn(e){let t=xn(e).toLowerCase(),n=wn(t);if(n)return n;let r=Sn(t);return r===`tsx`?Cn(t)?`test-ts`:`react-ts`:r===`jsx`?Cn(t)?`test-jsx`:`react`:r===`ts`?t.endsWith(`.d.ts`)?`typescript-def`:Cn(t)?`test-ts`:`typescript`:r===`js`||r===`mjs`||r===`cjs`?Cn(t)?`test-js`:`javascript`:t.endsWith(`.js.map`)||t.endsWith(`.mjs.map`)||t.endsWith(`.cjs.map`)?`javascript-map`:ln.has(r)?`image`:r===`svg`?`svg`:un.has(r)?`zip`:dn.has(r)?`table`:fn.has(r)?`audio`:pn.has(r)?`video`:mn.has(r)?`font`:hn.has(r)?`certificate`:gn.has(r)?`key`:_n.has(r)?`word`:vn.has(r)?`powerpoint`:yn.has(r)?`settings`:r===`json`||r===`jsonc`?`json`:r===`html`||r===`htm`?`html`:r===`css`?`css`:r===`scss`?`sass`:r===`less`?`less`:r===`md`||r===`mdx`||r===`markdown`?`markdown`:r===`yml`||r===`yaml`?`yaml`:r===`toml`?`toml`:r===`xml`?`xml`:r===`sql`?`database`:r===`py`?`python`:r===`go`?`go`:r===`rs`?`rust`:r===`java`?`java`:r===`c`||r===`h`?`c`:r===`cpp`||r===`cc`||r===`cxx`||r===`hpp`?`cpp`:r===`cs`?`csharp`:r===`php`?`php`:r===`rb`?`ruby`:r===`swift`?`swift`:r===`kt`||r===`kts`?`kotlin`:r===`ps1`?`powershell`:r===`sh`||r===`bash`||r===`zsh`?`console`:r===`pdf`?`pdf`:r===`log`?`log`:`document`}function En(e,t=!1){let n=xn(e).toLowerCase();return n===`.git`||n===`.svn`||n===`.hg`||n===`git`?`folder-git`:n===`src`||n===`source`||n===`sources`?`folder-src`:n===`components`||n===`widgets`||n===`fragments`?`folder-components`:n===`test`||n===`tests`||n===`__test__`||n===`__tests__`||n===`spec`||n===`specs`?`folder-test`:n===`doc`||n===`docs`||n===`documentation`?`folder-docs`:n===`server`||n===`servers`||n===`backend`||n===`backends`?`folder-server`:n===`api`||n===`apis`||n===`restapi`?`folder-api`:n===`asset`||n===`assets`||n===`resource`||n===`resources`||n===`static`?`folder-resource`:n===`image`||n===`images`||n===`img`||n===`imgs`||n===`icons`?`folder-images`:n===`public`||n===`www`||n===`wwwroot`?`folder-public`:n===`config`||n===`configs`||n===`configuration`||n===`.config`?`folder-config`:n===`lib`||n===`libs`||n===`library`||n===`vendor`?`folder-lib`:n===`hook`||n===`hooks`?`folder-hook`:n===`util`||n===`utils`||n===`utility`||n===`utilities`?`folder-utils`:n===`route`||n===`routes`||n===`router`||n===`routers`?`folder-routes`:n===`script`||n===`scripts`||n===`scripting`?`folder-scripts`:n===`style`||n===`styles`||n===`stylesheet`||n===`stylesheets`||n===`css`?`folder-css`:`folder-base`}var Dn={audio:Ye,c:Xe,certificate:Ze,console:Qe,cpp:$e,csharp:U,css:et,database:tt,docker:nt,document:W,eslint:rt,font:it,git:at,go:G,html:ot,image:st,java:ct,javascript:lt,"javascript-map":K,json:ut,key:q,kotlin:J,less:dt,license:ft,lock:pt,log:mt,makefile:ht,markdown:gt,nodejs:Y,npm:_t,pdf:vt,php:X,powerpoint:Z,powershell:yt,prettier:bt,python:Q,react:xt,"react-ts":St,readme:Ct,ruby:wt,rust:Tt,sass:Et,settings:Dt,svg:Ot,swift:kt,table:At,tailwindcss:jt,"test-js":Mt,"test-jsx":Nt,"test-ts":Pt,toml:Ft,tsconfig:It,typescript:Lt,"typescript-def":Rt,video:zt,vite:Bt,word:Vt,xml:Ht,yaml:Ut,zip:Wt},On={"folder-api":Gt,"folder-base":$,"folder-components":Kt,"folder-config":qt,"folder-css":Jt,"folder-docs":Yt,"folder-git":Xt,"folder-hook":Zt,"folder-images":Qt,"folder-lib":$t,"folder-public":en,"folder-resource":tn,"folder-routes":nn,"folder-scripts":rn,"folder-server":an,"folder-src":on,"folder-test":sn,"folder-utils":cn};function kn({src:e,className:t=`size-3.5`}){return(0,I.jsx)(`img`,{src:e,alt:``,"aria-hidden":`true`,draggable:!1,className:t})}function An({path:e,className:t}){return(0,I.jsx)(kn,{src:Dn[Tn(e)],className:t})}function jn({name:e,open:t,className:n}){return(0,I.jsx)(kn,{src:On[En(e,t)],className:n})}function Mn(e){let t=e?.trim();if(t){if(/^[a-zA-Z]:[\\/]/.test(t)||t.startsWith(`/`)&&!t.startsWith(`/api/`))return t;try{let e=new URL(t);return e.protocol===`file:`?decodeURIComponent(e.pathname):void 0}catch{return}}}function Nn(e){if(e.kind===`browser`)return Mn(e.url);if(e.kind===`reader`)return(e.readerTabs?.find(t=>t.id===e.activeReaderTabId)??e.readerTabs?.[0])?.path}var Pn=3,Fn=5e7;function In(e){let t=e.replace(/\r\n/g,`
|
|
11
|
-
`).replace(/\r/g,`
|
|
12
|
-
`).split(`
|
|
13
|
-
`);return t.length>1&&t[t.length-1]===``&&t.pop(),t}function Ln(e,t){let n=In(e),r=In(t);if(n.length*r.length>Fn)return;let i=Array.from({length:n.length+1},()=>new Uint32Array(r.length+1));for(let e=n.length-1;e>=0;--e)for(let t=r.length-1;t>=0;--t)i[e][t]=n[e]===r[t]?i[e+1][t+1]+1:Math.max(i[e+1][t],i[e][t+1]);let a=[],o=0,s=0,c=1,l=1;for(;o<n.length||s<r.length;){if(o<n.length&&s<r.length&&n[o]===r[s]){a.push({kind:`context`,oldLine:c,newLine:l,text:n[o]}),o+=1,s+=1,c+=1,l+=1;continue}if(s<r.length&&(o>=n.length||i[o][s+1]>=i[o+1][s])){a.push({kind:`add`,newLine:l,text:r[s]}),s+=1,l+=1;continue}o<n.length&&(a.push({kind:`delete`,oldLine:c,text:n[o]}),o+=1,c+=1)}return a}function Rn(e){let t=e.map(e=>e.kind!==`context`);e.forEach((n,r)=>{if(n.kind===`context`)return;let i=Math.max(0,r-Pn),a=Math.min(e.length-1,r+Pn);for(let e=i;e<=a;e+=1)t[e]=!0});let n=[],r=0,i=0;for(;r<e.length;){if(t[r]||e[r].kind!==`context`){n.push(e[r]),r+=1;continue}let a=r;for(;r<e.length&&!t[r]&&e[r].kind===`context`;)r+=1;let o=e.slice(a,r);n.push({kind:`collapsed`,id:`collapsed-${i++}-${a}`,count:o.length,rows:o})}return n}function zn(e){return e===`add`?`bg-emerald-500/12 text-foreground`:e===`delete`?`bg-red-500/12 text-foreground`:`bg-background text-foreground/90`}function Bn(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Vn({row:e}){let t=e.kind===`delete`?e.oldLine:e.newLine??e.oldLine;return(0,I.jsxs)(`div`,{className:k(`grid w-max min-w-full grid-cols-[3rem_auto] text-[13px] leading-6`,zn(e.kind)),children:[(0,I.jsx)(`span`,{className:k(`select-none pr-3 text-right font-mono`,e.kind===`delete`&&`text-red-600 dark:text-red-500`,e.kind===`add`&&`text-emerald-600 dark:text-emerald-500`,e.kind===`context`&&`text-muted-foreground/62`),children:t??``}),(0,I.jsxs)(`code`,{className:`whitespace-pre pr-4 font-mono`,children:[(0,I.jsx)(`span`,{className:k(`mr-3 select-none`,e.kind===`add`&&`text-emerald-600 dark:text-emerald-500`,e.kind===`delete`&&`text-red-600 dark:text-red-500`),children:Bn(e.kind)}),e.text||` `]})]})}function Hn(e,t,n){let r=new Set(e[t]??[]);return r.has(n)?r.delete(n):r.add(n),{...e,[t]:[...r]}}function Un({diff:e,loading:t,error:n}){let[r,i]=(0,F.useState)({}),a=e?`${e.path}\u0000${e.oldContent.length}\u0000${e.newContent.length}`:``,o=(0,F.useMemo)(()=>new Set(r[a]??[]),[a,r]),s=(0,F.useMemo)(()=>{if(!e)return;let t=Ln(e.oldContent,e.newContent);return t?Rn(t):void 0},[e]);return t?(0,I.jsx)(`div`,{className:`border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background px-3 py-4 text-sm text-muted-foreground/70`,children:M(`workspaceLoadingDiff`)}):n?(0,I.jsx)(`div`,{className:`border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background px-3 py-4 text-sm text-destructive`,children:n}):e?s?s.length===0?(0,I.jsx)(`div`,{className:`border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background px-3 py-4 text-sm text-muted-foreground/70`,children:M(`workspaceNoDiffPreview`)}):(0,I.jsx)(`div`,{className:`min-w-0 max-w-full overflow-hidden rounded-b-xl border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background`,children:(0,I.jsx)(`div`,{className:`max-h-[28rem] min-w-0 overflow-auto pb-1`,children:(0,I.jsx)(`div`,{className:`w-max min-w-full py-2`,children:s.map(e=>{if(e.kind!==`collapsed`)return(0,I.jsx)(Vn,{row:e},`${e.kind}:${e.oldLine??``}:${e.newLine??``}:${e.text}`);let t=o.has(e.id);return(0,I.jsxs)(`div`,{children:[(0,I.jsxs)(`div`,{className:`grid w-full min-w-0 grid-cols-[3rem_minmax(0,1fr)] gap-1 py-1 pr-4`,children:[(0,I.jsx)(`button`,{type:`button`,className:`flex h-12 items-center justify-center rounded-lg bg-muted/60 text-muted-foreground/75 transition-colors hover:bg-muted/78 hover:text-foreground/80`,onClick:()=>{i(t=>Hn(t,a,e.id))},"aria-expanded":t,title:M(`workspaceUnmodifiedLines`,{count:e.count}),children:(0,I.jsx)(d,{className:k(`size-4 transition-transform`,t&&`rotate-180`)})}),(0,I.jsx)(`button`,{type:`button`,className:`flex h-12 items-center rounded-lg bg-muted/60 px-4 text-left text-base font-medium text-muted-foreground/80 transition-colors hover:bg-muted/78 hover:text-foreground/80`,onClick:()=>{i(t=>Hn(t,a,e.id))},"aria-expanded":t,children:M(`workspaceUnmodifiedLines`,{count:e.count})})]}),t?e.rows.map(t=>(0,I.jsx)(Vn,{row:t},`hidden:${e.id}:${t.oldLine}:${t.newLine}`)):null]},e.id)})})})}):(0,I.jsx)(`div`,{className:`border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background px-3 py-4 text-sm text-muted-foreground/70`,children:M(`workspaceDiffTooLarge`)}):(0,I.jsx)(`div`,{className:`border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background px-3 py-4 text-sm text-muted-foreground/70`,children:M(`workspaceNoDiffPreview`)})}function Wn(e){return M(e===`added`?`workspaceStatusAdded`:e===`deleted`?`workspaceStatusDeleted`:e===`renamed`?`workspaceStatusRenamed`:e===`untracked`?`workspaceStatusUntracked`:e===`conflicted`?`workspaceStatusConflict`:`workspaceStatusModified`)}function Gn(e){let t=e.replace(/\\/g,`/`);return t.split(`/`).filter(Boolean).pop()||t||`—`}function Kn(e,t,n){return e?.action===t&&(n?e.path===n:!e.path)}function qn(e){return!!(e.unstaged||e.status===`untracked`||e.conflict||!e.staged)}function Jn({files:e,selectedPath:t,expandedDiff:r,expandedLoading:i,expandedError:a,onSelectFile:o,onRestoreFile:s,onStageFile:c,onUnstageFile:l,onOpenFile:d,onRestoreAll:f,onStageAll:p,onUnstageAll:m,showUnstageAll:h=!1,pendingAction:g,emptyMessage:_=M(`workspaceNoWorkingTreeChanges`)}){let v=e.filter(qn),y=e.filter(e=>e.staged),b=Kn(g,`restore`),ee=Kn(g,`stage`),x=Kn(g,`unstage`),S=!!g;return(0,I.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col bg-background`,children:[(0,I.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-auto px-2 pb-20 pt-1`,children:e.length===0?(0,I.jsx)(`div`,{className:`px-3 py-4 text-xs text-muted-foreground/70`,children:_}):(0,I.jsx)(`div`,{className:`min-w-0 divide-y divide-[color-mix(in_oklab,var(--border)_28%,transparent)]`,children:e.map(e=>{let f=t===e.path,p=Gn(e.path),m=Kn(g,`restore`,e.path),_=Kn(g,`stage`,e.path),v=Kn(g,`unstage`,e.path),y=e.status===`deleted`,b=h,ee=S||(b?!l||!e.staged:!c||!qn(e)),x=S||!s,C=S||!d||y,w=e.oldPath?`${e.oldPath} → ${e.path}`:e.path;return(0,I.jsxs)(`div`,{className:k(`group min-w-0 overflow-hidden`,f&&`rounded-xl bg-muted/30`),children:[(0,I.jsxs)(`div`,{className:k(`grid min-h-[40px] grid-cols-[minmax(0,1fr)_auto] items-center gap-2 rounded-xl transition-colors`,f?`bg-muted/40`:`hover:bg-muted/24`),children:[(0,I.jsxs)(`button`,{type:`button`,className:`grid min-w-0 grid-cols-[24px_minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 text-left text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>o(e.path),title:`${Wn(e.status)} · ${w}`,"aria-expanded":f,children:[(0,I.jsx)(An,{path:e.path,className:`size-[15px] shrink-0`}),(0,I.jsx)(`span`,{className:`min-w-0 truncate font-medium leading-[18px] text-foreground/90`,children:p}),typeof e.additions==`number`&&typeof e.deletions==`number`?(0,I.jsxs)(`span`,{className:`min-w-[64px] shrink-0 whitespace-nowrap text-right font-mono text-sm font-medium leading-[18px]`,children:[(0,I.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-500`,children:[`+`,e.additions]}),(0,I.jsxs)(`span`,{className:`ml-1.5 text-red-600 dark:text-red-500`,children:[`-`,e.deletions]})]}):(0,I.jsx)(`span`,{className:`min-w-[64px]`})]}),(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 pr-2 text-muted-foreground/55 opacity-80 transition-opacity group-hover:opacity-100`,children:[(0,I.jsx)(`button`,{type:`button`,className:`inline-flex size-[26px] items-center justify-center rounded-full transition-colors hover:bg-destructive/10 hover:text-destructive disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>s?.(e),disabled:x,"aria-label":M(`workspaceRestoreFile`),title:M(`workspaceRestoreFile`),children:m?(0,I.jsx)(n,{className:`size-3.5 animate-spin`}):(0,I.jsx)(ae,{className:`size-4`})}),(0,I.jsx)(`button`,{type:`button`,className:k(`inline-flex size-[26px] items-center justify-center rounded-full transition-colors disabled:cursor-not-allowed disabled:opacity-40`,b?`hover:bg-amber-500/10 hover:text-amber-600 dark:hover:text-amber-500`:`hover:bg-emerald-500/10 hover:text-emerald-600 dark:hover:text-emerald-500`),onClick:()=>b?l?.(e):c?.(e),disabled:ee,"aria-label":M(b?`workspaceUnstageFile`:`workspaceStageFile`),title:M(b?`workspaceUnstageFile`:`workspaceStageFile`),children:_||v?(0,I.jsx)(n,{className:`size-3.5 animate-spin`}):b?(0,I.jsx)(te,{className:`size-4`}):(0,I.jsx)(u,{className:`size-4`})}),(0,I.jsx)(`button`,{type:`button`,className:`inline-flex size-[26px] items-center justify-center rounded-full transition-colors hover:bg-muted/35 hover:text-foreground/85 disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>d?.(e),disabled:C,"aria-label":M(`workspaceOpenFileInNewTab`),title:M(y?`workspaceCannotOpenDeletedFile`:`workspaceOpenFileInNewTab`),children:(0,I.jsx)(ne,{className:`size-4`})})]})]}),f?(0,I.jsx)(Un,{diff:r,loading:i,error:a}):null]},`${e.status}:${e.oldPath??``}:${e.path}`)})})}),(0,I.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-4 z-20 flex justify-center px-2`,children:(0,I.jsxs)(`div`,{className:`pointer-events-auto inline-flex max-w-full items-center gap-1 rounded-full border border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background/95 p-1 shadow-quickforge`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`inline-flex h-8 min-w-0 items-center gap-2 rounded-full px-3 text-sm font-medium text-muted-foreground/78 transition-colors hover:bg-destructive/10 hover:text-destructive disabled:cursor-not-allowed disabled:opacity-40`,onClick:f,disabled:!f||e.length===0||S,"aria-label":M(`workspaceRestoreAll`),title:M(`workspaceRestoreAll`),children:[b?(0,I.jsx)(n,{className:`size-3.5 animate-spin`}):(0,I.jsx)(ae,{className:`size-3.5`}),(0,I.jsx)(`span`,{className:`truncate`,children:M(`workspaceRestoreAll`)})]}),(0,I.jsxs)(`button`,{type:`button`,className:k(`inline-flex h-8 min-w-0 items-center gap-2 rounded-full px-3 text-sm font-medium text-muted-foreground/78 transition-colors disabled:cursor-not-allowed disabled:opacity-40`,h?`hover:bg-amber-500/10 hover:text-amber-600 dark:hover:text-amber-500`:`hover:bg-emerald-500/10 hover:text-emerald-600 dark:hover:text-emerald-500`),onClick:h?m:p,disabled:h?!m||y.length===0||S:!p||v.length===0||S,"aria-label":M(h?`workspaceUnstageAll`:`workspaceStageAll`),title:M(h?`workspaceUnstageAll`:`workspaceStageAll`),children:[ee||x?(0,I.jsx)(n,{className:`size-3.5 animate-spin`}):h?(0,I.jsx)(te,{className:`size-3.5`}):(0,I.jsx)(u,{className:`size-3.5`}),(0,I.jsx)(`span`,{className:`truncate`,children:M(h?`workspaceUnstageAll`:`workspaceStageAll`)})]})]})})]})}function Yn(e){return e?e.status===`added`?`A`:e.status===`deleted`?`D`:e.status===`renamed`?`R`:e.status===`untracked`?`U`:`M`:``}function Xn({projectId:e,path:t}){let[n,r]=(0,F.useState)(!1);return n?(0,I.jsx)(An,{path:t,className:`size-4 shrink-0`}):(0,I.jsx)(`img`,{src:O(e,t),alt:``,"aria-hidden":!0,loading:`lazy`,decoding:`async`,onError:()=>r(!0),className:`size-4 shrink-0 rounded-[3px] object-cover ring-1 ring-black/5 dark:ring-white/10`})}function Zn({node:e,depth:t,selectedPath:n,gitStatuses:r,onSelectFile:i,onPreviewFile:a,projectId:o}){let[s,c]=(0,F.useState)(!1),l=e.type===`directory`,u=n===e.path,d=Yn(r[e.path]),f=(l?void 0:ye(e.path))===`image`,p=!!o&&f,m=!!a&&Se(e.path);function h(){a?.(e.path)}return(0,I.jsxs)(`div`,{children:[(0,I.jsxs)(`button`,{type:`button`,className:`group flex h-8 w-full items-center gap-2 rounded-md px-2 text-left text-sm transition-colors ${u?`bg-muted/28 text-foreground/90`:`text-muted-foreground/72 hover:bg-muted/20 hover:text-foreground/85`}`,style:{paddingLeft:`${.5+t*.75}rem`},onClick:()=>{l?c(e=>!e):f&&a?h():i(e.path)},title:e.path,children:[l?(0,I.jsx)(v,{className:`size-3.5 shrink-0 transition-transform ${s?`rotate-90`:``}`}):(0,I.jsx)(`span`,{className:`w-3.5 shrink-0`}),l?(0,I.jsx)(jn,{name:e.name,open:s,className:`size-4 shrink-0`}):p?(0,I.jsx)(Xn,{projectId:o,path:e.path}):(0,I.jsx)(An,{path:e.path,className:`size-4 shrink-0`}),(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),d?(0,I.jsx)(`span`,{className:`shrink-0 font-mono text-xs text-emerald-600 dark:text-emerald-500`,children:d}):null,m?(0,I.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":M(`openPreview`),title:M(`openPreview`),className:`-mr-1 shrink-0 rounded p-0.5 text-muted-foreground/60 opacity-0 transition-opacity hover:bg-muted/40 hover:text-foreground/85 focus-visible:opacity-100 focus-visible:text-foreground/85 focus-visible:outline-none group-hover:opacity-100`,onClick:e=>{e.stopPropagation(),h()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),h())},children:(0,I.jsx)(E,{className:`size-4`})}):null]}),l&&s?(0,I.jsx)(`div`,{children:(e.children??[]).map(e=>(0,I.jsx)(Zn,{node:e,depth:t+1,selectedPath:n,gitStatuses:r,onSelectFile:i,onPreviewFile:a,projectId:o},e.path))}):null]})}function Qn({tree:e,selectedPath:t,gitStatuses:n={},onSelectFile:r,onPreviewFile:i,projectId:a}){return e.length===0?(0,I.jsx)(`div`,{className:`px-2 py-3 text-sm text-muted-foreground/70`,children:M(`workspaceNoFilesToDisplay`)}):(0,I.jsx)(`div`,{className:`space-y-0.5`,children:e.map(e=>(0,I.jsx)(Zn,{node:e,depth:0,selectedPath:t,gitStatuses:n,onSelectFile:r,onPreviewFile:i,projectId:a},e.path))})}function $n(e,t,n){return!!(e&&t&&e.projectId===t&&e.id!==n)}var er=`quickforge:workspace-inspector-tabs:v1:`;function tr(e){return`${er}${e}`}function nr(e,t){return e===`browser`?`browser`:`${e}:${t}`}function rr(e){return e===`files`||e===`review`||e===`terminal`||e===`browser`||e===`reader`}function ir(){try{return globalThis.localStorage}catch{return}}function ar(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){if(!r||typeof r!=`object`||Array.isArray(r))continue;let e=r;if(!(typeof e.id!=`string`||!e.id||!rr(e.kind))){if(e.kind===`review`){if(t.has(e.kind))continue;t.add(e.kind)}if(e.kind===`reader`){let t=e.reader;if(!t||t.mode!==`file`||typeof t.path!=`string`||!t.path)continue;let r=nr(t.mode,t.path);n.push({id:e.id,kind:e.kind,readerTabs:[{id:r,mode:t.mode,path:t.path,loading:!0}],activeReaderTabId:r});continue}n.push({id:e.id,kind:e.kind,...e.kind===`browser`&&typeof e.url==`string`?{url:e.url}:{},...e.kind===`review`?{reviewView:e.reviewView===`review`?`review`:`changes`}:{},...e.kind===`terminal`&&typeof e.terminalSessionId==`string`?{terminalSessionId:e.terminalSessionId}:{},...e.kind===`files`||e.kind===`review`?{readerTabs:[],activeReaderTabId:void 0}:{}})}}return n}function or(e,t=ir()){if(!t)return{tabs:[]};try{let n=t.getItem(tr(e));if(!n)return{tabs:[]};let r=JSON.parse(n),i=ar(r?.tabs),a=typeof r?.activePanelTabId==`string`&&i.some(e=>e.id===r.activePanelTabId)?r.activePanelTabId:i[0]?.id;return a?{tabs:i,activePanelTabId:a}:{tabs:i}}catch{return{tabs:[]}}}function sr(e,t){let n=e.flatMap(e=>{if(e.kind===`reader`){let t=e.readerTabs?.find(t=>t.id===e.activeReaderTabId)??e.readerTabs?.[0];return!t||t.mode!==`file`?[]:[{id:e.id,kind:e.kind,reader:{mode:t.mode,path:t.path}}]}return[{id:e.id,kind:e.kind,...e.kind===`browser`?{url:e.url||``}:{},...e.kind===`review`?{reviewView:e.reviewView||`changes`}:{},...e.kind===`terminal`&&e.terminalSessionId?{terminalSessionId:e.terminalSessionId}:{}}]});return{tabs:n,activePanelTabId:t&&n.some(e=>e.id===t)?t:n[0]?.id}}function cr(e,t,n,r=ir()){if(!r)return!1;try{return r.setItem(tr(e),JSON.stringify(sr(t,n))),!0}catch{return!1}}function lr(e){return e.reduce((e,t)=>{let n=t.id.match(/-(\d+)$/);if(!n)return e;let r=Number(n[1]);return Number.isFinite(r)?Math.max(e,r):e},0)+1}function ur(){let e,t=0;return{token:n=>(n!==e&&(e=n,t+=1),{projectId:n,epoch:t}),isCurrent:n=>n.projectId===e&&n.epoch===t,invalidate:()=>(t+=1,t)}}function dr(){if(typeof window>`u`)return 0;let e=window.getComputedStyle(document.body).getPropertyValue(`--quickforge-desktop-titlebar-height`).trim();if(!e)return 0;let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function fr(e,t){return e===`browser`?`browser`:`${e}:${t}`}var pr=[{kind:`files`,label:M(`rightPanelFiles`),description:M(`rightPanelFilesDesc`),icon:m},{kind:`review`,label:M(`rightPanelReview`),description:M(`rightPanelReviewDesc`),icon:D},{kind:`terminal`,label:M(`rightPanelTerminal`),description:M(`rightPanelTerminalDesc`),icon:re},{kind:`browser`,label:M(`rightPanelBrowser`),description:M(`rightPanelBrowserDesc`),icon:p}],mr=[{value:`unstaged`,label:M(`workspaceReviewFilterUnstaged`)},{value:`staged`,label:M(`workspaceReviewFilterStaged`)},{value:`all`,label:M(`workspaceReviewFilterAllBranches`)},{value:`last`,label:M(`workspaceReviewFilterLastRun`)}],hr=Object.fromEntries(pr.map(e=>[e.kind,e]));function gr(e){return e===`review`?`changes`:e}function _r(e){let t=e.trim();if(!t)return`about:blank`;if(/^[a-zA-Z]:[\\/]/.test(t))return j(t);try{let e=new URL(t);return e.protocol===`about:`?t:e.protocol===`file:`?j(decodeURIComponent(e.pathname)):e.host||t}catch{return j(t)}}function vr(e,t){if(e.kind===`terminal`)return t||M(`rightPanelTerminal`);if(e.kind===`browser`)return _r(e.url||``);if(e.kind===`reader`){let t=e.readerTabs?.find(t=>t.id===e.activeReaderTabId)??e.readerTabs?.[0];return t?j(t.path):M(`rightPanelFiles`)}return hr[e.kind].label}function yr(e,t){return e.kind===`browser`?e.url||t:e.kind===`reader`&&(e.readerTabs?.find(t=>t.id===e.activeReaderTabId)??e.readerTabs?.[0])?.path||t}var br=340,xr=380,Sr=640,Cr=`quickforge_workspaceInspectorWidth_v2`,wr=140,Tr=200,Er=400;function Dr(){if(typeof window>`u`)return xr;try{let e=window.localStorage.getItem(Cr);if(!e)return xr;let t=Number(e);return Number.isFinite(t)?Math.min(Sr,Math.max(br,t)):xr}catch{return xr}}function Or(e,t){let n=t.trim().toLowerCase();return n?e.flatMap(e=>{let t=e.children?Or(e.children,n):void 0;return!(e.name.toLowerCase().includes(n)||e.path.toLowerCase().includes(n))&&(!t||t.length===0)?[]:[{...e,...t?{children:t}:{}}]}):e}function kr(e,t){let n=e?.trim();if(!n)return``;let r=n.replace(/\\/g,`/`).replace(/^\.\/+/g,``),i=t?.trim().replace(/\\/g,`/`).replace(/\/+$/g,``);return i&&r.startsWith(`${i}/`)&&(r=r.slice(i.length+1)),r.replace(/^\/+/,``)}function Ar(e,t){let n=new Set;for(let r of e){let e=kr(r.path,t),i=kr(r.outputFile,t);e&&n.add(e),i&&n.add(i)}return n}function jr(e){return M(e===`staged`?`workspaceNoStagedChanges`:e===`last`?`workspaceNoLastRunChanges`:`workspaceNoWorkingTreeChanges`)}function Mr(e){return e?e.language===`markdown`||/\.(md|markdown)$/i.test(e.path):!1}function Nr(e){return`Diff for ${e.oldPath?`${e.oldPath} -> ${e.path}`:e.path}\n\n--- OLD\n${e.oldContent}\n\n--- NEW\n${e.newContent}`}function Pr({project:e,path:t,mode:n,file:i,diff:a,loading:o,error:s,navigationVisible:c,onNavigationVisibleChange:l}){let[u,d]=(0,F.useState)(),[f,p]=(0,F.useState)(`preview`),[h,g]=(0,F.useState)(!1),[_,b]=(0,F.useState)(!1),ee=(0,F.useRef)(null);async function te(e,t){t&&(await navigator.clipboard.writeText(t),d(e),g(!1),window.setTimeout(()=>d(void 0),1200))}async function S(t){if(!(!e?.id||!C))try{await be(e.id,C,t)}catch(e){let n=M(t===`explorer`?`openInExplorerFailed`:t===`idea`?`openInIDEAFailed`:`openInVSCodeFailed`);await ce(e instanceof Error?e.message:n)}}let C=n===`file`?i?.path||t:a?.path||t,T=(0,F.useMemo)(()=>kr(C).split(`/`).filter(Boolean),[C]),E=[e?.name,...T].filter(Boolean).join(` > `),D=n===`file`&&Mr(i),ne=n===`file`&&(!D||f===`source`),re=n===`file`?i?.content:a?Nr(a):void 0,ie=(0,F.useMemo)(()=>n===`diff`&&a?Je(a.oldContent,a.newContent):void 0,[n,a]);return(0,F.useEffect)(()=>{if(!h)return;let e=e=>{ee.current?.contains(e.target)||g(!1)},t=e=>{e.key===`Escape`&&g(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[h]),(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-2 border-b border-border px-3`,children:[ie?(0,I.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px] font-medium`,children:[(0,I.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:[`+`,ie.added]}),(0,I.jsxs)(`span`,{className:`ml-1.5 text-red-600 dark:text-red-400`,children:[`-`,ie.removed]})]}):null,(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden text-sm`,title:E||C,children:[e?.name?(0,I.jsx)(`span`,{className:`shrink-0 truncate text-muted-foreground/75`,children:e.name}):null,T.map((t,n)=>{let r=n===T.length-1;return(0,I.jsxs)(`div`,{className:k(`flex min-w-0 items-center gap-1.5`,r?`min-w-0`:`shrink-0`),children:[e?.name||n>0?(0,I.jsx)(v,{className:`size-4 shrink-0 text-muted-foreground/55`}):null,(0,I.jsx)(`span`,{className:k(`truncate`,r?`font-medium text-foreground/92`:`text-muted-foreground/75`),children:t})]},`${t}-${n}`)})]}),(0,I.jsxs)(`div`,{ref:ee,className:`flex shrink-0 items-center gap-1`,children:[D?(0,I.jsx)(`button`,{type:`button`,className:`inline-flex h-8 items-center rounded-xl px-2.5 text-sm font-medium text-foreground/82 transition-colors hover:bg-muted/30 hover:text-foreground`,onClick:()=>{p(e=>e===`preview`?`source`:`preview`),g(!1)},children:M(f===`preview`?`viewMarkdownSource`:`returnToMarkdownPreview`)}):null,(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(A,{variant:`ghost`,size:`icon`,className:k(`size-8 rounded-xl text-muted-foreground/75`,h&&`bg-muted/45 text-foreground/90`),onClick:()=>g(e=>!e),"aria-label":M(`readerMoreActions`),title:M(`readerMoreActions`),"aria-haspopup":`menu`,"aria-expanded":h,children:(0,I.jsx)(x,{className:`size-4`})}),h?(0,I.jsxs)(`div`,{className:`absolute right-0 top-10 z-50 w-56 rounded-2xl border border-[color-mix(in_oklab,var(--border)_38%,transparent)] bg-popover p-1.5 text-popover-foreground shadow-quickforge`,role:`menu`,"aria-label":M(`readerMoreActions`),children:[(0,I.jsxs)(`button`,{type:`button`,className:`flex h-10 w-full items-center gap-3 rounded-xl px-3 text-left text-sm font-medium text-foreground/86 transition-colors hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-45`,onClick:()=>void te(`path`,C),disabled:!C,role:`menuitem`,children:[u===`path`?(0,I.jsx)(r,{className:`size-4 shrink-0`}):(0,I.jsx)(w,{className:`size-4 shrink-0 text-muted-foreground/80`}),(0,I.jsx)(`span`,{children:M(`copyPath`)})]}),(0,I.jsxs)(`button`,{type:`button`,className:`flex h-10 w-full items-center gap-3 rounded-xl px-3 text-left text-sm font-medium text-foreground/86 transition-colors hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-45`,onClick:()=>void te(`content`,re),disabled:!re,role:`menuitem`,children:[u===`content`?(0,I.jsx)(r,{className:`size-4 shrink-0`}):(0,I.jsx)(w,{className:`size-4 shrink-0 text-muted-foreground/80`}),(0,I.jsx)(`span`,{children:M(n===`file`?`copyFileContent`:`copyDiffContent`)})]}),(0,I.jsxs)(`button`,{type:`button`,className:`flex h-10 w-full items-center gap-3 rounded-xl px-3 text-left text-sm font-medium text-foreground/86 transition-colors hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-45`,onClick:()=>{b(e=>!e),g(!1)},disabled:!ne,role:`menuitemcheckbox`,"aria-checked":_,children:[(0,I.jsx)(y,{className:`size-4 shrink-0 text-muted-foreground/80`}),(0,I.jsx)(`span`,{className:`min-w-0 flex-1`,children:M(`enableWordWrap`)}),_?(0,I.jsx)(r,{className:`size-4 shrink-0 text-muted-foreground/80`}):null]})]}):null]}),(0,I.jsx)(A,{variant:`ghost`,size:`icon`,className:k(`size-8 rounded-xl text-muted-foreground/75`,c&&`bg-muted/45 text-foreground/90`),onClick:()=>l(!c),"aria-label":M(c?`hideFileNavigation`:`showFileNavigation`),title:M(c?`hideFileNavigation`:`showFileNavigation`),"aria-pressed":c,children:(0,I.jsx)(m,{className:`size-4`})}),(0,I.jsx)(xe,{project:e,disabled:!C,onOpenInExplorer:()=>{S(`explorer`)},onOpenInVSCode:()=>{S(`vscode`)},onOpenInIDEA:()=>{S(`idea`)}})]})]}),(0,I.jsxs)(`div`,{className:`min-h-0 flex-1 bg-background`,children:[o?(0,I.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground/70`,children:M(`openingReader`)}):null,!o&&s?(0,I.jsx)(`div`,{className:`p-4 text-sm text-destructive`,children:s}):null,!o&&!s&&n===`file`&&i?D?(0,I.jsx)(Ke,{path:i.path,content:i.content,language:i.language,mode:f,wordWrap:_},i.path):(0,I.jsx)(Re,{path:i.path,content:i.content,language:i.language,wordWrap:_}):null,!o&&!s&&n===`diff`&&a?(0,I.jsx)(qe,{path:a.path,oldContent:a.oldContent,newContent:a.newContent,language:a.language,status:a.status}):null]})]})}function Fr({project:e,artifacts:t,changesCount:n,changedPaths:r,isGitRepository:i,gitBranch:a,onSelectFile:o,onSelectDiff:s,onPreviewFile:c}){let[l,u]=(0,F.useState)(!1),[f,p]=(0,F.useState)(()=>new Set),m=ge(t),h=t.filter(e=>e.command);function g(e){p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}return(0,I.jsxs)(`div`,{className:`space-y-3 p-2`,children:[(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background px-3 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-semibold text-foreground/90`,children:[(0,I.jsx)(ie,{className:`size-3.5 text-emerald-600 dark:text-emerald-500`}),M(`workspaceCurrentArtifacts`)]}),t.length===0?(0,I.jsx)(`div`,{className:`mt-2 text-xs leading-5 text-muted-foreground/70`,children:M(`workspaceNoArtifacts`)}):(0,I.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[m.length?(0,I.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,I.jsxs)(`div`,{className:`text-[11px] font-medium uppercase tracking-wide text-muted-foreground/60`,children:[M(`workspaceFiles`),` `,m.length]}),m.slice(0,8).map(e=>{let t=e.path,n=Se(t),i=r.has(t),a=typeof e.addedLines==`number`||typeof e.removedLines==`number`;return(0,I.jsxs)(`div`,{className:`group flex min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-xs text-foreground/85 transition-colors hover:bg-muted/20`,children:[(0,I.jsx)(An,{path:t,className:`size-3.5 shrink-0`}),(0,I.jsx)(`button`,{type:`button`,className:`min-w-0 flex-1 truncate text-left font-medium`,onClick:()=>n?c(t):i?s(t):o(t),title:t,children:e.title||j(t)}),a?(0,I.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px] font-medium`,children:[(0,I.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:[`+`,e.addedLines??0]}),(0,I.jsxs)(`span`,{className:`ml-1 text-red-600 dark:text-red-400`,children:[`-`,e.removedLines??0]})]}):null,(0,I.jsx)(`span`,{className:`shrink-0 rounded-full bg-muted/30 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground/70`,children:e.kind}),n?(0,I.jsx)(`button`,{type:`button`,className:`shrink-0 inline-flex size-5 items-center justify-center text-blue-600 opacity-0 transition-opacity hover:bg-blue-500/10 hover:text-blue-700 group-hover:opacity-100 dark:text-blue-400`,onClick:()=>c(t),"aria-label":M(`previewArtifact`),title:M(`previewArtifact`),children:(0,I.jsx)(E,{className:`size-3.5`})}):null,(0,I.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground/70 opacity-0 transition-opacity hover:bg-muted/25 group-hover:opacity-100`,onClick:()=>i?s(t):o(t),children:M(i?`workspaceViewDiff`:`artifactPreviewViewSource`)})]},e.id)}),m.length>8?(0,I.jsxs)(`div`,{className:`px-2 text-[11px] text-muted-foreground/60`,children:[`+`,m.length-8]}):null]}):null,h.length?(0,I.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-[11px] font-medium uppercase tracking-wide text-muted-foreground/60 transition-colors hover:bg-muted/15 hover:text-foreground/75`,onClick:()=>u(e=>!e),"aria-expanded":l,children:[(0,I.jsx)(d,{className:k(`size-3.5 transition-transform`,l?``:`-rotate-90`)}),(0,I.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[M(`workspaceCommands`),` `,h.length]})]}),l?(0,I.jsx)(`div`,{className:`space-y-1`,children:h.map((e,t)=>{let n=f.has(e.id);return(0,I.jsxs)(`div`,{className:`rounded-md bg-muted/15 text-[11px] text-muted-foreground/80`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors hover:bg-muted/20`,onClick:()=>g(e.id),"aria-expanded":n,children:[(0,I.jsx)(d,{className:k(`size-3 shrink-0 transition-transform`,n?``:`-rotate-90`)}),(0,I.jsxs)(`span`,{className:`shrink-0 font-medium text-muted-foreground/65`,children:[`#`,t+1]}),(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:e.command})]}),n?(0,I.jsxs)(`div`,{className:`space-y-1 px-2 pb-2 pt-1.5`,children:[(0,I.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-[11px] leading-5 text-foreground/80`,children:e.command}),e.outputFile?(0,I.jsxs)(`div`,{className:`text-[10px] text-muted-foreground/65`,children:[M(`workspaceCommandOutput`),`: `,(0,I.jsx)(`span`,{className:`font-mono`,children:e.outputFile})]}):null]}):null]},e.id)})}):null]}):null]})]}),(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/10 px-3 py-3`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium text-foreground/85`,children:e?.name??M(`noProjectSelected`)}),(0,I.jsx)(`div`,{className:`mt-1 text-[11px] text-muted-foreground/65`,children:i?`${M(`workspaceCurrentBranch`)}: ${a||M(`unknown`)} · ${n} ${M(`workspaceChangeCount`)}`:M(`workspaceNotGitRepository`)})]})]})}function Ir({project:e,open:t,onOpenChange:n,onOpenCommitPush:c,onOpenProjectInExplorer:l,onOpenProjectInVSCode:f,onOpenProjectInIDEA:p,onPreviewArtifact:g,request:v,onRequestHandled:y,artifacts:b=[],pendingTerminalCommand:ee,onPendingTerminalCommandHandled:x,globalTerminalOpen:te=!1,onShowGlobalTerminal:S,onFullscreenChange:C}){let[w,E]=(0,F.useState)([]),[D,ne]=(0,F.useState)([]),[ae,oe]=(0,F.useState)(),[se,le]=(0,F.useState)(!1),[O,ge]=(0,F.useState)(!1),[ye,Se]=(0,F.useState)(),[j,Ee]=(0,F.useState)(``),[N,De]=(0,F.useState)(`unstaged`),[P,ke]=(0,F.useState)(),[Ae,je]=(0,F.useState)(),[Me,Ne]=(0,F.useState)(!1),[Pe,Fe]=(0,F.useState)(),Ie=(0,F.useRef)(void 0);Ie.current||=e?.id?or(e.id):{tabs:[]};let[L,R]=(0,F.useState)(()=>Ie.current?.tabs??[]),[z,B]=(0,F.useState)(()=>Ie.current?.activePanelTabId),[Re,ze]=(0,F.useState)(!1),[V,Be]=(0,F.useState)(!1),[H,Ve]=(0,F.useState)(!1),[He,Ue]=(0,F.useState)(),[We,Ge]=(0,F.useState)(Tr),[Ke,qe]=(0,F.useState)(!0),[Je,Ye]=(0,F.useState)(!1),[Xe,Ze]=(0,F.useState)(t),[Qe,$e]=(0,F.useState)(!1),[U,et]=(0,F.useState)(Dr),[tt,nt]=(0,F.useState)(!1),[W,rt]=(0,F.useState)(!1),[it,at]=(0,F.useState)(!1),G=(0,F.useRef)(null),ot=(0,F.useRef)(null),st=(0,F.useRef)(null),ct=(0,F.useRef)(null),lt=(0,F.useRef)(null),K=(0,F.useRef)(null),ut=(0,F.useRef)(null),q=(0,F.useRef)(null),J=(0,F.useRef)(null),dt=(0,F.useRef)(null),ft=(0,F.useRef)(null),pt=(0,F.useRef)(lr(Ie.current?.tabs??[])),mt=(0,F.useRef)(void 0),ht=(0,F.useRef)(void 0),gt=(0,F.useRef)(void 0),Y=(0,F.useRef)(ur()),_t=(0,F.useRef)(new Set),vt=(0,F.useRef)(0);(0,F.useEffect)(()=>{let e=Y.current;return()=>{e.invalidate()}},[]);let X=e?.id;X&&Y.current.token(X);let Z=(0,F.useMemo)(()=>L.find(e=>e.id===z),[z,L]),yt=Z?.activeReaderTabId,bt=(0,F.useMemo)(()=>Z?.readerTabs||[],[Z?.readerTabs]),Q=(0,F.useMemo)(()=>bt.find(e=>e.id===yt),[yt,bt]),xt=!!(Q&&Q.mode!==`browser`&&(Z?.kind===`reader`||Z?.kind===`review`&&Q.mode===`diff`)),St=Z?.kind===`files`,Ct=xt||St,wt=St||!xt||Ke,Tt=Z?.kind===`review`?Z.reviewView===`review`?`overview`:`changes`:`files`,Et=(0,F.useMemo)(()=>{let e={};for(let t of D)e[t.path]=t;return e},[D]),Dt=(0,F.useMemo)(()=>{let e=new Set;for(let t of D)e.add(t.path),t.oldPath&&e.add(t.oldPath);return e},[D]),Ot=(0,F.useMemo)(()=>Or(w,j),[j,w]),kt=(0,F.useMemo)(()=>Ar(b,e?.path),[b,e?.path]),At=(0,F.useMemo)(()=>N===`staged`?D.filter(e=>e.staged):N===`all`?D:N===`last`?D.filter(e=>kt.has(e.path)||(e.oldPath?kt.has(e.oldPath):!1)):D.filter(e=>e.unstaged||e.status===`untracked`||e.conflict||e.status===`conflicted`),[D,kt,N]),jt=P?At.find(e=>e.path===P):void 0;function Mt(e){ne(e.files),oe(e.branch),le(e.isGitRepository)}async function Nt(e,t,n,r){Ue({action:e,path:t});try{Mt(await n())}catch(e){await ce(e instanceof Error?e.message:r)}finally{Ue(void 0)}}async function Pt(e){X&&await Nt(`stage`,e.path,()=>de(X,e.path),M(`workspaceStageFailed`))}async function Ft(){X&&await Nt(`stage`,void 0,()=>me(X),M(`workspaceStageFailed`))}async function It(e){X&&await Nt(`unstage`,e.path,()=>Te(X,e.path),M(`workspaceUnstageFailed`))}async function Lt(){X&&await Nt(`unstage`,void 0,()=>we(X),M(`workspaceUnstageFailed`))}async function Rt(e){X&&await ue({title:M(`workspaceRestoreConfirmTitle`),description:M(`workspaceRestoreFileConfirm`,{path:e.path}),confirmLabel:M(`workspaceRestoreFile`),cancelLabel:M(`cancel`),variant:`destructive`})&&await Nt(`restore`,e.path,()=>he(X,e.path),M(`workspaceRestoreFailed`))}async function zt(){X&&await ue({title:M(`workspaceRestoreConfirmTitle`),description:M(`workspaceRestoreAllConfirm`),confirmLabel:M(`workspaceRestoreAll`),cancelLabel:M(`cancel`),variant:`destructive`})&&await Nt(`restore`,void 0,()=>ve(X),M(`workspaceRestoreFailed`))}function Bt(e){e.status!==`deleted`&&Qt(e.path)}async function Vt(t){if(e){if(!jt){t===`explorer`?l?.(e):t===`idea`?p?.(e):f?.(e);return}if(X)try{await be(X,jt.path,t)}catch(e){let n=M(t===`explorer`?`openInExplorerFailed`:t===`idea`?`openInIDEAFailed`:`openInVSCodeFailed`);await ce(e instanceof Error?e.message:n)}}}(0,F.useEffect)(()=>{!P||At.some(e=>e.path===P)||(ke(void 0),je(void 0),Fe(void 0),Ne(!1))},[P,At]),(0,F.useEffect)(()=>{if(t){let e=!1;return queueMicrotask(()=>{e||(Ze(!0),window.requestAnimationFrame(()=>{e||$e(!0)}))}),()=>{e=!0}}let e=!1;queueMicrotask(()=>{e||$e(!1)});let n=window.setTimeout(()=>Ze(!1),180);return W&&(J.current?.cancel(),dt.current=null,rt(!1),at(!1),C?.(!1),G.current?.removeAttribute(`style`)),()=>{e=!0,window.clearTimeout(n)}},[W,C,t]),(0,F.useEffect)(()=>{if(!Re&&!V&&!H)return;let e=e=>{let t=e.target;Re&&!ot.current?.contains(t)&&ze(!1),V&&!st.current?.contains(t)&&Be(!1),H&&!ct.current?.contains(t)&&Ve(!1)},t=e=>{e.key===`Escape`&&(ze(!1),Be(!1),Ve(!1))};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[Re,H,V]),(0,F.useEffect)(()=>{!t||!$n(v,X,gt.current)||(gt.current=v.id,v.kind===`review`?mt.current?.(`review`,v.view):v.kind===`reader`?ht.current?.(v.path):v.kind===`browser`?mt.current?.(`browser`,`browser`,{url:v.url}):mt.current?.(v.kind,gr(v.kind)),y?.(v.id))},[y,t,X,v]),(0,F.useEffect)(()=>{try{window.localStorage.setItem(Cr,String(U))}catch{}},[U]);let Ht=(0,F.useCallback)(()=>{et(e=>e<Sr?Sr:e)},[]);(0,F.useEffect)(()=>{!Qe||W||(Z?.kind===`browser`||Z?.kind===`terminal`||yt)&&Ht()},[Z?.kind,yt,Qe,W,Ht]);let Ut=(0,F.useCallback)(async e=>{if(X){ge(!0),Se(void 0);try{let[t,n]=await Promise.all([pe(X),Ce(X)]);if(e?.())return;E(t.tree),ne(n.files),oe(n.branch),le(n.isGitRepository)}catch(t){e?.()||Se(t instanceof Error?t.message:M(`workspaceLoadFailed`))}finally{e?.()||ge(!1)}}},[X]);(0,F.useEffect)(()=>{let e=!1;if(!(!X||!t))return queueMicrotask(()=>{e||Ut(()=>e)}),()=>{e=!0}},[Ut,t,X]),(0,F.useEffect)(()=>{X&&cr(X,L,z)},[z,L,X]),(0,F.useEffect)(()=>{!z||L.some(e=>e.id===z)||B(L[0]?.id)},[z,L]),(0,F.useEffect)(()=>{if(!X)return;let e=L.flatMap(e=>e.kind===`reader`?(e.readerTabs||[]).filter(e=>e.loading&&e.mode===`file`).map(t=>({panelTabId:e.id,reader:t})):[]);for(let{panelTabId:t,reader:n}of e){let e=`${X}:${n.id}`;if(_t.current.has(e))continue;_t.current.add(e);let r=Y.current.token(X);fe(X,n.path).then(e=>({file:e})).then(e=>{Y.current.isCurrent(r)&&$(t,t=>({...t,readerTabs:(t.readerTabs||[]).map(t=>t.id===n.id?{...t,...e,loading:!1,error:void 0}:t)}))}).catch(e=>{Y.current.isCurrent(r)&&$(t,t=>({...t,readerTabs:(t.readerTabs||[]).map(t=>t.id===n.id?{...t,loading:!1,error:e instanceof Error?e.message:M(`workspaceOpenFileFailed`)}:t)}))}).finally(()=>{_t.current.delete(e)})}},[L,X]);function Wt(e,t){let n=`${e}-${pt.current++}`;return e===`browser`?{id:n,kind:e,url:t?.url||``}:e===`reader`?{id:n,kind:e,readerTabs:t?.readerTab?[t.readerTab]:[],activeReaderTabId:t?.readerTab?.id}:e===`files`||e===`review`?{id:n,kind:e,...e===`review`?{reviewView:t?.reviewView||`changes`}:{},readerTabs:t?.readerTab?[t.readerTab]:[],activeReaderTabId:t?.readerTab?.id}:{id:n,kind:e}}function Gt(e){return Wt(`reader`,{readerTab:e})}function $(e,t){R(n=>n.map(n=>n.id===e?t(n):n))}function Kt(e,t=gr(e),n){let r=e===`review`?L.find(e=>e.kind===`review`):void 0,i=r||Wt(e,{...n,...e===`review`?{reviewView:t===`review`?`review`:`changes`}:{}});return r||R(e=>[...e,i]),r?.kind===`review`&&$(r.id,e=>({...e,reviewView:t===`review`?`review`:`changes`})),B(i.id),ze(!1),i}mt.current=Kt;function qt(e){B(e.id)}function Jt(e){R(t=>{let r=t.findIndex(t=>t.id===e),i=t.filter(t=>t.id!==e);return i.length===0?(B(void 0),n(!1),i):(z===e&&B((i[r]??i[r-1])?.id),i)})}function Yt(){R(e=>{let t=e.find(e=>e.id===z)??e[0];return t?(B(t.id),[t]):e}),Be(!1)}function Xt(){R([]),B(void 0),Be(!1),n(!1)}function Zt(e){if(g&&X){g(X,e);return}Qt(e)}async function Qt(e){if(!X)return;let t=Y.current.token(X),n=fr(`file`,e),r=L.find(e=>e.kind===`reader`&&e.readerTabs?.some(e=>e.id===n));if(r){B(r.id),$(r.id,e=>({...e,activeReaderTabId:n}));return}let i=Gt({id:n,mode:`file`,path:e,loading:!0});R(e=>[...e,i]),B(i.id);try{let r=await fe(X,e);if(!Y.current.isCurrent(t))return;$(i.id,e=>({...e,readerTabs:(e.readerTabs||[]).map(e=>e.id===n?{...e,file:r,loading:!1,error:void 0}:e)}))}catch(e){if(!Y.current.isCurrent(t))return;$(i.id,t=>({...t,readerTabs:(t.readerTabs||[]).map(t=>t.id===n?{...t,loading:!1,error:e instanceof Error?e.message:M(`workspaceOpenFileFailed`)}:t)}))}}ht.current=Qt;async function $t(e,t){if(!X)return;let n=Y.current.token(X),r=L.find(e=>e.kind===`review`)||Kt(`review`,t?`changes`:`review`);B(r.id),t&&r.kind===`review`&&$(r.id,e=>({...e,reviewView:`changes`}));let i=fr(`diff`,e);if(r.readerTabs?.some(e=>e.id===i)){$(r.id,e=>({...e,activeReaderTabId:i}));return}let a={id:i,mode:`diff`,path:e,loading:!0};$(r.id,e=>({...e,readerTabs:[...e.readerTabs||[],a],activeReaderTabId:i}));try{let t=await _e(X,e);if(!Y.current.isCurrent(n))return;$(r.id,e=>({...e,readerTabs:(e.readerTabs||[]).map(e=>e.id===i?{...e,diff:t,loading:!1,error:void 0}:e)}))}catch(e){if(!Y.current.isCurrent(n))return;$(r.id,t=>({...t,readerTabs:(t.readerTabs||[]).map(t=>t.id===i?{...t,loading:!1,error:e instanceof Error?e.message:M(`workspaceOpenDiffFailed`)}:t)}))}}async function en(e){if(!X)return;let t=Y.current.token(X);if(P===e){vt.current+=1,ke(void 0),je(void 0),Fe(void 0),Ne(!1);return}let n=vt.current+1;vt.current=n,ke(e),je(void 0),Fe(void 0),Ne(!0);try{let r=await _e(X,e);if(vt.current!==n||!Y.current.isCurrent(t))return;je(r)}catch(e){if(vt.current!==n||!Y.current.isCurrent(t))return;Fe(e instanceof Error?e.message:M(`workspaceOpenDiffFailed`))}finally{vt.current===n&&Y.current.isCurrent(t)&&Ne(!1)}}async function tn(e){await $t(e,!1)}function nn(e){ut.current={startX:e.clientX,startWidth:U,currentWidth:U},ft.current={cursor:document.body.style.cursor,userSelect:document.body.style.userSelect},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,nt(!0),e.preventDefault();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}}function rn(e){let t=ut.current,n=G.current;!t||!n||(t.currentWidth=Math.min(Sr,Math.max(br,t.startWidth+t.startX-e.clientX)),q.current===null&&(q.current=window.requestAnimationFrame(()=>{q.current=null;let e=ut.current;!e||!G.current||(G.current.style.width=`${e.currentWidth}px`)})))}function an(e){let t=ut.current?.currentWidth;ut.current=null,q.current!==null&&(window.cancelAnimationFrame(q.current),q.current=null),typeof t==`number`&&(G.current&&(G.current.style.width=`${t}px`),et(t));let n=ft.current;n&&(document.body.style.cursor=n.cursor,document.body.style.userSelect=n.userSelect,ft.current=null),nt(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}function on(e){lt.current={startX:e.clientX,startWidth:We,currentWidth:We},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,Ye(!0),e.preventDefault();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}}function sn(e){let t=lt.current;t&&(t.currentWidth=Math.min(Er,Math.max(wr,t.startWidth+t.startX-e.clientX)),K.current===null&&(K.current=window.requestAnimationFrame(()=>{K.current=null;let e=lt.current;e&&Ge(e.currentWidth)})))}function cn(e){let t=lt.current?.currentWidth;lt.current=null,K.current!==null&&(window.cancelAnimationFrame(K.current),K.current=null),typeof t==`number`&&Ge(t),document.body.style.cursor=``,document.body.style.userSelect=``,Ye(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}let ln=(0,F.useCallback)(e=>{let t=G.current;if(!t){let t=!W;rt(t),C?.(t),t||e?.();return}W&&e&&(dt.current=e),J.current?.cancel();let n=t.getBoundingClientRect(),r=window.innerWidth,i=dr(),a=window.innerHeight-i,o=`${i}px`,s=`${a}px`,c=`cubic-bezier(0.22, 1, 0.36, 1)`;if(at(!0),!W){window.requestAnimationFrame(()=>{let e=G.current;if(!e)return;Object.assign(e.style,{position:`fixed`,left:`${n.left}px`,top:`${n.top}px`,right:`auto`,bottom:`auto`,width:`${n.width}px`,height:`${n.height}px`,minWidth:`0px`,maxWidth:`none`,zIndex:`40`});let t=e.animate([{left:`${n.left}px`,top:`${n.top}px`,width:`${n.width}px`,height:`${n.height}px`},{left:`0px`,top:o,width:`${r}px`,height:s}],{duration:240,easing:c,fill:`forwards`});J.current=t,t.onfinish=()=>{J.current=null,rt(!0),C?.(!0),window.requestAnimationFrame(()=>{t.cancel(),e.removeAttribute(`style`),window.requestAnimationFrame(()=>at(!1))})},t.oncancel=()=>{J.current=null,dt.current=null,at(!1)}});return}window.requestAnimationFrame(()=>{let e=G.current;if(!e)return;Object.assign(e.style,{position:`fixed`,left:`0px`,top:o,right:`auto`,bottom:`auto`,width:`${n.width}px`,height:s,zIndex:`40`});let t=r-U,i=e.animate([{left:`0px`,top:o,width:`${n.width}px`,height:s},{left:`${t}px`,top:o,width:`${U}px`,height:s}],{duration:240,easing:c,fill:`forwards`});J.current=i,i.onfinish=()=>{J.current=null,rt(!1),C?.(!1);let t=dt.current;dt.current=null,window.requestAnimationFrame(()=>{i.cancel(),e.style.position=``,e.style.left=``,e.style.top=``,e.style.right=``,e.style.bottom=``,e.style.height=``,e.style.zIndex=``,e.style.width=`${U}px`,e.style.minWidth=`${br}px`,e.style.maxWidth=`${Sr}px`,window.requestAnimationFrame(()=>{at(!1),t?.()})})},i.oncancel=()=>{J.current=null,dt.current=null,at(!1)}})},[W,C,U]);return(0,F.useEffect)(()=>{if(!W)return;let e=e=>{e.key===`Escape`&&ln()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[W,ln]),(0,F.useEffect)(()=>()=>{C?.(!1)},[C]),(0,F.useEffect)(()=>()=>{q.current!==null&&window.cancelAnimationFrame(q.current),K.current!==null&&window.cancelAnimationFrame(K.current),J.current?.cancel(),G.current&&G.current.removeAttribute(`style`);let e=ft.current;e&&(document.body.style.cursor=e.cursor,document.body.style.userSelect=e.userSelect)},[]),Xe?(0,I.jsx)(I.Fragment,{children:(0,I.jsxs)(`aside`,{ref:G,className:k(`relative hidden shrink-0 overflow-hidden flex-col bg-background transition-[width,min-width,max-width,opacity,transform] duration-200 ease-out will-change-[width,opacity,transform] lg:flex`,Qe?`translate-x-0 opacity-100`:`w-0 min-w-0 max-w-0 translate-x-4 opacity-0`,tt?`transition-none`:``,W?`quickforge-workspace-inspector-fullscreen z-40 rounded-none border-l-0`:void 0),style:Qe?W?void 0:{width:U,minWidth:br,maxWidth:Sr}:void 0,children:[Qe&&!W?(0,I.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-valuemin":br,"aria-valuemax":Sr,"aria-valuenow":U,className:`absolute inset-y-0 -left-2 z-20 w-4 cursor-col-resize bg-transparent`,onPointerDown:nn,onPointerMove:rn,onPointerUp:an,onPointerCancel:an}):null,(0,I.jsxs)(`div`,{className:k(`flex h-14 shrink-0 items-center gap-2 border-b border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background pl-3 transition-opacity duration-150`,W?`pr-2`:`pr-[5.5rem]`,it?`opacity-0`:`opacity-100`),children:[L.length>0?(0,I.jsxs)(`div`,{ref:st,className:`relative shrink-0`,children:[(0,I.jsx)(`button`,{type:`button`,className:`flex size-9 items-center justify-center rounded-2xl bg-transparent text-muted-foreground/85 transition-colors hover:bg-muted/45 hover:text-foreground/90`,onClick:()=>Be(e=>!e),"aria-label":M(`rightPanelOpenTabsTitle`),title:M(`rightPanelOpenTabsTitle`),"aria-haspopup":`menu`,"aria-expanded":V,children:(0,I.jsx)(d,{className:k(`size-4 transition-transform`,V&&`rotate-180`)})}),V?(0,I.jsxs)(`div`,{className:`absolute left-0 top-12 z-40 w-72 max-w-[calc(100vw-2rem)] rounded-2xl border border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-popover p-2 shadow-quickforge`,role:`menu`,children:[L.map(t=>{let n=(t.kind===`reader`?void 0:hr[t.kind])?.icon,r=Nn(t),i=t.id===z,a=vr(t,e?.name),o=yr(t,a);return(0,I.jsxs)(`div`,{className:k(`group flex h-10 w-full items-center gap-2 rounded-xl px-2 transition-colors`,i?`bg-muted/55 text-foreground`:`text-foreground/86 hover:bg-muted/34 hover:text-foreground`),role:`none`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 text-left text-sm font-medium`,onClick:()=>{qt(t),Be(!1)},role:`menuitem`,title:o,children:[r?(0,I.jsx)(An,{path:r,className:`size-4 shrink-0`}):n?(0,I.jsx)(n,{className:`size-4 shrink-0 text-muted-foreground/80`}):(0,I.jsx)(ie,{className:`size-4 shrink-0 text-muted-foreground/80`}),(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:a})]}),(0,I.jsx)(`button`,{type:`button`,className:`inline-flex size-7 shrink-0 items-center justify-center rounded-full text-muted-foreground/70 opacity-70 transition-colors hover:bg-destructive/10 hover:text-destructive group-hover:opacity-100`,onClick:e=>{e.stopPropagation(),Jt(t.id)},"aria-label":M(`close`),children:(0,I.jsx)(T,{className:`size-3.5`})})]},t.id)}),(0,I.jsxs)(`div`,{className:`mt-2 border-t border-[color-mix(in_oklab,var(--border)_34%,transparent)] pt-2`,children:[(0,I.jsx)(`button`,{type:`button`,className:`flex h-9 w-full items-center rounded-xl px-3 text-left text-sm font-medium text-foreground/80 transition-colors hover:bg-muted/40 hover:text-foreground disabled:pointer-events-none disabled:opacity-40`,onClick:Yt,disabled:L.length<=1,role:`menuitem`,children:M(`rightPanelCloseOtherTabs`)}),(0,I.jsx)(`button`,{type:`button`,className:`flex h-9 w-full items-center rounded-xl px-3 text-left text-sm font-medium text-foreground/80 transition-colors hover:bg-destructive/10 hover:text-destructive`,onClick:Xt,role:`menuitem`,children:M(`rightPanelCloseAllTabs`)})]})]}):null]}):null,(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1 overflow-hidden`,children:[L.map((t,n)=>{let r=(t.kind===`reader`?void 0:hr[t.kind])?.icon,i=Nn(t),a=t.id===z,o=vr(t,e?.name),s=yr(t,o);return(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n>0?(0,I.jsx)(`span`,{"aria-hidden":`true`,className:`mx-0.5 h-3.5 w-px bg-[color-mix(in_oklab,var(--muted-foreground)_18%,transparent)]`}):null,(0,I.jsxs)(`button`,{type:`button`,className:k(`group flex h-10 max-w-40 items-center gap-2 rounded-2xl px-3 text-[13px] font-medium transition-colors`,a?`bg-[color-mix(in_oklab,var(--muted)_86%,transparent)] text-foreground/82 hover:bg-[color-mix(in_oklab,var(--muted)_86%,transparent)]`:`text-muted-foreground/45 hover:bg-[color-mix(in_oklab,var(--muted)_72%,transparent)] hover:text-muted-foreground/72`),onClick:()=>qt(t),title:s,children:[i?(0,I.jsx)(An,{path:i,className:k(`size-4 shrink-0 transition-opacity`,a?`opacity-100`:`opacity-55 group-hover:opacity-85`)}):r?(0,I.jsx)(r,{className:k(`size-4 shrink-0`,a?`text-foreground/74`:`text-muted-foreground/45 group-hover:text-muted-foreground/72`)}):(0,I.jsx)(ie,{className:k(`size-4 shrink-0`,a?`text-foreground/74`:`text-muted-foreground/45 group-hover:text-muted-foreground/72`)}),(0,I.jsx)(`span`,{className:`min-w-0 truncate`,children:o}),(0,I.jsx)(`span`,{role:`button`,tabIndex:0,className:k(`ml-0.5 inline-flex size-5 shrink-0 items-center justify-center rounded-full opacity-0 transition-all hover:bg-black hover:text-white group-hover:opacity-100`,a&&`opacity-100`),onClick:e=>{e.stopPropagation(),Jt(t.id)},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),Jt(t.id))},"aria-label":M(`close`),children:(0,I.jsx)(T,{className:`size-3.5`})})]})]},t.id)}),L.length===0?(0,I.jsx)(`div`,{className:`min-w-0 flex-1`}):null]}),(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[L.length>0||W?(0,I.jsxs)(`div`,{ref:ot,className:`relative shrink-0`,children:[(0,I.jsx)(A,{variant:`ghost`,size:`icon`,type:`button`,className:`rounded-[10px] text-muted-foreground/85 hover:bg-muted/45 hover:text-foreground/90 disabled:opacity-40`,onClick:()=>ze(e=>!e),"aria-label":M(`rightPanelAddTab`),title:M(`rightPanelAddTab`),"aria-haspopup":`menu`,"aria-expanded":Re,children:(0,I.jsx)(u,{className:`size-[18px] stroke-[1.85]`})}),Re?(0,I.jsx)(`div`,{className:`absolute right-0 top-12 z-40 w-64 rounded-2xl border border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-popover p-2 shadow-quickforge`,role:`menu`,children:pr.map(e=>{let t=e.icon;return(0,I.jsxs)(`button`,{type:`button`,className:k(`flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-[15px] font-medium transition-colors`,e.kind===Z?.kind?`bg-muted/55 text-foreground`:`text-foreground/86 hover:bg-muted/34 hover:text-foreground`),onClick:()=>Kt(e.kind,gr(e.kind)),role:`menuitem`,children:[(0,I.jsx)(t,{className:`size-4 shrink-0 text-muted-foreground/80`}),(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label})]},e.kind)})}):null]}):null,(0,I.jsx)(A,{variant:`ghost`,size:`icon`,className:`shrink-0 rounded-[10px] text-muted-foreground/85 hover:bg-muted/45 hover:text-foreground/90 disabled:opacity-40`,disabled:it,onClick:()=>ln(),"aria-label":M(W?`workspaceExitFullscreen`:`workspaceFullscreen`),title:M(W?`workspaceExitFullscreen`:`workspaceFullscreen`),children:W?(0,I.jsx)(s,{className:`size-[18px] stroke-[1.85]`}):(0,I.jsx)(o,{className:`size-[18px] stroke-[1.85]`})}),W?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(A,{variant:`ghost`,size:`icon`,className:k(`shrink-0 rounded-[10px] text-muted-foreground/85 hover:bg-muted/45 hover:text-foreground/90 disabled:opacity-40`,te&&`bg-accent text-accent-foreground hover:bg-accent hover:text-accent-foreground`),disabled:it||!S,onClick:()=>ln(S),"aria-label":M(`rightPanelTerminal`),title:M(`rightPanelTerminal`),children:(0,I.jsx)(re,{className:`size-[18px] stroke-[1.85]`})}),(0,I.jsx)(A,{variant:`ghost`,size:`icon`,className:`shrink-0 rounded-[10px] bg-accent text-accent-foreground hover:bg-accent hover:text-accent-foreground disabled:opacity-40`,disabled:it,onClick:()=>ln(()=>n(!1)),"aria-label":M(`workspaceCollapseRightPanel`),title:M(`workspaceCollapseRightPanel`),children:(0,I.jsx)(i,{className:`size-[18px] stroke-[1.85]`})})]}):null]})]}),(0,I.jsx)(`div`,{className:k(`flex min-h-0 flex-1 transition-opacity duration-150`,it?`opacity-0`:`opacity-100`),children:e?.id?Z?Z.kind===`browser`?(0,I.jsx)(Le,{url:Z.url||``,onUrlChange:e=>{$(Z.id,t=>({...t,url:e}))},projectId:e.id}):Z.kind===`terminal`?(0,I.jsx)(Oe,{project:e,pendingCommand:ee,onPendingCommandHandled:x,onCollapse:()=>Jt(Z.id),variant:`panel`,singleSession:!0,panelInstanceId:Z.id,panelSessionId:Z.terminalSessionId,onPanelSessionReady:e=>$(Z.id,t=>({...t,terminalSessionId:e}))},Z.id):(0,I.jsxs)(I.Fragment,{children:[Ct?(0,I.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col bg-background`,children:Q?(0,I.jsx)(Pr,{project:e,path:Q.path,mode:Q.mode,file:Q.file,diff:Q.diff,loading:Q.loading,error:Q.error,navigationVisible:Ke,onNavigationVisibleChange:qe},Q.id):St?(0,I.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6`,children:(0,I.jsxs)(`div`,{className:`max-w-sm text-center`,children:[(0,I.jsx)(m,{className:`mx-auto size-8 stroke-[1.6] text-muted-foreground/35`}),(0,I.jsx)(`div`,{className:`mt-3 text-sm font-medium text-foreground/85`,children:M(`workspaceOpenFileTitle`)}),(0,I.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground/60`,children:M(`workspaceOpenFileDescription`)})]})}):null}):null,Ct&&(St||Ke)?(0,I.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-valuemin":wr,"aria-valuemax":Er,"aria-valuenow":We,className:k(`group relative z-10 w-1.5 shrink-0 cursor-col-resize bg-transparent transition-colors`,Je?`bg-primary/30`:`hover:bg-[color-mix(in_oklab,var(--border)_52%,transparent)]`),onPointerDown:on,onPointerMove:sn,onPointerUp:cn,onPointerCancel:cn}):null,wt?(0,I.jsx)(`div`,{className:k(`flex min-h-0 min-w-0 flex-col bg-muted/20`,Ct?`shrink-0 border-l-[0.5px] border-[color-mix(in_oklab,var(--border)_34%,transparent)]`:`flex-1`),style:Ct?{width:We,minWidth:wr,maxWidth:Er}:void 0,children:ye?(0,I.jsx)(`div`,{className:`p-4 text-sm text-destructive`,children:ye}):(0,I.jsxs)(`div`,{className:k(`min-h-0 min-w-0 flex-1 p-2`,Tt===`changes`?`flex flex-col overflow-hidden`:`overflow-auto`),children:[O?(0,I.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:M(`workspaceLoading`)}):null,!O&&Tt===`overview`?(0,I.jsx)(Fr,{project:e,artifacts:b,changesCount:D.length,changedPaths:Dt,isGitRepository:se,gitBranch:ae,onSelectFile:Qt,onSelectDiff:tn,onPreviewFile:Zt}):null,!O&&Tt===`files`?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,I.jsxs)(`label`,{className:`flex min-w-0 flex-1 items-center gap-2 rounded-md border-[0.5px] border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-background px-2.5 py-2 text-sm text-muted-foreground/65 focus-within:text-foreground/85`,children:[(0,I.jsx)(h,{className:`size-4 shrink-0`}),(0,I.jsx)(`input`,{value:j,onChange:e=>Ee(e.target.value),placeholder:M(`workspaceFilterFiles`),className:`min-w-0 flex-1 bg-transparent text-sm text-foreground/85 outline-none placeholder:text-muted-foreground/50`})]}),(0,I.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-xl text-muted-foreground/72 transition-colors hover:bg-muted/30 hover:text-foreground/85 disabled:cursor-not-allowed disabled:opacity-60`,onClick:()=>void Ut(),disabled:O,"aria-label":M(`refreshWorkspace`),title:M(`refreshWorkspace`),children:(0,I.jsx)(_,{className:k(`size-3.5`,O&&`animate-spin`)})})]}),(0,I.jsx)(Qn,{tree:Ot,selectedPath:Q?.mode===`file`?Q.path:void 0,gitStatuses:Et,onSelectFile:Qt,onPreviewFile:Zt,projectId:X})]}):null,!O&&Tt===`changes`?se?(0,I.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 shrink-0 flex-wrap items-center justify-between gap-x-2 gap-y-1.5 pb-2`,children:[(0,I.jsxs)(`div`,{ref:ct,className:`relative min-w-24 flex-1`,children:[(0,I.jsxs)(`button`,{type:`button`,className:`inline-flex h-8 w-full min-w-0 max-w-full items-center gap-2 rounded-xl border border-[color-mix(in_oklab,var(--border)_45%,transparent)] bg-background px-3 text-sm font-medium text-foreground/86 transition-colors hover:border-border/60 hover:bg-muted/30 hover:text-foreground`,onClick:()=>Ve(e=>!e),"aria-haspopup":`menu`,"aria-expanded":H,title:M(`workspaceReviewFilter`),children:[(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:mr.find(e=>e.value===N)?.label}),(0,I.jsx)(d,{className:k(`size-3.5 shrink-0 text-muted-foreground/70 transition-transform`,H&&`rotate-180`)})]}),H?(0,I.jsx)(`div`,{className:`absolute left-0 top-10 z-40 w-48 rounded-2xl border border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-popover p-1.5 shadow-quickforge`,role:`menu`,"aria-label":M(`workspaceReviewFilter`),children:mr.map(e=>{let t=e.value===N;return(0,I.jsxs)(`button`,{type:`button`,className:k(`flex h-9 w-full items-center gap-2 rounded-xl px-2.5 text-left text-sm font-medium transition-colors`,t?`bg-muted/55 text-foreground`:`text-foreground/82 hover:bg-muted/34 hover:text-foreground`),onClick:()=>{De(e.value),Ve(!1)},role:`menuitemradio`,"aria-checked":t,children:[(0,I.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),t?(0,I.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground/80`}):null]},e.value)})}):null]}),(0,I.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[(0,I.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-xl text-muted-foreground/72 transition-colors hover:bg-muted/30 hover:text-foreground/85 disabled:cursor-not-allowed disabled:opacity-60`,onClick:()=>void Ut(),disabled:O,"aria-label":M(`refreshWorkspace`),title:M(`refreshWorkspace`),children:(0,I.jsx)(_,{className:k(`size-3.5`,O&&`animate-spin`)})}),(0,I.jsx)(xe,{project:e,disabledTargets:jt?.status===`deleted`?{vscode:!0,idea:!0}:void 0,targetDisabledLabel:M(`workspaceCannotOpenDeletedFile`),onOpenInExplorer:()=>{Vt(`explorer`)},onOpenInVSCode:()=>{Vt(`vscode`)},onOpenInIDEA:()=>{Vt(`idea`)}}),c?(0,I.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-xl text-muted-foreground/72 transition-colors hover:bg-muted/30 hover:text-foreground/85`,onClick:c,"aria-label":M(`gitToolsCommitOrPush`),title:M(`gitToolsCommitOrPush`),children:(0,I.jsx)(a,{className:`size-3.5`})}):null]})]}),(0,I.jsx)(Jn,{files:At,selectedPath:P,expandedDiff:Ae,expandedLoading:Me,expandedError:Pe,onSelectFile:en,onRestoreFile:Rt,onStageFile:Pt,onUnstageFile:It,onOpenFile:Bt,onRestoreAll:zt,onStageAll:Ft,onUnstageAll:Lt,showUnstageAll:N===`staged`,pendingAction:He,emptyMessage:jr(N)})]}):(0,I.jsx)(`div`,{className:`px-2 py-3 text-xs text-muted-foreground/70`,children:M(`workspaceNotGitRepository`)}):null]})}):null]}):(0,I.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-5`,children:(0,I.jsxs)(`div`,{className:`w-full max-w-[26rem] space-y-4`,children:[(0,I.jsxs)(`div`,{className:`text-center font-sans`,children:[(0,I.jsx)(`div`,{className:`text-lg font-semibold leading-tight tracking-[-0.01em] text-foreground/90`,children:M(`rightPanelOpenTabsTitle`)}),(0,I.jsx)(`div`,{className:`mt-2 text-sm leading-5 text-muted-foreground/70`,children:M(`rightPanelOpenTabsDescription`)})]}),(0,I.jsx)(`div`,{className:`space-y-2`,children:pr.map(e=>{let t=e.icon;return(0,I.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-3 rounded-xl border border-[color-mix(in_oklab,var(--border)_34%,transparent)] bg-muted/60 px-4 py-3 text-left transition-colors hover:bg-muted/72 active:bg-muted/82`,onClick:()=>Kt(e.kind,gr(e.kind)),children:[(0,I.jsx)(t,{className:`size-4 shrink-0 text-muted-foreground/78`}),(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(`div`,{className:`text-sm font-medium text-foreground/90`,children:e.label}),(0,I.jsx)(`div`,{className:`mt-0.5 text-xs leading-4 text-muted-foreground/60`,children:e.description})]})]},e.kind)})})]})}):(0,I.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground/70`,children:M(`workspaceSelectProject`)})})]})}):null}export{Ir as WorkspaceInspector};
|