wiki-viewer 1.4.3 → 1.5.1
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +5 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +34 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js +8 -7
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js +17 -0
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js +15 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js +15 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/fs/move/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js +15 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/agent/fs/search/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/clear-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/root-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/content/route.js +2 -2
- package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/move/route.js +3 -3
- package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/presence/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/wiki/presence/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/wiki/presence/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js +14 -0
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/wiki/presence/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +5 -0
- package/.next/standalone/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0d2jbo5.js +3 -0
- package/.next/standalone/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0ytral2.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-ao6a_._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0269d2e._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05f6x0i._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06-dtd0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06sek6_._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09s9qkd._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d75a5q._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d_da6q._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e7si9p._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hhhvm7._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kk26wc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kur4ro._.js +15 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p12-6~._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qc2~6l._.js +15 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s~i040._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w47wil._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xq124z._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0l..bxz._.js → [root-of-the-server]__0xz-_0v._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10w2q~o._.js +1 -1
- package/.next/standalone/.next/server/chunks/_079xuln._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_fs_file_[___path]_route_actions_0gb11t~.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_fs_ls_[[___path]]_route_actions_0wfg4nl.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_fs_move_route_actions_0z34mqq.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_agent_fs_search_route_actions_0ut_ug..js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wiki_presence_route_actions_0x9d7f4.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{0~w0_katex_dist_katex_mjs_055boxx._.js → 0~w0_katex_dist_katex_mjs_00650~e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_diagram-OG6HWLK6_mjs_0t5sus6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_sankeyDiagram-5OEKKPKP_mjs_11ifrnu._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__134_q7l._.js → [root-of-the-server]__12ahxbl._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0pqaawz._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0rc1vh5._.js → node_modules__pnpm_02gx8km._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0t4unpg._.js → node_modules__pnpm_02mew~s._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_12-ni1n._.js → node_modules__pnpm_03ij5.g._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_12~a4c_._.js → node_modules__pnpm_03v21p-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0f~_mm3._.js → node_modules__pnpm_05qsply._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0alwr5e._.js → node_modules__pnpm_06pgebo._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_02zxe7o._.js → node_modules__pnpm_08ibh0w._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0hr027i._.js → node_modules__pnpm_099cv.b._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0znncy9._.js → node_modules__pnpm_0cwpt9p._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0-pisfi._.js → node_modules__pnpm_0f9fpy5._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0zhbnni._.js → node_modules__pnpm_0f_uzgy._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0-w-d-.._.js → node_modules__pnpm_0fixtms._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_03z0vkh._.js → node_modules__pnpm_0gofu~q._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_10i6lh6._.js → node_modules__pnpm_0iojvye._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0-hfev1._.js → node_modules__pnpm_0li2vzs._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_13kfy_z._.js → node_modules__pnpm_0m5-azh._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_071f6vl._.js → node_modules__pnpm_0n1kfcp._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_07uh2kc._.js → node_modules__pnpm_0rebktf._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0okw1r.._.js → node_modules__pnpm_0tkiej3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0xuz.8f._.js → node_modules__pnpm_0v_nwsz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0zb6573._.js → node_modules__pnpm_0wffzo0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0d7jxsf._.js → node_modules__pnpm_0wouz19._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0egenev._.js → node_modules__pnpm_0xxwmv2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0j9bq9s._.js → node_modules__pnpm_0zzzsrj._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0irsd.b._.js → node_modules__pnpm_0~.6dgb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0erwv_m._.js → node_modules__pnpm_0~2~c30._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0y9k6h~._.js → node_modules__pnpm_10413dq._.js} +2 -2
- package/.next/standalone/.next/server/functions-config-manifest.json +5 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{11s9zwr7edrs7.js → 17~r3.8awh3qg.js} +12 -12
- package/.next/standalone/README.md +79 -16
- package/.next/standalone/agents/bootstrap-prompt.md +12 -1
- package/.next/standalone/agents/wiki-viewer-skill/SKILL.md +199 -6
- package/.next/standalone/docs/file-vs-collab-authority.md +124 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/packages/wiki-viewer-mcp/README.md +194 -0
- package/.next/standalone/packages/wiki-viewer-mcp/dist/http-client.js +220 -0
- package/.next/standalone/packages/wiki-viewer-mcp/dist/index.js +472 -0
- package/.next/standalone/packages/wiki-viewer-mcp/dist/register.js +94 -0
- package/.next/standalone/packages/wiki-viewer-mcp/dist/state-cache.js +26 -0
- package/.next/standalone/packages/wiki-viewer-mcp/package-lock.json +1716 -0
- package/.next/standalone/packages/wiki-viewer-mcp/package.json +41 -0
- package/.next/standalone/packages/wiki-viewer-mcp/src/http-client.ts +344 -0
- package/.next/standalone/packages/wiki-viewer-mcp/src/index.ts +575 -0
- package/.next/standalone/packages/wiki-viewer-mcp/src/register.ts +144 -0
- package/.next/standalone/packages/wiki-viewer-mcp/src/state-cache.ts +45 -0
- package/.next/standalone/packages/wiki-viewer-mcp/tsconfig.json +19 -0
- package/.next/standalone/pnpm-lock.yaml +9 -9
- package/.next/standalone/src/app/api/agent/files/[...path]/route.ts +11 -1
- package/.next/standalone/src/app/api/agent/fs/file/[...path]/route.ts +344 -0
- package/.next/standalone/src/app/api/agent/fs/ls/[[...path]]/route.ts +147 -0
- package/.next/standalone/src/app/api/agent/fs/move/route.ts +125 -0
- package/.next/standalone/src/app/api/agent/fs/search/route.ts +236 -0
- package/.next/standalone/src/app/api/agent/register/route.ts +3 -3
- package/.next/standalone/src/app/api/agents/install/route.ts +44 -2
- package/.next/standalone/src/app/api/system/auth-settings/route.ts +1 -0
- package/.next/standalone/src/app/api/wiki/move/route.ts +10 -1
- package/.next/standalone/src/app/api/wiki/presence/route.ts +55 -0
- package/.next/standalone/src/components/ai-panel/ai-panel.tsx +98 -103
- package/.next/standalone/src/components/ai-panel/token-section.tsx +8 -7
- package/.next/standalone/src/components/auth-settings-sheet.tsx +81 -22
- package/.next/standalone/src/components/editor/editor.tsx +38 -0
- package/.next/standalone/src/lib/proof/audit.ts +79 -0
- package/.next/standalone/src/lib/proof/auth.ts +2 -2
- package/.next/standalone/src/lib/proof/collab-state.ts +79 -0
- package/.next/standalone/src/lib/proof/lease.ts +104 -0
- package/.next/standalone/src/lib/proof/ops-applier.ts +74 -25
- package/.next/standalone/src/lib/proof/raw-fs.ts +198 -0
- package/.next/standalone/src/lib/proof/registry.ts +1 -1
- package/.next/standalone/src/lib/proof/sidecar.ts +38 -1
- package/.next/standalone/src/lib/proof/types.ts +13 -1
- package/.next/standalone/src/tests/proof/agent-fs.test.ts +824 -0
- package/.next/standalone/src/tests/proof/agents-install.test.ts +53 -0
- package/.next/standalone/src/tests/proof/collab-state.test.ts +499 -0
- package/.next/standalone/src/tests/proof/reconcile-sidecar.test.ts +195 -0
- package/.next/standalone/src/tests/proof/sidecar-lifecycle.test.ts +177 -0
- package/.next/standalone/tsconfig.tsbuildinfo +1 -1
- package/README.md +79 -16
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09~~-nd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w87kiz._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ssbhv._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules__pnpm_0g0fhfk._.js +0 -3
- /package/.next/standalone/.next/static/{kzOuSAQArtvD7uiAJ6ZLh → 3G_3qm2a9nOX7oi5k0mPV}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{kzOuSAQArtvD7uiAJ6ZLh → 3G_3qm2a9nOX7oi5k0mPV}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{kzOuSAQArtvD7uiAJ6ZLh → 3G_3qm2a9nOX7oi5k0mPV}/_ssgManifest.js +0 -0
|
@@ -110,9 +110,9 @@ ${e}
|
|
|
110
110
|
`}),m},zO=l5.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,renderWrapper:!1,handleWidth:5,cellMinWidth:25,View:zK,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({node:a,HTMLAttributes:b}){let{colgroup:c,tableWidth:d,tableMinWidth:e}=function(a,b){let c=0,d=!0,e=[],f=a.firstChild;if(!f)return{};for(let a=0,g=0;a<f.childCount;a+=1){let{colspan:h,colwidth:i}=f.child(a).attrs;for(let a=0;a<h;a+=1,g+=1){let f=void 0===g?void 0:i&&i[a];c+=f||b,f||(d=!1);let[h,j]=zI(b,f);e.push(["col",{style:`${h}: ${j}`}])}}return{colgroup:["colgroup",{},...e],tableWidth:d?`${c}px`:"",tableMinWidth:d?"":`${c}px`}}(a,this.options.cellMinWidth),f=b.style,g=["table",kM(this.options.HTMLAttributes,b,{style:f||(d?`width: ${d}`:`min-width: ${e}`)}),c,["tbody",0]];return this.options.renderWrapper?["div",{class:"tableWrapper"},g]:g},parseMarkdown:(a,b)=>{let c=[],d=Array.isArray(a.align)?a.align:[];if(a.header){let e=[];a.header.forEach((a,c)=>{var f;let g=zD(null!=(f=d[c])?f:a.align);e.push(b.createNode("tableHeader",g?{align:g}:{},[{type:"paragraph",content:b.parseInline(a.tokens)}]))}),c.push(b.createNode("tableRow",{},e))}return a.rows&&a.rows.forEach(a=>{let e=[];a.forEach((a,c)=>{var f;let g=zD(null!=(f=d[c])?f:a.align);e.push(b.createNode("tableCell",g?{align:g}:{},[{type:"paragraph",content:b.parseInline(a.tokens)}]))}),c.push(b.createNode("tableRow",{},e))}),b.createNode("table",void 0,c)},renderMarkdown:(a,b)=>zN(a,b),addCommands:()=>({insertTable:({rows:a=3,cols:b=3,withHeaderRow:c=!0}={})=>({tr:d,dispatch:e,editor:f})=>{let g=function(a,b,c,d){let e=function(a){if(a.cached.tableNodeTypes)return a.cached.tableNodeTypes;let b={};return Object.keys(a.nodes).forEach(c=>{let d=a.nodes[c];d.spec.tableRole&&(b[d.spec.tableRole]=d)}),a.cached.tableNodeTypes=b,b}(a),f=[],g=[];for(let a=0;a<c;a+=1){let a=zL(e.cell,void 0);if(a&&g.push(a),d){let a=zL(e.header_cell,void 0);a&&f.push(a)}}let h=[];for(let a=0;a<b;a+=1)h.push(e.row.createChecked(null,d&&0===a?f:g));return e.table.createChecked(null,h)}(f.schema,a,b,c);if(e){let a=d.selection.from+1;d.replaceSelectionWith(g).scrollIntoView().setSelection(fe.near(d.doc.resolve(a)))}return!0},addColumnBefore:()=>({state:a,dispatch:b})=>(function(a,b){if(!ie(a))return!1;if(b){let c=iB(a);b(iC(a.tr,c,c.left))}return!0})(a,b),addColumnAfter:()=>({state:a,dispatch:b})=>(function(a,b){if(!ie(a))return!1;if(b){let c=iB(a);b(iC(a.tr,c,c.right))}return!0})(a,b),deleteColumn:()=>({state:a,dispatch:b})=>(function(a,b){if(!ie(a))return!1;if(b){let c=iB(a),d=a.tr;if(0==c.left&&c.right==c.map.width)return!1;for(let a=c.right-1;!function(a,{map:b,table:c,tableStart:d},e){let f=a.mapping.maps.length;for(let g=0;g<b.height;){let h=g*b.width+e,i=b.map[h],j=c.nodeAt(i),k=j.attrs;if(e>0&&b.map[h-1]==i||e<b.width-1&&b.map[h+1]==i)a.setNodeMarkup(a.mapping.slice(f).map(d+i),null,ik(k,e-b.colCount(i)));else{let b=a.mapping.slice(f).map(d+i);a.delete(b,b+j.nodeSize)}g+=k.rowspan}}(d,c,a),a!=c.left;a--){let a=c.tableStart?d.doc.nodeAt(c.tableStart-1):d.doc;if(!a)throw RangeError("No table found");c.table=a,c.map=ia.get(a)}b(d)}return!0})(a,b),addRowBefore:()=>({state:a,dispatch:b})=>(function(a,b){if(!ie(a))return!1;if(b){let c=iB(a);b(iD(a.tr,c,c.top))}return!0})(a,b),addRowAfter:()=>({state:a,dispatch:b})=>(function(a,b){if(!ie(a))return!1;if(b){let c=iB(a);b(iD(a.tr,c,c.bottom))}return!0})(a,b),deleteRow:()=>({state:a,dispatch:b})=>(function(a,b){if(!ie(a))return!1;if(b){let c=iB(a),d=a.tr;if(0==c.top&&c.bottom==c.map.height)return!1;for(let a=c.bottom-1;!function(a,{map:b,table:c,tableStart:d},e){let f=0;for(let a=0;a<e;a++)f+=c.child(a).nodeSize;let g=f+c.child(e).nodeSize,h=a.mapping.maps.length;a.delete(f+d,g+d);let i=new Set;for(let f=0,g=e*b.width;f<b.width;f++,g++){let j=b.map[g];if(!i.has(j)){if(i.add(j),e>0&&j==b.map[g-b.width]){let b=c.nodeAt(j).attrs;a.setNodeMarkup(a.mapping.slice(h).map(j+d),null,{...b,rowspan:b.rowspan-1}),f+=b.colspan-1}else if(e<b.height&&j==b.map[g+b.width]){let g=c.nodeAt(j),i=g.attrs,k=g.type.create({...i,rowspan:g.attrs.rowspan-1},g.content),l=b.positionAt(e+1,f,c);a.insert(a.mapping.slice(h).map(d+l),k),f+=i.colspan-1}}}}(d,c,a),a!=c.top;a--){let a=c.tableStart?d.doc.nodeAt(c.tableStart-1):d.doc;if(!a)throw RangeError("No table found");c.table=a,c.map=ia.get(c.table)}b(d)}return!0})(a,b),deleteTable:()=>({state:a,dispatch:b})=>(function(a,b){let c=a.selection.$anchor;for(let d=c.depth;d>0;d--)if("table"==c.node(d).type.spec.tableRole)return b&&b(a.tr.delete(c.before(d),c.after(d)).scrollIntoView()),!0;return!1})(a,b),mergeCells:()=>({state:a,dispatch:b})=>iF(a,b),splitCell:()=>({state:a,dispatch:b})=>iG(a,b),toggleHeaderColumn:()=>({state:a,dispatch:b})=>iI("column")(a,b),toggleHeaderRow:()=>({state:a,dispatch:b})=>iI("row")(a,b),toggleHeaderCell:()=>({state:a,dispatch:b})=>iJ(a,b),mergeOrSplit:()=>({state:a,dispatch:b})=>!!iF(a,b)||iG(a,b),setCellAttribute:(a,b)=>({state:c,dispatch:d})=>(function(c,d){if(!ie(c))return!1;let e=ig(c);if(e.nodeAfter.attrs[a]===b)return!1;if(d){let f=c.tr;c.selection instanceof im?c.selection.forEachCell((c,d)=>{c.attrs[a]!==b&&f.setNodeMarkup(d,null,{...c.attrs,[a]:b})}):f.setNodeMarkup(e.pos,null,{...e.nodeAfter.attrs,[a]:b}),d(f)}return!0})(c,d),goToNextCell:()=>({state:a,dispatch:b})=>iK(1)(a,b),goToPreviousCell:()=>({state:a,dispatch:b})=>iK(-1)(a,b),fixTables:()=>({state:a,dispatch:b})=>(b&&ir(a),!0),setCellSelection:a=>({tr:b,dispatch:c})=>{if(c){let c=im.create(b.doc,a.anchorCell,a.headCell);b.setSelection(c)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:zM,"Mod-Backspace":zM,Delete:zM,"Mod-Delete":zM}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[function({handleWidth:a=5,cellMinWidth:b=25,defaultCellMinWidth:c=100,View:d=i$,lastColumnResizable:e=!0}={}){let f=new fs({key:i0,state:{init(a,b){var e;let g=null==(e=f.spec)||null==(e=e.props)?void 0:e.nodeViews,h=ib(b.schema).table.name;return d&&g&&(g[h]=(a,b)=>new d(a,c,b)),new i1(-1,!1)},apply:(a,b)=>b.apply(a)},props:{attributes:a=>{let b=i0.getState(a);return b&&b.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(b,c)=>{!function(a,b,c,d){if(!a.editable)return;let e=i0.getState(a.state);if(e&&!e.dragging){let f=function(a){for(;a&&"TD"!=a.nodeName&&"TH"!=a.nodeName;)a=a.classList&&a.classList.contains("ProseMirror")?null:a.parentNode;return a}(b.target),g=-1;if(f){let{left:d,right:e}=f.getBoundingClientRect();b.clientX-d<=c?g=i2(a,b,"left",c):e-b.clientX<=c&&(g=i2(a,b,"right",c))}if(g!=e.activeHandle){if(!d&&-1!==g){let b=a.state.doc.resolve(g),c=b.node(-1),d=ia.get(c),e=b.start(-1);if(d.colCount(b.pos-e)+b.nodeAfter.attrs.colspan-1==d.width-1)return}i4(a,g)}}}(b,c,a,e)},mouseleave:a=>{!function(a){if(!a.editable)return;let b=i0.getState(a.state);b&&b.activeHandle>-1&&!b.dragging&&i4(a,-1)}(a)},mousedown:(a,d)=>{!function(a,b,c,d){var e;if(!a.editable)return;let f=null!=(e=a.dom.ownerDocument.defaultView)?e:window,g=i0.getState(a.state);if(!g||-1==g.activeHandle||g.dragging)return;let h=a.state.doc.nodeAt(g.activeHandle),i=function(a,b,{colspan:c,colwidth:d}){let e=d&&d[d.length-1];if(e)return e;let f=a.domAtPos(b),g=f.node.childNodes[f.offset].offsetWidth,h=c;if(d)for(let a=0;a<c;a++)d[a]&&(g-=d[a],h--);return g/h}(a,g.activeHandle,h.attrs);function j(b){f.removeEventListener("mouseup",j),f.removeEventListener("mousemove",k);let d=i0.getState(a.state);(null==d?void 0:d.dragging)&&(function(a,b,c){let d=a.state.doc.resolve(b),e=d.node(-1),f=ia.get(e),g=d.start(-1),h=f.colCount(d.pos-g)+d.nodeAfter.attrs.colspan-1,i=a.state.tr;for(let a=0;a<f.height;a++){let b=a*f.width+h;if(a&&f.map[b]==f.map[b-f.width])continue;let d=f.map[b],j=e.nodeAt(d).attrs,k=1==j.colspan?0:h-f.colCount(d);if(j.colwidth&&j.colwidth[k]==c)continue;let l=j.colwidth?j.colwidth.slice():Array(j.colspan).fill(0);l[k]=c,i.setNodeMarkup(g+d,null,{...j,colwidth:l})}i.docChanged&&a.dispatch(i)}(a,d.activeHandle,i3(d.dragging,b,c)),a.dispatch(a.state.tr.setMeta(i0,{setDragging:null})))}function k(b){if(!b.which)return j(b);let e=i0.getState(a.state);if(e&&e.dragging){let f=i3(e.dragging,b,c);i5(a,e.activeHandle,f,d)}}a.dispatch(a.state.tr.setMeta(i0,{setDragging:{startX:b.clientX,startWidth:i}})),i5(a,g.activeHandle,i,d),f.addEventListener("mouseup",j),f.addEventListener("mousemove",k),b.preventDefault()}(a,d,b,c)}},decorations:a=>{let b=i0.getState(a);if(b&&b.activeHandle>-1)return function(a,b){let c=[],d=a.doc.resolve(b),e=d.node(-1);if(!e)return hz.empty;let f=ia.get(e),g=d.start(-1),h=f.colCount(d.pos-g)+d.nodeAfter.attrs.colspan-1;for(let b=0;b<f.height;b++){let d=h+b*f.width;if((h==f.width-1||f.map[d]!=f.map[d+1])&&(0==b||f.map[d]!=f.map[d-f.width])){var i;let b=f.map[d],h=g+b+e.nodeAt(b).nodeSize-1,j=document.createElement("div");j.className="column-resize-handle",(null==(i=i0.getState(a))?void 0:i.dragging)&&c.push(hw.node(g+b,g+b+e.nodeAt(b).nodeSize,{class:"column-resize-dragging"})),c.push(hw.widget(h,j))}}return hz.create(a.doc,c)}(a,b.activeHandle)},nodeViews:{}}});return f}({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,defaultCellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],function({allowTableNodeSelection:a=!1}={}){return new fs({key:ic,state:{init:()=>null,apply(a,b){let c=a.getMeta(ic);if(null!=c)return -1==c?null:c;if(null==b||!a.docChanged)return b;let{deleted:d,pos:e}=a.mapping.mapResult(b);return d?null:e}},props:{decorations:ip,handleDOMEvents:{mousedown:iW},createSelectionBetween:a=>null!=ic.getState(a.state)?a.state.selection:null,handleTripleClick:iU,handleKeyDown:iQ,handlePaste:iV},appendTransaction:(b,c,d)=>(function(a,b,c){let d,e,f=(b||a).selection,g=(b||a).doc;if(f instanceof fg&&(e=f.node.type.spec.tableRole)){if("cell"==e||"header_cell"==e)d=im.create(g,f.from);else if("row"==e){let a=g.resolve(f.from+1);d=im.rowSelection(a,a)}else if(!c){let a=ia.get(f.node),b=f.from+1,c=b+a.map[a.width*a.height-1];d=im.create(g,b+1,c)}}else f instanceof fe&&function({$from:a,$to:b}){if(a.pos==b.pos||a.pos<b.pos-6)return!1;let c=a.pos,d=b.pos,e=a.depth;for(;e>=0&&!(a.after(e+1)<a.end(e));e--,c++);for(let a=b.depth;a>=0&&!(b.before(a+1)>b.start(a));a--,d--);return c==d&&/row|table/.test(a.node(e).type.spec.tableRole)}(f)?d=fe.create(g,f.from):f instanceof fe&&function({$from:a,$to:b}){let c,d;for(let b=a.depth;b>0;b--){let d=a.node(b);if("cell"===d.type.spec.tableRole||"header_cell"===d.type.spec.tableRole){c=d;break}}for(let a=b.depth;a>0;a--){let c=b.node(a);if("cell"===c.type.spec.tableRole||"header_cell"===c.type.spec.tableRole){d=c;break}}return c!==d&&0===b.parentOffset}(f)&&(d=fe.create(g,f.$from.start(),f.$from.end()));return d&&(b||(b=a.tr)).setSelection(d),b})(d,ir(d,c),a)})}({allowTableNodeSelection:this.options.allowTableNodeSelection})]},addNodeView(){let a=this.options.resizable&&this.editor.isEditable,b=this.options.View;return a||!b?null:({node:a,view:c})=>new b(a,this.options.cellMinWidth,c)},extendNodeSchema(a){let b={name:a.name,options:a.options,storage:a.storage};return{tableRole:kI(kE(a,"tableRole",b))}}});lE.create({name:"tableKit",addExtensions(){let a=[];return!1!==this.options.table&&a.push(zO.configure(this.options.table)),!1!==this.options.tableCell&&a.push(zF.configure(this.options.tableCell)),!1!==this.options.tableHeader&&a.push(zG.configure(this.options.tableHeader)),!1!==this.options.tableRow&&a.push(zH.configure(this.options.tableRow)),a}});var zP=Object.defineProperty,zQ="textStyle",zR=/^\s*([-+*])\s$/,zS=l5.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:a}){return["ul",kM(this.options.HTMLAttributes,a),0]},markdownTokenName:"list",parseMarkdown:(a,b)=>"list"!==a.type||a.ordered?[]:{type:"bulletList",content:a.items?b.parseChildren(a.items):[]},renderMarkdown:(a,b)=>a.content?b.renderChildren(a.content,"\n"):"",markdownOptions:{indentsContent:!0},addCommands(){return{toggleBulletList:()=>({commands:a,chain:b})=>this.options.keepAttributes?b().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes("listItem",this.editor.getAttributes(zQ)).run():a.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let a=lW({find:zR,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(a=lW({find:zR,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(zQ),editor:this.editor})),[a]}}),zT=l5.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:a}){return["li",kM(this.options.HTMLAttributes,a),0]},markdownTokenName:"list_item",parseMarkdown:(a,b)=>{var c,d,e,f;if("list_item"!==a.type)return[];let g=null!=(c=b.parseBlockChildren)?c:b.parseChildren,h=[];if(a.tokens&&a.tokens.length>0){let c;if(c=null==(d=a.tokens)?void 0:d[0],a.text&&(null==(e=a.tokens)?void 0:e.length)===1&&(null==c?void 0:c.type)==="list"&&c.ordered&&c.raw===a.text)return{type:"listItem",content:[{type:"paragraph",content:(f=a.text||"",b.tokenizeInline?b.parseInline(b.tokenizeInline(f)):b.parseInline([{type:"text",raw:f,text:f}]))}]};if(a.tokens.some(a=>"paragraph"===a.type))h=g(a.tokens);else{let c=a.tokens[0];if(c&&"text"===c.type&&c.tokens&&c.tokens.length>0){if(h=[{type:"paragraph",content:b.parseInline(c.tokens)}],a.tokens.length>1){let b=g(a.tokens.slice(1));h.push(...b)}}else h=g(a.tokens)}}return 0===h.length&&(h=[{type:"paragraph",content:[]}]),{type:"listItem",content:h}},renderMarkdown:(a,b,c)=>l4(a,b,a=>{var b,c;if("bulletList"===a.parentType)return"- ";if("orderedList"===a.parentType){let d=(null==(c=null==(b=a.meta)?void 0:b.parentAttrs)?void 0:c.start)||1;return`${d+a.index}. `}return"- "},c),addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),zU={},zV={findListItemPos:()=>zX,getNextListDepth:()=>zY,handleBackspace:()=>z0,handleDelete:()=>z3,hasListBefore:()=>zZ,hasListItemAfter:()=>z4,hasListItemBefore:()=>z$,listItemHasSubList:()=>z_,nextListIsDeeper:()=>z1,nextListIsHigher:()=>z2};for(var zW in zV)zP(zU,zW,{get:zV[zW],enumerable:!0});var zX=(a,b)=>{let{$from:c}=b.selection,d=jK(a,b.schema),e=c.depth,f=c.pos,g=null;for(;e>0&&null===g;)c.node(e).type===d?g=e:(e-=1,f-=1);return null===g?null:{$pos:b.doc.resolve(f),depth:g}},zY=(a,b)=>{let c=zX(a,b);if(!c)return!1;let[,d]=((a,b,c,d=20)=>{let e=a.doc.resolve(c),f=d,g=null;for(;f>0&&null===g;){let a=e.node(f);(null==a?void 0:a.type.name)===b?g=a:f-=1}return[g,f]})(b,a,c.$pos.pos+4);return d},zZ=(a,b,c)=>{let{$anchor:d}=a.selection,e=Math.max(0,d.pos-2),f=a.doc.resolve(e).node();return!!f&&!!c.includes(f.type.name)},z$=(a,b)=>{var c;let{$anchor:d}=b.selection,e=b.doc.resolve(d.pos-2);return 0!==e.index()&&(null==(c=e.nodeBefore)?void 0:c.type.name)===a},z_=(a,b,c)=>{if(!c)return!1;let d=jK(a,b.schema),e=!1;return c.descendants(a=>{a.type===d&&(e=!0)}),e},z0=(a,b,c)=>{if(a.commands.undoInputRule())return!0;if(a.state.selection.from!==a.state.selection.to)return!1;if(!ki(a.state,b)&&zZ(a.state,b,c)){let{$anchor:c}=a.state.selection,d=a.state.doc.resolve(c.before()-1),e=[];d.node().descendants((a,c)=>{a.type.name===b&&e.push({node:a,pos:c})});let f=e.at(-1);if(!f)return!1;let g=a.state.doc.resolve(d.start()+f.pos+1);return a.chain().cut({from:c.start()-1,to:c.end()+1},g.end()).joinForward().run()}if(!ki(a.state,b)||!(a=>{let{$from:b,$to:c}=a.selection;return!(b.parentOffset>0)&&b.pos===c.pos})(a.state))return!1;let d=zX(b,a.state);if(!d)return!1;let e=a.state.doc.resolve(d.$pos.pos-2).node(d.depth),f=z_(b,a.state,e);return z$(b,a.state)&&!f?a.commands.joinItemBackward():a.chain().liftListItem(b).run()},z1=(a,b)=>{let c=zY(a,b),d=zX(a,b);return!!d&&!!c&&c>d.depth},z2=(a,b)=>{let c=zY(a,b),d=zX(a,b);return!!d&&!!c&&c<d.depth},z3=(a,b)=>{if(!ki(a.state,b)||!((a,b)=>{let{$from:c,$to:d,$anchor:e}=a.selection;if(b){let c=kD(a=>a.type.name===b)(a.selection);if(!c)return!1;let d=a.doc.resolve(c.pos+1);return e.pos+1===d.end()}return!(d.parentOffset<d.parent.nodeSize-2)&&c.pos===d.pos})(a.state,b))return!1;let{selection:c}=a.state,{$from:d,$to:e}=c;return!(!c.empty&&d.sameParent(e))&&(z1(b,a.state)?a.chain().focus(a.state.selection.from+4).lift(b).joinBackward().run():z2(b,a.state)?a.chain().joinForward().joinBackward().run():a.commands.joinItemForward())},z4=(a,b)=>{var c;let{$anchor:d}=b.selection,e=b.doc.resolve(d.pos-d.parentOffset-2);return e.index()!==e.parent.childCount-1&&(null==(c=e.nodeAfter)?void 0:c.type.name)===a},z5=lE.create({name:"listKeymap",addOptions:()=>({listTypes:[{itemName:"listItem",wrapperNames:["bulletList","orderedList"]},{itemName:"taskItem",wrapperNames:["taskList"]}]}),addKeyboardShortcuts(){return{Delete:({editor:a})=>{let b=!1;return this.options.listTypes.forEach(({itemName:c})=>{void 0!==a.state.schema.nodes[c]&&z3(a,c)&&(b=!0)}),b},"Mod-Delete":({editor:a})=>{let b=!1;return this.options.listTypes.forEach(({itemName:c})=>{void 0!==a.state.schema.nodes[c]&&z3(a,c)&&(b=!0)}),b},Backspace:({editor:a})=>{let b=!1;return this.options.listTypes.forEach(({itemName:c,wrapperNames:d})=>{void 0!==a.state.schema.nodes[c]&&z0(a,c,d)&&(b=!0)}),b},"Mod-Backspace":({editor:a})=>{let b=!1;return this.options.listTypes.forEach(({itemName:c,wrapperNames:d})=>{void 0!==a.state.schema.nodes[c]&&z0(a,c,d)&&(b=!0)}),b}}}}),z6=/^(\s*)(\d+)\.\s+(.*)$/,z7=/^\s/,z8="textStyle",z9=/^(\d+)\.\s$/,Aa=l5.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:a=>a.hasAttribute("start")?parseInt(a.getAttribute("start")||"",10):1},type:{default:null,parseHTML:a=>a.getAttribute("type")}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:a}){let{start:b,...c}=a;return 1===b?["ol",kM(this.options.HTMLAttributes,c),0]:["ol",kM(this.options.HTMLAttributes,a),0]},markdownTokenName:"list",parseMarkdown:(a,b)=>{var c;if("list"!==a.type||!a.ordered)return[];let d=a.start||1,e=a.items?(c=a.items,c.map(a=>{if("list_item"!==a.type)return b.parseChildren([a])[0];let c=[];return a.tokens&&a.tokens.length>0&&a.tokens.forEach(a=>{if("paragraph"===a.type||"list"===a.type||"blockquote"===a.type||"code"===a.type)c.push(...b.parseChildren([a]));else if("text"===a.type&&a.tokens){let d=b.parseChildren([a]);c.push({type:"paragraph",content:d})}else{let d=b.parseChildren([a]);d.length>0&&c.push(...d)}}),{type:"listItem",content:c}})):[];return 1!==d?{type:"orderedList",attrs:{start:d},content:e}:{type:"orderedList",content:e}},renderMarkdown:(a,b)=>a.content?b.renderChildren(a.content,"\n"):"",markdownTokenizer:{name:"orderedList",level:"block",start:a=>{let b=a.match(/^(\s*)(\d+)\.\s+/),c=null==b?void 0:b.index;return void 0!==c?c:-1},tokenize:(a,b,c)=>{var d;let e=a.split("\n"),[f,g]=function(a){let b=[],c=0,d=0;for(;c<a.length;){let e=a[c],f=e.match(z6);if(!f)break;let[,g,h,i]=f,j=g.length,k=[i],l=c+1,m=[e],n=!1;for(;l<a.length;){let b=a[l];if(b.match(z6))break;if(""===b.trim())m.push(b),k.push(""),n=!0,l+=1;else if(b.match(z7))m.push(b),k.push(b.slice(j+2)),l+=1;else{if(n)break;m.push(b),k.push(b),l+=1}}b.push({indent:j,number:parseInt(h,10),content:k.join("\n").trim(),contentLines:k,raw:m.join("\n")}),d=l,c=l}return[b,d]}(e);if(0===f.length)return;let h=function a(b,c,d){let e=[],f=0;for(;f<b.length;){let g=b[f];if(g.indent===c){let{paragraphLines:h,blockLines:i}=function(a){let b=[],c=[],d=!1;return a.forEach(a=>{let e;if(d)return void c.push(a);if(""===a.trim()||b.length>0&&(e=a.trimStart(),/^[-+*]\s+/.test(e)||/^\d+\.\s+/.test(e)||/^>\s?/.test(e)||/^```/.test(e)||/^~~~/.test(e))){d=!0,c.push(a);return}b.push(a)}),{paragraphLines:b,blockLines:c}}(g.contentLines),j=h.join("\n").trim(),k=[];j&&k.push({type:"paragraph",raw:j,tokens:d.inlineTokens(j)});let l=i.join("\n").trim();if(l){let a=d.blockTokens(l);k.push(...a)}let m=f+1,n=[];for(;m<b.length&&b[m].indent>c;)n.push(b[m]),m+=1;if(n.length>0){let b=Math.min(...n.map(a=>a.indent)),c=a(n,b,d);k.push({type:"list",ordered:!0,start:n[0].number,items:c,raw:n.map(a=>a.raw).join("\n")})}e.push({type:"list_item",raw:g.raw,tokens:k}),f=m}else f+=1}return e}(f,0,c);if(0!==h.length)return{type:"list",ordered:!0,start:(null==(d=f[0])?void 0:d.number)||1,items:h,raw:e.slice(0,g).join("\n")}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleOrderedList:()=>({commands:a,chain:b})=>this.options.keepAttributes?b().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes("listItem",this.editor.getAttributes(z8)).run():a.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let a=lW({find:z9,type:this.type,getAttributes:a=>({start:+a[1]}),joinPredicate:(a,b)=>b.childCount+b.attrs.start===+a[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(a=lW({find:z9,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:a=>({start:+a[1],...this.editor.getAttributes(z8)}),joinPredicate:(a,b)=>b.childCount+b.attrs.start===+a[1],editor:this.editor})),[a]}}),Ab=/^\s*(\[([( |x])?\])\s$/,Ac=l5.create({name:"taskItem",addOptions:()=>({nested:!1,HTMLAttributes:{},taskListTypeName:"taskList",a11y:void 0}),content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes:()=>({checked:{default:!1,keepOnSplit:!1,parseHTML:a=>{let b=a.getAttribute("data-checked");return""===b||"true"===b},renderHTML:a=>({"data-checked":a.checked})}}),parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:a,HTMLAttributes:b}){return["li",kM(this.options.HTMLAttributes,b,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:a.attrs.checked?"checked":null}],["span"]],["div",0]]},parseMarkdown:(a,b)=>{let c=[];if(a.tokens&&a.tokens.length>0?c.push(b.createNode("paragraph",{},b.parseInline(a.tokens))):a.text?c.push(b.createNode("paragraph",{},[b.createNode("text",{text:a.text})])):c.push(b.createNode("paragraph",{},[])),a.nestedTokens&&a.nestedTokens.length>0){let d=b.parseChildren(a.nestedTokens);c.push(...d)}return b.createNode("taskItem",{checked:a.checked||!1},c)},renderMarkdown:(a,b)=>{var c;let d=(null==(c=a.attrs)?void 0:c.checked)?"x":" ";return l4(a,b,`- [${d}] `)},addKeyboardShortcuts(){let a={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...a,Tab:()=>this.editor.commands.sinkListItem(this.name)}:a},addNodeView(){return({node:a,HTMLAttributes:b,getPos:c,editor:d})=>{let e=document.createElement("li"),f=document.createElement("label"),g=document.createElement("span"),h=document.createElement("input"),i=document.createElement("div"),j=a=>{var b,c;h.ariaLabel=(null==(c=null==(b=this.options.a11y)?void 0:b.checkboxLabel)?void 0:c.call(b,a,h.checked))||`Task item checkbox for ${a.textContent||"empty task item"}`};j(a),f.contentEditable="false",h.type="checkbox",h.addEventListener("mousedown",a=>a.preventDefault()),h.addEventListener("change",b=>{if(!d.isEditable&&!this.options.onReadOnlyChecked){h.checked=!h.checked;return}let{checked:e}=b.target;d.isEditable&&"function"==typeof c&&d.chain().focus(void 0,{scrollIntoView:!1}).command(({tr:a})=>{let b=c();if("number"!=typeof b)return!1;let d=a.doc.nodeAt(b);return a.setNodeMarkup(b,void 0,{...null==d?void 0:d.attrs,checked:e}),!0}).run(),d.isEditable||!this.options.onReadOnlyChecked||this.options.onReadOnlyChecked(a,e)||(h.checked=!h.checked)}),Object.entries(this.options.HTMLAttributes).forEach(([a,b])=>{e.setAttribute(a,b)}),e.dataset.checked=a.attrs.checked,h.checked=a.attrs.checked,f.append(h,g),e.append(f,i),Object.entries(b).forEach(([a,b])=>{e.setAttribute(a,b)});let k=new Set(Object.keys(b));return{dom:e,contentDOM:i,update:a=>{if(a.type!==this.type)return!1;e.dataset.checked=a.attrs.checked,h.checked=a.attrs.checked,j(a);let b=kN(a,d.extensionManager.attributes),c=new Set(Object.keys(b)),f=this.options.HTMLAttributes;return k.forEach(a=>{c.has(a)||(a in f?e.setAttribute(a,f[a]):e.removeAttribute(a))}),Object.entries(b).forEach(([a,b])=>{null==b?a in f?e.setAttribute(a,f[a]):e.removeAttribute(a):e.setAttribute(a,b)}),k=c,!0}}}},addInputRules(){return[lW({find:Ab,type:this.type,getAttributes:a=>({checked:"x"===a[a.length-1]})})]}}),Ad=l5.create({name:"taskList",addOptions:()=>({itemTypeName:"taskItem",HTMLAttributes:{}}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:a}){return["ul",kM(this.options.HTMLAttributes,a,{"data-type":this.name}),0]},parseMarkdown:(a,b)=>b.createNode("taskList",{},b.parseChildren(a.items||[])),renderMarkdown:(a,b)=>a.content?b.renderChildren(a.content,"\n"):"",markdownTokenizer:{name:"taskList",level:"block",start(a){var b;let c=null==(b=a.match(/^\s*[-+*]\s+\[([ xX])\]\s+/))?void 0:b.index;return void 0!==c?c:-1},tokenize(a,b,c){let d=a=>{let b=l3(a,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:a=>({indentLevel:a[1].length,mainContent:a[4],checked:"x"===a[3].toLowerCase()}),createToken:(a,b)=>({type:"taskItem",raw:"",mainContent:a.mainContent,indentLevel:a.indentLevel,checked:a.checked,text:a.mainContent,tokens:c.inlineTokens(a.mainContent),nestedTokens:b}),customNestedParser:d},c);return b?[{type:"taskList",raw:b.raw,items:b.items}]:c.blockTokens(a)},e=l3(a,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:a=>({indentLevel:a[1].length,mainContent:a[4],checked:"x"===a[3].toLowerCase()}),createToken:(a,b)=>({type:"taskItem",raw:"",mainContent:a.mainContent,indentLevel:a.indentLevel,checked:a.checked,text:a.mainContent,tokens:c.inlineTokens(a.mainContent),nestedTokens:b}),customNestedParser:d},c);if(e)return{type:"taskList",raw:e.raw,items:e.items}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleTaskList:()=>({commands:a})=>a.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}});lE.create({name:"listKit",addExtensions(){let a=[];return!1!==this.options.bulletList&&a.push(zS.configure(this.options.bulletList)),!1!==this.options.listItem&&a.push(zT.configure(this.options.listItem)),!1!==this.options.listKeymap&&a.push(z5.configure(this.options.listKeymap)),!1!==this.options.orderedList&&a.push(Aa.configure(this.options.orderedList)),!1!==this.options.taskItem&&a.push(Ac.configure(this.options.taskItem)),!1!==this.options.taskList&&a.push(Ad.configure(this.options.taskList)),a}});var Ae=lE.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:null}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:a=>{let b=a.style.textAlign;return this.options.alignments.includes(b)?b:this.options.defaultAlignment},renderHTML:a=>a.textAlign?{style:`text-align: ${a.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:a=>({commands:b})=>!!this.options.alignments.includes(a)&&this.options.types.map(c=>b.updateAttributes(c,{textAlign:a})).some(a=>a),unsetTextAlign:()=>({commands:a})=>this.options.types.map(b=>a.resetAttributes(b,"textAlign")).some(a=>a),toggleTextAlign:a=>({editor:b,commands:c})=>!!this.options.alignments.includes(a)&&(b.isActive({textAlign:a})?c.unsetTextAlign():c.setTextAlign(a))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),Af=(a,b)=>{if("slot"===a)return 0;if(a instanceof Function)return a(b);let{children:c,...d}=null!=b?b:{};if("svg"===a)throw Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");return[a,d,c]},Ag=/^\s*>\s$/,Ah=l5.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:a}){return Af("blockquote",{...kM(this.options.HTMLAttributes,a),children:Af("slot",{})})},parseMarkdown:(a,b)=>{var c;let d=null!=(c=b.parseBlockChildren)?c:b.parseChildren;return b.createNode("blockquote",void 0,d(a.tokens||[]))},renderMarkdown:(a,b)=>{if(!a.content)return"";let c=[];return a.content.forEach((a,d)=>{var e,f;let g=(null!=(f=null==(e=b.renderChild)?void 0:e.call(b,a,d))?f:b.renderChildren([a])).split("\n").map(a=>""===a.trim()?">":`> ${a}`);c.push(g.join("\n"))}),c.join(`
|
|
111
111
|
>
|
|
112
112
|
`)},addCommands(){return{setBlockquote:()=>({commands:a})=>a.wrapIn(this.name),toggleBlockquote:()=>({commands:a})=>a.toggleWrap(this.name),unsetBlockquote:()=>({commands:a})=>a.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[lW({find:Ag,type:this.type})]}}),Ai=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,Aj=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,Ak=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,Al=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,Am=lA.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:a=>"normal"!==a.style.fontWeight&&null},{style:"font-weight=400",clearMark:a=>a.type.name===this.name},{style:"font-weight",getAttrs:a=>/^(bold(er)?|[5-9]\d{2,})$/.test(a)&&null}]},renderHTML({HTMLAttributes:a}){return Af("strong",{...kM(this.options.HTMLAttributes,a),children:Af("slot",{})})},markdownTokenName:"strong",parseMarkdown:(a,b)=>b.applyMark("bold",b.parseInline(a.tokens||[])),markdownOptions:{htmlReopen:{open:"<strong>",close:"</strong>"}},renderMarkdown:(a,b)=>`**${b.renderChildren(a)}**`,addCommands(){return{setBold:()=>({commands:a})=>a.setMark(this.name),toggleBold:()=>({commands:a})=>a.toggleMark(this.name),unsetBold:()=>({commands:a})=>a.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[lT({find:Ai,type:this.type}),lT({find:Ak,type:this.type})]},addPasteRules(){return[l7({find:Aj,type:this.type}),l7({find:Al,type:this.type})]}}),An=/(^|[^`])`([^`]+)`(?!`)$/,Ao=/(^|[^`])`([^`]+)`(?!`)/g,Ap=lA.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:a}){return["code",kM(this.options.HTMLAttributes,a),0]},markdownTokenName:"codespan",parseMarkdown:(a,b)=>b.applyMark("code",[{type:"text",text:a.text||""}]),renderMarkdown:(a,b)=>a.content?`\`${b.renderChildren(a.content)}\``:"",addCommands(){return{setCode:()=>({commands:a})=>a.setMark(this.name),toggleCode:()=>({commands:a})=>a.toggleMark(this.name),unsetCode:()=>({commands:a})=>a.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[lT({find:An,type:this.type})]},addPasteRules(){return[l7({find:Ao,type:this.type})]}}),Aq=l5.create({name:"doc",topNode:!0,content:"block+",renderMarkdown:(a,b)=>a.content?b.renderChildren(a.content,"\n\n"):""}),Ar=l5.create({name:"hardBreak",markdownTokenName:"br",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:a}){return["br",kM(this.options.HTMLAttributes,a)]},renderText:()=>"\n",renderMarkdown:()=>`
|
|
113
|
-
`,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:a,chain:b,state:c,editor:d})=>a.first([()=>a.exitCode(),()=>a.command(()=>{let{selection:a,storedMarks:e}=c;if(a.$from.parent.type.spec.isolating)return!1;let{keepMarks:f}=this.options,{splittableMarks:g}=d.extensionManager,h=e||a.$to.parentOffset&&a.$from.marks();return b().insertContent({type:this.name}).command(({tr:a,dispatch:b})=>{if(b&&h&&f){let b=h.filter(a=>g.includes(a.type.name));a.ensureMarks(b)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),As=l5.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map(a=>({tag:`h${a}`,attrs:{level:a}}))},renderHTML({node:a,HTMLAttributes:b}){let c=this.options.levels.includes(a.attrs.level)?a.attrs.level:this.options.levels[0];return[`h${c}`,kM(this.options.HTMLAttributes,b),0]},parseMarkdown:(a,b)=>b.createNode("heading",{level:a.depth||1},b.parseInline(a.tokens||[])),renderMarkdown:(a,b)=>{var c;let d=(null==(c=a.attrs)?void 0:c.level)?parseInt(a.attrs.level,10):1,e="#".repeat(d);return a.content?`${e} ${b.renderChildren(a.content)}`:""},addCommands(){return{setHeading:a=>({commands:b})=>!!this.options.levels.includes(a.level)&&b.setNode(this.name,a),toggleHeading:a=>({commands:b})=>!!this.options.levels.includes(a.level)&&b.toggleNode(this.name,"paragraph",a)}},addKeyboardShortcuts(){return this.options.levels.reduce((a,b)=>({...a,[`Mod-Alt-${b}`]:()=>this.editor.commands.toggleHeading({level:b})}),{})},addInputRules(){return this.options.levels.map(a=>lV({find:RegExp(`^(#{${Math.min(...this.options.levels)},${a}})\\s$`),type:this.type,getAttributes:{level:a}}))}}),At=l5.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{},nextNodeType:"paragraph"}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:a}){return["hr",kM(this.options.HTMLAttributes,a)]},markdownTokenName:"hr",parseMarkdown:(a,b)=>b.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:a,state:b})=>{if(!function(a,b){let{selection:c}=a,{$from:d}=c;if(c instanceof fg){let a=d.index();return d.parent.canReplaceWith(a,a+1,b)}let e=d.depth;for(;e>=0;){let a=d.index(e);if(d.node(e).contentMatchAt(a).matchType(b))return!0;e-=1}return!1}(b,b.schema.nodes[this.name]))return!1;let{selection:c}=b,{$to:d}=c,e=a();return k3(c)?e.insertContentAt(d.pos,{type:this.name}):e.insertContent({type:this.name}),e.command(({state:a,tr:b,dispatch:c})=>{if(c){let{$to:c}=b.selection,d=c.end();if(c.nodeAfter)c.nodeAfter.isTextblock?b.setSelection(fe.create(b.doc,c.pos+1)):c.nodeAfter.isBlock?b.setSelection(fg.create(b.doc,c.pos)):b.setSelection(fe.create(b.doc,c.pos));else{let e=a.schema.nodes[this.options.nextNodeType]||c.parent.type.contentMatch.defaultType,f=null==e?void 0:e.create();f&&(b.insert(d,f),b.setSelection(fe.create(b.doc,d+1)))}b.scrollIntoView()}return!0}).run()}}},addInputRules(){return[lU({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Au=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Av=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,Aw=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Ax=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,Ay=lA.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:a=>"normal"!==a.style.fontStyle&&null},{style:"font-style=normal",clearMark:a=>a.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:a}){return["em",kM(this.options.HTMLAttributes,a),0]},addCommands(){return{setItalic:()=>({commands:a})=>a.setMark(this.name),toggleItalic:()=>({commands:a})=>a.toggleMark(this.name),unsetItalic:()=>({commands:a})=>a.unsetMark(this.name)}},markdownTokenName:"em",parseMarkdown:(a,b)=>b.applyMark("italic",b.parseInline(a.tokens||[])),markdownOptions:{htmlReopen:{open:"<em>",close:"</em>"}},renderMarkdown:(a,b)=>`*${b.renderChildren(a)}*`,addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[lT({find:Au,type:this.type}),lT({find:Aw,type:this.type})]},addPasteRules(){return[l7({find:Av,type:this.type}),l7({find:Ax,type:this.type})]}}),Az=" ",AA=l5.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:a}){return["p",kM(this.options.HTMLAttributes,a),0]},parseMarkdown:(a,b)=>{let c=a.tokens||[];if(1===c.length&&"image"===c[0].type)return b.parseChildren([c[0]]);let d=b.parseInline(c);return 1===c.length&&"text"===c[0].type&&(c[0].raw===Az||c[0].text===Az||" "===c[0].raw||" "===c[0].text)&&1===d.length&&"text"===d[0].type&&(d[0].text===Az||" "===d[0].text)?b.createNode("paragraph",void 0,[]):b.createNode("paragraph",void 0,d)},renderMarkdown:(a,b,c)=>{var d,e;if(!a)return"";let f=Array.isArray(a.content)?a.content:[];if(0===f.length){let a=Array.isArray(null==(d=null==c?void 0:c.previousNode)?void 0:d.content)?c.previousNode.content:[];return(null==(e=null==c?void 0:c.previousNode)?void 0:e.type)==="paragraph"&&0===a.length?Az:""}return b.renderChildren(f)},addCommands(){return{setParagraph:()=>({commands:a})=>a.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),AB=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,AC=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,AD=lA.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:a=>!!a.includes("line-through")&&{}}],renderHTML({HTMLAttributes:a}){return["s",kM(this.options.HTMLAttributes,a),0]},markdownTokenName:"del",parseMarkdown:(a,b)=>b.applyMark("strike",b.parseInline(a.tokens||[])),renderMarkdown:(a,b)=>`~~${b.renderChildren(a)}~~`,addCommands(){return{setStrike:()=>({commands:a})=>a.setMark(this.name),toggleStrike:()=>({commands:a})=>a.toggleMark(this.name),unsetStrike:()=>({commands:a})=>a.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[lT({find:AB,type:this.type})]},addPasteRules(){return[l7({find:AC,type:this.type})]}}),AE=l5.create({name:"text",group:"inline",parseMarkdown:a=>({type:"text",text:a.text||""}),renderMarkdown:a=>a.text||""}),AF=lA.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:a=>!!a.includes("underline")&&{}}],renderHTML({HTMLAttributes:a}){return["u",kM(this.options.HTMLAttributes,a),0]},parseMarkdown(a,b){return b.applyMark(this.name||"underline",b.parseInline(a.tokens||[]))},renderMarkdown:(a,b)=>`++${b.renderChildren(a)}++`,markdownTokenizer:{name:"underline",level:"inline",start:a=>a.indexOf("++"),tokenize(a,b,c){let d=/^(\+\+)([\s\S]+?)(\+\+)/.exec(a);if(!d)return;let e=d[2].trim();return{type:"underline",raw:d[0],text:e,tokens:c.inlineTokens(e)}}},addCommands(){return{setUnderline:()=>({commands:a})=>a.setMark(this.name),toggleUnderline:()=>({commands:a})=>a.toggleMark(this.name),unsetUnderline:()=>({commands:a})=>a.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),AG=lE.create({name:"starterKit",addExtensions(){var a,b,c,d;let e=[];return!1!==this.options.bold&&e.push(Am.configure(this.options.bold)),!1!==this.options.blockquote&&e.push(Ah.configure(this.options.blockquote)),!1!==this.options.bulletList&&e.push(zS.configure(this.options.bulletList)),!1!==this.options.code&&e.push(Ap.configure(this.options.code)),!1!==this.options.codeBlock&&e.push(xs.configure(this.options.codeBlock)),!1!==this.options.document&&e.push(Aq.configure(this.options.document)),!1!==this.options.dropcursor&&e.push(zq.configure(this.options.dropcursor)),!1!==this.options.gapcursor&&e.push(zr.configure(this.options.gapcursor)),!1!==this.options.hardBreak&&e.push(Ar.configure(this.options.hardBreak)),!1!==this.options.heading&&e.push(As.configure(this.options.heading)),!1!==this.options.undoRedo&&e.push(zA.configure(this.options.undoRedo)),!1!==this.options.horizontalRule&&e.push(At.configure(this.options.horizontalRule)),!1!==this.options.italic&&e.push(Ay.configure(this.options.italic)),!1!==this.options.listItem&&e.push(zT.configure(this.options.listItem)),!1!==this.options.listKeymap&&e.push(z5.configure(null==(a=this.options)?void 0:a.listKeymap)),!1!==this.options.link&&e.push(y_.configure(null==(b=this.options)?void 0:b.link)),!1!==this.options.orderedList&&e.push(Aa.configure(this.options.orderedList)),!1!==this.options.paragraph&&e.push(AA.configure(this.options.paragraph)),!1!==this.options.strike&&e.push(AD.configure(this.options.strike)),!1!==this.options.text&&e.push(AE.configure(this.options.text)),!1!==this.options.underline&&e.push(AF.configure(null==(c=this.options)?void 0:c.underline)),!1!==this.options.trailingNode&&e.push(zz.configure(null==(d=this.options)?void 0:d.trailingNode)),e}});function AH(a){let b=a.regex,c={};Object.assign(c,{className:"variable",variants:[{begin:b.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},{begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[c]}]}]});let d={className:"subst",begin:/\$\(/,end:/\)/,contains:[a.BACKSLASH_ESCAPE]},e=a.inherit(a.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),f={begin:/<<-?\s*(?=\w+)/,starts:{contains:[a.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},g={className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,c,d]};d.contains.push(g);let h={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},a.NUMBER_MODE,c]},i=a.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),j={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[i,a.SHEBANG(),j,h,e,f,{match:/(\/[a-z._-]+)+/},g,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},c]}}let AI=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],AJ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),AK=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),AL=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),AM=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function AN(a){let b=a.regex,c={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},d=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[c.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},c.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},c.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+AK.join("|")+")"},{begin:":(:)?("+AL.join("|")+")"}]},c.CSS_VARIABLE,{className:"attribute",begin:"\\b("+AM.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[c.BLOCK_COMMENT,c.HEXCOLOR,c.IMPORTANT,c.CSS_NUMBER_MODE,...d,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...d,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},c.FUNCTION_DISPATCH]},{begin:b.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:AJ.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...d,c.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+AI.join("|")+")\\b"}]}}function AO(a){let b={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:b,illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",variants:[a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[a.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:b,illegal:/["']/}]}]}}let AP="[A-Za-z$_][0-9A-Za-z$_]*",AQ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],AR=["true","false","null","undefined","NaN","Infinity"],AS=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],AT=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],AU=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],AV=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],AW=[].concat(AU,AS,AT);function AX(a){var b;let c=a.regex,d=/<[A-Za-z0-9\\._:-]+/,e=/\/[A-Za-z0-9\\._:-]+>|\/>/,f={$pattern:AP,keyword:AQ,literal:AR,built_in:AW,"variable.language":AV},g="[0-9](_?[0-9])*",h=`\\.(${g})`,i="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",j={className:"number",variants:[{begin:`(\\b(${i})((${h})|\\.)?|(${h}))[eE][+-]?(${g})\\b`},{begin:`\\b(${i})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},k={className:"subst",begin:"\\$\\{",end:"\\}",keywords:f,contains:[]},l={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,k],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,k],subLanguage:"css"}},n={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,k],subLanguage:"graphql"}},o={className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,k]},p={className:"comment",variants:[a.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:AP+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE]},q=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,l,m,n,o,{match:/\$\d+/},j];k.contains=q.concat({begin:/\{/,end:/\}/,keywords:f,contains:["self"].concat(q)});let r=[].concat(p,k.contains),s=r.concat([{begin:/(\s*)\(/,end:/\)/,keywords:f,contains:["self"].concat(r)}]),t={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:f,contains:s},u={variants:[{match:[/class/,/\s+/,AP,/\s+/,/extends/,/\s+/,c.concat(AP,"(",c.concat(/\./,AP),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,AP],scope:{1:"keyword",3:"title.class"}}]},v={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...AS,...AT]}},w={match:c.concat(/\b/,(b=[...AU,"super","import"].map(a=>`${a}\\s*\\(`),c.concat("(?!",b.join("|"),")")),AP,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},x={begin:c.concat(/\./,c.lookahead(c.concat(AP,/(?![0-9A-Za-z$_(])/))),end:AP,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},y="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+a.UNDERSCORE_IDENT_RE+")\\s*=>",z={match:[/const|var|let/,/\s+/,AP,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(y)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[t]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:f,exports:{PARAMS_CONTAINS:s,CLASS_REFERENCE:v},illegal:/#(?![$_A-z])/,contains:[a.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,l,m,n,o,p,{match:/\$\d+/},j,v,{scope:"attr",match:AP+c.lookahead(":"),relevance:0},z,{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[p,a.REGEXP_MODE,{className:"function",begin:y,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:f,contains:s}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d,"on:begin":(a,b)=>{let c,d=a[0].length+a.index,e=a.input[d];if("<"===e||","===e)return void b.ignoreMatch();">"!==e||((a,{after:b})=>{let c="</"+a[0].slice(1);return -1!==a.input.indexOf(c,b)})(a,{after:d})||b.ignoreMatch();let f=a.input.substring(d);if((c=f.match(/^\s*=/))||(c=f.match(/^\s+extends\s+/))&&0===c.index)return void b.ignoreMatch()},end:e}],subLanguage:"xml",contains:[{begin:d,end:e,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,AP,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[t],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+a.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[t,a.inherit(a.TITLE_MODE,{begin:AP,className:"title.function"})]},{match:/\.\.\./,relevance:0},x,{match:"\\$"+AP,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[t]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},u,{match:[/get|set/,/\s+/,AP,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},t]},{match:/\$[(.]/}]}}function AY(a){let b=["true","false","null"],c={scope:"literal",beginKeywords:b.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:b},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},a.QUOTE_STRING_MODE,c,a.C_NUMBER_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function AZ(a){let b=a.regex,c={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:b.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},e={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},f={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=a.inherit(e,{contains:[]}),h=a.inherit(f,{contains:[]});e.contains.push(h),f.contains.push(g);let i=[c,d];return[e,f,g,h].forEach(a=>{a.contains=a.contains.concat(i)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i=i.concat(e,f)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},c,{className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},e,f,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},d,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function A$(a){let b=a.regex,c=/[\p{XID_Start}_]\p{XID_Continue}*/u,d=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],e={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:d,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},g={className:"subst",begin:/\{/,end:/\}/,keywords:e,illegal:/#/},h={begin:/\{\{/,relevance:0},i={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE,f,h,g]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,f,h,g]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[a.BACKSLASH_ESCAPE,h,g]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,h,g]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},j="[0-9](_?[0-9])*",k=`(\\b(${j}))?\\.(${j})|\\b(${j})\\.`,l=`\\b|${d.join("|")}`,m={className:"number",relevance:0,variants:[{begin:`(\\b(${j})|(${k}))[eE][+-]?(${j})[jJ]?(?=${l})`},{begin:`(${k})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${l})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${l})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${l})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${l})`},{begin:`\\b(${j})[jJ](?=${l})`}]},n={className:"comment",begin:b.lookahead(/# type:/),end:/$/,keywords:e,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},o={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,contains:["self",f,m,i,a.HASH_COMMENT_MODE]}]};return g.contains=[i,m,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:e,illegal:/(<\/|\?)|=>/,contains:[f,m,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},i,n,a.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,c],scope:{1:"keyword",3:"title.function"},contains:[o]},{variants:[{match:[/\bclass/,/\s+/,c,/\s*/,/\(\s*/,c,/\s*\)/]},{match:[/\bclass/,/\s+/,c]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[m,o,i]}]}}function A_(a){let b=a.regex,c=/(r#)?/,d=b.concat(c,a.UNDERSCORE_IDENT_RE),e=b.concat(c,a.IDENT_RE),f={className:"title.function.invoke",relevance:0,begin:b.concat(/\b/,/(?!let|for|while|if|else|match\b)/,e,b.lookahead(/\s*\(/))},g="([ui](8|16|32|64|128|size)|f(32|64))?",h=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],i=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:a.IDENT_RE+"!?",type:i,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:h},illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:["self"]}),a.inherit(a.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+g},{begin:"\\b0o([0-7_]+)"+g},{begin:"\\b0x([A-Fa-f0-9_]+)"+g},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+g}],relevance:0},{begin:[/fn/,/\s+/,d],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,d],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,d,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,d],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,d],className:{1:"keyword",3:"title.class"}},{begin:a.IDENT_RE+"::",keywords:{keyword:"Self",built_in:h,type:i}},{className:"punctuation",begin:"->"},f]}}function A0(a){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function A1(a){let b=a.regex,c=a.COMMENT("--","$"),d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],e=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter(a=>!d.includes(a)),f={match:b.concat(/\b/,b.either(...d),/\s*\(/),relevance:0,keywords:{built_in:d}};function g(a){return b.concat(/\b/,b.either(...a.map(a=>a.replace(/\s+/,"\\s+"))),/\b/)}let h={scope:"keyword",match:g(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(a,{exceptions:b,when:c}={}){return b=b||[],a.map(a=>a.match(/\|\d+$/)||b.includes(a)?a:c(a)?`${a}|0`:a)}(e,{when:a=>a.length<3}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:g(["double precision","large object","with timezone","without timezone"])},h,f,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE,c,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}let A2="[A-Za-z$_][0-9A-Za-z$_]*",A3=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],A4=["true","false","null","undefined","NaN","Infinity"],A5=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],A6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],A7=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],A8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],A9=[].concat(A7,A5,A6);function Ba(a){var b;let c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B=a.regex,C=(c=a.regex,d=/<[A-Za-z0-9\\._:-]+/,e=/\/[A-Za-z0-9\\._:-]+>|\/>/,f=(a,b)=>{let c,d=a[0].length+a.index,e=a.input[d];if("<"===e||","===e)return void b.ignoreMatch();">"!==e||((a,{after:b})=>{let c="</"+a[0].slice(1);return -1!==a.input.indexOf(c,b)})(a,{after:d})||b.ignoreMatch();let f=a.input.substring(d);if((c=f.match(/^\s*=/))||(c=f.match(/^\s+extends\s+/))&&0===c.index)return void b.ignoreMatch()},g={$pattern:A2,keyword:A3,literal:A4,built_in:A9,"variable.language":A8},h="[0-9](_?[0-9])*",i=`\\.(${h})`,j="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",k={className:"number",variants:[{begin:`(\\b(${j})((${i})|\\.)?|(${i}))[eE][+-]?(${h})\\b`},{begin:`\\b(${j})\\b((${i})\\b|\\.)?|(${i})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},l={className:"subst",begin:"\\$\\{",end:"\\}",keywords:g,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,l],subLanguage:"xml"}},n={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,l],subLanguage:"css"}},o={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,l],subLanguage:"graphql"}},p={className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,l]},q={className:"comment",variants:[a.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:A2+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE]},l.contains=(r=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,m,n,o,p,{match:/\$\d+/},k]).concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(r)}),t=(s=[].concat(q,l.contains)).concat([{begin:/(\s*)\(/,end:/\)/,keywords:g,contains:["self"].concat(s)}]),u={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:t},v={variants:[{match:[/class/,/\s+/,A2,/\s+/,/extends/,/\s+/,c.concat(A2,"(",c.concat(/\./,A2),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,A2],scope:{1:"keyword",3:"title.class"}}]},w={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...A5,...A6]}},x={match:c.concat(/\b/,(b=[...A7,"super","import"].map(a=>`${a}\\s*\\(`),c.concat("(?!",b.join("|"),")")),A2,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},y={begin:c.concat(/\./,c.lookahead(c.concat(A2,/(?![0-9A-Za-z$_(])/))),end:A2,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+a.UNDERSCORE_IDENT_RE+")\\s*=>",A={match:[/const|var|let/,/\s+/,A2,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[u]},{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{PARAMS_CONTAINS:t,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[a.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,m,n,o,p,q,{match:/\$\d+/},k,w,{scope:"attr",match:A2+c.lookahead(":"),relevance:0},A,{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[q,a.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:t}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d,"on:begin":f,end:e}],subLanguage:"xml",contains:[{begin:d,end:e,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,A2,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[u],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+a.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[u,a.inherit(a.TITLE_MODE,{begin:A2,className:"title.function"})]},{match:/\.\.\./,relevance:0},y,{match:"\\$"+A2,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[u]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},v,{match:[/get|set/,/\s+/,A2,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},u]},{match:/\$[(.]/}]}),D=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],E={begin:[/namespace/,/\s+/,a.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},F={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:D},contains:[C.exports.CLASS_REFERENCE]},G={$pattern:A2,keyword:A3.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),literal:A4,built_in:A9.concat(D),"variable.language":A8},H={className:"meta",begin:"@"+A2},I=(a,b,c)=>{let d=a.contains.findIndex(a=>a.label===b);if(-1===d)throw Error("can not find mode to replace");a.contains.splice(d,1,c)};Object.assign(C.keywords,G),C.exports.PARAMS_CONTAINS.push(H);let J=C.contains.find(a=>"attr"===a.scope),K=Object.assign({},J,{match:B.concat(A2,B.lookahead(/\s*\?:/))});return C.exports.PARAMS_CONTAINS.push([C.exports.CLASS_REFERENCE,J,K]),C.contains=C.contains.concat([H,E,F,K]),I(C,"shebang",a.SHEBANG()),I(C,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),C.contains.find(a=>"func.def"===a.label).relevance=0,Object.assign(C,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),C}function Bb(a){let b=a.regex,c=b.concat(/[\p{L}_]/u,b.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),d={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},e={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},f=a.inherit(e,{begin:/\(/,end:/\)/}),g=a.inherit(a.APOS_STRING_MODE,{className:"string"}),h=a.inherit(a.QUOTE_STRING_MODE,{className:"string"}),i={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[d]},{begin:/'/,end:/'/,contains:[d]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[e,h,g,f,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[e,f,h,g]}]}]},a.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},d,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[h]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[i],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[i],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:b.concat(/</,b.lookahead(b.concat(c,b.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:c,relevance:0,starts:i}]},{className:"tag",begin:b.concat(/<\//,b.lookahead(b.concat(c,/>/))),contains:[{className:"name",begin:c,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Bc(a){let b="true false yes no null",c="[\\w#;/?:@&=+$,.~*'()[\\]]+",d={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[a.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},e=a.inherit(d,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:b,relevance:0},g=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+c},{className:"type",begin:"!<"+c+">"},{className:"type",begin:"!"+c},{className:"type",begin:"!!"+c},{className:"meta",begin:"&"+a.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+a.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},a.HASH_COMMENT_MODE,{beginKeywords:b,keywords:{literal:b}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:a.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},d],h=[...g];return h.pop(),h.push(e),f.contains=h,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:g}}let Bd={};function Be(a){let b=xt.newInstance();return a&&e(a),{highlight:c,highlightAuto:function(a,e){let f;mW("string"==typeof a,"expected `string` as `value`");let g=(e||Bd).subset||d(),h=-1,i=0;for(;++h<g.length;){let d=g[h];if(!b.getLanguage(d))continue;let j=c(d,a,e);j.data&&void 0!==j.data.relevance&&j.data.relevance>i&&(i=j.data.relevance,f=j)}return f||{type:"root",children:[],data:{language:void 0,relevance:i}}},listLanguages:d,register:e,registerAlias:function(a,c){if("string"==typeof a)mW(void 0!==c),b.registerAliases("string"==typeof c?c:[...c],{languageName:a});else{let c;for(c in a)if(Object.hasOwn(a,c)){let d=a[c];b.registerAliases("string"==typeof d?d:[...d],{languageName:c})}}},registered:function(a){return!!b.getLanguage(a)}};function c(a,c,d){mW("string"==typeof a,"expected `string` as `name`"),mW("string"==typeof c,"expected `string` as `value`");let e=d||Bd,f="string"==typeof e.prefix?e.prefix:"hljs-";if(!b.getLanguage(a))throw Error("Unknown language: `"+a+"` is not registered");b.configure({__emitter:Bf,classPrefix:f});let g=b.highlight(c,{ignoreIllegals:!0,language:a});if(g.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:g.errorRaised});let h=g._emitter.root,i=h.data;return i.language=g.language,i.relevance=g.relevance,h}function d(){return b.listLanguages()}function e(a,c){if("string"==typeof a)mW(void 0!==c,"expected `grammar`"),b.registerLanguage(a,c);else{let c;for(c in a)Object.hasOwn(a,c)&&b.registerLanguage(c,a[c])}}}class Bf{constructor(a){this.options=a,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(a){if(""===a)return;let b=this.stack[this.stack.length-1],c=b.children[b.children.length-1];c&&"text"===c.type?c.value+=a:b.children.push({type:"text",value:a})}startScope(a){this.openNode(String(a))}endScope(){this.closeNode()}__addSublanguage(a,b){let c=this.stack[this.stack.length-1],d=a.root.children;b?c.children.push({type:"element",tagName:"span",properties:{className:[b]},children:d}):c.children.push(...d)}openNode(a){let b=this,c=a.split(".").map(function(a,c){return c?a+"_".repeat(c):b.options.classPrefix+a}),d=this.stack[this.stack.length-1],e={type:"element",tagName:"span",properties:{className:c},children:[]};d.children.push(e),this.stack.push(e)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}let Bg=l5.create({name:"callout",group:"block",content:"block+",defining:!0,addAttributes:()=>({type:{default:"info",parseHTML:a=>a.getAttribute("data-callout-type")||"info",renderHTML:a=>({"data-callout-type":a.type})}}),parseHTML:()=>[{tag:'div[data-callout="true"]'}],renderHTML:({HTMLAttributes:a})=>["div",kM(a,{"data-callout":"true",class:`callout callout-${a["data-callout-type"]||"info"}`}),0]});function Bh(a,b,c){let{selection:d,doc:e}=a,f=e.resolve(d.from);for(;f.depth>1;)f=e.resolve(f.before(f.depth));if(0===f.depth)return!1;let g=f.before(1),h=e.nodeAt(g);if(!h)return!1;let i=f.index(0),j="up"===c?i-1:i+1;if(j<0||j>=e.childCount)return!1;let k=e.child(j),l=a.tr,m=g+h.nodeSize,n="up"===c?g-k.nodeSize:m,o="up"===c?g:m+k.nodeSize;if("up"===c)l=(l=(l=l.delete(g,m)).insert(n,h)).setSelection(fg.create(l.doc,n));else{l=l.delete(g,m);let a=o-h.nodeSize;l=(l=l.insert(a,h)).setSelection(fg.create(l.doc,a))}return b&&b(l.scrollIntoView()),!0}let Bi="cabinet-drag-handle",Bj="cabinet-gutter-add",Bk=lE.create({name:"dragHandle",addKeyboardShortcuts:()=>({"Mod-Alt-ArrowUp":({editor:a})=>Bh(a.state,a.view.dispatch,"up"),"Mod-Alt-ArrowDown":({editor:a})=>Bh(a.state,a.view.dispatch,"down"),"Alt-Shift-ArrowUp":({editor:a})=>Bh(a.state,a.view.dispatch,"up"),"Alt-Shift-ArrowDown":({editor:a})=>Bh(a.state,a.view.dispatch,"down")}),addProseMirrorPlugins(){let a,b,c=null,d="u">typeof document?((a=document.getElementById(Bi))||((a=document.createElement("div")).id=Bi,a.setAttribute("data-drag-handle","true"),a.draggable=!0,a.innerHTML='<svg width="10" height="16" viewBox="0 0 10 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><circle cx="2.5" cy="3" r="1.2"/><circle cx="2.5" cy="8" r="1.2"/><circle cx="2.5" cy="13" r="1.2"/><circle cx="7.5" cy="3" r="1.2"/><circle cx="7.5" cy="8" r="1.2"/><circle cx="7.5" cy="13" r="1.2"/></svg>',Object.assign(a.style,{position:"absolute",display:"none",cursor:"grab",padding:"2px 4px",borderRadius:"4px",color:"var(--muted-foreground)",opacity:"0.55",zIndex:"40",userSelect:"none",transition:"opacity 120ms ease"}),a.addEventListener("mouseenter",()=>{a&&(a.style.opacity="1")}),a.addEventListener("mouseleave",()=>{a&&(a.style.opacity="0.55")}),document.body.appendChild(a)),a):null,e="u">typeof document?((b=document.getElementById(Bj))||((b=document.createElement("button")).id=Bj,b.type="button",b.setAttribute("aria-label","Add block"),b.title="Add block",b.innerHTML='<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 1V9M1 5H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>',Object.assign(b.style,{position:"absolute",display:"none",alignItems:"center",justifyContent:"center",width:"18px",height:"18px",cursor:"pointer",borderRadius:"4px",color:"var(--muted-foreground)",opacity:"0.55",zIndex:"40",transition:"opacity 120ms ease, background 120ms ease",background:"transparent",border:"none",padding:"0"}),b.addEventListener("mouseenter",()=>{b&&(b.style.opacity="1",b.style.background="var(--muted)")}),b.addEventListener("mouseleave",()=>{b&&(b.style.opacity="0.55",b.style.background="transparent")}),document.body.appendChild(b)),b):null,f=()=>{d&&(d.style.display="none"),e&&(e.style.display="none"),c=null};return[new fs({key:new fv("cabinetDragHandle"),view:a=>{if(!d)return{destroy:()=>{}};let b=b=>{if(!a.editable)return;let g=a.dom.getBoundingClientRect();if(b.clientX<g.left-60||b.clientX>g.right+60||b.clientY<g.top||b.clientY>g.bottom)return void f();let h=function(a,b){let c=a.posAtCoords(b);if(!c)return null;let d=a.state.doc.resolve(c.inside>=0?c.inside:c.pos);for(;d.depth>0&&!d.parent.type.isBlock;)d=a.state.doc.resolve(d.before());let e=d.depth;for(;e>1&&"doc"!==a.state.doc.resolve(d.before(e)).parent.type.name;)e-=1;let f=0===e?0:d.before(Math.max(e,1)),g=a.state.doc.nodeAt(f);if(!g)return null;let h=a.nodeDOM(f);return{pos:f,node:g,dom:h}}(a,{left:Math.max(g.left+20,Math.min(g.right-20,b.clientX)),top:b.clientY});if(!h?.dom||!(h.dom instanceof HTMLElement))return void f();c=h;let i=h.dom.getBoundingClientRect();d.style.display="flex",d.style.top=`${window.scrollY+i.top+4}px`,d.style.left=`${window.scrollX+i.left-22}px`,e&&(e.style.display="flex",e.style.top=`${window.scrollY+i.top+4}px`,e.style.left=`${window.scrollX+i.left-44}px`)},g=()=>f(),h=()=>{if(!c)return;let b=c.pos+c.node.nodeSize,d=b<=a.state.doc.content.size,e=a.state.tr;if(d){let c=fe.create(a.state.doc,Math.min(b-1,a.state.doc.content.size));a.dispatch(e.setSelection(c))}a.focus();let f=a.state.tr.split(a.state.selection.from);a.dispatch(f),a.dom.dispatchEvent(new KeyboardEvent("keydown",{key:"/",bubbles:!0,cancelable:!0}))},i=b=>{if(!c||!b.dataTransfer)return;let{pos:d,dom:e}=c,f=a.state.tr.setSelection(fg.create(a.state.doc,d));a.dispatch(f);let g=a.state.selection.content(),h=document.createElement("div");h.appendChild(a.someProp("clipboardSerializer")?.serializeFragment(g.content)??document.createElement("div")),b.dataTransfer.clearData(),b.dataTransfer.setData("text/html",h.innerHTML),b.dataTransfer.setData("text/plain",e.textContent??""),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage(e,0,0),a.dragging={slice:g,move:!0}};return window.addEventListener("mousemove",b),a.dom.addEventListener("mouseleave",g),d.addEventListener("dragstart",i),e&&e.addEventListener("click",h),{destroy(){window.removeEventListener("mousemove",b),a.dom.removeEventListener("mouseleave",g),d.removeEventListener("dragstart",i),e&&e.removeEventListener("click",h),f()}}}})]}}),Bl=new fv("headingAnchors");function Bm(a){let b=[],c=new Map;return a.descendants((a,d)=>{if("heading"!==a.type.name)return;let e=a.textContent.toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-");if(!e)return;let f=c.get(e)??0;c.set(e,f+1);let g=0===f?e:`${e}-${f}`;b.push(hw.node(d,d+a.nodeSize,{id:g}))}),hz.create(a,b)}let Bn=lE.create({name:"headingAnchors",addProseMirrorPlugins:()=>[new fs({key:Bl,state:{init:(a,{doc:b})=>Bm(b),apply:(a,b)=>a.docChanged?Bm(a.doc):b},props:{decorations:a=>Bl.getState(a)}})]}),Bo=lA.create({name:"proofSpan",priority:900,inclusive:!1,keepOnSplit:!1,addAttributes:()=>({spanId:{default:null,parseHTML:a=>a.getAttribute("id"),renderHTML:a=>({id:a.spanId})},origin:{default:"ai",parseHTML:a=>a.getAttribute("origin"),renderHTML:a=>({origin:a.origin})},basis:{default:null,parseHTML:a=>a.getAttribute("basis"),renderHTML:a=>({basis:a.basis})},basisDetail:{default:null,parseHTML:a=>a.getAttribute("basis-detail"),renderHTML:a=>({"basis-detail":a.basisDetail})},by:{default:null,parseHTML:a=>a.getAttribute("by"),renderHTML:a=>({by:a.by})},at:{default:null,parseHTML:a=>a.getAttribute("at"),renderHTML:a=>({at:a.at})},inResponseTo:{default:null,parseHTML:a=>a.getAttribute("in-response-to"),renderHTML:a=>({"in-response-to":a.inResponseTo})}}),parseHTML:()=>[{tag:"proof-span"}],renderHTML:({HTMLAttributes:a})=>["proof-span",kM(a,{class:"proof-span"}),0]});var Bp=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/;function Bq(a){let{node:b,updateAttributes:c,selected:d,editor:e}=a,f=b.attrs,g=(0,$.useRef)(null),h=(0,$.useRef)(null),[i,j]=(0,$.useState)(null),k=f.align??"center",l=(0,$.useCallback)((a,b)=>{if(!e.isEditable)return;a.preventDefault(),a.stopPropagation();let d=g.current,f=h.current;if(!d||!f)return;let i=a.clientX,k=d.getBoundingClientRect().width,l=f.parentElement?.getBoundingClientRect().width??800,m=a=>{j(Math.max(80,Math.min(l,k+("right"===b?a.clientX-i:i-a.clientX))))},n=()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",n),j(a=>(null!=a&&c({width:Math.round(a)}),null))};window.addEventListener("pointermove",m),window.addEventListener("pointerup",n)},[e.isEditable,c]),m=null!=i?`${Math.round(i)}px`:"number"==typeof f.width?`${f.width}px`:"string"==typeof f.width&&f.width?f.width:void 0,n="left"===k?"mr-auto":"right"===k?"ml-auto":"mx-auto";return(0,Z.jsx)(mM,{as:"div",className:`resizable-image my-3 ${n}`,"data-align":k,style:{width:m??"fit-content",maxWidth:"100%"},children:(0,Z.jsxs)("div",{ref:h,className:`relative group inline-block max-w-full ${d?"ring-2 ring-primary rounded-md":""}`,contentEditable:!1,children:[(0,Z.jsx)("img",{ref:g,src:f.src,alt:f.alt??"",title:f.title??void 0,className:"block rounded-md max-w-full h-auto",style:{width:m},draggable:!1}),e.isEditable&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{"aria-label":"Resize from left",onPointerDown:a=>l(a,"left"),className:"absolute left-0 top-0 bottom-0 w-2 cursor-ew-resize opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center",children:(0,Z.jsx)("div",{className:"w-1 h-8 bg-card border border-border rounded-full shadow"})}),(0,Z.jsx)("div",{"aria-label":"Resize from right",onPointerDown:a=>l(a,"right"),className:"absolute right-0 top-0 bottom-0 w-2 cursor-ew-resize opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center",children:(0,Z.jsx)("div",{className:"w-1 h-8 bg-card border border-border rounded-full shadow"})}),null!=i&&(0,Z.jsxs)("div",{className:"absolute top-1 right-1 text-[10px] px-1.5 py-0.5 rounded bg-primary/80 text-primary-foreground font-mono",children:[Math.round(i),"px"]})]})]})})}let Br=l5.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:a}){return["img",kM(this.options.HTMLAttributes,a)]},parseMarkdown:(a,b)=>b.createNode("image",{src:a.href,title:a.title,alt:a.text}),renderMarkdown:a=>{var b,c,d,e,f,g;let h=null!=(c=null==(b=a.attrs)?void 0:b.src)?c:"",i=null!=(e=null==(d=a.attrs)?void 0:d.alt)?e:"",j=null!=(g=null==(f=a.attrs)?void 0:f.title)?g:"";return j?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||"u"<typeof document)return null;let{directions:a,minWidth:b,minHeight:c,alwaysPreserveAspectRatio:d}=this.options.resize;return({node:e,getPos:f,HTMLAttributes:g,editor:h})=>{let i=document.createElement("img");Object.entries(g).forEach(([a,b])=>{if(null!=b)switch(a){case"width":case"height":break;default:i.setAttribute(a,b)}}),i.src=g.src;let j=new lX({element:i,editor:h,node:e,getPos:f,onResize:(a,b)=>{i.style.width=`${a}px`,i.style.height=`${b}px`},onCommit:(a,b)=>{let c=f();void 0!==c&&this.editor.chain().setNodeSelection(c).updateAttributes(this.name,{width:a,height:b}).run()},onUpdate:(a,b,c)=>a.type===e.type,options:{directions:a,min:{width:b,height:c},preserveAspectRatio:!0===d}}),k=j.dom;return k.style.visibility="hidden",k.style.pointerEvents="none",i.onload=()=>{k.style.visibility="",k.style.pointerEvents=""},j}},addCommands(){return{setImage:a=>({commands:b})=>b.insertContent({type:this.name,attrs:a})}},addInputRules(){return[lU({find:Bp,type:this.type,getAttributes:a=>{let[,,b,c,d]=a;return{src:c,alt:b,title:d}}})]}}).extend({name:"image",draggable:!0,addAttributes(){return{...this.parent?.(),width:{default:null,parseHTML:a=>{let b=a.getAttribute("width")??a.style.width;if(!b)return null;let c=/^(\d+)(px)?$/.exec(b);return c?Number(c[1]):b},renderHTML:a=>{if(!a.width)return{};let b="number"==typeof a.width?`${a.width}px`:a.width;return{style:`width: ${b}`}}},align:{default:null,parseHTML:a=>a.getAttribute("data-align"),renderHTML:a=>a.align?{"data-align":a.align}:{}}}},addNodeView:()=>a=>a.editor.contentComponent?new mQ(Bq,a,void 0):{}}),Bs=new fv("wikiLinkDecorator"),Bt="wikiLinkDecorator:refresh";function Bu(a){let{has:b}=vh.getState(),c=a.schema.marks.wikiLink;if(!c)return hz.empty;let d=[];return a.doc.descendants((a,e)=>{if(!a.isText)return;let f=a.marks.find(a=>a.type===c);if(!f)return;let g=f.attrs.slug;!g||b(g)||d.push(hw.inline(e,e+a.nodeSize,{"data-broken":"true"}))}),hz.create(a.doc,d)}let Bv=/\[\[([a-z0-9-]+)(?:\|([^\]#|]+)|#([a-z0-9-]+))?\]\]$/,Bw=lA.create({name:"wikiLink",priority:1e3,keepOnSplit:!1,inclusive:!1,addAttributes:()=>({slug:{default:null,parseHTML:a=>a.getAttribute("data-slug"),renderHTML:a=>({"data-slug":a.slug})},alias:{default:null,parseHTML:a=>a.getAttribute("data-alias"),renderHTML:a=>null!=a.alias?{"data-alias":a.alias}:{}},anchor:{default:null,parseHTML:a=>a.getAttribute("data-anchor"),renderHTML:a=>null!=a.anchor?{"data-anchor":a.anchor}:{}}}),parseHTML:()=>[{tag:'a[data-wiki-link="true"]'}],renderHTML({HTMLAttributes:a}){let b=String(a["data-slug"]??""),c=null!=a["data-anchor"]?String(a["data-anchor"]):null;return["a",kM(a,{"data-wiki-link":"true",href:c?`#wiki:${b}#${c}`:`#wiki:${b}`,class:"wiki-link"}),0]},addInputRules(){return[new lw({find:Bv,handler:({state:a,range:b,match:c})=>{let d=c[1]??"",e=c[2]??null,f=c[3]??null,g=e??(f?`${d}#${f}`:d),{tr:h}=a;h.replaceWith(b.from,b.to,a.schema.text(g,[this.type.create({slug:d,alias:e,anchor:f})]))}})]},addProseMirrorPlugins:()=>[new fs({key:Bs,state:{init:(a,b)=>Bu(b),apply:(a,b,c,d)=>a.getMeta(Bt)||a.docChanged?Bu(d):b.map(a.mapping,a.doc)},props:{decorations:a=>Bs.getState(a)??hz.empty},view(a){let b=vh.subscribe(()=>{let b=a.state.tr.setMeta(Bt,!0);a.dispatch(b)});return{destroy(){b()}}}})],addCommands(){return{setWikiLink:a=>({commands:b})=>b.setMark(this.name,{slug:a.slug,alias:a.alias??null,anchor:a.anchor??null}),unsetWikiLink:()=>({commands:a})=>a.unsetMark(this.name)}}}),Bx=Be({bash:AH,css:AN,go:AO,javascript:AX,json:AY,markdown:AZ,python:A$,rust:A_,shell:A0,sql:A1,typescript:Ba,xml:Bb,yaml:Bc}),By=[AG.configure({heading:{levels:[1,2,3,4]},codeBlock:!1,link:!1,underline:!1}),xw.configure({lowlight:Bx,HTMLAttributes:{class:"rounded-md bg-muted p-4 font-mono text-sm"}}),zx.configure({placeholder:"Start writing, or press '/' for commands..."}),Br.configure({HTMLAttributes:{class:"rounded-lg max-w-full"},allowBase64:!1}),zO.configure({resizable:!0,lastColumnResizable:!1,HTMLAttributes:{class:"border-collapse w-full"}}),zH,zF,zG,Ad.configure({HTMLAttributes:{class:"task-list"}}),Ac.configure({nested:!0}),y_.configure({openOnClick:!1,HTMLAttributes:{class:"text-primary underline cursor-pointer"}}).extend({parseHTML:()=>[{tag:'a[href]:not([data-wiki-link="true"])'}],addKeyboardShortcuts(){return{"Mod-e":()=>{let{state:a}=this.editor,{from:b,to:c}=a.selection;return b!==c&&(this.editor.getAttributes("link").href,!1)}}}}),Bg,Bo,Ae.configure({types:["heading","paragraph"]}),zB,zC,Bk,Bn,Bw],Bz=ad("app-window",[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]),BA=ad("file-audio",[["path",{d:"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"rslqgf"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0",key:"9f7x3i"}]]),BB=ad("file-code-2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]),BC=ad("file-image",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),BD=ad("file-spreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),BE=ad("file-video",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m10 11 5 3-5 3v-6Z",key:"7ntvm4"}]]),BF=ad("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);function BG(a){return"image"===a.type}function BH(a){switch(a.type){case"directory":case"cabinet":return am;case"image":return BC;case"video":return BE;case"audio":return BA;case"code":return BB;case"csv":case"xlsx":return BD;case"website":return ap;case"app":return Bz;default:return al}}function BI(a){let{selectPage:b,expandPath:c}=vb.getState(),d=a.split("/");for(let a=1;a<d.length;a++)c(d.slice(0,a).join("/"));b(a),va.getState().loadPage(a)}function BJ({folderPath:a,entries:b}){let c=(0,$.useMemo)(()=>(function(a){if(0===a.length)return!1;let b=a.filter(BG).length;return b>=4&&b/a.length>=.6})(b),[b]),[d,e]=(0,$.useState)(()=>c?"gallery":"list"),f=a=>{e(a)},g=(0,$.useMemo)(()=>{let a=[...b];return a.sort((a,b)=>{let c="directory"===a.type||"cabinet"===a.type;return c!==("directory"===b.type||"cabinet"===b.type)?c?-1:1:a.name.localeCompare(b.name)}),a},[b]);return(0,Z.jsxs)("div",{className:"space-y-3",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsxs)("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground/70",children:[g.length," ",1===g.length?"item":"items"]}),(0,Z.jsxs)("div",{className:"inline-flex items-center rounded-md border border-border p-0.5 text-[11px]",children:[(0,Z.jsxs)("button",{onClick:()=>f("list"),className:`flex items-center gap-1 px-2 py-1 rounded transition-colors ${"list"===d?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"}`,"aria-pressed":"list"===d,title:"List view",children:[(0,Z.jsx)(w6,{className:"h-3 w-3"}),"List"]}),(0,Z.jsxs)("button",{onClick:()=>f("gallery"),className:`flex items-center gap-1 px-2 py-1 rounded transition-colors ${"gallery"===d?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"}`,"aria-pressed":"gallery"===d,title:"Gallery view",children:[(0,Z.jsx)(BF,{className:"h-3 w-3"}),"Gallery"]})]})]}),"list"===d?(0,Z.jsx)("ul",{className:"divide-y divide-border rounded-md border border-border overflow-hidden",children:g.map(a=>{let b=BH(a),c=a.frontmatter?.title||a.name;return(0,Z.jsx)("li",{children:(0,Z.jsxs)("button",{onClick:()=>BI(a.path),className:"w-full flex items-center gap-3 px-3 py-2 text-left text-sm hover:bg-accent/50 transition-colors",children:[(0,Z.jsx)(b,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,Z.jsx)("span",{className:"flex-1 truncate",children:c}),(0,Z.jsx)("span",{className:"text-[11px] text-muted-foreground/60 capitalize",children:a.type})]})},a.path)})}):(0,Z.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3",children:g.map(a=>{let b=a.frontmatter?.title||a.name;if(BG(a))return(0,Z.jsxs)("button",{onClick:()=>BI(a.path),className:"group flex flex-col gap-1.5 text-left",title:b,children:[(0,Z.jsx)("div",{className:"aspect-square w-full overflow-hidden rounded-md border border-border bg-muted",children:(0,Z.jsx)("img",{src:`/api/assets/${a.path}`,alt:b,loading:"lazy",className:"h-full w-full object-cover transition-transform group-hover:scale-[1.02]"})}),(0,Z.jsx)("span",{className:"truncate text-[12px] text-muted-foreground group-hover:text-foreground",children:b})]},a.path);let c=BH(a);return(0,Z.jsxs)("button",{onClick:()=>BI(a.path),className:"group flex flex-col gap-1.5 text-left",title:b,children:[(0,Z.jsx)("div",{className:"aspect-square w-full flex items-center justify-center rounded-md border border-border bg-muted/40 group-hover:bg-muted transition-colors",children:(0,Z.jsx)(c,{className:"h-8 w-8 text-muted-foreground/60"})}),(0,Z.jsx)("span",{className:"truncate text-[12px] text-muted-foreground group-hover:text-foreground",children:b})]},a.path)})})]})}let BK=ad("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function BL({blockRef:a,comments:b,top:c,left:d,onClick:e}){let f;if(0===b.length)return null;let g=b.filter(a=>!a.resolved);if(0===g.length)f="check";else{let a=g[0].turns.at(-1);f=a?.by.startsWith("ai:")?"dot-ai":"ring-human"}return(0,Z.jsxs)("button",{type:"button",onClick:e,style:{position:"absolute",top:c,left:d,transform:"translateY(2px)"},className:"z-10 p-2 sm:p-0.5 -m-1.5 sm:m-0 rounded transition-colors hover:bg-accent focus:outline-none focus-visible:ring-1 focus-visible:ring-ring","aria-label":`Comment thread for block ${a}`,children:["check"===f&&(0,Z.jsx)(BK,{className:"h-3.5 w-3.5 text-muted-foreground/30"}),"dot-ai"===f&&(0,Z.jsx)(wT,{className:"h-3.5 w-3.5 fill-primary text-primary"}),"ring-human"===f&&(0,Z.jsx)(wT,{className:"h-3.5 w-3.5 text-muted-foreground/70"})]})}var BM="u">typeof document?$.useLayoutEffect:function(){};function BN(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!BN(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!BN(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function BO(a,b){return Math.round(+b)/1}function BP(a){let b=$.useRef(a);return BM(()=>{b.current=a}),b}var BQ=$.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...f}=a;return(0,Z.jsx)(b4.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,Z.jsx)("polygon",{points:"0,0 30,0 15,10"})})});BQ.displayName="Arrow";var BR="Popper",[BS,BT]=bV(BR),[BU,BV]=BS(BR),BW=a=>{let{__scopePopper:b,children:c}=a,[d,e]=$.useState(null);return(0,Z.jsx)(BU,{scope:b,anchor:d,onAnchorChange:e,children:c})};BW.displayName=BR;var BX="PopperAnchor",BY=$.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,f=BV(BX,c),g=$.useRef(null),h=aF(b,g),i=$.useRef(null);return $.useEffect(()=>{let a=i.current;i.current=d?.current||g.current,a!==i.current&&f.onAnchorChange(i.current)}),d?null:(0,Z.jsx)(b4.div,{...e,ref:h})});BY.displayName=BX;var BZ="PopperContent",[B$,B_]=BS(BZ),B0=$.forwardRef((a,b)=>{var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;let s,t,u,v,w,x,{__scopePopper:y,side:z="bottom",sideOffset:A=0,align:B="center",alignOffset:C=0,arrowPadding:D=0,avoidCollisions:E=!0,collisionBoundary:F=[],collisionPadding:G=0,sticky:H="partial",hideWhenDetached:I=!1,updatePositionStrategy:J="optimized",onPlaced:K,...L}=a,M=BV(BZ,y),[N,O]=$.useState(null),P=aF(b,a=>O(a)),[Q,R]=$.useState(null),S=function(a){let[b,c]=$.useState(void 0);return bW(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}(Q),T=S?.width??0,U=S?.height??0,V="number"==typeof G?G:{top:0,right:0,bottom:0,left:0,...G},W=Array.isArray(F)?F:[F],X=W.length>0,Y={padding:V,boundary:W.filter(B4),altBoundary:X},{refs:_,floatingStyles:aa,placement:ab,isPositioned:ac,middlewareData:ad}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:g}={},transform:h=!0,whileElementsMounted:i,open:j}=a,[k,l]=$.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[m,n]=$.useState(d);BN(m,d)||n(d);let[o,p]=$.useState(null),[q,r]=$.useState(null),s=$.useCallback(a=>{a!==w.current&&(w.current=a,p(a))},[]),t=$.useCallback(a=>{a!==x.current&&(x.current=a,r(a))},[]),u=f||o,v=g||q,w=$.useRef(null),x=$.useRef(null),y=$.useRef(k),z=null!=i,A=BP(i),B=BP(e),C=BP(j),D=$.useCallback(()=>{if(!w.current||!x.current)return;let a={placement:b,strategy:c,middleware:m};B.current&&(a.platform=B.current),wt(w.current,x.current,a).then(a=>{let b={...a,isPositioned:!1!==C.current};E.current&&!BN(y.current,b)&&(y.current=b,b0.flushSync(()=>{l(b)}))})},[m,b,c,B,C]);BM(()=>{!1===j&&y.current.isPositioned&&(y.current.isPositioned=!1,l(a=>({...a,isPositioned:!1})))},[j]);let E=$.useRef(!1);BM(()=>(E.current=!0,()=>{E.current=!1}),[]),BM(()=>{if(u&&(w.current=u),v&&(x.current=v),u&&v){if(A.current)return A.current(u,v,D);D()}},[u,v,D,A,z]);let F=$.useMemo(()=>({reference:w,floating:x,setReference:s,setFloating:t}),[s,t]),G=$.useMemo(()=>({reference:u,floating:v}),[u,v]),H=$.useMemo(()=>{let a={position:c,left:0,top:0};if(!G.floating)return a;let b=BO(G.floating,k.x),d=BO(G.floating,k.y);if(h)return{...a,transform:"translate("+b+"px, "+d+"px)",...(G.floating,false)};return{position:c,left:b,top:d}},[c,h,G.floating,k.x,k.y]);return $.useMemo(()=>({...k,update:D,refs:F,elements:G,floatingStyles:H}),[k,D,F,G,H])}({strategy:"fixed",placement:z+("center"!==B?"-"+B:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=v7(a),l=f||g?[...k?v4(k):[],...b?v4(b):[]]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=vT(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o={rootMargin:-vr(l)+"px "+-vr(e.clientWidth-(k+m))+"px "+-vr(e.clientHeight-(l+n))+"px "+-vr(k)+"px",threshold:vp(0,vo(1,i))||1},p=!0;function q(b){let d=b[0].intersectionRatio;if(d!==i){if(!p)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||wk(j,a.getBoundingClientRect())||g(),p=!1}try{d=new IntersectionObserver(q,{...o,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(q,o)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&b&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),b&&o.observe(b));let p=j?wb(a):null;return j&&function b(){let d=wb(a);p&&!wk(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===J}),elements:{reference:M.anchor},middleware:[{name:(s=wl(c={mainAxis:A+U,alignmentAxis:C})).name,fn:s.fn,options:[c,d]},E&&{name:(t=wn(h={mainAxis:!0,crossAxis:!1,limiter:"partial"===H?{fn:(void 0===(g=e)&&(g={}),{options:g,fn(a){let{x:b,y:c,placement:d,rects:e,middlewareData:f}=a,{offset:h=0,mainAxis:i=!0,crossAxis:j=!0}=vu(g,a),k={x:b,y:c},l=vz(d),m=vx(l),n=k[m],o=k[l],p=vu(h,a),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=e.reference[m]-e.floating[a]+q.mainAxis,c=e.reference[m]+e.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=vP.has(vv(d)),c=e.reference[l]-e.floating[a]+(b&&(null==(r=f.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),g=e.reference[l]+e.reference[a]+(b?0:(null==(s=f.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>g&&(o=g)}return{[m]:n,[l]:o}}}).fn,options:[e,f]}:void 0,...Y})).name,fn:t.fn,options:[h,i]},E&&{name:(u=wo(j={...Y})).name,fn:u.fn,options:[j,k]},{name:(v=wp(l={...Y,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}})).name,fn:v.fn,options:[l,m]},Q&&{name:(w={name:"arrow",options:p=n={element:Q,padding:D},fn(a){let{element:b,padding:c}="function"==typeof p?p(a):p;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?wr({element:b.current,padding:c}).fn(a):{}:b?wr({element:b,padding:c}).fn(a):{}}}).name,fn:w.fn,options:[n,o]},B5({arrowWidth:T,arrowHeight:U}),I&&{name:(x=wq(q={strategy:"referenceHidden",...Y})).name,fn:x.fn,options:[q,r]}]}),[ae,af]=B6(ab),ag=b6(K);bW(()=>{ac&&ag?.()},[ac,ag]);let ah=ad.arrow?.x,ai=ad.arrow?.y,aj=ad.arrow?.centerOffset!==0,[ak,al]=$.useState();return bW(()=>{N&&al(window.getComputedStyle(N).zIndex)},[N]),(0,Z.jsx)("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...aa,transform:ac?aa.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ak,"--radix-popper-transform-origin":[ad.transformOrigin?.x,ad.transformOrigin?.y].join(" "),...ad.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,Z.jsx)(B$,{scope:y,placedSide:ae,onArrowChange:R,arrowX:ah,arrowY:ai,shouldHideArrow:aj,children:(0,Z.jsx)(b4.div,{"data-side":ae,"data-align":af,...L,ref:P,style:{...L.style,animation:ac?void 0:"none"}})})})});B0.displayName=BZ;var B1="PopperArrow",B2={top:"bottom",right:"left",bottom:"top",left:"right"},B3=$.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=B_(B1,c),f=B2[e.placedSide];return(0,Z.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,Z.jsx)(BQ,{...d,ref:b,style:{...d.style,display:"block"}})})});function B4(a){return null!==a}B3.displayName=B1;var B5=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=B6(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function B6(a){let[b,c="center"]=a.split("-");return[b,c]}var B7="Popover",[B8,B9]=bV(B7,[BT]),Ca=BT(),[Cb,Cc]=B8(B7),Cd=a=>{let{__scopePopover:b,children:c,open:d,defaultOpen:e,onOpenChange:f,modal:g=!1}=a,h=Ca(b),i=$.useRef(null),[j,k]=$.useState(!1),[l,m]=b_({prop:d,defaultProp:e??!1,onChange:f,caller:B7});return(0,Z.jsx)(BW,{...h,children:(0,Z.jsx)(Cb,{scope:b,contentId:bZ(),triggerRef:i,open:l,onOpenChange:m,onOpenToggle:$.useCallback(()=>m(a=>!a),[m]),hasCustomAnchor:j,onCustomAnchorAdd:$.useCallback(()=>k(!0),[]),onCustomAnchorRemove:$.useCallback(()=>k(!1),[]),modal:g,children:c})})};Cd.displayName=B7;var Ce="PopoverAnchor",Cf=$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Cc(Ce,c),f=Ca(c),{onCustomAnchorAdd:g,onCustomAnchorRemove:h}=e;return $.useEffect(()=>(g(),()=>h()),[g,h]),(0,Z.jsx)(BY,{...f,...d,ref:b})});Cf.displayName=Ce;var Cg="PopoverTrigger";$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Cc(Cg,c),f=Ca(c),g=aF(b,e.triggerRef),h=(0,Z.jsx)(b4.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":Ct(e.open),...d,ref:g,onClick:bU(a.onClick,e.onOpenToggle)});return e.hasCustomAnchor?h:(0,Z.jsx)(BY,{asChild:!0,...f,children:h})}).displayName=Cg;var Ch="PopoverPortal",[Ci,Cj]=B8(Ch,{forceMount:void 0}),Ck=a=>{let{__scopePopover:b,forceMount:c,children:d,container:e}=a,f=Cc(Ch,b);return(0,Z.jsx)(Ci,{scope:b,forceMount:c,children:(0,Z.jsx)(cm,{present:c||f.open,children:(0,Z.jsx)(cl,{asChild:!0,container:e,children:d})})})};Ck.displayName=Ch;var Cl="PopoverContent",Cm=$.forwardRef((a,b)=>{let c=Cj(Cl,a.__scopePopover),{forceMount:d=c.forceMount,...e}=a,f=Cc(Cl,a.__scopePopover);return(0,Z.jsx)(cm,{present:d||f.open,children:f.modal?(0,Z.jsx)(Co,{...e,ref:b}):(0,Z.jsx)(Cp,{...e,ref:b})})});Cm.displayName=Cl;var Cn=b1("PopoverContent.RemoveScroll"),Co=$.forwardRef((a,b)=>{let c=Cc(Cl,a.__scopePopover),d=$.useRef(null),e=aF(b,d),f=$.useRef(!1);return $.useEffect(()=>{let a=d.current;if(a)return c1(a)},[]),(0,Z.jsx)(cW,{as:Cn,allowPinchZoom:!0,children:(0,Z.jsx)(Cq,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:bU(a.onCloseAutoFocus,a=>{a.preventDefault(),f.current||c.triggerRef.current?.focus()}),onPointerDownOutside:bU(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;f.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:bU(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Cp=$.forwardRef((a,b)=>{let c=Cc(Cl,a.__scopePopover),d=$.useRef(!1),e=$.useRef(!1);return(0,Z.jsx)(Cq,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),Cq=$.forwardRef((a,b)=>{let{__scopePopover:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,disableOutsidePointerEvents:g,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:j,onInteractOutside:k,...l}=a,m=Cc(Cl,c),n=Ca(c);return cp(),(0,Z.jsx)(cf,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:f,children:(0,Z.jsx)(b9,{asChild:!0,disableOutsidePointerEvents:g,onInteractOutside:k,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:j,onDismiss:()=>m.onOpenChange(!1),children:(0,Z.jsx)(B0,{"data-state":Ct(m.open),role:"dialog",id:m.contentId,...n,...l,ref:b,style:{...l.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Cr="PopoverClose";$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Cc(Cr,c);return(0,Z.jsx)(b4.button,{type:"button",...d,ref:b,onClick:bU(a.onClick,()=>e.onOpenChange(!1))})}).displayName=Cr;var Cs=$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Ca(c);return(0,Z.jsx)(B3,{...e,...d,ref:b})});function Ct(a){return a?"open":"closed"}Cs.displayName="PopoverArrow";let Cu=new Intl.RelativeTimeFormat("en",{numeric:"auto"});async function Cv(a,b,c,d){let e=encodeURIComponent(a).replace(/%2F/g,"/"),f=await fetch(`/api/agent/files/${e}`,{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID(),...{}},body:JSON.stringify({baseRevision:b,by:c,ops:d})});if(409===f.status){let a=await f.json();return"STALE_REVISION"===a.code&&a.snapshot?.revision!==void 0?{ok:!1,stale:!0,newRevision:a.snapshot.revision}:{ok:!1,stale:!1}}return f.ok?{ok:!0,stale:!1}:{ok:!1,stale:!1}}function Cw({path:a,blockRef:b,comments:c,anchorEl:d,onClose:e}){let[f,g]=(0,$.useState)(null),[h,i]=(0,$.useState)(""),[j,k]=(0,$.useState)(!1),l=(0,$.useRef)(null),m=c.filter(a=>!a.resolved),n=m.length>0,o=m[0]??c[0]??null;if((0,$.useEffect)(()=>{if(!d)return void g(null);let a=d.getBoundingClientRect();g({top:a.bottom+4,left:a.left})},[d]),(0,$.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"===a.key&&e()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[d,e]),(0,$.useEffect)(()=>{f&&setTimeout(()=>l.current?.focus(),50)},[f]),!d||!f)return null;function p(){let b=vj.getState().byPath[a];return b?.snapshotRevision??0}async function q(){if(h.trim()&&!j){k(!0);try{let c=o?{type:"comment.reply",commentId:o.id,text:h.trim()}:{type:"comment.add",ref:b,text:h.trim()},d=p(),f=await Cv(a,d,"human",[c]);!f.ok&&f.stale&&void 0!==f.newRevision&&(await vj.getState().loadSidecar(a),d=f.newRevision,f=await Cv(a,d,"human",[c])),f.ok&&(await vj.getState().loadSidecar(a),i(""),e())}finally{k(!1)}}}async function r(){if(o&&!j){k(!0);try{let b=o.resolved?"comment.reopen":"comment.resolve",c=p(),d=await Cv(a,c,"human",[{type:b,commentId:o.id}]);!d.ok&&d.stale&&void 0!==d.newRevision&&(await vj.getState().loadSidecar(a),c=d.newRevision,d=await Cv(a,c,"human",[{type:b,commentId:o.id}])),d.ok&&(await vj.getState().loadSidecar(a),e())}finally{k(!1)}}}let s=c.flatMap(a=>a.turns.map(b=>({...b,resolved:a.resolved,commentId:a.id})));return(0,Z.jsxs)(Cd,{open:!0,children:[(0,Z.jsx)(Cf,{asChild:!0,children:(0,Z.jsx)("span",{"aria-hidden":"true",style:{position:"fixed",top:f.top,left:f.left,width:0,height:0,pointerEvents:"none"}})}),(0,Z.jsx)(Ck,{children:(0,Z.jsxs)(Cm,{side:"bottom",align:"start",sideOffset:4,collisionPadding:8,onInteractOutside:e,className:"z-50 w-[min(18rem,calc(100vw-1rem))] bg-popover border border-border rounded-lg shadow-xl p-3 space-y-2 text-[12px] focus:outline-none",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("span",{className:"text-[11px] font-mono text-muted-foreground/60 truncate",children:b}),o&&(0,Z.jsx)("button",{type:"button",disabled:j,onClick:()=>void r(),className:"ml-2 shrink-0 text-[10px] px-1.5 py-0.5 rounded border border-border hover:bg-accent disabled:opacity-50 transition-colors",children:o.resolved?"Reopen":"Resolve"})]}),s.length>0&&(0,Z.jsx)("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1",children:s.map((a,b)=>(0,Z.jsxs)("div",{className:"space-y-0.5",children:[(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/60",children:[a.by," · ",function(a){let b=Math.round((Date.now()-new Date(a).getTime())/1e3);if(60>Math.abs(b))return Cu.format(-b,"second");let c=Math.round(b/60);if(60>Math.abs(c))return Cu.format(-c,"minute");let d=Math.round(c/60);return 24>Math.abs(d)?Cu.format(-d,"hour"):Cu.format(-Math.round(d/24),"day")}(a.at)]}),(0,Z.jsx)("p",{className:"text-foreground leading-snug whitespace-pre-wrap",children:a.text})]},b))}),(!o?.resolved||0===c.length)&&(0,Z.jsxs)("div",{className:"space-y-1.5 pt-1",children:[(0,Z.jsx)("textarea",{ref:l,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&q()},placeholder:n?"Reply…":"Add a comment…",rows:2,className:"w-full resize-none rounded-md border border-border bg-background px-2 py-1.5 text-[12px] focus:outline-none focus-visible:ring-1 focus-visible:ring-ring placeholder:text-muted-foreground/40"}),(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground/40",children:"⌘↵ send"}),(0,Z.jsx)("button",{type:"button",disabled:j||!h.trim(),onClick:()=>void q(),className:"px-2.5 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Send"})]})]}),(0,Z.jsx)(Cs,{className:"fill-border"})]})})]})}function Cx({targetEl:a,path:b,onClose:c,onComment:d}){let[e,f]=(0,$.useState)(null),[g,h]=(0,$.useState)(null),[i,j]=(0,$.useState)(!1);if((0,$.useEffect)(()=>{if(!a){f(null),h(null);return}let b=a.getBoundingClientRect();f({top:b.bottom+window.scrollY+4,left:b.left+window.scrollX}),h({spanId:a.getAttribute("id")??"",origin:a.getAttribute("origin"),basis:a.getAttribute("basis"),basisDetail:a.getAttribute("basis-detail"),by:a.getAttribute("by"),at:a.getAttribute("at")})},[a]),(0,$.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"===a.key&&c()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c]),!a||!e||!g)return null;async function k(a){if(!i&&g){j(!0);try{await fetch("/api/agent/internal/span",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b,spanId:g.spanId,action:a,idempotencyKey:crypto.randomUUID()})})}finally{j(!1),c()}}}return(0,Z.jsxs)(Cd,{open:!0,children:[(0,Z.jsx)(Cf,{asChild:!0,children:(0,Z.jsx)("span",{"aria-hidden":"true",style:{position:"fixed",top:e.top,left:e.left,width:0,height:0,pointerEvents:"none"}})}),(0,Z.jsx)(Ck,{children:(0,Z.jsxs)(Cm,{side:"bottom",align:"start",sideOffset:4,collisionPadding:8,onInteractOutside:c,className:"z-50 w-[min(16rem,calc(100vw-1rem))] bg-popover border border-border rounded-lg shadow-xl p-3 space-y-2 text-[12px] focus:outline-none",children:[(0,Z.jsxs)("div",{className:"space-y-0.5",children:[(0,Z.jsxs)("p",{className:"font-medium text-foreground truncate",children:[g.by??"unknown"," · ",g.basis??"—"," · ",function(a){if(!a)return"";let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}(g.at)]}),g.basisDetail&&(0,Z.jsxs)("p",{className:"text-muted-foreground italic truncate",children:["“",g.basisDetail,"”"]}),g.origin&&(0,Z.jsxs)("p",{className:"text-muted-foreground/60",children:["origin: ",g.origin]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 pt-1",children:[(0,Z.jsx)("button",{type:"button",disabled:i,onClick:()=>void k("accept"),className:"flex-1 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Accept"}),(0,Z.jsx)("button",{type:"button",disabled:i,onClick:()=>void k("revert"),className:"flex-1 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Revert"}),(0,Z.jsx)("button",{type:"button",disabled:i,onClick:()=>{d?.(),c()},className:"flex-1 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Comment"})]}),(0,Z.jsx)(Cs,{className:"fill-border"})]})})]})}async function Cy(a,b,c,d){let e=encodeURIComponent(a).replace(/%2F/g,"/"),f=await fetch(`/api/agent/files/${e}`,{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID(),...{}},body:JSON.stringify({baseRevision:b,by:"human",ops:[{type:c,suggestionId:d}]})});return{ok:f.ok,status:f.status}}function Cz({suggestion:a,currentMarkdown:b,path:c,baseRevision:d,getLatestRevision:e,top:f,left:g,width:h,onSettled:i}){let[j,k]=(0,$.useState)(!1);async function l(){if(!j){k(!0);try{let b=await Cy(c,d,"suggestion.accept",a.id);b.ok||409!==b.status||(b=await Cy(c,e(),"suggestion.accept",a.id))}finally{k(!1),i()}}}async function m(){if(!j){k(!0);try{await Cy(c,d,"suggestion.reject",a.id)}finally{k(!1),i()}}}let n="delete"===a.kind,o="insertAfter"===a.kind||"insertBefore"===a.kind;return(0,Z.jsxs)("div",{style:{position:"absolute",top:f,left:g,width:h>0?h:void 0,zIndex:30},className:"my-1 rounded-lg border border-border bg-card shadow-md text-[12px] overflow-hidden",role:"region","aria-label":`Suggestion by ${a.by}`,children:[(0,Z.jsx)("div",{className:"flex items-center justify-between px-3 py-2 bg-muted/50 border-b border-border",children:(0,Z.jsxs)("span",{className:"font-medium text-foreground",children:[(0,Z.jsx)("span",{className:"text-primary",children:a.by})," suggests ",(0,Z.jsx)("span",{className:"text-muted-foreground",children:function(a){switch(a){case"replace":return"replacing this block";case"insertAfter":return"inserting content after this block";case"insertBefore":return"inserting content before this block";case"delete":return"deleting this block"}}(a.kind)})]})}),(0,Z.jsxs)("div",{className:"p-3 space-y-2",children:["replace"===a.kind&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ current ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-muted-foreground bg-destructive/5 rounded px-2 py-1",children:b||"(empty)"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ proposed ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-foreground bg-primary/5 rounded px-2 py-1",children:a.markdown??"(empty)"})]})]}),o&&(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ will be inserted ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-foreground bg-primary/5 rounded px-2 py-1",children:a.markdown??"(empty)"})]}),n&&(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ will be deleted ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-muted-foreground line-through bg-destructive/5 rounded px-2 py-1",children:b||"(empty)"})]}),a.basisDetail&&(0,Z.jsxs)("p",{className:"italic text-muted-foreground/70 text-[11px]",children:["Reason: ",a.basisDetail]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-t border-border bg-muted/30",children:[(0,Z.jsx)("button",{type:"button",disabled:j,onClick:()=>void l(),className:"flex-1 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Accept"}),(0,Z.jsx)("button",{type:"button",disabled:j,onClick:()=>void m(),className:"flex-1 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Reject"})]})]})}async function CA(a,b,c){let d=encodeURIComponent(a).replace(/%2F/g,"/"),e=await fetch(`/api/agent/files/${d}`,{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID(),...{}},body:JSON.stringify({baseRevision:b,by:"human",ops:c})});if(409===e.status){let a=await e.json();return"STALE_REVISION"===a.code&&a.snapshot?.revision!==void 0?{ok:!1,stale:!0,newRevision:a.snapshot.revision}:{ok:!1,stale:!1}}return e.ok?{ok:!0,stale:!1}:{ok:!1,stale:!1}}let CB={replace:"Replace block",insertAfter:"Insert after",insertBefore:"Insert before",delete:"Delete block"};function CC({path:a,blockRef:b,currentMarkdown:c,anchor:d,onClose:e}){let[f,g]=(0,$.useState)("replace"),[h,i]=(0,$.useState)(c),[j,k]=(0,$.useState)(""),[l,m]=(0,$.useState)(!1),n=(0,$.useRef)(null);(0,$.useEffect)(()=>{"replace"===f?i(c):i("")},[f,c]),(0,$.useEffect)(()=>{let a=a=>{"Escape"===a.key&&e()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e]),(0,$.useEffect)(()=>{setTimeout(()=>n.current?.focus(),50)},[]);let o="delete"!==f,p=!l&&(!o||h.trim().length>0);async function q(){if(p){m(!0);try{let c={type:"suggestion.add",ref:b,kind:f,basis:"suggested"};o&&(c.markdown=h),j.trim()&&(c.basisDetail=j.trim());let d=vj.getState().byPath[a]?.snapshotRevision??0,g=await CA(a,d,[c]);!g.ok&&g.stale&&void 0!==g.newRevision&&(await vj.getState().loadSidecar(a),d=g.newRevision,g=await CA(a,d,[c])),g.ok&&(await vj.getState().loadSidecar(a),await vj.getState().loadSnapshot(a),e())}finally{m(!1)}}}return(0,Z.jsxs)(Cd,{open:!0,children:[(0,Z.jsx)(Cf,{asChild:!0,children:(0,Z.jsx)("span",{"aria-hidden":"true",style:{position:"fixed",top:d.top,left:d.left,width:0,height:0,pointerEvents:"none"}})}),(0,Z.jsx)(Ck,{children:(0,Z.jsxs)(Cm,{side:"bottom",align:"start",sideOffset:4,collisionPadding:8,onInteractOutside:e,className:"z-50 w-[min(20rem,calc(100vw-1rem))] bg-popover border border-border rounded-lg shadow-xl p-3 space-y-2.5 text-[12px] focus:outline-none",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("span",{className:"font-medium text-foreground",children:"Suggest an edit"}),(0,Z.jsx)("span",{className:"text-[11px] font-mono text-muted-foreground/60 truncate ml-2",children:b})]}),(0,Z.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.keys(CB).map(a=>(0,Z.jsx)("button",{type:"button",onClick:()=>g(a),className:`px-2 py-0.5 rounded-md text-[10.5px] border transition-colors ${f===a?"bg-primary text-primary-foreground border-primary":"border-border text-muted-foreground hover:bg-accent"}`,children:CB[a]},a))}),"delete"===f&&(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-muted-foreground line-through bg-destructive/5 rounded px-2 py-1 max-h-32 overflow-y-auto",children:c||"(empty)"}),o&&(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"replace"===f?"proposed content":"content to insert"}),(0,Z.jsx)("textarea",{ref:n,value:h,onChange:a=>i(a.target.value),rows:4,placeholder:"Markdown…",className:"w-full resize-y rounded-md border border-border bg-background px-2 py-1.5 font-mono text-[11px] focus:outline-none focus-visible:ring-1 focus-visible:ring-ring placeholder:text-muted-foreground/40"})]}),(0,Z.jsx)("input",{type:"text",value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&q()},placeholder:"Reason (optional)",className:"w-full rounded-md border border-border bg-background px-2 py-1.5 text-[12px] focus:outline-none focus-visible:ring-1 focus-visible:ring-ring placeholder:text-muted-foreground/40"}),(0,Z.jsxs)("div",{className:"flex items-center justify-between pt-0.5",children:[(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground/40",children:"⌘↵ submit"}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)("button",{type:"button",disabled:l,onClick:e,className:"px-2.5 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Cancel"}),(0,Z.jsx)("button",{type:"button",disabled:!p,onClick:()=>void q(),className:"px-2.5 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Suggest"})]})]}),(0,Z.jsx)(Cs,{className:"fill-border"})]})})]})}let CD=ad("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),CE=ad("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),CF=ad("sigma",[["path",{d:"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2",key:"wuwx1p"}]]),CG=ad("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),CH=[{label:"Text",icon:ad("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]),description:"Start writing plain text",category:"basic",action:{type:"direct",run:a=>a.chain().focus().setParagraph().run()}},{label:"Heading 1",icon:w3,description:"Large section heading",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleHeading({level:1}).run()}},{label:"Heading 2",icon:w4,description:"Medium section heading",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleHeading({level:2}).run()}},{label:"Heading 3",icon:w5,description:"Small section heading",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleHeading({level:3}).run()}},{label:"Bullet List",icon:w6,description:"Create a bullet list",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleBulletList().run()}},{label:"Numbered List",icon:w7,description:"Create a numbered list",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleOrderedList().run()}},{label:"Checklist",icon:w0,description:"Create a task checklist",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleTaskList().run()}},{label:"Code Block",icon:wQ,description:"Insert a code block",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleCodeBlock().run()}},{label:"Blockquote",icon:xb,description:"Insert a blockquote",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleBlockquote().run()}},{label:"Divider",icon:w8,description:"Insert a horizontal rule",category:"basic",action:{type:"direct",run:a=>a.chain().focus().setHorizontalRule().run()}},{label:"Table",icon:CG,description:"Insert a 3x3 table",category:"basic",action:{type:"direct",run:a=>a.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run()}},{label:"Image",icon:aq,description:"Upload, paste URL, or drop an image",category:"media",action:{type:"popover",kind:{type:"media",kind:"image"}}},{label:"Video",icon:xe,description:"Upload or paste a video URL",category:"media",action:{type:"popover",kind:{type:"media",kind:"video"}}},{label:"File",icon:aj,description:"Attach any file to this page",category:"media",action:{type:"popover",kind:{type:"media",kind:"file"}}},{label:"Callout",icon:CE,description:"Insert an info callout",category:"advanced",action:{type:"direct",run:a=>a.chain().focus().wrapIn("callout",{type:"info"}).run()}},{label:"Warning",icon:CD,description:"Insert a warning callout",category:"advanced",action:{type:"direct",run:a=>a.chain().focus().wrapIn("callout",{type:"warning"}).run()}},{label:"Math",icon:CF,description:"Insert a LaTeX math expression",category:"advanced",action:{type:"direct",run:a=>a.chain().focus().insertContent("$x=y$").run()}}];function CI({editor:a}){let[b,c]=(0,$.useState)(!1),[d,e]=(0,$.useState)(""),[f,g]=(0,$.useState)(0),[h,i]=(0,$.useState)({top:0,left:0}),[j,k]=(0,$.useState)(null),l=(0,$.useRef)(null),m=va(a=>a.currentPath),n=CH.filter(a=>a.label.toLowerCase().includes(d.toLowerCase())||a.description.toLowerCase().includes(d.toLowerCase())),o=(0,$.useCallback)(()=>{c(!1),e(""),g(0)},[]),p=(0,$.useCallback)(b=>{if(!a)return;let{from:f}=a.state.selection,g=f-d.length-1;a.chain().focus().deleteRange({from:g,to:f}).run(),"direct"===b.action.type?(b.action.run(a),o()):(k(b.action.kind),c(!1),e(""))},[a,d,o]);if((0,$.useEffect)(()=>{if(!a)return;let h=h=>{if(!b){if("/"===h.key){let{from:b}=a.state.selection,d=a.state.doc.textBetween(Math.max(0,b-1),b);if(1===b||""===d||"\n"===d||" "===d){let d=a.view.coordsAtPos(b),f=a.view.dom.getBoundingClientRect();i({top:d.bottom-f.top+4,left:d.left-f.left}),c(!0),e(""),g(0)}}return}"Escape"===h.key?(h.preventDefault(),o()):"ArrowDown"===h.key?(h.preventDefault(),g(a=>Math.min(a+1,n.length-1))):"ArrowUp"===h.key?(h.preventDefault(),g(a=>Math.max(a-1,0))):"Enter"===h.key?(h.preventDefault(),n[f]&&p(n[f])):"Backspace"===h.key?0===d.length?o():(e(a=>a.slice(0,-1)),g(0)):" "===h.key?o():1!==h.key.length||h.metaKey||h.ctrlKey||(e(a=>a+h.key),g(0))};return window.addEventListener("keydown",h,!0),()=>window.removeEventListener("keydown",h,!0)},[a,b,d,f,n,o,p]),(0,$.useEffect)(()=>{if(!b)return;let a=a=>{l.current&&!l.current.contains(a.target)&&o()};return window.addEventListener("mousedown",a),()=>window.removeEventListener("mousedown",a)},[b,o]),(!b||0===n.length)&&!j)return null;let q=new Map;for(let a of n){let b=q.get(a.category)??[];b.push(a),q.set(a.category,b)}return(0,Z.jsxs)(Z.Fragment,{children:[b&&n.length>0&&(0,Z.jsx)("div",{ref:l,className:"absolute z-50 w-[280px] bg-popover border border-border rounded-lg shadow-lg py-1 overflow-hidden max-h-[380px] overflow-y-auto",style:{top:h.top,left:h.left},children:[{key:"basic",title:"Basic"},{key:"media",title:"Media"},{key:"advanced",title:"Advanced"}].map(a=>{let b=q.get(a.key);return b&&0!==b.length?(0,Z.jsxs)("div",{children:[(0,Z.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-muted-foreground px-3 pt-2 pb-1",children:a.title}),b.map(a=>{let b=n.indexOf(a),c=a.icon;return(0,Z.jsxs)("button",{onMouseDown:b=>{b.preventDefault(),p(a)},onMouseEnter:()=>g(b),className:bR("flex items-center gap-3 w-full px-3 py-1.5 text-left transition-colors",b===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[(0,Z.jsx)(c,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsx)("p",{className:"text-[12px] font-medium truncate",children:a.label}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground truncate",children:a.description})]})]},a.label)})]},a.key):null})}),j&&a?"media"===j.type?m?(0,Z.jsx)(xm,{kind:j.kind,pagePath:m,anchor:h,onCancel:()=>k(null),onInsert:b=>((b,c)=>{if(!a)return;let{url:d,alt:e,mimeType:f}=c;"image"===b||(f??"").startsWith("image/")||/\.(png|jpe?g|gif|webp|svg|avif)(\?|$)/i.test(d)?a.chain().focus().setImage({src:d,alt:e??""}).run():a.chain().focus().insertContent(`<a href="${d}">${e??d}</a>`).run(),k(null)})(j.kind,b)}):null:null:null]})}let CJ=ad("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),CK=ad("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),CL=ad("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),CM=ad("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),CN=ad("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),CO=ad("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),CP=ad("panel-top",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}]]),CQ=ad("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);function CR({label:a,icon:b,disabled:c,active:d,danger:e,onAction:f}){return(0,Z.jsx)("button",{type:"button","aria-label":a,title:a,disabled:c,onMouseDown:a=>a.preventDefault(),onClick:a=>{a.preventDefault(),f()},className:bR("h-7 w-7 inline-flex items-center justify-center rounded text-foreground/80 hover:bg-accent transition-colors disabled:pointer-events-none disabled:opacity-35",d&&"bg-accent text-foreground",e&&"text-destructive hover:bg-destructive/10"),children:(0,Z.jsx)(b,{className:"h-3.5 w-3.5"})})}function CS(){return(0,Z.jsx)("div",{className:"mx-1 h-5 w-px bg-border"})}function CT({editor:a}){if(!a)return null;let b=()=>{if(!ie(a.state))return null;try{return iB(a.state)}catch{return null}},c=b=>{b()&&(a.commands.focus(),a.commands.fixTables())},d=c=>{let d=b();if(!d)return;let e=d.top,f=e+c;if(!(f<0)&&!(f>=d.map.height)){var g;(g={from:e,to:f},(a,b)=>{let{from:c,to:d,select:e=!0,pos:f=a.selection.from}=g,h=a.tr;return!!function(a){var b,c,d,e,f;let g,{tr:h,originIndex:i,targetIndex:j,select:k,pos:l}=a,m=iv(h.doc.resolve(l));if(!m)return!1;let n=null==(b=iz(h,i))?void 0:b.indexes,o=null==(c=iz(h,j))?void 0:c.indexes;if(!n||!o||n.includes(j))return!1;let p=(d=m.node,e=n,f=o,g=is(d),it(d,g=iu(g,e,f,0)));if(h.replaceWith(m.pos,m.pos+m.node.nodeSize,p),!k)return!0;let q=ia.get(p),r=m.start,s=q.positionAt(j,q.width-1,p),t=h.doc.resolve(r+s),u=q.positionAt(j,0,p),v=h.doc.resolve(r+u);return h.setSelection(im.rowSelection(t,v)),!0}({tr:h,originIndex:c,targetIndex:d,select:e,pos:f})&&(null==b||b(h),!0)})(a.state,a.view.dispatch),a.commands.focus()}},e=c=>{let d=b();if(!d)return;let e=d.left,f=e+c;if(!(f<0)&&!(f>=d.map.width)){var g;(g={from:e,to:f},(a,b)=>{let{from:c,to:d,select:e=!0,pos:f=a.selection.from}=g,h=a.tr;return!!function(a){var b,c,d,e,f;let g,{tr:h,originIndex:i,targetIndex:j,select:k,pos:l}=a,m=iv(h.doc.resolve(l));if(!m)return!1;let n=null==(b=iy(h,i))?void 0:b.indexes,o=null==(c=iy(h,j))?void 0:c.indexes;if(!n||!o||n.includes(j))return!1;let p=(d=m.node,e=n,f=o,g=iA(is(d)),it(d,g=iA(g=iu(g,e,f,0))));if(h.replaceWith(m.pos,m.pos+m.node.nodeSize,p),!k)return!0;let q=ia.get(p),r=m.start,s=q.positionAt(q.height-1,j,p),t=h.doc.resolve(r+s),u=q.positionAt(0,j,p),v=h.doc.resolve(r+u);return h.setSelection(im.colSelection(t,v)),!0}({tr:h,originIndex:c,targetIndex:d,select:e,pos:f})&&(null==b||b(h),!0)})(a.state,a.view.dispatch),a.commands.focus()}},f=b(),g=!!f&&f.top>0,h=!!f&&f.top<f.map.height-1,i=!!f&&f.left>0,j=!!f&&f.left<f.map.width-1;return(0,Z.jsxs)(wK,{editor:a,pluginKey:"tableMenu",options:{placement:"top",offset:10},shouldShow:({editor:a})=>a.isActive("table"),className:"flex items-center gap-0.5 rounded-md border border-border bg-popover px-1 py-1 shadow-lg",children:[(0,Z.jsx)(CR,{label:"Select cell text",icon:CG,onAction:()=>{let b=id(a.state.selection.$from),c=b?.nodeAfter;b&&c&&a.chain().focus().setTextSelection({from:b.pos+1,to:b.pos+c.nodeSize-1}).run()}}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Add row above",icon:CQ,onAction:()=>c(()=>a.chain().focus().addRowBefore().run())}),(0,Z.jsx)(CR,{label:"Add row below",icon:CJ,onAction:()=>c(()=>a.chain().focus().addRowAfter().run())}),(0,Z.jsx)(CR,{label:"Move row up",icon:CM,disabled:!g,onAction:()=>d(-1)}),(0,Z.jsx)(CR,{label:"Move row down",icon:CJ,disabled:!h,onAction:()=>d(1)}),(0,Z.jsx)(CR,{label:"Delete row",icon:aA,danger:!0,onAction:()=>c(()=>a.chain().focus().deleteRow().run())}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Add column before",icon:CN,onAction:()=>c(()=>a.chain().focus().addColumnBefore().run())}),(0,Z.jsx)(CR,{label:"Add column after",icon:CL,onAction:()=>c(()=>a.chain().focus().addColumnAfter().run())}),(0,Z.jsx)(CR,{label:"Move column left",icon:CK,disabled:!i,onAction:()=>e(-1)}),(0,Z.jsx)(CR,{label:"Move column right",icon:CL,disabled:!j,onAction:()=>e(1)}),(0,Z.jsx)(CR,{label:"Delete column",icon:aA,danger:!0,onAction:()=>c(()=>a.chain().focus().deleteColumn().run())}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Toggle header row",icon:CP,onAction:()=>c(()=>a.chain().focus().toggleHeaderRow().run())}),(0,Z.jsx)(CR,{label:"Toggle header column",icon:CO,onAction:()=>c(()=>a.chain().focus().toggleHeaderColumn().run())}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Delete table",icon:aA,danger:!0,onAction:()=>a.chain().focus().deleteTable().run()})]})}let CU=$.forwardRef(({className:a,type:b,...c},d)=>(0,Z.jsx)("input",{type:b,className:bR("flex h-9 w-full rounded-sm border border-input bg-secondary px-3 py-1 text-sm shadow-e-1 transition-colors file:border-0 file:bg-transparent file:text-sm file:font-normal placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:d,...c}));CU.displayName="Input";var CV=$.forwardRef((a,b)=>(0,Z.jsx)(xf.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));CV.displayName="Label";let CW=aP("text-sm font-normal leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50"),CX=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(CV,{ref:c,className:bR(CW(),a),...b}));CX.displayName=CV.displayName;var CY=a.i(263265);function CZ(a,b){CY.toast.error(a,b)}let C$=["entities","concepts","comparisons"],C_=/^[a-z0-9-]+$/;function C0({editor:a,onCreateRequest:b}){let[c,d]=(0,$.useState)(!1),[e,f]=(0,$.useState)(""),[g,h]=(0,$.useState)(0),[i,j]=(0,$.useState)({top:0,left:0}),k=(0,$.useRef)(null),l=(0,$.useRef)(0),m=vh(a=>a.slugs),n=vh(a=>a.slugDir),o=vh(a=>a.has),p=Array.from(m).sort().filter(a=>!e||a.includes(e.toLowerCase())).slice(0,20),q=e.length>0&&C_.test(e)&&!o(e),r=p.length+ +!!q,s=(0,$.useCallback)(()=>{d(!1),f(""),h(0)},[]),t=(0,$.useCallback)(b=>{if(!a)return;let{from:c}=a.state.selection,d=l.current-2,e=a.state.schema.marks.wikiLink;if(!e)return;let f=e.create({slug:b,alias:null,anchor:null}),g=a.state.schema.text(b,[f]),h=a.state.tr.replaceWith(d,c,g);a.view.dispatch(h),a.commands.focus(),s()},[a,s]),u=(0,$.useCallback)(async c=>{if(a){if(c<p.length)t(p[c]??"");else if(q){let a=await b(e);a.ok?t(a.slug):s()}}},[a,p,q,e,t,b,s]);return((0,$.useEffect)(()=>{if(!a)return;let b=b=>{if(!c){if("["===b.key){let{from:b}=a.state.selection;if("["!==a.state.doc.textBetween(Math.max(0,b-1),b)||a.state.doc.resolve(b).marks().some(a=>"wikiLink"===a.type.name))return;let c=a.view.coordsAtPos(b),e=a.view.dom.getBoundingClientRect();j({top:c.bottom-e.top+4,left:c.left-e.left}),l.current=b+1,d(!0),f(""),h(0)}return}"ArrowDown"===b.key?(b.preventDefault(),h(a=>r>0?(a+1)%r:0)):"ArrowUp"===b.key?(b.preventDefault(),h(a=>r>0?(a-1+r)%r:0)):"Enter"===b.key?(b.preventDefault(),b.stopPropagation(),r>0&&u(g)):"Escape"===b.key||"]"===b.key?s():"Backspace"===b.key?0===e.length?s():(f(a=>a.slice(0,-1)),h(0)):1!==b.key.length||b.metaKey||b.ctrlKey||(f(a=>a+b.key),h(0))};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[a,c,e,g,r,s,u]),(0,$.useEffect)(()=>{if(!c)return;let a=a=>{k.current&&!k.current.contains(a.target)&&s()};return window.addEventListener("mousedown",a),()=>window.removeEventListener("mousedown",a)},[c,s]),c&&0!==r)?(0,Z.jsxs)("div",{ref:k,className:"absolute z-50 w-[280px] bg-popover border border-border rounded-lg shadow-lg py-1 overflow-hidden max-h-[300px] overflow-y-auto",style:{top:i.top,left:i.left},children:[p.map((a,b)=>{let c=n.get(a);return(0,Z.jsxs)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),u(b)},onMouseEnter:()=>h(b),className:bR("flex items-center justify-between w-full px-3 py-1.5 text-left text-sm transition-colors",b===g?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[(0,Z.jsx)("span",{className:"truncate",children:a}),c&&(0,Z.jsx)("span",{className:"ml-2 shrink-0 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:c})]},a)}),q&&(0,Z.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),u(p.length)},onMouseEnter:()=>h(p.length),className:bR("flex items-center w-full px-3 py-1.5 text-left text-sm transition-colors",p.length===g?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:(0,Z.jsxs)("span",{className:"text-muted-foreground",children:["+ Create new “",e,"”"]})})]}):null}async function C1(a,b){let c=new FormData;c.append("file",b);try{let b=await fetch(`/api/upload/${a}`,{method:"POST",body:c});if(!b.ok)return null;return(await b.json()).url}catch{return null}}function C2(a){let b=[];for(let c of a)b.push({path:c.path,name:c.name}),c.children&&b.push(...C2(c.children));return b}function C3(a,b,c){let d=C2(c).filter(b=>b.name===a||b.path.endsWith(`/${a}`));if(0===d.length)return null;if(1===d.length)return d[0].path;if(b){let c=b.includes("/")?b.substring(0,b.lastIndexOf("/")):"",e=d.find(b=>b.path===(c?`${c}/${a}`:a));if(e)return e.path}return d[0].path}function C4(a,b,c){let d=a.split("/");for(let a=1;a<d.length;a++)c(d.slice(0,a).join("/"));b(a),va.getState().loadPage(a),setTimeout(()=>{document.querySelector("[data-editor-scroll]")?.scrollTo(0,0)},0)}function C5(){let{currentPath:a,content:b,saveStatus:c,frontmatter:d,isLoading:e,loadStatus:f,createMissingPage:g,editMode:h,setEditMode:i}=va(),j=vb(a=>a.nodes),k=vg(a=>vd[a.width]),l=d?.dir==="rtl",{open:m,clearMessages:n}=u1(),{open:o,Dialog:p}=function(){let[a,b]=(0,$.useState)(!1),[c,d]=(0,$.useState)({slug:"",dir:"entities",title:""}),[e,f]=(0,$.useState)(!1),g=(0,$.useRef)(null),h=(0,$.useCallback)(a=>(d({slug:a,dir:"entities",title:a.split("-").filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}),b(!0),new Promise(a=>{g.current=a})),[]),i=(0,$.useCallback)(()=>{b(!1),g.current?.({ok:!1,slug:c.slug}),g.current=null},[c.slug]),j=(0,$.useCallback)(async()=>{let{slug:a,dir:d,title:e}=c;f(!0);try{let c=await fetch("/api/wiki/page",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:a,dir:d,title:e.trim()||void 0})});if(c.ok||409===c.status){let c=vh.getState();c.invalidate(),c.load(),b(!1),g.current?.({ok:!0,slug:a,dir:d}),g.current=null}else{let a=await c.json().catch(()=>({})),b=null!==a&&"object"==typeof a&&"error"in a&&"string"==typeof a.error?a.error:"Failed to create page";CZ(b)}}catch{CZ("Failed to create page")}finally{f(!1)}},[c]);return{open:h,Dialog:(0,Z.jsx)(c7,{open:a,onOpenChange:a=>{a||i()},children:(0,Z.jsxs)(dA,{children:[(0,Z.jsx)(dB,{children:(0,Z.jsx)(dD,{children:"Create wiki page"})}),(0,Z.jsxs)("div",{className:"space-y-4 py-2",children:[(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)(CX,{htmlFor:"wiki-create-slug",children:"Slug"}),(0,Z.jsx)(CU,{id:"wiki-create-slug",value:c.slug,readOnly:!0,className:"bg-muted cursor-default select-all"})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)(CX,{children:"Directory"}),(0,Z.jsx)("div",{className:"flex gap-4",children:C$.map(a=>(0,Z.jsxs)("label",{className:"flex items-center gap-1.5 text-sm cursor-pointer",children:[(0,Z.jsx)("input",{type:"radio",name:"wiki-create-dir",value:a,checked:c.dir===a,onChange:()=>d(b=>({...b,dir:a})),className:"accent-primary"}),a]},a))})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)(CX,{htmlFor:"wiki-create-title",children:"Title (optional)"}),(0,Z.jsx)(CU,{id:"wiki-create-title",value:c.title,onChange:a=>d(b=>({...b,title:a.target.value})),placeholder:"Humanized title..."})]})]}),(0,Z.jsxs)(dC,{children:[(0,Z.jsx)(bT,{variant:"outline",onClick:i,disabled:e,children:"Cancel"}),(0,Z.jsx)(bT,{onClick:()=>void j(),disabled:e,children:e?"Creating...":"Create"})]})]})})}}(),q=(0,$.useRef)(o);q.current=o;let r=(0,$.useRef)(!1),[s,t]=(0,$.useState)(!1),[u,v]=(0,$.useState)(""),[w,x]=(0,$.useState)("page");(0,$.useEffect)(()=>{x("page")},[]),(0,$.useEffect)(()=>{vh.getState().load()},[]),(0,$.useEffect)(()=>{a&&vj.getState().loadSidecar(a)},[a]),(0,$.useEffect)(()=>{},[]);let[y,z]=(0,$.useState)(null),A=(0,$.useRef)(null),[B,C]=(0,$.useState)(new Map),D=vj(b=>a?b.byPath[a]?.snapshotBlocks:void 0),E=vj(b=>a?b.byPath[a]?.sidecar?.suggestions:void 0),F=vj(b=>a?b.byPath[a]?.snapshotRevision??0:0),G=vj(b=>a?b.byPath[a]?.sidecar?.comments:void 0),H=(0,$.useMemo)(()=>D??[],[D]),I=(0,$.useMemo)(()=>G??[],[G]),J=(0,$.useMemo)(()=>E?.filter(a=>"pending"===a.status)??[],[E]),K=(0,$.useMemo)(()=>{let a={};for(let b of I)(a[b.ref]??=[]).push(b);return a},[I]),[L,M]=(0,$.useState)(null),[N,O]=(0,$.useState)(null),P=(0,$.useCallback)(()=>{if(!Y.current)return null;let a=Y.current.view,{from:b}=a.state.selection,c=va.getState().currentPath??"",d=vj.getState().byPath[c]?.snapshotBlocks??[],e=a.state.doc.resolve(b),f=e.depth>0?e.index(0):0,g=A.current?.querySelector(".ProseMirror"),h=(g?Array.from(g.children):[])[f]??null,i=d[f],j=i?.ref??h?.getAttribute("data-block-ref")??null,k=i?.markdown??"";if(!j&&h){let c=a.domAtPos(b),d=c.node.nodeType===Node.ELEMENT_NODE?c.node:c.node.parentElement,e=d?.closest("[data-block-ref]")??null;j=e?.getAttribute("data-block-ref")??null}return j&&h?{blockRef:j,blockEl:h,markdown:k}:null},[]),Q=(0,$.useCallback)(()=>{let a=P();if(!a)return;let b=a.blockEl.getBoundingClientRect();O({blockRef:a.blockRef,markdown:a.markdown,anchor:{top:b.bottom+4,left:b.left}})},[P]),R=(0,$.useCallback)(()=>{let a=P();a&&M({blockRef:a.blockRef,el:a.blockEl})},[P]),S=(0,$.useRef)(!1),T=(0,$.useRef)(!1),U=(0,$.useRef)(null),V=a=>a.replace(/\s+$/g,"").trimStart(),W=(0,$.useCallback)(async()=>{if(T.current||"suggesting"!==va.getState().editMode||!S.current)return;let a=Y.current,b=va.getState().currentPath;if(!a||!b)return;let c=A.current?.querySelector(".ProseMirror");if(!c)return;let d=Array.from(c.children),e=vj.getState().byPath[b]?.snapshotBlocks??[];if(0!==e.length){T.current=!0,S.current=!1;try{let c=()=>vj.getState().byPath[b]?.snapshotRevision??0,f=async()=>{await vj.getState().loadSnapshot(b),await vj.getState().loadSidecar(b)},g=Math.max(d.length,e.length),h=!1;for(let a=0;a<g;a++){let g=d[a],i=e[a],j=g?uZ(g.outerHTML).trim():null;if(i&&null!==j){if(V(j)!==V(i.markdown)){let a=await vl({path:b,ref:i.ref,kind:"replace",markdown:j,getRevision:c,refresh:f});h=h||a}}else if(i&&null===j){let a=await vl({path:b,ref:i.ref,kind:"delete",getRevision:c,refresh:f});h=h||a}else if(!i&&null!==j&&j.length>0){let a=e[e.length-1]?.ref;if(a){let d=await vl({path:b,ref:a,kind:"insertAfter",markdown:j,getRevision:c,refresh:f});h=h||d}}}if(h){await f();let c=(vj.getState().byPath[b]?.snapshotBlocks??e).map(a=>a.markdown).join("\n\n");r.current=!0;let d=await uh(c,b);a.commands.setContent(d),setTimeout(()=>{r.current=!1},50)}}finally{T.current=!1}}},[]);(0,$.useEffect)(()=>{a&&vj.getState().loadSnapshot(a)},[a]),(0,$.useEffect)(()=>{if(!a||0===H.length||!A.current)return;let b=A.current,c=b.querySelector(".ProseMirror");if(!c)return;let d=Array.from(c.children),e=b.getBoundingClientRect(),f=new Map;for(let a=0;a<Math.min(d.length,H.length);a++){let c=d[a],g=H[a];c.setAttribute("data-block-ref",g.ref);let h=c.getBoundingClientRect();f.set(g.ref,{top:h.top-e.top+b.scrollTop,left:h.left-e.left,width:h.width,bottom:h.bottom-e.top+b.scrollTop})}C(f)},[a,H]);let X=function(a={},b=[]){let c=(0,i6.useRef)(a);c.current=a;let[d]=(0,i6.useState)(()=>new mI(c)),e=(0,i7.useSyncExternalStore)(d.subscribe,d.getEditor,d.getServerSnapshot);return(0,i6.useDebugValue)(e),(0,i6.useEffect)(d.onRender(b)),!function(a){var b;let[c]=(0,i6.useState)(()=>new mH(a.editor)),d=(0,mB.useSyncExternalStoreWithSelector)(c.subscribe,c.getSnapshot,c.getServerSnapshot,a.selector,null!=(b=a.equalityFn)?b:mz);mG(()=>c.watch(a.editor),[a.editor,c]),(0,i6.useDebugValue)(d)}({editor:e,selector:({transactionNumber:b})=>!1===a.shouldRerenderOnTransaction||void 0===a.shouldRerenderOnTransaction?null:a.immediatelyRender&&0===b?0:b+1}),e}({extensions:By,content:"",onUpdate:(0,$.useCallback)(({editor:a})=>{if(r.current||!a)return;"suggesting"===va.getState().editMode&&(S.current=!0);let b=uZ(a.getHTML());va.getState().updateContent(b)},[]),onBlur:()=>{W()},onSelectionUpdate:({editor:a})=>{if("suggesting"!==va.getState().editMode)return;let{from:b}=a.state.selection,c=a.state.doc.resolve(b),d=c.depth>0?c.index(0):0,e=U.current;U.current=d,null!==e&&e!==d&&S.current&&W()},editorProps:{attributes:{class:"focus:outline-none min-h-[calc(100vh-12rem)] px-4 sm:px-8 py-6 max-w-[var(--editor-max-w,48rem)] mx-auto"},handleKeyDown:(a,b)=>{if((b.metaKey||b.ctrlKey)&&"a"===b.key.toLowerCase()&&ie(a.state)){let c=id(a.state.selection.$from),d=c?.nodeAfter;if(!c||!d)return!1;let e=c.pos+1,f=c.pos+d.nodeSize-1;return(a.state.selection.from!==e||a.state.selection.to!==f)&&(b.preventDefault(),X?.chain().focus().setTextSelection({from:e,to:f}).run(),!0)}return!1},handleClick:(a,b,c)=>{let d=c.target.closest("a");if(!d)return!1;let e=d.getAttribute("href");if(!e)return!1;if("true"===d.dataset.wikiLink){c.preventDefault(),c.stopPropagation();let a=d.dataset.slug??"",b=d.dataset.anchor??null;if(!a)return!0;let e=vh.getState();if(e.has(a)){let c=e.getDir(a),d=null===c||"root"===c?`${a}.md`:`${c}/${a}.md`;va.getState().loadPage(d),b&&setTimeout(()=>{document.querySelector(`[id="${b}"]`)?.scrollIntoView({behavior:"smooth"})},200)}else q.current(a).then(a=>{if(a.ok){let b=a.dir??"entities",c=`${b}/${a.slug}.md`;va.getState().loadPage(c)}});return!0}if(e.startsWith("#page:")){c.preventDefault(),c.stopPropagation();let a=e.replace("#page:",""),{nodes:b,selectPage:d,expandPath:f}=vb.getState(),g=C3(a,va.getState().currentPath,b);return g&&C4(g,d,f),!0}if(/^https?:\/\//.test(e)||e.startsWith("/api/")||e.startsWith("mailto:")||e.startsWith("tel:"))return!1;c.preventDefault(),c.stopPropagation();let{nodes:f,selectPage:g,expandPath:h}=vb.getState(),i=function(a,b,c){let d=C2(c),e=a.replace(/\.md$/,"").replace(/^\.\//,"").replace(/^\//,""),f=d.find(a=>a.path===e);if(f)return f.path;if(b){let a=b.includes("/")?b.substring(0,b.lastIndexOf("/")):"",c=a?`${a}/${e}`:e,f=d.find(a=>a.path===c);if(f)return f.path}return C3(e.includes("/")?e.split("/").pop():e,b,c)}(e,va.getState().currentPath,f);return i&&C4(i,g,h),!0},handlePaste:(a,b)=>{let c=b.clipboardData?.files,d=va.getState().currentPath;if(c&&c.length>0&&d){for(let a of Array.from(c))C1(d,a).then(b=>{b&&X&&(a.type.startsWith("image/")?X.chain().focus().setImage({src:b,alt:a.name}).run():X.chain().focus().insertContent(`<a href="${b}">${a.name}</a>`).run())});return!0}return!1},handleDrop:(a,b)=>{let c=b.dataTransfer?.files;if(!c||0===c.length)return!1;let d=va.getState().currentPath;if(!d)return!1;for(let a of(b.preventDefault(),Array.from(c)))C1(d,a).then(b=>{b&&X&&(a.type.startsWith("image/")?X.chain().focus().setImage({src:b,alt:a.name}).run():X.chain().focus().insertContent(`<a href="${b}">${a.name}</a>`).run())});return!0}},immediatelyRender:!1}),Y=(0,$.useRef)(X);Y.current=X;let _=(0,$.useRef)(null),aa=(0,$.useRef)(null),[ab,ac]=(0,$.useState)(null);(0,$.useEffect)(()=>{if(!X||null===a||va.getState().isDirty&&a===_.current||e&&""===b)return;let c=`${a} ${b}`;if(aa.current===c){ab!==a&&ac(a);return}_.current=a,(async()=>{r.current=!0;let d=await uh(b,a);X.commands.setContent(d),aa.current=c,ac(a),setTimeout(()=>{r.current=!1},50)})()},[X,b,a,e,ab]);let ad=null!==a&&(e||ab!==a);if(null===a)return(0,Z.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:(0,Z.jsxs)("div",{className:"text-center space-y-3",children:[(0,Z.jsx)("p",{className:"text-lg font-medium tracking-[-0.02em]",children:"No page selected"}),(0,Z.jsx)("p",{className:"text-sm text-muted-foreground/70",children:"Select a page from the sidebar or create a new one"})]})});if("missing"===f){let b=(a.split("/").pop()||a).replace(/[-_]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()),c=mV(j,a),d=c?.children??[],e=d.length>0;return(0,Z.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,Z.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-10 space-y-6",children:[(0,Z.jsxs)("div",{className:"space-y-3",children:[(0,Z.jsx)("p",{className:"text-lg font-medium tracking-[-0.02em] text-foreground",children:b}),(0,Z.jsxs)("p",{className:"text-sm text-muted-foreground/80",children:["This folder doesn't have an"," ",(0,Z.jsx)("code",{className:"px-1 py-0.5 rounded bg-muted text-[12px]",children:"index.md"}),e?" yet — its contents are listed below.":" yet."]}),(0,Z.jsxs)("button",{onClick:()=>void g(b),className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-[13px] font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:[(0,Z.jsx)(ak,{className:"h-3.5 w-3.5"}),"Create page"]})]}),e&&(0,Z.jsx)(BJ,{folderPath:a,entries:d},a)]})})}let ae=async()=>{if(s){if(va.getState().updateContent(u),X){r.current=!0;let b=await uh(u,a??void 0);X.commands.setContent(b),setTimeout(()=>{r.current=!1},50)}t(!1)}else v(va.getState().content),t(!0)},af=mV(j,a),ag=af?.type==="directory"||af?.type==="cabinet"?af.children??[]:[],ah=ag.length>0,ai=ah&&"files"===w;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[ah&&(0,Z.jsxs)("div",{className:"flex items-center gap-1 px-3 pt-2 border-b border-border",children:[(0,Z.jsx)("button",{onClick:()=>x("page"),className:`px-3 py-1.5 text-[12px] rounded-t-md border-b-2 -mb-px transition-colors ${"page"===w?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"aria-pressed":"page"===w,children:"Page"}),(0,Z.jsxs)("button",{onClick:()=>x("files"),className:`px-3 py-1.5 text-[12px] rounded-t-md border-b-2 -mb-px transition-colors ${"files"===w?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"aria-pressed":"files"===w,children:["Files",(0,Z.jsx)("span",{className:"ml-1.5 text-muted-foreground/60",children:ag.length})]})]}),ai?(0,Z.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,Z.jsx)("div",{className:"max-w-3xl mx-auto px-6 py-6",children:(0,Z.jsx)(BJ,{folderPath:a,entries:ag},a)})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"flex items-center min-w-0",children:[(0,Z.jsx)("div",{className:"flex-1 min-w-0",children:!s&&(0,Z.jsx)(xo,{editor:X})}),(0,Z.jsxs)("button",{onClick:ae,className:`flex items-center gap-1.5 px-3 py-1 mr-2 text-[11px] rounded-md transition-colors border border-border ${s?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"}`,children:[(0,Z.jsx)(dG,{className:"h-3 w-3"}),s?"Preview":"Markdown"]})]}),s?(0,Z.jsx)("div",{className:"flex-1 overflow-y-auto p-4",dir:l?"rtl":void 0,children:(0,Z.jsx)("textarea",{value:u,onChange:a=>v(a.target.value),className:"w-full h-full min-h-[calc(100vh-12rem)] bg-transparent font-mono text-[13px] leading-relaxed resize-none focus:outline-none",spellCheck:!1})}):(0,Z.jsxs)("div",{className:"flex-1 relative",dir:l?"rtl":void 0,children:["suggesting"===h&&(0,Z.jsx)("div",{className:"absolute top-0 inset-x-0 z-20 flex items-center justify-center gap-2 px-3 py-1 bg-primary/10 border-b border-primary/20 text-[11px] text-primary pointer-events-none",children:"Suggesting mode · your edits become suggestions for review"}),(0,Z.jsxs)("div",{ref:A,className:`absolute inset-0 overflow-y-auto ${"suggesting"===h?"pt-7":""}`,style:{"--editor-max-w":k},"data-editor-scroll":!0,children:[(0,Z.jsxs)("div",{"aria-hidden":"true",className:"relative pointer-events-none",style:{height:0},children:[Object.entries(K).map(([a,b])=>{let c=B.get(a);return c?(0,Z.jsx)("div",{style:{pointerEvents:"auto"},children:(0,Z.jsx)(BL,{blockRef:a,comments:b,top:c.top+4,left:Math.max(0,c.left-20),onClick:()=>{let b=A.current?.querySelector(`[data-block-ref="${a}"]`);b&&M({blockRef:a,el:b})}})},`pip-${a}`):null}),a&&J.map(b=>{let c=B.get(b.ref),d=H.find(a=>a.ref===b.ref);if(!c||!d)return null;let e="insertAfter"===b.kind?c.bottom+4:"insertBefore"===b.kind?Math.max(0,c.top-80):c.top;return(0,Z.jsx)("div",{style:{pointerEvents:"auto"},children:(0,Z.jsx)(Cz,{path:a,suggestion:b,currentMarkdown:d.markdown,baseRevision:F,getLatestRevision:()=>vj.getState().byPath[a]?.snapshotRevision??0,top:e,left:c.left,width:c.width,onSettled:()=>{vj.getState().loadSidecar(a),vj.getState().loadSnapshot(a)}})},`sug-${b.id}`)})]}),L&&a&&(0,Z.jsx)(Cw,{path:a,blockRef:L.blockRef,comments:K[L.blockRef]??[],anchorEl:L.el,onClose:()=>M(null)}),N&&a&&(0,Z.jsx)(CC,{path:a,blockRef:N.blockRef,currentMarkdown:N.markdown,anchor:N.anchor,onClose:()=>O(null)}),(0,Z.jsx)(mF,{editor:X}),(0,Z.jsx)("div",{"aria-hidden":"true",className:"contents",onMouseOver:a=>{let b=a.target.closest(".proof-span");b&&b!==y&&z(b)},onMouseOut:a=>{let b=a.relatedTarget;b?.closest(".proof-span")||z(null)}}),a&&(0,Z.jsx)(Cx,{targetEl:y,path:a,onClose:()=>z(null),onComment:()=>{if(!y)return;let a=y.closest("[data-block-ref]");if(!a)return;let b=a.getAttribute("data-block-ref");b&&M({blockRef:b,el:a})}}),(0,Z.jsx)(w_,{editor:X,onSuggestEdit:Q,onComment:R}),(0,Z.jsx)(CT,{editor:X}),(0,Z.jsx)(CI,{editor:X}),(0,Z.jsx)(C0,{editor:X,onCreateRequest:q.current}),(0,Z.jsxs)("div",{className:"max-w-[var(--editor-max-w,48rem)] mx-auto px-8 pb-8 flex items-center gap-4",children:[(0,Z.jsxs)("button",{onClick:()=>{n(),m()},className:"group flex items-center gap-2 text-[13px] text-muted-foreground/50 hover:text-muted-foreground transition-colors cursor-pointer",children:[(0,Z.jsx)(mU,{className:"h-3.5 w-3.5 group-hover:text-primary transition-colors"}),(0,Z.jsx)("span",{children:"Edit with AI"})]}),(0,Z.jsxs)("span",{className:"text-[11px] text-muted-foreground/30 select-none",children:[(0,Z.jsx)("kbd",{className:"rounded px-1 py-0.5 font-mono text-[10px] ring-1 ring-foreground/10",children:"/"})," ","for commands"]})]})]}),ad&&(0,Z.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-background/80 backdrop-blur-md z-20 pointer-events-none","aria-hidden":"true",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground/70"})})]}),(0,Z.jsxs)("div",{className:"flex items-center justify-between px-4 py-1 border-t border-border text-xs text-muted-foreground/60",children:[(0,Z.jsxs)("span",{className:"text-[10.5px] text-muted-foreground/30 select-none hidden sm:block",children:[(0,Z.jsx)("kbd",{className:"rounded px-1 font-mono text-[9.5px] ring-1 ring-foreground/10",children:"⌘S"})," ","save",(0,Z.jsx)("span",{className:"mx-1.5 opacity-40",children:"·"}),(0,Z.jsx)("kbd",{className:"rounded px-1 font-mono text-[9.5px] ring-1 ring-foreground/10",children:"/"})," ","commands"]}),(0,Z.jsxs)("div",{className:"flex items-center gap-3",children:[(0,Z.jsxs)("div",{className:"flex items-center rounded-md border border-border overflow-hidden text-[10.5px]",role:"radiogroup","aria-label":"Edit mode",children:[(0,Z.jsx)("button",{type:"button",role:"radio","aria-checked":"editing"===h,onClick:()=>i("editing"),className:`px-2 py-0.5 transition-colors ${"editing"===h?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"}`,children:"Editing"}),(0,Z.jsx)("button",{type:"button",role:"radio","aria-checked":"suggesting"===h,onClick:()=>i("suggesting"),className:`px-2 py-0.5 transition-colors ${"suggesting"===h?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"}`,children:"Suggesting"})]}),(0,Z.jsxs)("span",{children:["saving"===c&&"Saving...","saved"===c&&"Saved","error"===c&&"Save failed"]})]})]})]})]}),p]})}function C6({path:a}){let b=`/api/assets/${a}`,c=a.split("/").pop()||a,d=c.includes(".")?c.split(".").pop()?.toUpperCase():"",e=async()=>{try{await fetch("/api/system/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})})}catch{}};return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(dJ,{path:a,badge:d||void 0}),(0,Z.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center max-w-sm",children:[(0,Z.jsx)("div",{className:"flex size-16 items-center justify-center rounded-2xl bg-muted",children:(0,Z.jsx)(aj,{className:"size-8 text-muted-foreground/50"})}),(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-sm font-medium",children:c}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"This file type can't be previewed in Cabinet."})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-2",onClick:e,children:[(0,Z.jsx)(an,{className:"h-4 w-4"}),"Open in Finder"]}),(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-2",onClick:()=>{let a=document.createElement("a");a.href=b,a.download=c,a.click()},children:[(0,Z.jsx)(dH,{className:"h-4 w-4"}),"Download"]})]})]})})]})}function C7({path:a,title:b}){let c=`/api/assets/${a}`,d=a.split("/").pop()||a,e=d.includes(".")?d.split(".").pop()?.toUpperCase():"IMG";return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:e,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=c,a.download=d,a.click()},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(c,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto flex items-center justify-center bg-[#1a1a1a] p-8",children:(0,Z.jsx)("img",{src:c,alt:b,className:"max-w-full max-h-full object-contain rounded-md shadow-lg",style:{imageRendering:"auto"}})})]})}function C8({path:a,type:b}){let c=`/api/assets/${a}`,d=a.split("/").pop()||a,e=d.includes(".")?d.split(".").pop()?.toUpperCase():b.toUpperCase();return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:e,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=c,a.download=d,a.click()},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(c,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto flex items-center justify-center bg-[#1a1a1a] p-8",children:"video"===b?(0,Z.jsx)("video",{src:c,controls:!0,className:"max-w-full max-h-full rounded-md shadow-lg",children:"Your browser does not support the video element."}):(0,Z.jsxs)("div",{className:"w-full max-w-lg space-y-4",children:[(0,Z.jsx)("div",{className:"text-center text-muted-foreground text-sm",children:d}),(0,Z.jsx)("audio",{src:c,controls:!0,className:"w-full",children:"Your browser does not support the audio element."})]})})]})}let C9=ad("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Da=ad("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Db=ad("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),Dc=ad("zoom-in",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),Dd=ad("zoom-out",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);function De({path:b,title:c}){let[d,e]=(0,$.useState)(""),[f,g]=(0,$.useState)(""),[h,i]=(0,$.useState)(""),[j,k]=(0,$.useState)(!0),[l,m]=(0,$.useState)(!1),[n,o]=(0,$.useState)(!1),[p,q]=(0,$.useState)(1),[r,s]=(0,$.useState)({x:0,y:0}),[t,u]=(0,$.useState)(!1),v=(0,$.useRef)({x:0,y:0,panX:0,panY:0}),w=(0,$.useRef)(null),x=(0,$.useRef)(null),y=(0,$.useRef)(0),z=(0,$.useCallback)(a=>{if(a.ctrlKey||a.metaKey){a.preventDefault();let b=a.deltaY>0?-.25:.25;q(a=>Math.min(Math.max(a+b,.25),5))}},[]),A=(0,$.useCallback)(a=>{0===a.button&&(u(!0),v.current={x:a.clientX,y:a.clientY,panX:r.x,panY:r.y},a.target.setPointerCapture(a.pointerId))},[r]),B=(0,$.useCallback)(a=>{t&&s({x:v.current.panX+(a.clientX-v.current.x),y:v.current.panY+(a.clientY-v.current.y)})},[t]),C=(0,$.useCallback)(()=>{u(!1)},[]),D=`/api/assets/${b}`;b.split("/").pop();let E=(0,$.useCallback)(async()=>{k(!0),i("");try{let b=await fetch(D);if(!b.ok)throw Error("Failed to fetch file");let c=await b.text();e(c);let d=(await a.A(334743)).default;d.initialize({startOnLoad:!1,theme:document.documentElement.classList.contains("dark")?"dark":"default",securityLevel:"loose",suppressErrorRendering:!0}),await d.parse(c.trim());let f=`mermaid-${++y.current}`,{svg:h}=await d.render(f,c.trim());g(h)}catch(a){document.querySelectorAll('[id^="dmermaid-"], [id^="d"]:has(> .error-icon)').forEach(a=>a.remove()),i(a instanceof Error?a.message:"Failed to render diagram")}finally{k(!1)}},[D]);return(0,$.useEffect)(()=>{E()},[E]),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:b,badge:"MERMAID",children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:`h-7 gap-1.5 text-xs ${l?"bg-muted":""}`,onClick:()=>m(a=>!a),children:[l?(0,Z.jsx)(Da,{className:"h-3.5 w-3.5"}):(0,Z.jsx)(dG,{className:"h-3.5 w-3.5"}),l?"Diagram":"Code"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{navigator.clipboard.writeText(d),o(!0),setTimeout(()=>o(!1),2e3)},children:[n?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"}),n?"Copied":"Copy"]}),f&&!l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{className:"h-4 w-px bg-border mx-0.5"}),(0,Z.jsx)(bT,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>q(a=>Math.max(a-.25,.25)),title:"Zoom out",children:(0,Z.jsx)(Dd,{className:"h-3.5 w-3.5"})}),(0,Z.jsxs)("span",{className:"text-[11px] text-muted-foreground tabular-nums w-10 text-center select-none",children:[Math.round(100*p),"%"]}),(0,Z.jsx)(bT,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>q(a=>Math.min(a+.25,5)),title:"Zoom in",children:(0,Z.jsx)(Dc,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(bT,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>{q(1),s({x:0,y:0})},title:"Reset view",children:(0,Z.jsx)(Db,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)("div",{className:"h-4 w-px bg-border mx-0.5"})]}),f&&(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{if(!f)return;let a=new Blob([f],{type:"image/svg+xml"}),b=URL.createObjectURL(a),d=document.createElement("a");d.href=b,d.download=`${c}.svg`,d.click(),URL.revokeObjectURL(b)},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"SVG"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto",children:j?(0,Z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Rendering diagram..."}):l?(0,Z.jsx)("pre",{className:"p-4 text-[13px] leading-relaxed font-mono bg-[#1e1e1e]",children:(0,Z.jsx)("code",{children:d.split("\n").map((a,b)=>(0,Z.jsxs)("div",{className:"flex",children:[(0,Z.jsx)("span",{className:"inline-block w-12 pr-4 text-right text-[#858585] select-none shrink-0",children:b+1}),(0,Z.jsx)("span",{className:"text-[#d4d4d4] flex-1",children:a||"\n"})]},b))})}):h?(0,Z.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4 text-sm p-8",children:[(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,Z.jsx)("div",{className:"h-10 w-10 rounded-full bg-red-500/10 flex items-center justify-center",children:(0,Z.jsx)(dG,{className:"h-5 w-5 text-red-500"})}),(0,Z.jsx)("p",{className:"text-red-500 font-medium",children:"Diagram syntax error"})]}),(0,Z.jsx)("pre",{className:"text-muted-foreground text-xs max-w-lg text-left bg-muted rounded-md p-3 overflow-auto whitespace-pre-wrap",children:h}),(0,Z.jsx)(bT,{variant:"outline",size:"sm",onClick:()=>m(!0),children:"View source to fix"})]}):(0,Z.jsx)("div",{ref:x,className:"relative w-full h-full overflow-hidden",style:{cursor:t?"grabbing":"grab"},onWheel:z,onPointerDown:A,onPointerMove:B,onPointerUp:C,children:(0,Z.jsx)("div",{ref:w,className:"flex items-center justify-center p-8 min-h-full [&_svg]:max-w-full origin-center select-none",style:{transform:`translate(${r.x}px, ${r.y}px) scale(${p})`},dangerouslySetInnerHTML:{__html:f}})})})]})}var Df="[0-9](_*[0-9])*",Dg=`\\.(${Df})`,Dh="[0-9a-fA-F](_*[0-9a-fA-F])*",Di={className:"number",variants:[{begin:`(\\b(${Df})((${Dg})|\\.)?|(${Dg}))[eE][+-]?(${Df})[fFdD]?\\b`},{begin:`\\b(${Df})((${Dg})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Dg})[fFdD]?\\b`},{begin:`\\b(${Df})[fFdD]\\b`},{begin:`\\b0[xX]((${Dh})\\.?|(${Dh})?\\.(${Dh}))[pP][+-]?(${Df})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Dh})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0},Dj="[0-9](_*[0-9])*",Dk=`\\.(${Dj})`,Dl="[0-9a-fA-F](_*[0-9a-fA-F])*",Dm={className:"number",variants:[{begin:`(\\b(${Dj})((${Dk})|\\.)?|(${Dk}))[eE][+-]?(${Dj})[fFdD]?\\b`},{begin:`\\b(${Dj})((${Dk})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Dk})[fFdD]?\\b`},{begin:`\\b(${Dj})[fFdD]\\b`},{begin:`\\b0[xX]((${Dl})\\.?|(${Dl})?\\.(${Dl}))[pP][+-]?(${Dj})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Dl})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};let Dn=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Do=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Dp=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Dq=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Dr=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),Ds=Dp.concat(Dq).sort().reverse(),Dt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Du=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Dv=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Dw=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Dx=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Dy(a){return a?"string"==typeof a?a:a.source:null}function Dz(a){return DA("(?=",a,")")}function DA(...a){return a.map(a=>Dy(a)).join("")}function DB(...a){let b;return"("+(("object"==typeof(b=a[a.length-1])&&b.constructor===Object?(a.splice(a.length-1,1),b):{}).capture?"":"?:")+a.map(a=>Dy(a)).join("|")+")"}let DC=a=>DA(/\b/,a,/\w$/.test(a)?/\b/:/\B/),DD=["Protocol","Type"].map(DC),DE=["init","self"].map(DC),DF=["Any","Self"],DG=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],DH=["false","nil","true"],DI=["assignment","associativity","higherThan","left","lowerThan","none","right"],DJ=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],DK=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],DL=DB(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),DM=DB(DL,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),DN=DA(DL,DM,"*"),DO=DB(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),DP=DB(DO,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),DQ=DA(DO,DP,"*"),DR=DA(/[A-Z]/,DP,"*"),DS=["attached","autoclosure",DA(/convention\(/,DB("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",DA(/objc\(/,DQ,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],DT=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"],DU={arduino:function(a){let b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=(b=a.regex,c=a.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),e="[a-zA-Z_]\\w*::",f="(?!struct)("+(d="decltype\\(auto\\)")+"|"+b.optional(e)+"[a-zA-Z_]\\w*"+b.optional("<[^<>]+>")+")",g={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},a.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},j={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},c,a.C_BLOCK_COMMENT_MODE]},k={className:"title",begin:b.optional(e)+a.IDENT_RE,relevance:0},l=b.optional(e)+a.IDENT_RE+"\\s*\\(",p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},contains:(o=[n={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:b.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,a.IDENT_RE,b.lookahead(/(<[^<>]+>|)\s*\(/))},j,g,c,a.C_BLOCK_COMMENT_MODE,i,h]).concat([{begin:/\(/,end:/\)/,keywords:m,contains:o.concat(["self"]),relevance:0}]),relevance:0},q={className:"function",begin:"("+f+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:d,keywords:m,relevance:0},{begin:l,returnBegin:!0,contains:[k],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,i]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[c,a.C_BLOCK_COMMENT_MODE,h,i,g,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",c,a.C_BLOCK_COMMENT_MODE,h,i,g]}]},g,c,a.C_BLOCK_COMMENT_MODE,j]},{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(p,q,n,o,[j,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:m,contains:["self",g]},{begin:a.IDENT_RE+"::",keywords:m},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}),s=r.keywords;return s.type=[...s.type,"boolean","byte","word","String"],s.literal=[...s.literal,"DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"],s.built_in=[...s.built_in,"KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],s._hints=["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],r.name="Arduino",r.aliases=["ino"],r.supersetOf="cpp",r},bash:AH,c:function(a){let b=a.regex,c=a.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),d="decltype\\(auto\\)",e="[a-zA-Z_]\\w*::",f="("+d+"|"+b.optional(e)+"[a-zA-Z_]\\w*"+b.optional("<[^<>]+>")+")",g={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},a.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},j={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},c,a.C_BLOCK_COMMENT_MODE]},k={className:"title",begin:b.optional(e)+a.IDENT_RE,relevance:0},l=b.optional(e)+a.IDENT_RE+"\\s*\\(",m={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},n=[j,g,c,a.C_BLOCK_COMMENT_MODE,i,h],o={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:n.concat([{begin:/\(/,end:/\)/,keywords:m,contains:n.concat(["self"]),relevance:0}]),relevance:0},p={begin:"("+f+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:d,keywords:m,relevance:0},{begin:l,returnBegin:!0,contains:[a.inherit(k,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[c,a.C_BLOCK_COMMENT_MODE,h,i,g,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",c,a.C_BLOCK_COMMENT_MODE,h,i,g]}]},g,c,a.C_BLOCK_COMMENT_MODE,j]};return{name:"C",aliases:["h"],keywords:m,disableAutodetect:!0,illegal:"</",contains:[].concat(o,p,n,[j,{begin:a.IDENT_RE+"::",keywords:m},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},a.TITLE_MODE]}]),exports:{preprocessor:j,strings:h,keywords:m}}},cpp:function(a){let b=a.regex,c=a.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),d="decltype\\(auto\\)",e="[a-zA-Z_]\\w*::",f="(?!struct)("+d+"|"+b.optional(e)+"[a-zA-Z_]\\w*"+b.optional("<[^<>]+>")+")",g={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},a.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},j={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},c,a.C_BLOCK_COMMENT_MODE]},k={className:"title",begin:b.optional(e)+a.IDENT_RE,relevance:0},l=b.optional(e)+a.IDENT_RE+"\\s*\\(",m={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},n={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:b.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,a.IDENT_RE,b.lookahead(/(<[^<>]+>|)\s*\(/))},o=[n,j,g,c,a.C_BLOCK_COMMENT_MODE,i,h],p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:o.concat([{begin:/\(/,end:/\)/,keywords:m,contains:o.concat(["self"]),relevance:0}]),relevance:0},q={className:"function",begin:"("+f+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:d,keywords:m,relevance:0},{begin:l,returnBegin:!0,contains:[k],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,i]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[c,a.C_BLOCK_COMMENT_MODE,h,i,g,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",c,a.C_BLOCK_COMMENT_MODE,h,i,g]}]},g,c,a.C_BLOCK_COMMENT_MODE,j]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(p,q,n,o,[j,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:m,contains:["self",g]},{begin:a.IDENT_RE+"::",keywords:m},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}},csharp:function(a){let b={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},c=a.inherit(a.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},e={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=a.inherit(e,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:b},h=a.inherit(g,{illegal:/\n/}),i={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},a.BACKSLASH_ESCAPE,h]},j={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},k=a.inherit(j,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]});g.contains=[j,i,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,d,a.C_BLOCK_COMMENT_MODE],h.contains=[k,i,f,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,d,a.inherit(a.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let l={variants:[{className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},j,i,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},m={begin:"<",end:">",contains:[{beginKeywords:"in out"},c]},n=a.IDENT_RE+"(<"+a.IDENT_RE+"(\\s*,\\s*"+a.IDENT_RE+")*>)?(\\[\\])?",o={begin:"@"+a.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:b,illegal:/::/,contains:[a.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},l,d,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},c,m,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[c,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[c,m,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+n+"\\s+)+"+a.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:b,contains:[{beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",relevance:0},{begin:a.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[a.TITLE_MODE,m],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,relevance:0,contains:[l,d,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},o]}},css:AN,diff:function(a){let b=a.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:b.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:b.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}},go:AO,graphql:function(a){let b=a.regex;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[a.HASH_COMMENT_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:b.concat(/[_A-Za-z][_0-9A-Za-z]*/,b.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}},ini:function(a){let b=a.regex,c={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},d=a.COMMENT();d.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let e={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},f={className:"literal",begin:/\bon|off|true|false|yes|no\b/},g={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},h=b.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[d,{className:"section",begin:/\[+/,end:/\]+/},{begin:b.concat(h,"(\\s*\\.\\s*",h,")*",b.lookahead(/\s*=\s*[^#\s]/)),className:"attr",starts:{end:/$/,contains:[d,{begin:/\[/,end:/\]/,contains:[d,f,e,g,c,"self"],relevance:0},f,e,g,c]}}]}},java:function(a){let b=a.regex,c="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",d=c+function a(b,c,d){return -1===d?"":b.replace(c,e=>a(b,c,d-1))}("(?:<"+c+"~~~(?:\\s*,\\s*"+c+"~~~)*>)?",/~~~/g,2),e={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},f={className:"meta",begin:"@"+c,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},g={className:"params",begin:/\(/,end:/\)/,keywords:e,relevance:0,contains:[a.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:e,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[a.BACKSLASH_ESCAPE]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,c],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[b.concat(/(?!else)/,c),/\s+/,c,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,c],className:{1:"keyword",3:"title.class"},contains:[g,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+d+"\\s+)",a.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:e,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:e,relevance:0,contains:[f,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,Di,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},Di,f]}},javascript:AX,json:AY,kotlin:function(a){let b={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},c={className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"@"},d={className:"subst",begin:/\$\{/,end:/\}/,contains:[a.C_NUMBER_MODE]},e={className:"variable",begin:"\\$"+a.UNDERSCORE_IDENT_RE},f={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[e,d]},{begin:"'",end:"'",illegal:/\n/,contains:[a.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[a.BACKSLASH_ESCAPE,e,d]}]};d.contains.push(f);let g={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+a.UNDERSCORE_IDENT_RE+")?"},h={className:"meta",begin:"@"+a.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[a.inherit(f,{className:"string"}),"self"]}]},i=a.COMMENT("/\\*","\\*/",{contains:[a.C_BLOCK_COMMENT_MODE]}),j={variants:[{className:"type",begin:a.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]};return j.variants[1].contains=[j],j.variants[1].contains=[j],{name:"Kotlin",aliases:["kt","kts"],keywords:b,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,i,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},c,g,h,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:b,relevance:5,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:b,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[j,a.C_LINE_COMMENT_MODE,i],relevance:0},a.C_LINE_COMMENT_MODE,i,g,h,f,a.C_NUMBER_MODE]},i]},{begin:[/class|interface|trait/,/\s+/,a.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},a.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},g,h]},f,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},Dm]}},less:function(a){let b={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},c="[\\w-]+",d="("+c+"|@\\{"+c+"\\})",e=[],f=[],g=function(a){return{className:"string",begin:"~?"+a+".*?"+a}},h=function(a,b,c){return{className:a,begin:b,relevance:c}},i={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Do.join(" ")};f.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,g("'"),g('"'),b.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},b.HEXCOLOR,{begin:"\\(",end:"\\)",contains:f,keywords:i,relevance:0},h("variable","@@?"+c,10),h("variable","@\\{"+c+"\\}"),h("built_in","~?`[^`]*?`"),{className:"attribute",begin:c+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},b.IMPORTANT,{beginKeywords:"and not"},b.FUNCTION_DISPATCH);let j=f.concat({begin:/\{/,end:/\}/,contains:e}),k={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(f)},l={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},b.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Dr.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:f}}]},m={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,k,h("keyword","all\\b"),h("variable","@\\{"+c+"\\}"),{begin:"\\b("+Dn.join("|")+")\\b",className:"selector-tag"},b.CSS_NUMBER_MODE,h("selector-tag",d,0),h("selector-id","#"+d),h("selector-class","\\."+d,0),h("selector-tag","&",0),b.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Dp.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Dq.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:j},{begin:"!important"},b.FUNCTION_DISPATCH]},n={begin:c+":(:)?"+`(${Ds.join("|")})`,returnBegin:!0,contains:[m]};return e.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:i,returnEnd:!0,contains:f,relevance:0}},{className:"variable",variants:[{begin:"@"+c+"\\s*:",relevance:15},{begin:"@"+c}],starts:{end:"[;}]",returnEnd:!0,contains:j}},n,l,m,k,b.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:e}},lua:function(a){let b="\\[=*\\[",c="\\]=*\\]",d={begin:b,end:c,contains:["self"]},e=[a.COMMENT("--(?!"+b+")","$"),a.COMMENT("--"+b,c,{contains:[d],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:a.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:e.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[a.inherit(a.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:e}].concat(e)},a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:b,end:c,contains:[d],relevance:5}])}},makefile:function(a){let b={className:"variable",variants:[{begin:"\\$\\("+a.UNDERSCORE_IDENT_RE+"\\)",contains:[a.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},c={className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,b]},d={begin:"^"+a.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[a.HASH_COMMENT_MODE,b,c,{className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[b,c]},d,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},{className:"section",begin:/^[^\s]+:/,end:/$/,contains:[b]}]}},markdown:AZ,objectivec:function(a){let b=/[a-zA-Z@][a-zA-Z0-9_]*/,c={$pattern:b,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:b,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(a.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[a.UNDERSCORE_TITLE_MODE]},{begin:"\\."+a.UNDERSCORE_IDENT_RE,relevance:0}]}},perl:function(a){let b=a.regex,c=/[dualxmsipngr]{0,12}/,d={$pattern:/[\w.]+/,keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"},e={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:d},f={begin:/->\{/,end:/\}/},g={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},h={scope:"variable",variants:[{begin:/\$\d/},{begin:b.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[g]},i={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},j=[a.BACKSLASH_ESCAPE,e,h],k=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(a,d,e="\\1")=>{let f="\\1"===e?e:b.concat(e,d);return b.concat(b.concat("(?:",a,")"),d,/(?:\\.|[^\\\/])*?/,f,/(?:\\.|[^\\\/])*?/,e,c)},m=(a,d,e)=>b.concat(b.concat("(?:",a,")"),d,/(?:\\.|[^\\\/])*?/,e,c),n=[h,a.HASH_COMMENT_MODE,a.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),f,{className:"string",contains:j,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},i,{begin:"(\\/\\/|"+a.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[a.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",b.either(...k,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:m("(?:m|qr)?",/\//,/\//)},{begin:m("m|qr",b.either(...k,{capture:!0}),/\1/)},{begin:m("m|qr",/\(/,/\)/)},{begin:m("m|qr",/\[/,/\]/)},{begin:m("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[a.TITLE_MODE,g]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[a.TITLE_MODE,g,i]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return e.contains=n,f.contains=n,{name:"Perl",aliases:["pl","pm"],keywords:d,contains:n}},php:function(a){let b,c=a.regex,d=/(?![A-Za-z0-9])(?![$])/,e=c.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,d),f=c.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,d),g=c.concat(/[A-Z]+/,d),h={scope:"variable",match:"\\$+"+e},i={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},j=a.inherit(a.APOS_STRING_MODE,{illegal:null}),k=a.inherit(a.QUOTE_STRING_MODE,{illegal:null,contains:a.QUOTE_STRING_MODE.contains.concat(i)}),l={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:a.QUOTE_STRING_MODE.contains.concat(i),"on:begin":(a,b)=>{b.data._beginMatch=a[1]||a[2]},"on:end":(a,b)=>{b.data._beginMatch!==a[1]&&b.ignoreMatch()}},m=a.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),n="[ \n]",o={scope:"string",variants:[k,j,l,m]},p={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},q=["false","null","true"],r=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],s=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],t={keyword:r,literal:(b=[],q.forEach(a=>{b.push(a),a.toLowerCase()===a?b.push(a.toUpperCase()):b.push(a.toLowerCase())}),b),built_in:s},u=a=>a.map(a=>a.replace(/\|\d+$/,"")),v={variants:[{match:[/new/,c.concat(n,"+"),c.concat("(?!",u(s).join("\\b|"),"\\b)"),f],scope:{1:"keyword",4:"title.class"}}]},w=c.concat(e,"\\b(?!\\()"),x={variants:[{match:[c.concat(/::/,c.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[f,c.concat(/::/,c.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[f,c.concat("::",c.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[f,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},y={scope:"attr",match:c.concat(e,c.lookahead(":"),c.lookahead(/(?!::)/))},z={relevance:0,begin:/\(/,end:/\)/,keywords:t,contains:[y,h,x,a.C_BLOCK_COMMENT_MODE,o,p,v]},A={relevance:0,match:[/\b/,c.concat("(?!fn\\b|function\\b|",u(r).join("\\b|"),"|",u(s).join("\\b|"),"\\b)"),e,c.concat(n,"*"),c.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[z]};z.contains.push(A);let B=[y,x,a.C_BLOCK_COMMENT_MODE,o,p,v],C={begin:c.concat(/#\[\s*\\?/,c.either(f,g)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:q,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:q,keyword:["new","array"]},contains:["self",...B]},...B,{scope:"meta",variants:[{match:f},{match:g}]}]};return{case_insensitive:!1,keywords:t,contains:[C,a.HASH_COMMENT_MODE,a.COMMENT("//","$"),a.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:a.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},h,A,x,{match:[/const/,/\s/,e],scope:{1:"keyword",3:"variable.constant"}},v,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},a.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",C,h,x,a.C_BLOCK_COMMENT_MODE,o,p]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[a.inherit(a.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},a.UNDERSCORE_TITLE_MODE]},o,p]}},"php-template":function(a){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},a.inherit(a.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}},plaintext:function(a){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}},python:A$,"python-repl":function(a){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}},r:function(a){let b=a.regex,c=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,d=b.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),e=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,f=b.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:c,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[a.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:b.lookahead(b.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:c},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),a.HASH_COMMENT_MODE,{scope:"string",contains:[a.BACKSLASH_ESCAPE],variants:[a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[e,d]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,d]},{scope:{1:"punctuation",2:"number"},match:[f,d]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,d]}]},{scope:{3:"operator"},match:[c,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:e},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:f},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}},ruby:function(a){let b=a.regex,c="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",d=b.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),e=b.concat(d,/(::\w+)*/),f={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},g={className:"doctag",begin:"@[A-Za-z]+"},h={begin:"#<",end:">"},i=[a.COMMENT("#","$",{contains:[g]}),a.COMMENT("^=begin","^=end",{contains:[g],relevance:10}),a.COMMENT("^__END__",a.MATCH_NOTHING_RE)],j={className:"subst",begin:/#\{/,end:/\}/,keywords:f},k={className:"string",contains:[a.BACKSLASH_ESCAPE,j],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:b.concat(/<<[-~]?'?/,b.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[a.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[a.BACKSLASH_ESCAPE,j]})]}]},l="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${l}))?([eE][+-]?(${l})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},n={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:f}]},o=[k,{variants:[{match:[/class\s+/,e,/\s+<\s+/,e]},{match:[/\b(class|module)\s+/,e]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:f},{match:[/(include|extend)\s+/,e],scope:{2:"title.class"},keywords:f},{relevance:0,match:[e,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:d,scope:"title.class"},{match:[/def/,/\s+/,c],scope:{1:"keyword",3:"title.function"},contains:[n]},{begin:a.IDENT_RE+"::"},{className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[k,{begin:c}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:f},{begin:"("+a.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[a.BACKSLASH_ESCAPE,j],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(h,i),relevance:0}].concat(h,i);j.contains=o,n.contains=o;let p=[{begin:/^\s*=>/,starts:{end:"$",contains:o}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:f,contains:o}}];return i.unshift(h),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:f,illegal:/\/\*/,contains:[a.SHEBANG({binary:"ruby"})].concat(p).concat(i).concat(o)}},rust:A_,scss:function(a){let b={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},c="@[a-z-]+",d={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,b.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},b.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Dt.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+Dv.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Dw.join("|")+")"},d,{begin:/\(/,end:/\)/,contains:[b.CSS_NUMBER_MODE]},b.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Dx.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[b.BLOCK_COMMENT,d,b.HEXCOLOR,b.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,b.IMPORTANT,b.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:c,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Du.join(" ")},contains:[{begin:c,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},d,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,b.HEXCOLOR,b.CSS_NUMBER_MODE]},b.FUNCTION_DISPATCH]}},shell:A0,sql:A1,swift:function(a){let b={match:/\s+/,relevance:0},c=a.COMMENT("/\\*","\\*/",{contains:["self"]}),d=[a.C_LINE_COMMENT_MODE,c],e={match:[/\./,DB(...DD,...DE)],className:{2:"keyword"}},f={match:DA(/\./,DB(...DG)),relevance:0},g=DG.filter(a=>"string"==typeof a).concat(["_|0"]),h={variants:[{className:"keyword",match:DB(...DG.filter(a=>"string"!=typeof a).concat(DF).map(DC),...DE)}]},i={$pattern:DB(/\b\w+/,/#\w+/),keyword:g.concat(DJ),literal:DH},j=[e,f,h],k=[{match:DA(/\./,DB(...DK)),relevance:0},{className:"built_in",match:DA(/\b/,DB(...DK),/(?=\()/)}],l={match:/->/,relevance:0},m=[l,{className:"operator",relevance:0,variants:[{match:DN},{match:`\\.(\\.|${DM})+`}]}],n="([0-9]_*)+",o="([0-9a-fA-F]_*)+",p={className:"number",relevance:0,variants:[{match:`\\b(${n})(\\.(${n}))?([eE][+-]?(${n}))?\\b`},{match:`\\b0x(${o})(\\.(${o}))?([pP][+-]?(${n}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},q=(a="")=>({className:"subst",variants:[{match:DA(/\\/,a,/[0\\tnr"']/)},{match:DA(/\\/,a,/u\{[0-9a-fA-F]{1,8}\}/)}]}),r=(a="")=>({className:"subst",label:"interpol",begin:DA(/\\/,a,/\(/),end:/\)/}),s=(a="")=>({begin:DA(a,/"""/),end:DA(/"""/,a),contains:[q(a),((a="")=>({className:"subst",match:DA(/\\/,a,/[\t ]*(?:[\r\n]|\r\n)/)}))(a),r(a)]}),t=(a="")=>({begin:DA(a,/"/),end:DA(/"/,a),contains:[q(a),r(a)]}),u={className:"string",variants:[s(),s("#"),s("##"),s("###"),t(),t("#"),t("##"),t("###")]},v=[a.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[a.BACKSLASH_ESCAPE]}],w=a=>{let b=DA(a,/\//),c=DA(/\//,a);return{begin:b,end:c,contains:[...v,{scope:"comment",begin:`#(?!.*${c})`,end:/$/}]}},x={scope:"regexp",variants:[w("###"),w("##"),w("#"),{begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:v}]},y={match:DA(/`/,DQ,/`/)},z=[y,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${DP}+`}],A=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:DT,contains:[...m,p,u]}]}},{scope:"keyword",match:DA(/@/,DB(...DS),Dz(DB(/\(/,/\s+/)))},{scope:"meta",match:DA(/@/,DQ)}],B={match:Dz(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:DA(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,DP,"+")},{className:"type",match:DR,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:DA(/\s+&\s+/,Dz(DR)),relevance:0}]},C={begin:/</,end:/>/,keywords:i,contains:[...d,...j,...A,l,B]};B.contains.push(C);let D={begin:/\(/,end:/\)/,relevance:0,keywords:i,contains:["self",{match:DA(DQ,/\s*:/),keywords:"_|0",relevance:0},...d,x,...j,...k,...m,p,u,...z,...A,B]},E={begin:/</,end:/>/,keywords:"repeat each",contains:[...d,B]},F={begin:/\(/,end:/\)/,keywords:i,contains:[{begin:DB(Dz(DA(DQ,/\s*:/)),Dz(DA(DQ,/\s+/,DQ,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:DQ}]},...d,...j,...m,p,u,...A,B,D],endsParent:!0,illegal:/["']/},G={match:[/(func|macro)/,/\s+/,DB(y.match,DQ,DN)],className:{1:"keyword",3:"title.function"},contains:[E,F,b],illegal:[/\[/,/%/]},H={begin:[/precedencegroup/,/\s+/,DR],className:{1:"keyword",3:"title"},contains:[B],keywords:[...DI,...DH],end:/}/},I={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,DQ,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:i,contains:[E,...j,{begin:/:/,end:/\{/,keywords:i,contains:[{scope:"title.class.inherited",match:DR},...j],relevance:0}]};for(let a of u.variants){let b=a.contains.find(a=>"interpol"===a.label);b.keywords=i;let c=[...j,...k,...m,p,u,...z];b.contains=[...c,{begin:/\(/,end:/\)/,contains:["self",...c]}]}return{name:"Swift",keywords:i,contains:[...d,G,{match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[E,F,b],illegal:/\[|%/},{match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},I,{match:[/operator/,/\s+/,DN],className:{1:"keyword",3:"title"}},H,{beginKeywords:"import",end:/$/,contains:[...d],relevance:0},x,...j,...k,...m,p,u,...z,...A,B,D]}},typescript:Ba,vbnet:function(a){let b=a.regex,c=/\d{1,2}\/\d{1,2}\/\d{4}/,d=/\d{4}-\d{1,2}-\d{1,2}/,e=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,f=/\d{1,2}(:\d{1,2}){1,2}/,g={className:"literal",variants:[{begin:b.concat(/# */,b.either(d,c),/ *#/)},{begin:b.concat(/# */,f,/ *#/)},{begin:b.concat(/# */,e,/ *#/)},{begin:b.concat(/# */,b.either(d,c),/ +/,b.either(e,f),/ *#/)}]},h=a.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),i=a.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},g,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},h,i,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[i]}]}},wasm:function(a){a.regex;let b=a.COMMENT(/\(;/,/;\)/);return b.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[a.COMMENT(/;;/,/$/),b,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},a.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}},xml:Bb,yaml:Bc},DV=Be(DU);function DW(a){return Array.isArray(a)?a.join(""):a??""}let DX=/\x1b\[[0-9;]*[A-Za-z]/g;function DY(a){return a.replace(DX,"")}function DZ({output:a}){if("stream"===a.output_type){let b=DY(DW(a.text)),c="stderr"===a.name;return(0,Z.jsx)("pre",{className:`whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md ${c?"bg-[rgba(139,46,62,0.06)] text-[#8B2E3E]":"bg-[#F5EEDC] text-[#2A221B]"}`,children:b})}if("error"===a.output_type){let b=a.traceback.map(DY).join("\n");return(0,Z.jsxs)("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md bg-[rgba(139,46,62,0.08)] text-[#8B2E3E] border border-[rgba(139,46,62,0.18)]",children:[(0,Z.jsxs)("span",{className:"font-semibold",children:[a.ename,": ",a.evalue]}),b?`
|
|
113
|
+
`,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:a,chain:b,state:c,editor:d})=>a.first([()=>a.exitCode(),()=>a.command(()=>{let{selection:a,storedMarks:e}=c;if(a.$from.parent.type.spec.isolating)return!1;let{keepMarks:f}=this.options,{splittableMarks:g}=d.extensionManager,h=e||a.$to.parentOffset&&a.$from.marks();return b().insertContent({type:this.name}).command(({tr:a,dispatch:b})=>{if(b&&h&&f){let b=h.filter(a=>g.includes(a.type.name));a.ensureMarks(b)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),As=l5.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map(a=>({tag:`h${a}`,attrs:{level:a}}))},renderHTML({node:a,HTMLAttributes:b}){let c=this.options.levels.includes(a.attrs.level)?a.attrs.level:this.options.levels[0];return[`h${c}`,kM(this.options.HTMLAttributes,b),0]},parseMarkdown:(a,b)=>b.createNode("heading",{level:a.depth||1},b.parseInline(a.tokens||[])),renderMarkdown:(a,b)=>{var c;let d=(null==(c=a.attrs)?void 0:c.level)?parseInt(a.attrs.level,10):1,e="#".repeat(d);return a.content?`${e} ${b.renderChildren(a.content)}`:""},addCommands(){return{setHeading:a=>({commands:b})=>!!this.options.levels.includes(a.level)&&b.setNode(this.name,a),toggleHeading:a=>({commands:b})=>!!this.options.levels.includes(a.level)&&b.toggleNode(this.name,"paragraph",a)}},addKeyboardShortcuts(){return this.options.levels.reduce((a,b)=>({...a,[`Mod-Alt-${b}`]:()=>this.editor.commands.toggleHeading({level:b})}),{})},addInputRules(){return this.options.levels.map(a=>lV({find:RegExp(`^(#{${Math.min(...this.options.levels)},${a}})\\s$`),type:this.type,getAttributes:{level:a}}))}}),At=l5.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{},nextNodeType:"paragraph"}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:a}){return["hr",kM(this.options.HTMLAttributes,a)]},markdownTokenName:"hr",parseMarkdown:(a,b)=>b.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:a,state:b})=>{if(!function(a,b){let{selection:c}=a,{$from:d}=c;if(c instanceof fg){let a=d.index();return d.parent.canReplaceWith(a,a+1,b)}let e=d.depth;for(;e>=0;){let a=d.index(e);if(d.node(e).contentMatchAt(a).matchType(b))return!0;e-=1}return!1}(b,b.schema.nodes[this.name]))return!1;let{selection:c}=b,{$to:d}=c,e=a();return k3(c)?e.insertContentAt(d.pos,{type:this.name}):e.insertContent({type:this.name}),e.command(({state:a,tr:b,dispatch:c})=>{if(c){let{$to:c}=b.selection,d=c.end();if(c.nodeAfter)c.nodeAfter.isTextblock?b.setSelection(fe.create(b.doc,c.pos+1)):c.nodeAfter.isBlock?b.setSelection(fg.create(b.doc,c.pos)):b.setSelection(fe.create(b.doc,c.pos));else{let e=a.schema.nodes[this.options.nextNodeType]||c.parent.type.contentMatch.defaultType,f=null==e?void 0:e.create();f&&(b.insert(d,f),b.setSelection(fe.create(b.doc,d+1)))}b.scrollIntoView()}return!0}).run()}}},addInputRules(){return[lU({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Au=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Av=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,Aw=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Ax=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,Ay=lA.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:a=>"normal"!==a.style.fontStyle&&null},{style:"font-style=normal",clearMark:a=>a.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:a}){return["em",kM(this.options.HTMLAttributes,a),0]},addCommands(){return{setItalic:()=>({commands:a})=>a.setMark(this.name),toggleItalic:()=>({commands:a})=>a.toggleMark(this.name),unsetItalic:()=>({commands:a})=>a.unsetMark(this.name)}},markdownTokenName:"em",parseMarkdown:(a,b)=>b.applyMark("italic",b.parseInline(a.tokens||[])),markdownOptions:{htmlReopen:{open:"<em>",close:"</em>"}},renderMarkdown:(a,b)=>`*${b.renderChildren(a)}*`,addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[lT({find:Au,type:this.type}),lT({find:Aw,type:this.type})]},addPasteRules(){return[l7({find:Av,type:this.type}),l7({find:Ax,type:this.type})]}}),Az=" ",AA=l5.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:a}){return["p",kM(this.options.HTMLAttributes,a),0]},parseMarkdown:(a,b)=>{let c=a.tokens||[];if(1===c.length&&"image"===c[0].type)return b.parseChildren([c[0]]);let d=b.parseInline(c);return 1===c.length&&"text"===c[0].type&&(c[0].raw===Az||c[0].text===Az||" "===c[0].raw||" "===c[0].text)&&1===d.length&&"text"===d[0].type&&(d[0].text===Az||" "===d[0].text)?b.createNode("paragraph",void 0,[]):b.createNode("paragraph",void 0,d)},renderMarkdown:(a,b,c)=>{var d,e;if(!a)return"";let f=Array.isArray(a.content)?a.content:[];if(0===f.length){let a=Array.isArray(null==(d=null==c?void 0:c.previousNode)?void 0:d.content)?c.previousNode.content:[];return(null==(e=null==c?void 0:c.previousNode)?void 0:e.type)==="paragraph"&&0===a.length?Az:""}return b.renderChildren(f)},addCommands(){return{setParagraph:()=>({commands:a})=>a.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),AB=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,AC=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,AD=lA.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:a=>!!a.includes("line-through")&&{}}],renderHTML({HTMLAttributes:a}){return["s",kM(this.options.HTMLAttributes,a),0]},markdownTokenName:"del",parseMarkdown:(a,b)=>b.applyMark("strike",b.parseInline(a.tokens||[])),renderMarkdown:(a,b)=>`~~${b.renderChildren(a)}~~`,addCommands(){return{setStrike:()=>({commands:a})=>a.setMark(this.name),toggleStrike:()=>({commands:a})=>a.toggleMark(this.name),unsetStrike:()=>({commands:a})=>a.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[lT({find:AB,type:this.type})]},addPasteRules(){return[l7({find:AC,type:this.type})]}}),AE=l5.create({name:"text",group:"inline",parseMarkdown:a=>({type:"text",text:a.text||""}),renderMarkdown:a=>a.text||""}),AF=lA.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:a=>!!a.includes("underline")&&{}}],renderHTML({HTMLAttributes:a}){return["u",kM(this.options.HTMLAttributes,a),0]},parseMarkdown(a,b){return b.applyMark(this.name||"underline",b.parseInline(a.tokens||[]))},renderMarkdown:(a,b)=>`++${b.renderChildren(a)}++`,markdownTokenizer:{name:"underline",level:"inline",start:a=>a.indexOf("++"),tokenize(a,b,c){let d=/^(\+\+)([\s\S]+?)(\+\+)/.exec(a);if(!d)return;let e=d[2].trim();return{type:"underline",raw:d[0],text:e,tokens:c.inlineTokens(e)}}},addCommands(){return{setUnderline:()=>({commands:a})=>a.setMark(this.name),toggleUnderline:()=>({commands:a})=>a.toggleMark(this.name),unsetUnderline:()=>({commands:a})=>a.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),AG=lE.create({name:"starterKit",addExtensions(){var a,b,c,d;let e=[];return!1!==this.options.bold&&e.push(Am.configure(this.options.bold)),!1!==this.options.blockquote&&e.push(Ah.configure(this.options.blockquote)),!1!==this.options.bulletList&&e.push(zS.configure(this.options.bulletList)),!1!==this.options.code&&e.push(Ap.configure(this.options.code)),!1!==this.options.codeBlock&&e.push(xs.configure(this.options.codeBlock)),!1!==this.options.document&&e.push(Aq.configure(this.options.document)),!1!==this.options.dropcursor&&e.push(zq.configure(this.options.dropcursor)),!1!==this.options.gapcursor&&e.push(zr.configure(this.options.gapcursor)),!1!==this.options.hardBreak&&e.push(Ar.configure(this.options.hardBreak)),!1!==this.options.heading&&e.push(As.configure(this.options.heading)),!1!==this.options.undoRedo&&e.push(zA.configure(this.options.undoRedo)),!1!==this.options.horizontalRule&&e.push(At.configure(this.options.horizontalRule)),!1!==this.options.italic&&e.push(Ay.configure(this.options.italic)),!1!==this.options.listItem&&e.push(zT.configure(this.options.listItem)),!1!==this.options.listKeymap&&e.push(z5.configure(null==(a=this.options)?void 0:a.listKeymap)),!1!==this.options.link&&e.push(y_.configure(null==(b=this.options)?void 0:b.link)),!1!==this.options.orderedList&&e.push(Aa.configure(this.options.orderedList)),!1!==this.options.paragraph&&e.push(AA.configure(this.options.paragraph)),!1!==this.options.strike&&e.push(AD.configure(this.options.strike)),!1!==this.options.text&&e.push(AE.configure(this.options.text)),!1!==this.options.underline&&e.push(AF.configure(null==(c=this.options)?void 0:c.underline)),!1!==this.options.trailingNode&&e.push(zz.configure(null==(d=this.options)?void 0:d.trailingNode)),e}});function AH(a){let b=a.regex,c={};Object.assign(c,{className:"variable",variants:[{begin:b.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},{begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[c]}]}]});let d={className:"subst",begin:/\$\(/,end:/\)/,contains:[a.BACKSLASH_ESCAPE]},e=a.inherit(a.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),f={begin:/<<-?\s*(?=\w+)/,starts:{contains:[a.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},g={className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,c,d]};d.contains.push(g);let h={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},a.NUMBER_MODE,c]},i=a.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),j={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[a.inherit(a.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[i,a.SHEBANG(),j,h,e,f,{match:/(\/[a-z._-]+)+/},g,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},c]}}let AI=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],AJ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),AK=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),AL=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),AM=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function AN(a){let b=a.regex,c={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},d=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[c.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},c.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},c.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+AK.join("|")+")"},{begin:":(:)?("+AL.join("|")+")"}]},c.CSS_VARIABLE,{className:"attribute",begin:"\\b("+AM.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[c.BLOCK_COMMENT,c.HEXCOLOR,c.IMPORTANT,c.CSS_NUMBER_MODE,...d,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...d,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},c.FUNCTION_DISPATCH]},{begin:b.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:AJ.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...d,c.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+AI.join("|")+")\\b"}]}}function AO(a){let b={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:b,illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"string",variants:[a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[a.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:b,illegal:/["']/}]}]}}let AP="[A-Za-z$_][0-9A-Za-z$_]*",AQ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],AR=["true","false","null","undefined","NaN","Infinity"],AS=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],AT=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],AU=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],AV=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],AW=[].concat(AU,AS,AT);function AX(a){var b;let c=a.regex,d=/<[A-Za-z0-9\\._:-]+/,e=/\/[A-Za-z0-9\\._:-]+>|\/>/,f={$pattern:AP,keyword:AQ,literal:AR,built_in:AW,"variable.language":AV},g="[0-9](_?[0-9])*",h=`\\.(${g})`,i="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",j={className:"number",variants:[{begin:`(\\b(${i})((${h})|\\.)?|(${h}))[eE][+-]?(${g})\\b`},{begin:`\\b(${i})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},k={className:"subst",begin:"\\$\\{",end:"\\}",keywords:f,contains:[]},l={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,k],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,k],subLanguage:"css"}},n={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,k],subLanguage:"graphql"}},o={className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,k]},p={className:"comment",variants:[a.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:AP+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE]},q=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,l,m,n,o,{match:/\$\d+/},j];k.contains=q.concat({begin:/\{/,end:/\}/,keywords:f,contains:["self"].concat(q)});let r=[].concat(p,k.contains),s=r.concat([{begin:/(\s*)\(/,end:/\)/,keywords:f,contains:["self"].concat(r)}]),t={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:f,contains:s},u={variants:[{match:[/class/,/\s+/,AP,/\s+/,/extends/,/\s+/,c.concat(AP,"(",c.concat(/\./,AP),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,AP],scope:{1:"keyword",3:"title.class"}}]},v={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...AS,...AT]}},w={match:c.concat(/\b/,(b=[...AU,"super","import"].map(a=>`${a}\\s*\\(`),c.concat("(?!",b.join("|"),")")),AP,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},x={begin:c.concat(/\./,c.lookahead(c.concat(AP,/(?![0-9A-Za-z$_(])/))),end:AP,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},y="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+a.UNDERSCORE_IDENT_RE+")\\s*=>",z={match:[/const|var|let/,/\s+/,AP,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(y)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[t]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:f,exports:{PARAMS_CONTAINS:s,CLASS_REFERENCE:v},illegal:/#(?![$_A-z])/,contains:[a.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,l,m,n,o,p,{match:/\$\d+/},j,v,{scope:"attr",match:AP+c.lookahead(":"),relevance:0},z,{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[p,a.REGEXP_MODE,{className:"function",begin:y,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:f,contains:s}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d,"on:begin":(a,b)=>{let c,d=a[0].length+a.index,e=a.input[d];if("<"===e||","===e)return void b.ignoreMatch();">"!==e||((a,{after:b})=>{let c="</"+a[0].slice(1);return -1!==a.input.indexOf(c,b)})(a,{after:d})||b.ignoreMatch();let f=a.input.substring(d);if((c=f.match(/^\s*=/))||(c=f.match(/^\s+extends\s+/))&&0===c.index)return void b.ignoreMatch()},end:e}],subLanguage:"xml",contains:[{begin:d,end:e,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,AP,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[t],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+a.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[t,a.inherit(a.TITLE_MODE,{begin:AP,className:"title.function"})]},{match:/\.\.\./,relevance:0},x,{match:"\\$"+AP,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[t]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},u,{match:[/get|set/,/\s+/,AP,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},t]},{match:/\$[(.]/}]}}function AY(a){let b=["true","false","null"],c={scope:"literal",beginKeywords:b.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:b},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},a.QUOTE_STRING_MODE,c,a.C_NUMBER_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function AZ(a){let b=a.regex,c={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:b.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},e={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},f={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=a.inherit(e,{contains:[]}),h=a.inherit(f,{contains:[]});e.contains.push(h),f.contains.push(g);let i=[c,d];return[e,f,g,h].forEach(a=>{a.contains=a.contains.concat(i)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i=i.concat(e,f)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},c,{className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},e,f,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},d,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function A$(a){let b=a.regex,c=/[\p{XID_Start}_]\p{XID_Continue}*/u,d=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],e={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:d,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},g={className:"subst",begin:/\{/,end:/\}/,keywords:e,illegal:/#/},h={begin:/\{\{/,relevance:0},i={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE,f,h,g]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,f,h,g]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[a.BACKSLASH_ESCAPE,h,g]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,h,g]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},j="[0-9](_?[0-9])*",k=`(\\b(${j}))?\\.(${j})|\\b(${j})\\.`,l=`\\b|${d.join("|")}`,m={className:"number",relevance:0,variants:[{begin:`(\\b(${j})|(${k}))[eE][+-]?(${j})[jJ]?(?=${l})`},{begin:`(${k})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${l})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${l})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${l})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${l})`},{begin:`\\b(${j})[jJ](?=${l})`}]},n={className:"comment",begin:b.lookahead(/# type:/),end:/$/,keywords:e,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},o={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,contains:["self",f,m,i,a.HASH_COMMENT_MODE]}]};return g.contains=[i,m,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:e,illegal:/(<\/|\?)|=>/,contains:[f,m,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},i,n,a.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,c],scope:{1:"keyword",3:"title.function"},contains:[o]},{variants:[{match:[/\bclass/,/\s+/,c,/\s*/,/\(\s*/,c,/\s*\)/]},{match:[/\bclass/,/\s+/,c]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[m,o,i]}]}}function A_(a){let b=a.regex,c=/(r#)?/,d=b.concat(c,a.UNDERSCORE_IDENT_RE),e=b.concat(c,a.IDENT_RE),f={className:"title.function.invoke",relevance:0,begin:b.concat(/\b/,/(?!let|for|while|if|else|match\b)/,e,b.lookahead(/\s*\(/))},g="([ui](8|16|32|64|128|size)|f(32|64))?",h=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],i=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:a.IDENT_RE+"!?",type:i,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:h},illegal:"</",contains:[a.C_LINE_COMMENT_MODE,a.COMMENT("/\\*","\\*/",{contains:["self"]}),a.inherit(a.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+g},{begin:"\\b0o([0-7_]+)"+g},{begin:"\\b0x([A-Fa-f0-9_]+)"+g},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+g}],relevance:0},{begin:[/fn/,/\s+/,d],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,d],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,d,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,d],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,d],className:{1:"keyword",3:"title.class"}},{begin:a.IDENT_RE+"::",keywords:{keyword:"Self",built_in:h,type:i}},{className:"punctuation",begin:"->"},f]}}function A0(a){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function A1(a){let b=a.regex,c=a.COMMENT("--","$"),d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],e=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter(a=>!d.includes(a)),f={match:b.concat(/\b/,b.either(...d),/\s*\(/),relevance:0,keywords:{built_in:d}};function g(a){return b.concat(/\b/,b.either(...a.map(a=>a.replace(/\s+/,"\\s+"))),/\b/)}let h={scope:"keyword",match:g(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(a,{exceptions:b,when:c}={}){return b=b||[],a.map(a=>a.match(/\|\d+$/)||b.includes(a)?a:c(a)?`${a}|0`:a)}(e,{when:a=>a.length<3}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:g(["double precision","large object","with timezone","without timezone"])},h,f,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},a.C_NUMBER_MODE,a.C_BLOCK_COMMENT_MODE,c,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}let A2="[A-Za-z$_][0-9A-Za-z$_]*",A3=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],A4=["true","false","null","undefined","NaN","Infinity"],A5=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],A6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],A7=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],A8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],A9=[].concat(A7,A5,A6);function Ba(a){var b;let c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B=a.regex,C=(c=a.regex,d=/<[A-Za-z0-9\\._:-]+/,e=/\/[A-Za-z0-9\\._:-]+>|\/>/,f=(a,b)=>{let c,d=a[0].length+a.index,e=a.input[d];if("<"===e||","===e)return void b.ignoreMatch();">"!==e||((a,{after:b})=>{let c="</"+a[0].slice(1);return -1!==a.input.indexOf(c,b)})(a,{after:d})||b.ignoreMatch();let f=a.input.substring(d);if((c=f.match(/^\s*=/))||(c=f.match(/^\s+extends\s+/))&&0===c.index)return void b.ignoreMatch()},g={$pattern:A2,keyword:A3,literal:A4,built_in:A9,"variable.language":A8},h="[0-9](_?[0-9])*",i=`\\.(${h})`,j="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",k={className:"number",variants:[{begin:`(\\b(${j})((${i})|\\.)?|(${i}))[eE][+-]?(${h})\\b`},{begin:`\\b(${j})\\b((${i})\\b|\\.)?|(${i})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},l={className:"subst",begin:"\\$\\{",end:"\\}",keywords:g,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,l],subLanguage:"xml"}},n={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,l],subLanguage:"css"}},o={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,l],subLanguage:"graphql"}},p={className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,l]},q={className:"comment",variants:[a.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:A2+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE]},l.contains=(r=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,m,n,o,p,{match:/\$\d+/},k]).concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(r)}),t=(s=[].concat(q,l.contains)).concat([{begin:/(\s*)\(/,end:/\)/,keywords:g,contains:["self"].concat(s)}]),u={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:t},v={variants:[{match:[/class/,/\s+/,A2,/\s+/,/extends/,/\s+/,c.concat(A2,"(",c.concat(/\./,A2),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,A2],scope:{1:"keyword",3:"title.class"}}]},w={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...A5,...A6]}},x={match:c.concat(/\b/,(b=[...A7,"super","import"].map(a=>`${a}\\s*\\(`),c.concat("(?!",b.join("|"),")")),A2,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},y={begin:c.concat(/\./,c.lookahead(c.concat(A2,/(?![0-9A-Za-z$_(])/))),end:A2,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+a.UNDERSCORE_IDENT_RE+")\\s*=>",A={match:[/const|var|let/,/\s+/,A2,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[u]},{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{PARAMS_CONTAINS:t,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[a.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,m,n,o,p,q,{match:/\$\d+/},k,w,{scope:"attr",match:A2+c.lookahead(":"),relevance:0},A,{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[q,a.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:t}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d,"on:begin":f,end:e}],subLanguage:"xml",contains:[{begin:d,end:e,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,A2,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[u],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+a.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[u,a.inherit(a.TITLE_MODE,{begin:A2,className:"title.function"})]},{match:/\.\.\./,relevance:0},y,{match:"\\$"+A2,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[u]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},v,{match:[/get|set/,/\s+/,A2,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},u]},{match:/\$[(.]/}]}),D=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],E={begin:[/namespace/,/\s+/,a.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},F={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:D},contains:[C.exports.CLASS_REFERENCE]},G={$pattern:A2,keyword:A3.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),literal:A4,built_in:A9.concat(D),"variable.language":A8},H={className:"meta",begin:"@"+A2},I=(a,b,c)=>{let d=a.contains.findIndex(a=>a.label===b);if(-1===d)throw Error("can not find mode to replace");a.contains.splice(d,1,c)};Object.assign(C.keywords,G),C.exports.PARAMS_CONTAINS.push(H);let J=C.contains.find(a=>"attr"===a.scope),K=Object.assign({},J,{match:B.concat(A2,B.lookahead(/\s*\?:/))});return C.exports.PARAMS_CONTAINS.push([C.exports.CLASS_REFERENCE,J,K]),C.contains=C.contains.concat([H,E,F,K]),I(C,"shebang",a.SHEBANG()),I(C,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),C.contains.find(a=>"func.def"===a.label).relevance=0,Object.assign(C,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),C}function Bb(a){let b=a.regex,c=b.concat(/[\p{L}_]/u,b.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),d={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},e={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},f=a.inherit(e,{begin:/\(/,end:/\)/}),g=a.inherit(a.APOS_STRING_MODE,{className:"string"}),h=a.inherit(a.QUOTE_STRING_MODE,{className:"string"}),i={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[d]},{begin:/'/,end:/'/,contains:[d]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[e,h,g,f,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[e,f,h,g]}]}]},a.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},d,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[h]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[i],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[i],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:b.concat(/</,b.lookahead(b.concat(c,b.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:c,relevance:0,starts:i}]},{className:"tag",begin:b.concat(/<\//,b.lookahead(b.concat(c,/>/))),contains:[{className:"name",begin:c,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Bc(a){let b="true false yes no null",c="[\\w#;/?:@&=+$,.~*'()[\\]]+",d={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[a.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},e=a.inherit(d,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:b,relevance:0},g=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+c},{className:"type",begin:"!<"+c+">"},{className:"type",begin:"!"+c},{className:"type",begin:"!!"+c},{className:"meta",begin:"&"+a.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+a.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},a.HASH_COMMENT_MODE,{beginKeywords:b,keywords:{literal:b}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:a.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},d],h=[...g];return h.pop(),h.push(e),f.contains=h,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:g}}let Bd={};function Be(a){let b=xt.newInstance();return a&&e(a),{highlight:c,highlightAuto:function(a,e){let f;mW("string"==typeof a,"expected `string` as `value`");let g=(e||Bd).subset||d(),h=-1,i=0;for(;++h<g.length;){let d=g[h];if(!b.getLanguage(d))continue;let j=c(d,a,e);j.data&&void 0!==j.data.relevance&&j.data.relevance>i&&(i=j.data.relevance,f=j)}return f||{type:"root",children:[],data:{language:void 0,relevance:i}}},listLanguages:d,register:e,registerAlias:function(a,c){if("string"==typeof a)mW(void 0!==c),b.registerAliases("string"==typeof c?c:[...c],{languageName:a});else{let c;for(c in a)if(Object.hasOwn(a,c)){let d=a[c];b.registerAliases("string"==typeof d?d:[...d],{languageName:c})}}},registered:function(a){return!!b.getLanguage(a)}};function c(a,c,d){mW("string"==typeof a,"expected `string` as `name`"),mW("string"==typeof c,"expected `string` as `value`");let e=d||Bd,f="string"==typeof e.prefix?e.prefix:"hljs-";if(!b.getLanguage(a))throw Error("Unknown language: `"+a+"` is not registered");b.configure({__emitter:Bf,classPrefix:f});let g=b.highlight(c,{ignoreIllegals:!0,language:a});if(g.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:g.errorRaised});let h=g._emitter.root,i=h.data;return i.language=g.language,i.relevance=g.relevance,h}function d(){return b.listLanguages()}function e(a,c){if("string"==typeof a)mW(void 0!==c,"expected `grammar`"),b.registerLanguage(a,c);else{let c;for(c in a)Object.hasOwn(a,c)&&b.registerLanguage(c,a[c])}}}class Bf{constructor(a){this.options=a,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(a){if(""===a)return;let b=this.stack[this.stack.length-1],c=b.children[b.children.length-1];c&&"text"===c.type?c.value+=a:b.children.push({type:"text",value:a})}startScope(a){this.openNode(String(a))}endScope(){this.closeNode()}__addSublanguage(a,b){let c=this.stack[this.stack.length-1],d=a.root.children;b?c.children.push({type:"element",tagName:"span",properties:{className:[b]},children:d}):c.children.push(...d)}openNode(a){let b=this,c=a.split(".").map(function(a,c){return c?a+"_".repeat(c):b.options.classPrefix+a}),d=this.stack[this.stack.length-1],e={type:"element",tagName:"span",properties:{className:c},children:[]};d.children.push(e),this.stack.push(e)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}let Bg=l5.create({name:"callout",group:"block",content:"block+",defining:!0,addAttributes:()=>({type:{default:"info",parseHTML:a=>a.getAttribute("data-callout-type")||"info",renderHTML:a=>({"data-callout-type":a.type})}}),parseHTML:()=>[{tag:'div[data-callout="true"]'}],renderHTML:({HTMLAttributes:a})=>["div",kM(a,{"data-callout":"true",class:`callout callout-${a["data-callout-type"]||"info"}`}),0]});function Bh(a,b,c){let{selection:d,doc:e}=a,f=e.resolve(d.from);for(;f.depth>1;)f=e.resolve(f.before(f.depth));if(0===f.depth)return!1;let g=f.before(1),h=e.nodeAt(g);if(!h)return!1;let i=f.index(0),j="up"===c?i-1:i+1;if(j<0||j>=e.childCount)return!1;let k=e.child(j),l=a.tr,m=g+h.nodeSize,n="up"===c?g-k.nodeSize:m,o="up"===c?g:m+k.nodeSize;if("up"===c)l=(l=(l=l.delete(g,m)).insert(n,h)).setSelection(fg.create(l.doc,n));else{l=l.delete(g,m);let a=o-h.nodeSize;l=(l=l.insert(a,h)).setSelection(fg.create(l.doc,a))}return b&&b(l.scrollIntoView()),!0}let Bi="cabinet-drag-handle",Bj="cabinet-gutter-add",Bk=lE.create({name:"dragHandle",addKeyboardShortcuts:()=>({"Mod-Alt-ArrowUp":({editor:a})=>Bh(a.state,a.view.dispatch,"up"),"Mod-Alt-ArrowDown":({editor:a})=>Bh(a.state,a.view.dispatch,"down"),"Alt-Shift-ArrowUp":({editor:a})=>Bh(a.state,a.view.dispatch,"up"),"Alt-Shift-ArrowDown":({editor:a})=>Bh(a.state,a.view.dispatch,"down")}),addProseMirrorPlugins(){let a,b,c=null,d="u">typeof document?((a=document.getElementById(Bi))||((a=document.createElement("div")).id=Bi,a.setAttribute("data-drag-handle","true"),a.draggable=!0,a.innerHTML='<svg width="10" height="16" viewBox="0 0 10 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><circle cx="2.5" cy="3" r="1.2"/><circle cx="2.5" cy="8" r="1.2"/><circle cx="2.5" cy="13" r="1.2"/><circle cx="7.5" cy="3" r="1.2"/><circle cx="7.5" cy="8" r="1.2"/><circle cx="7.5" cy="13" r="1.2"/></svg>',Object.assign(a.style,{position:"absolute",display:"none",cursor:"grab",padding:"2px 4px",borderRadius:"4px",color:"var(--muted-foreground)",opacity:"0.55",zIndex:"40",userSelect:"none",transition:"opacity 120ms ease"}),a.addEventListener("mouseenter",()=>{a&&(a.style.opacity="1")}),a.addEventListener("mouseleave",()=>{a&&(a.style.opacity="0.55")}),document.body.appendChild(a)),a):null,e="u">typeof document?((b=document.getElementById(Bj))||((b=document.createElement("button")).id=Bj,b.type="button",b.setAttribute("aria-label","Add block"),b.title="Add block",b.innerHTML='<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 1V9M1 5H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>',Object.assign(b.style,{position:"absolute",display:"none",alignItems:"center",justifyContent:"center",width:"18px",height:"18px",cursor:"pointer",borderRadius:"4px",color:"var(--muted-foreground)",opacity:"0.55",zIndex:"40",transition:"opacity 120ms ease, background 120ms ease",background:"transparent",border:"none",padding:"0"}),b.addEventListener("mouseenter",()=>{b&&(b.style.opacity="1",b.style.background="var(--muted)")}),b.addEventListener("mouseleave",()=>{b&&(b.style.opacity="0.55",b.style.background="transparent")}),document.body.appendChild(b)),b):null,f=()=>{d&&(d.style.display="none"),e&&(e.style.display="none"),c=null};return[new fs({key:new fv("cabinetDragHandle"),view:a=>{if(!d)return{destroy:()=>{}};let b=b=>{if(!a.editable)return;let g=a.dom.getBoundingClientRect();if(b.clientX<g.left-60||b.clientX>g.right+60||b.clientY<g.top||b.clientY>g.bottom)return void f();let h=function(a,b){let c=a.posAtCoords(b);if(!c)return null;let d=a.state.doc.resolve(c.inside>=0?c.inside:c.pos);for(;d.depth>0&&!d.parent.type.isBlock;)d=a.state.doc.resolve(d.before());let e=d.depth;for(;e>1&&"doc"!==a.state.doc.resolve(d.before(e)).parent.type.name;)e-=1;let f=0===e?0:d.before(Math.max(e,1)),g=a.state.doc.nodeAt(f);if(!g)return null;let h=a.nodeDOM(f);return{pos:f,node:g,dom:h}}(a,{left:Math.max(g.left+20,Math.min(g.right-20,b.clientX)),top:b.clientY});if(!h?.dom||!(h.dom instanceof HTMLElement))return void f();c=h;let i=h.dom.getBoundingClientRect();d.style.display="flex",d.style.top=`${window.scrollY+i.top+4}px`,d.style.left=`${window.scrollX+i.left-22}px`,e&&(e.style.display="flex",e.style.top=`${window.scrollY+i.top+4}px`,e.style.left=`${window.scrollX+i.left-44}px`)},g=()=>f(),h=()=>{if(!c)return;let b=c.pos+c.node.nodeSize,d=b<=a.state.doc.content.size,e=a.state.tr;if(d){let c=fe.create(a.state.doc,Math.min(b-1,a.state.doc.content.size));a.dispatch(e.setSelection(c))}a.focus();let f=a.state.tr.split(a.state.selection.from);a.dispatch(f),a.dom.dispatchEvent(new KeyboardEvent("keydown",{key:"/",bubbles:!0,cancelable:!0}))},i=b=>{if(!c||!b.dataTransfer)return;let{pos:d,dom:e}=c,f=a.state.tr.setSelection(fg.create(a.state.doc,d));a.dispatch(f);let g=a.state.selection.content(),h=document.createElement("div");h.appendChild(a.someProp("clipboardSerializer")?.serializeFragment(g.content)??document.createElement("div")),b.dataTransfer.clearData(),b.dataTransfer.setData("text/html",h.innerHTML),b.dataTransfer.setData("text/plain",e.textContent??""),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage(e,0,0),a.dragging={slice:g,move:!0}};return window.addEventListener("mousemove",b),a.dom.addEventListener("mouseleave",g),d.addEventListener("dragstart",i),e&&e.addEventListener("click",h),{destroy(){window.removeEventListener("mousemove",b),a.dom.removeEventListener("mouseleave",g),d.removeEventListener("dragstart",i),e&&e.removeEventListener("click",h),f()}}}})]}}),Bl=new fv("headingAnchors");function Bm(a){let b=[],c=new Map;return a.descendants((a,d)=>{if("heading"!==a.type.name)return;let e=a.textContent.toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-");if(!e)return;let f=c.get(e)??0;c.set(e,f+1);let g=0===f?e:`${e}-${f}`;b.push(hw.node(d,d+a.nodeSize,{id:g}))}),hz.create(a,b)}let Bn=lE.create({name:"headingAnchors",addProseMirrorPlugins:()=>[new fs({key:Bl,state:{init:(a,{doc:b})=>Bm(b),apply:(a,b)=>a.docChanged?Bm(a.doc):b},props:{decorations:a=>Bl.getState(a)}})]}),Bo=lA.create({name:"proofSpan",priority:900,inclusive:!1,keepOnSplit:!1,addAttributes:()=>({spanId:{default:null,parseHTML:a=>a.getAttribute("id"),renderHTML:a=>({id:a.spanId})},origin:{default:"ai",parseHTML:a=>a.getAttribute("origin"),renderHTML:a=>({origin:a.origin})},basis:{default:null,parseHTML:a=>a.getAttribute("basis"),renderHTML:a=>({basis:a.basis})},basisDetail:{default:null,parseHTML:a=>a.getAttribute("basis-detail"),renderHTML:a=>({"basis-detail":a.basisDetail})},by:{default:null,parseHTML:a=>a.getAttribute("by"),renderHTML:a=>({by:a.by})},at:{default:null,parseHTML:a=>a.getAttribute("at"),renderHTML:a=>({at:a.at})},inResponseTo:{default:null,parseHTML:a=>a.getAttribute("in-response-to"),renderHTML:a=>({"in-response-to":a.inResponseTo})}}),parseHTML:()=>[{tag:"proof-span"}],renderHTML:({HTMLAttributes:a})=>["proof-span",kM(a,{class:"proof-span"}),0]});var Bp=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/;function Bq(a){let{node:b,updateAttributes:c,selected:d,editor:e}=a,f=b.attrs,g=(0,$.useRef)(null),h=(0,$.useRef)(null),[i,j]=(0,$.useState)(null),k=f.align??"center",l=(0,$.useCallback)((a,b)=>{if(!e.isEditable)return;a.preventDefault(),a.stopPropagation();let d=g.current,f=h.current;if(!d||!f)return;let i=a.clientX,k=d.getBoundingClientRect().width,l=f.parentElement?.getBoundingClientRect().width??800,m=a=>{j(Math.max(80,Math.min(l,k+("right"===b?a.clientX-i:i-a.clientX))))},n=()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",n),j(a=>(null!=a&&c({width:Math.round(a)}),null))};window.addEventListener("pointermove",m),window.addEventListener("pointerup",n)},[e.isEditable,c]),m=null!=i?`${Math.round(i)}px`:"number"==typeof f.width?`${f.width}px`:"string"==typeof f.width&&f.width?f.width:void 0,n="left"===k?"mr-auto":"right"===k?"ml-auto":"mx-auto";return(0,Z.jsx)(mM,{as:"div",className:`resizable-image my-3 ${n}`,"data-align":k,style:{width:m??"fit-content",maxWidth:"100%"},children:(0,Z.jsxs)("div",{ref:h,className:`relative group inline-block max-w-full ${d?"ring-2 ring-primary rounded-md":""}`,contentEditable:!1,children:[(0,Z.jsx)("img",{ref:g,src:f.src,alt:f.alt??"",title:f.title??void 0,className:"block rounded-md max-w-full h-auto",style:{width:m},draggable:!1}),e.isEditable&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{"aria-label":"Resize from left",onPointerDown:a=>l(a,"left"),className:"absolute left-0 top-0 bottom-0 w-2 cursor-ew-resize opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center",children:(0,Z.jsx)("div",{className:"w-1 h-8 bg-card border border-border rounded-full shadow"})}),(0,Z.jsx)("div",{"aria-label":"Resize from right",onPointerDown:a=>l(a,"right"),className:"absolute right-0 top-0 bottom-0 w-2 cursor-ew-resize opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center",children:(0,Z.jsx)("div",{className:"w-1 h-8 bg-card border border-border rounded-full shadow"})}),null!=i&&(0,Z.jsxs)("div",{className:"absolute top-1 right-1 text-[10px] px-1.5 py-0.5 rounded bg-primary/80 text-primary-foreground font-mono",children:[Math.round(i),"px"]})]})]})})}let Br=l5.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:a}){return["img",kM(this.options.HTMLAttributes,a)]},parseMarkdown:(a,b)=>b.createNode("image",{src:a.href,title:a.title,alt:a.text}),renderMarkdown:a=>{var b,c,d,e,f,g;let h=null!=(c=null==(b=a.attrs)?void 0:b.src)?c:"",i=null!=(e=null==(d=a.attrs)?void 0:d.alt)?e:"",j=null!=(g=null==(f=a.attrs)?void 0:f.title)?g:"";return j?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||"u"<typeof document)return null;let{directions:a,minWidth:b,minHeight:c,alwaysPreserveAspectRatio:d}=this.options.resize;return({node:e,getPos:f,HTMLAttributes:g,editor:h})=>{let i=document.createElement("img");Object.entries(g).forEach(([a,b])=>{if(null!=b)switch(a){case"width":case"height":break;default:i.setAttribute(a,b)}}),i.src=g.src;let j=new lX({element:i,editor:h,node:e,getPos:f,onResize:(a,b)=>{i.style.width=`${a}px`,i.style.height=`${b}px`},onCommit:(a,b)=>{let c=f();void 0!==c&&this.editor.chain().setNodeSelection(c).updateAttributes(this.name,{width:a,height:b}).run()},onUpdate:(a,b,c)=>a.type===e.type,options:{directions:a,min:{width:b,height:c},preserveAspectRatio:!0===d}}),k=j.dom;return k.style.visibility="hidden",k.style.pointerEvents="none",i.onload=()=>{k.style.visibility="",k.style.pointerEvents=""},j}},addCommands(){return{setImage:a=>({commands:b})=>b.insertContent({type:this.name,attrs:a})}},addInputRules(){return[lU({find:Bp,type:this.type,getAttributes:a=>{let[,,b,c,d]=a;return{src:c,alt:b,title:d}}})]}}).extend({name:"image",draggable:!0,addAttributes(){return{...this.parent?.(),width:{default:null,parseHTML:a=>{let b=a.getAttribute("width")??a.style.width;if(!b)return null;let c=/^(\d+)(px)?$/.exec(b);return c?Number(c[1]):b},renderHTML:a=>{if(!a.width)return{};let b="number"==typeof a.width?`${a.width}px`:a.width;return{style:`width: ${b}`}}},align:{default:null,parseHTML:a=>a.getAttribute("data-align"),renderHTML:a=>a.align?{"data-align":a.align}:{}}}},addNodeView:()=>a=>a.editor.contentComponent?new mQ(Bq,a,void 0):{}}),Bs=new fv("wikiLinkDecorator"),Bt="wikiLinkDecorator:refresh";function Bu(a){let{has:b}=vh.getState(),c=a.schema.marks.wikiLink;if(!c)return hz.empty;let d=[];return a.doc.descendants((a,e)=>{if(!a.isText)return;let f=a.marks.find(a=>a.type===c);if(!f)return;let g=f.attrs.slug;!g||b(g)||d.push(hw.inline(e,e+a.nodeSize,{"data-broken":"true"}))}),hz.create(a.doc,d)}let Bv=/\[\[([a-z0-9-]+)(?:\|([^\]#|]+)|#([a-z0-9-]+))?\]\]$/,Bw=lA.create({name:"wikiLink",priority:1e3,keepOnSplit:!1,inclusive:!1,addAttributes:()=>({slug:{default:null,parseHTML:a=>a.getAttribute("data-slug"),renderHTML:a=>({"data-slug":a.slug})},alias:{default:null,parseHTML:a=>a.getAttribute("data-alias"),renderHTML:a=>null!=a.alias?{"data-alias":a.alias}:{}},anchor:{default:null,parseHTML:a=>a.getAttribute("data-anchor"),renderHTML:a=>null!=a.anchor?{"data-anchor":a.anchor}:{}}}),parseHTML:()=>[{tag:'a[data-wiki-link="true"]'}],renderHTML({HTMLAttributes:a}){let b=String(a["data-slug"]??""),c=null!=a["data-anchor"]?String(a["data-anchor"]):null;return["a",kM(a,{"data-wiki-link":"true",href:c?`#wiki:${b}#${c}`:`#wiki:${b}`,class:"wiki-link"}),0]},addInputRules(){return[new lw({find:Bv,handler:({state:a,range:b,match:c})=>{let d=c[1]??"",e=c[2]??null,f=c[3]??null,g=e??(f?`${d}#${f}`:d),{tr:h}=a;h.replaceWith(b.from,b.to,a.schema.text(g,[this.type.create({slug:d,alias:e,anchor:f})]))}})]},addProseMirrorPlugins:()=>[new fs({key:Bs,state:{init:(a,b)=>Bu(b),apply:(a,b,c,d)=>a.getMeta(Bt)||a.docChanged?Bu(d):b.map(a.mapping,a.doc)},props:{decorations:a=>Bs.getState(a)??hz.empty},view(a){let b=vh.subscribe(()=>{let b=a.state.tr.setMeta(Bt,!0);a.dispatch(b)});return{destroy(){b()}}}})],addCommands(){return{setWikiLink:a=>({commands:b})=>b.setMark(this.name,{slug:a.slug,alias:a.alias??null,anchor:a.anchor??null}),unsetWikiLink:()=>({commands:a})=>a.unsetMark(this.name)}}}),Bx=Be({bash:AH,css:AN,go:AO,javascript:AX,json:AY,markdown:AZ,python:A$,rust:A_,shell:A0,sql:A1,typescript:Ba,xml:Bb,yaml:Bc}),By=[AG.configure({heading:{levels:[1,2,3,4]},codeBlock:!1,link:!1,underline:!1}),xw.configure({lowlight:Bx,HTMLAttributes:{class:"rounded-md bg-muted p-4 font-mono text-sm"}}),zx.configure({placeholder:"Start writing, or press '/' for commands..."}),Br.configure({HTMLAttributes:{class:"rounded-lg max-w-full"},allowBase64:!1}),zO.configure({resizable:!0,lastColumnResizable:!1,HTMLAttributes:{class:"border-collapse w-full"}}),zH,zF,zG,Ad.configure({HTMLAttributes:{class:"task-list"}}),Ac.configure({nested:!0}),y_.configure({openOnClick:!1,HTMLAttributes:{class:"text-primary underline cursor-pointer"}}).extend({parseHTML:()=>[{tag:'a[href]:not([data-wiki-link="true"])'}],addKeyboardShortcuts(){return{"Mod-e":()=>{let{state:a}=this.editor,{from:b,to:c}=a.selection;return b!==c&&(this.editor.getAttributes("link").href,!1)}}}}),Bg,Bo,Ae.configure({types:["heading","paragraph"]}),zB,zC,Bk,Bn,Bw],Bz=ad("app-window",[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]),BA=ad("file-audio",[["path",{d:"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"rslqgf"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0",key:"9f7x3i"}]]),BB=ad("file-code-2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]),BC=ad("file-image",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),BD=ad("file-spreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),BE=ad("file-video",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m10 11 5 3-5 3v-6Z",key:"7ntvm4"}]]),BF=ad("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);function BG(a){return"image"===a.type}function BH(a){switch(a.type){case"directory":case"cabinet":return am;case"image":return BC;case"video":return BE;case"audio":return BA;case"code":return BB;case"csv":case"xlsx":return BD;case"website":return ap;case"app":return Bz;default:return al}}function BI(a){let{selectPage:b,expandPath:c}=vb.getState(),d=a.split("/");for(let a=1;a<d.length;a++)c(d.slice(0,a).join("/"));b(a),va.getState().loadPage(a)}function BJ({folderPath:a,entries:b}){let c=(0,$.useMemo)(()=>(function(a){if(0===a.length)return!1;let b=a.filter(BG).length;return b>=4&&b/a.length>=.6})(b),[b]),[d,e]=(0,$.useState)(()=>c?"gallery":"list"),f=a=>{e(a)},g=(0,$.useMemo)(()=>{let a=[...b];return a.sort((a,b)=>{let c="directory"===a.type||"cabinet"===a.type;return c!==("directory"===b.type||"cabinet"===b.type)?c?-1:1:a.name.localeCompare(b.name)}),a},[b]);return(0,Z.jsxs)("div",{className:"space-y-3",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsxs)("p",{className:"text-[11px] uppercase tracking-wider text-muted-foreground/70",children:[g.length," ",1===g.length?"item":"items"]}),(0,Z.jsxs)("div",{className:"inline-flex items-center rounded-md border border-border p-0.5 text-[11px]",children:[(0,Z.jsxs)("button",{onClick:()=>f("list"),className:`flex items-center gap-1 px-2 py-1 rounded transition-colors ${"list"===d?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"}`,"aria-pressed":"list"===d,title:"List view",children:[(0,Z.jsx)(w6,{className:"h-3 w-3"}),"List"]}),(0,Z.jsxs)("button",{onClick:()=>f("gallery"),className:`flex items-center gap-1 px-2 py-1 rounded transition-colors ${"gallery"===d?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"}`,"aria-pressed":"gallery"===d,title:"Gallery view",children:[(0,Z.jsx)(BF,{className:"h-3 w-3"}),"Gallery"]})]})]}),"list"===d?(0,Z.jsx)("ul",{className:"divide-y divide-border rounded-md border border-border overflow-hidden",children:g.map(a=>{let b=BH(a),c=a.frontmatter?.title||a.name;return(0,Z.jsx)("li",{children:(0,Z.jsxs)("button",{onClick:()=>BI(a.path),className:"w-full flex items-center gap-3 px-3 py-2 text-left text-sm hover:bg-accent/50 transition-colors",children:[(0,Z.jsx)(b,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,Z.jsx)("span",{className:"flex-1 truncate",children:c}),(0,Z.jsx)("span",{className:"text-[11px] text-muted-foreground/60 capitalize",children:a.type})]})},a.path)})}):(0,Z.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3",children:g.map(a=>{let b=a.frontmatter?.title||a.name;if(BG(a))return(0,Z.jsxs)("button",{onClick:()=>BI(a.path),className:"group flex flex-col gap-1.5 text-left",title:b,children:[(0,Z.jsx)("div",{className:"aspect-square w-full overflow-hidden rounded-md border border-border bg-muted",children:(0,Z.jsx)("img",{src:`/api/assets/${a.path}`,alt:b,loading:"lazy",className:"h-full w-full object-cover transition-transform group-hover:scale-[1.02]"})}),(0,Z.jsx)("span",{className:"truncate text-[12px] text-muted-foreground group-hover:text-foreground",children:b})]},a.path);let c=BH(a);return(0,Z.jsxs)("button",{onClick:()=>BI(a.path),className:"group flex flex-col gap-1.5 text-left",title:b,children:[(0,Z.jsx)("div",{className:"aspect-square w-full flex items-center justify-center rounded-md border border-border bg-muted/40 group-hover:bg-muted transition-colors",children:(0,Z.jsx)(c,{className:"h-8 w-8 text-muted-foreground/60"})}),(0,Z.jsx)("span",{className:"truncate text-[12px] text-muted-foreground group-hover:text-foreground",children:b})]},a.path)})})]})}let BK=ad("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function BL({blockRef:a,comments:b,top:c,left:d,onClick:e}){let f;if(0===b.length)return null;let g=b.filter(a=>!a.resolved);if(0===g.length)f="check";else{let a=g[0].turns.at(-1);f=a?.by.startsWith("ai:")?"dot-ai":"ring-human"}return(0,Z.jsxs)("button",{type:"button",onClick:e,style:{position:"absolute",top:c,left:d,transform:"translateY(2px)"},className:"z-10 p-2 sm:p-0.5 -m-1.5 sm:m-0 rounded transition-colors hover:bg-accent focus:outline-none focus-visible:ring-1 focus-visible:ring-ring","aria-label":`Comment thread for block ${a}`,children:["check"===f&&(0,Z.jsx)(BK,{className:"h-3.5 w-3.5 text-muted-foreground/30"}),"dot-ai"===f&&(0,Z.jsx)(wT,{className:"h-3.5 w-3.5 fill-primary text-primary"}),"ring-human"===f&&(0,Z.jsx)(wT,{className:"h-3.5 w-3.5 text-muted-foreground/70"})]})}var BM="u">typeof document?$.useLayoutEffect:function(){};function BN(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!BN(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!BN(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function BO(a,b){return Math.round(+b)/1}function BP(a){let b=$.useRef(a);return BM(()=>{b.current=a}),b}var BQ=$.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...f}=a;return(0,Z.jsx)(b4.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,Z.jsx)("polygon",{points:"0,0 30,0 15,10"})})});BQ.displayName="Arrow";var BR="Popper",[BS,BT]=bV(BR),[BU,BV]=BS(BR),BW=a=>{let{__scopePopper:b,children:c}=a,[d,e]=$.useState(null);return(0,Z.jsx)(BU,{scope:b,anchor:d,onAnchorChange:e,children:c})};BW.displayName=BR;var BX="PopperAnchor",BY=$.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,f=BV(BX,c),g=$.useRef(null),h=aF(b,g),i=$.useRef(null);return $.useEffect(()=>{let a=i.current;i.current=d?.current||g.current,a!==i.current&&f.onAnchorChange(i.current)}),d?null:(0,Z.jsx)(b4.div,{...e,ref:h})});BY.displayName=BX;var BZ="PopperContent",[B$,B_]=BS(BZ),B0=$.forwardRef((a,b)=>{var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;let s,t,u,v,w,x,{__scopePopper:y,side:z="bottom",sideOffset:A=0,align:B="center",alignOffset:C=0,arrowPadding:D=0,avoidCollisions:E=!0,collisionBoundary:F=[],collisionPadding:G=0,sticky:H="partial",hideWhenDetached:I=!1,updatePositionStrategy:J="optimized",onPlaced:K,...L}=a,M=BV(BZ,y),[N,O]=$.useState(null),P=aF(b,a=>O(a)),[Q,R]=$.useState(null),S=function(a){let[b,c]=$.useState(void 0);return bW(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}(Q),T=S?.width??0,U=S?.height??0,V="number"==typeof G?G:{top:0,right:0,bottom:0,left:0,...G},W=Array.isArray(F)?F:[F],X=W.length>0,Y={padding:V,boundary:W.filter(B4),altBoundary:X},{refs:_,floatingStyles:aa,placement:ab,isPositioned:ac,middlewareData:ad}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:g}={},transform:h=!0,whileElementsMounted:i,open:j}=a,[k,l]=$.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[m,n]=$.useState(d);BN(m,d)||n(d);let[o,p]=$.useState(null),[q,r]=$.useState(null),s=$.useCallback(a=>{a!==w.current&&(w.current=a,p(a))},[]),t=$.useCallback(a=>{a!==x.current&&(x.current=a,r(a))},[]),u=f||o,v=g||q,w=$.useRef(null),x=$.useRef(null),y=$.useRef(k),z=null!=i,A=BP(i),B=BP(e),C=BP(j),D=$.useCallback(()=>{if(!w.current||!x.current)return;let a={placement:b,strategy:c,middleware:m};B.current&&(a.platform=B.current),wt(w.current,x.current,a).then(a=>{let b={...a,isPositioned:!1!==C.current};E.current&&!BN(y.current,b)&&(y.current=b,b0.flushSync(()=>{l(b)}))})},[m,b,c,B,C]);BM(()=>{!1===j&&y.current.isPositioned&&(y.current.isPositioned=!1,l(a=>({...a,isPositioned:!1})))},[j]);let E=$.useRef(!1);BM(()=>(E.current=!0,()=>{E.current=!1}),[]),BM(()=>{if(u&&(w.current=u),v&&(x.current=v),u&&v){if(A.current)return A.current(u,v,D);D()}},[u,v,D,A,z]);let F=$.useMemo(()=>({reference:w,floating:x,setReference:s,setFloating:t}),[s,t]),G=$.useMemo(()=>({reference:u,floating:v}),[u,v]),H=$.useMemo(()=>{let a={position:c,left:0,top:0};if(!G.floating)return a;let b=BO(G.floating,k.x),d=BO(G.floating,k.y);if(h)return{...a,transform:"translate("+b+"px, "+d+"px)",...(G.floating,false)};return{position:c,left:b,top:d}},[c,h,G.floating,k.x,k.y]);return $.useMemo(()=>({...k,update:D,refs:F,elements:G,floatingStyles:H}),[k,D,F,G,H])}({strategy:"fixed",placement:z+("center"!==B?"-"+B:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=v7(a),l=f||g?[...k?v4(k):[],...b?v4(b):[]]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=vT(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o={rootMargin:-vr(l)+"px "+-vr(e.clientWidth-(k+m))+"px "+-vr(e.clientHeight-(l+n))+"px "+-vr(k)+"px",threshold:vp(0,vo(1,i))||1},p=!0;function q(b){let d=b[0].intersectionRatio;if(d!==i){if(!p)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||wk(j,a.getBoundingClientRect())||g(),p=!1}try{d=new IntersectionObserver(q,{...o,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(q,o)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&b&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),b&&o.observe(b));let p=j?wb(a):null;return j&&function b(){let d=wb(a);p&&!wk(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===J}),elements:{reference:M.anchor},middleware:[{name:(s=wl(c={mainAxis:A+U,alignmentAxis:C})).name,fn:s.fn,options:[c,d]},E&&{name:(t=wn(h={mainAxis:!0,crossAxis:!1,limiter:"partial"===H?{fn:(void 0===(g=e)&&(g={}),{options:g,fn(a){let{x:b,y:c,placement:d,rects:e,middlewareData:f}=a,{offset:h=0,mainAxis:i=!0,crossAxis:j=!0}=vu(g,a),k={x:b,y:c},l=vz(d),m=vx(l),n=k[m],o=k[l],p=vu(h,a),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=e.reference[m]-e.floating[a]+q.mainAxis,c=e.reference[m]+e.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=vP.has(vv(d)),c=e.reference[l]-e.floating[a]+(b&&(null==(r=f.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),g=e.reference[l]+e.reference[a]+(b?0:(null==(s=f.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>g&&(o=g)}return{[m]:n,[l]:o}}}).fn,options:[e,f]}:void 0,...Y})).name,fn:t.fn,options:[h,i]},E&&{name:(u=wo(j={...Y})).name,fn:u.fn,options:[j,k]},{name:(v=wp(l={...Y,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}})).name,fn:v.fn,options:[l,m]},Q&&{name:(w={name:"arrow",options:p=n={element:Q,padding:D},fn(a){let{element:b,padding:c}="function"==typeof p?p(a):p;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?wr({element:b.current,padding:c}).fn(a):{}:b?wr({element:b,padding:c}).fn(a):{}}}).name,fn:w.fn,options:[n,o]},B5({arrowWidth:T,arrowHeight:U}),I&&{name:(x=wq(q={strategy:"referenceHidden",...Y})).name,fn:x.fn,options:[q,r]}]}),[ae,af]=B6(ab),ag=b6(K);bW(()=>{ac&&ag?.()},[ac,ag]);let ah=ad.arrow?.x,ai=ad.arrow?.y,aj=ad.arrow?.centerOffset!==0,[ak,al]=$.useState();return bW(()=>{N&&al(window.getComputedStyle(N).zIndex)},[N]),(0,Z.jsx)("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...aa,transform:ac?aa.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ak,"--radix-popper-transform-origin":[ad.transformOrigin?.x,ad.transformOrigin?.y].join(" "),...ad.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,Z.jsx)(B$,{scope:y,placedSide:ae,onArrowChange:R,arrowX:ah,arrowY:ai,shouldHideArrow:aj,children:(0,Z.jsx)(b4.div,{"data-side":ae,"data-align":af,...L,ref:P,style:{...L.style,animation:ac?void 0:"none"}})})})});B0.displayName=BZ;var B1="PopperArrow",B2={top:"bottom",right:"left",bottom:"top",left:"right"},B3=$.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=B_(B1,c),f=B2[e.placedSide];return(0,Z.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,Z.jsx)(BQ,{...d,ref:b,style:{...d.style,display:"block"}})})});function B4(a){return null!==a}B3.displayName=B1;var B5=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=B6(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function B6(a){let[b,c="center"]=a.split("-");return[b,c]}var B7="Popover",[B8,B9]=bV(B7,[BT]),Ca=BT(),[Cb,Cc]=B8(B7),Cd=a=>{let{__scopePopover:b,children:c,open:d,defaultOpen:e,onOpenChange:f,modal:g=!1}=a,h=Ca(b),i=$.useRef(null),[j,k]=$.useState(!1),[l,m]=b_({prop:d,defaultProp:e??!1,onChange:f,caller:B7});return(0,Z.jsx)(BW,{...h,children:(0,Z.jsx)(Cb,{scope:b,contentId:bZ(),triggerRef:i,open:l,onOpenChange:m,onOpenToggle:$.useCallback(()=>m(a=>!a),[m]),hasCustomAnchor:j,onCustomAnchorAdd:$.useCallback(()=>k(!0),[]),onCustomAnchorRemove:$.useCallback(()=>k(!1),[]),modal:g,children:c})})};Cd.displayName=B7;var Ce="PopoverAnchor",Cf=$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Cc(Ce,c),f=Ca(c),{onCustomAnchorAdd:g,onCustomAnchorRemove:h}=e;return $.useEffect(()=>(g(),()=>h()),[g,h]),(0,Z.jsx)(BY,{...f,...d,ref:b})});Cf.displayName=Ce;var Cg="PopoverTrigger";$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Cc(Cg,c),f=Ca(c),g=aF(b,e.triggerRef),h=(0,Z.jsx)(b4.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":Ct(e.open),...d,ref:g,onClick:bU(a.onClick,e.onOpenToggle)});return e.hasCustomAnchor?h:(0,Z.jsx)(BY,{asChild:!0,...f,children:h})}).displayName=Cg;var Ch="PopoverPortal",[Ci,Cj]=B8(Ch,{forceMount:void 0}),Ck=a=>{let{__scopePopover:b,forceMount:c,children:d,container:e}=a,f=Cc(Ch,b);return(0,Z.jsx)(Ci,{scope:b,forceMount:c,children:(0,Z.jsx)(cm,{present:c||f.open,children:(0,Z.jsx)(cl,{asChild:!0,container:e,children:d})})})};Ck.displayName=Ch;var Cl="PopoverContent",Cm=$.forwardRef((a,b)=>{let c=Cj(Cl,a.__scopePopover),{forceMount:d=c.forceMount,...e}=a,f=Cc(Cl,a.__scopePopover);return(0,Z.jsx)(cm,{present:d||f.open,children:f.modal?(0,Z.jsx)(Co,{...e,ref:b}):(0,Z.jsx)(Cp,{...e,ref:b})})});Cm.displayName=Cl;var Cn=b1("PopoverContent.RemoveScroll"),Co=$.forwardRef((a,b)=>{let c=Cc(Cl,a.__scopePopover),d=$.useRef(null),e=aF(b,d),f=$.useRef(!1);return $.useEffect(()=>{let a=d.current;if(a)return c1(a)},[]),(0,Z.jsx)(cW,{as:Cn,allowPinchZoom:!0,children:(0,Z.jsx)(Cq,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:bU(a.onCloseAutoFocus,a=>{a.preventDefault(),f.current||c.triggerRef.current?.focus()}),onPointerDownOutside:bU(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;f.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:bU(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Cp=$.forwardRef((a,b)=>{let c=Cc(Cl,a.__scopePopover),d=$.useRef(!1),e=$.useRef(!1);return(0,Z.jsx)(Cq,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),Cq=$.forwardRef((a,b)=>{let{__scopePopover:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,disableOutsidePointerEvents:g,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:j,onInteractOutside:k,...l}=a,m=Cc(Cl,c),n=Ca(c);return cp(),(0,Z.jsx)(cf,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:f,children:(0,Z.jsx)(b9,{asChild:!0,disableOutsidePointerEvents:g,onInteractOutside:k,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:j,onDismiss:()=>m.onOpenChange(!1),children:(0,Z.jsx)(B0,{"data-state":Ct(m.open),role:"dialog",id:m.contentId,...n,...l,ref:b,style:{...l.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Cr="PopoverClose";$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Cc(Cr,c);return(0,Z.jsx)(b4.button,{type:"button",...d,ref:b,onClick:bU(a.onClick,()=>e.onOpenChange(!1))})}).displayName=Cr;var Cs=$.forwardRef((a,b)=>{let{__scopePopover:c,...d}=a,e=Ca(c);return(0,Z.jsx)(B3,{...e,...d,ref:b})});function Ct(a){return a?"open":"closed"}Cs.displayName="PopoverArrow";let Cu=new Intl.RelativeTimeFormat("en",{numeric:"auto"});async function Cv(a,b,c,d){let e=encodeURIComponent(a).replace(/%2F/g,"/"),f=await fetch(`/api/agent/files/${e}`,{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID(),...{}},body:JSON.stringify({baseRevision:b,by:c,ops:d})});if(409===f.status){let a=await f.json();return"STALE_REVISION"===a.code&&a.snapshot?.revision!==void 0?{ok:!1,stale:!0,newRevision:a.snapshot.revision}:{ok:!1,stale:!1}}return f.ok?{ok:!0,stale:!1}:{ok:!1,stale:!1}}function Cw({path:a,blockRef:b,comments:c,anchorEl:d,onClose:e}){let[f,g]=(0,$.useState)(null),[h,i]=(0,$.useState)(""),[j,k]=(0,$.useState)(!1),l=(0,$.useRef)(null),m=c.filter(a=>!a.resolved),n=m.length>0,o=m[0]??c[0]??null;if((0,$.useEffect)(()=>{if(!d)return void g(null);let a=d.getBoundingClientRect();g({top:a.bottom+4,left:a.left})},[d]),(0,$.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"===a.key&&e()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[d,e]),(0,$.useEffect)(()=>{f&&setTimeout(()=>l.current?.focus(),50)},[f]),!d||!f)return null;function p(){let b=vj.getState().byPath[a];return b?.snapshotRevision??0}async function q(){if(h.trim()&&!j){k(!0);try{let c=o?{type:"comment.reply",commentId:o.id,text:h.trim()}:{type:"comment.add",ref:b,text:h.trim()},d=p(),f=await Cv(a,d,"human",[c]);!f.ok&&f.stale&&void 0!==f.newRevision&&(await vj.getState().loadSidecar(a),d=f.newRevision,f=await Cv(a,d,"human",[c])),f.ok&&(await vj.getState().loadSidecar(a),i(""),e())}finally{k(!1)}}}async function r(){if(o&&!j){k(!0);try{let b=o.resolved?"comment.reopen":"comment.resolve",c=p(),d=await Cv(a,c,"human",[{type:b,commentId:o.id}]);!d.ok&&d.stale&&void 0!==d.newRevision&&(await vj.getState().loadSidecar(a),c=d.newRevision,d=await Cv(a,c,"human",[{type:b,commentId:o.id}])),d.ok&&(await vj.getState().loadSidecar(a),e())}finally{k(!1)}}}let s=c.flatMap(a=>a.turns.map(b=>({...b,resolved:a.resolved,commentId:a.id})));return(0,Z.jsxs)(Cd,{open:!0,children:[(0,Z.jsx)(Cf,{asChild:!0,children:(0,Z.jsx)("span",{"aria-hidden":"true",style:{position:"fixed",top:f.top,left:f.left,width:0,height:0,pointerEvents:"none"}})}),(0,Z.jsx)(Ck,{children:(0,Z.jsxs)(Cm,{side:"bottom",align:"start",sideOffset:4,collisionPadding:8,onInteractOutside:e,className:"z-50 w-[min(18rem,calc(100vw-1rem))] bg-popover border border-border rounded-lg shadow-xl p-3 space-y-2 text-[12px] focus:outline-none",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("span",{className:"text-[11px] font-mono text-muted-foreground/60 truncate",children:b}),o&&(0,Z.jsx)("button",{type:"button",disabled:j,onClick:()=>void r(),className:"ml-2 shrink-0 text-[10px] px-1.5 py-0.5 rounded border border-border hover:bg-accent disabled:opacity-50 transition-colors",children:o.resolved?"Reopen":"Resolve"})]}),s.length>0&&(0,Z.jsx)("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1",children:s.map((a,b)=>(0,Z.jsxs)("div",{className:"space-y-0.5",children:[(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/60",children:[a.by," · ",function(a){let b=Math.round((Date.now()-new Date(a).getTime())/1e3);if(60>Math.abs(b))return Cu.format(-b,"second");let c=Math.round(b/60);if(60>Math.abs(c))return Cu.format(-c,"minute");let d=Math.round(c/60);return 24>Math.abs(d)?Cu.format(-d,"hour"):Cu.format(-Math.round(d/24),"day")}(a.at)]}),(0,Z.jsx)("p",{className:"text-foreground leading-snug whitespace-pre-wrap",children:a.text})]},b))}),(!o?.resolved||0===c.length)&&(0,Z.jsxs)("div",{className:"space-y-1.5 pt-1",children:[(0,Z.jsx)("textarea",{ref:l,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&q()},placeholder:n?"Reply…":"Add a comment…",rows:2,className:"w-full resize-none rounded-md border border-border bg-background px-2 py-1.5 text-[12px] focus:outline-none focus-visible:ring-1 focus-visible:ring-ring placeholder:text-muted-foreground/40"}),(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground/40",children:"⌘↵ send"}),(0,Z.jsx)("button",{type:"button",disabled:j||!h.trim(),onClick:()=>void q(),className:"px-2.5 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Send"})]})]}),(0,Z.jsx)(Cs,{className:"fill-border"})]})})]})}function Cx({targetEl:a,path:b,onClose:c,onComment:d}){let[e,f]=(0,$.useState)(null),[g,h]=(0,$.useState)(null),[i,j]=(0,$.useState)(!1);if((0,$.useEffect)(()=>{if(!a){f(null),h(null);return}let b=a.getBoundingClientRect();f({top:b.bottom+window.scrollY+4,left:b.left+window.scrollX}),h({spanId:a.getAttribute("id")??"",origin:a.getAttribute("origin"),basis:a.getAttribute("basis"),basisDetail:a.getAttribute("basis-detail"),by:a.getAttribute("by"),at:a.getAttribute("at")})},[a]),(0,$.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"===a.key&&c()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c]),!a||!e||!g)return null;async function k(a){if(!i&&g){j(!0);try{await fetch("/api/agent/internal/span",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b,spanId:g.spanId,action:a,idempotencyKey:crypto.randomUUID()})})}finally{j(!1),c()}}}return(0,Z.jsxs)(Cd,{open:!0,children:[(0,Z.jsx)(Cf,{asChild:!0,children:(0,Z.jsx)("span",{"aria-hidden":"true",style:{position:"fixed",top:e.top,left:e.left,width:0,height:0,pointerEvents:"none"}})}),(0,Z.jsx)(Ck,{children:(0,Z.jsxs)(Cm,{side:"bottom",align:"start",sideOffset:4,collisionPadding:8,onInteractOutside:c,className:"z-50 w-[min(16rem,calc(100vw-1rem))] bg-popover border border-border rounded-lg shadow-xl p-3 space-y-2 text-[12px] focus:outline-none",children:[(0,Z.jsxs)("div",{className:"space-y-0.5",children:[(0,Z.jsxs)("p",{className:"font-medium text-foreground truncate",children:[g.by??"unknown"," · ",g.basis??"—"," · ",function(a){if(!a)return"";let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}(g.at)]}),g.basisDetail&&(0,Z.jsxs)("p",{className:"text-muted-foreground italic truncate",children:["“",g.basisDetail,"”"]}),g.origin&&(0,Z.jsxs)("p",{className:"text-muted-foreground/60",children:["origin: ",g.origin]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 pt-1",children:[(0,Z.jsx)("button",{type:"button",disabled:i,onClick:()=>void k("accept"),className:"flex-1 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Accept"}),(0,Z.jsx)("button",{type:"button",disabled:i,onClick:()=>void k("revert"),className:"flex-1 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Revert"}),(0,Z.jsx)("button",{type:"button",disabled:i,onClick:()=>{d?.(),c()},className:"flex-1 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Comment"})]}),(0,Z.jsx)(Cs,{className:"fill-border"})]})})]})}async function Cy(a,b,c,d){let e=encodeURIComponent(a).replace(/%2F/g,"/"),f=await fetch(`/api/agent/files/${e}`,{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID(),...{}},body:JSON.stringify({baseRevision:b,by:"human",ops:[{type:c,suggestionId:d}]})});return{ok:f.ok,status:f.status}}function Cz({suggestion:a,currentMarkdown:b,path:c,baseRevision:d,getLatestRevision:e,top:f,left:g,width:h,onSettled:i}){let[j,k]=(0,$.useState)(!1);async function l(){if(!j){k(!0);try{let b=await Cy(c,d,"suggestion.accept",a.id);b.ok||409!==b.status||(b=await Cy(c,e(),"suggestion.accept",a.id))}finally{k(!1),i()}}}async function m(){if(!j){k(!0);try{await Cy(c,d,"suggestion.reject",a.id)}finally{k(!1),i()}}}let n="delete"===a.kind,o="insertAfter"===a.kind||"insertBefore"===a.kind;return(0,Z.jsxs)("div",{style:{position:"absolute",top:f,left:g,width:h>0?h:void 0,zIndex:30},className:"my-1 rounded-lg border border-border bg-card shadow-md text-[12px] overflow-hidden",role:"region","aria-label":`Suggestion by ${a.by}`,children:[(0,Z.jsx)("div",{className:"flex items-center justify-between px-3 py-2 bg-muted/50 border-b border-border",children:(0,Z.jsxs)("span",{className:"font-medium text-foreground",children:[(0,Z.jsx)("span",{className:"text-primary",children:a.by})," suggests ",(0,Z.jsx)("span",{className:"text-muted-foreground",children:function(a){switch(a){case"replace":return"replacing this block";case"insertAfter":return"inserting content after this block";case"insertBefore":return"inserting content before this block";case"delete":return"deleting this block"}}(a.kind)})]})}),(0,Z.jsxs)("div",{className:"p-3 space-y-2",children:["replace"===a.kind&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ current ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-muted-foreground bg-destructive/5 rounded px-2 py-1",children:b||"(empty)"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ proposed ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-foreground bg-primary/5 rounded px-2 py-1",children:a.markdown??"(empty)"})]})]}),o&&(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ will be inserted ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-foreground bg-primary/5 rounded px-2 py-1",children:a.markdown??"(empty)"})]}),n&&(0,Z.jsxs)("div",{children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60 mb-1",children:"─ will be deleted ─"}),(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-muted-foreground line-through bg-destructive/5 rounded px-2 py-1",children:b||"(empty)"})]}),a.basisDetail&&(0,Z.jsxs)("p",{className:"italic text-muted-foreground/70 text-[11px]",children:["Reason: ",a.basisDetail]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-t border-border bg-muted/30",children:[(0,Z.jsx)("button",{type:"button",disabled:j,onClick:()=>void l(),className:"flex-1 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Accept"}),(0,Z.jsx)("button",{type:"button",disabled:j,onClick:()=>void m(),className:"flex-1 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Reject"})]})]})}async function CA(a,b,c){let d=encodeURIComponent(a).replace(/%2F/g,"/"),e=await fetch(`/api/agent/files/${d}`,{method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":crypto.randomUUID(),...{}},body:JSON.stringify({baseRevision:b,by:"human",ops:c})});if(409===e.status){let a=await e.json();return"STALE_REVISION"===a.code&&a.snapshot?.revision!==void 0?{ok:!1,stale:!0,newRevision:a.snapshot.revision}:{ok:!1,stale:!1}}return e.ok?{ok:!0,stale:!1}:{ok:!1,stale:!1}}let CB={replace:"Replace block",insertAfter:"Insert after",insertBefore:"Insert before",delete:"Delete block"};function CC({path:a,blockRef:b,currentMarkdown:c,anchor:d,onClose:e}){let[f,g]=(0,$.useState)("replace"),[h,i]=(0,$.useState)(c),[j,k]=(0,$.useState)(""),[l,m]=(0,$.useState)(!1),n=(0,$.useRef)(null);(0,$.useEffect)(()=>{"replace"===f?i(c):i("")},[f,c]),(0,$.useEffect)(()=>{let a=a=>{"Escape"===a.key&&e()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e]),(0,$.useEffect)(()=>{setTimeout(()=>n.current?.focus(),50)},[]);let o="delete"!==f,p=!l&&(!o||h.trim().length>0);async function q(){if(p){m(!0);try{let c={type:"suggestion.add",ref:b,kind:f,basis:"suggested"};o&&(c.markdown=h),j.trim()&&(c.basisDetail=j.trim());let d=vj.getState().byPath[a]?.snapshotRevision??0,g=await CA(a,d,[c]);!g.ok&&g.stale&&void 0!==g.newRevision&&(await vj.getState().loadSidecar(a),d=g.newRevision,g=await CA(a,d,[c])),g.ok&&(await vj.getState().loadSidecar(a),await vj.getState().loadSnapshot(a),e())}finally{m(!1)}}}return(0,Z.jsxs)(Cd,{open:!0,children:[(0,Z.jsx)(Cf,{asChild:!0,children:(0,Z.jsx)("span",{"aria-hidden":"true",style:{position:"fixed",top:d.top,left:d.left,width:0,height:0,pointerEvents:"none"}})}),(0,Z.jsx)(Ck,{children:(0,Z.jsxs)(Cm,{side:"bottom",align:"start",sideOffset:4,collisionPadding:8,onInteractOutside:e,className:"z-50 w-[min(20rem,calc(100vw-1rem))] bg-popover border border-border rounded-lg shadow-xl p-3 space-y-2.5 text-[12px] focus:outline-none",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("span",{className:"font-medium text-foreground",children:"Suggest an edit"}),(0,Z.jsx)("span",{className:"text-[11px] font-mono text-muted-foreground/60 truncate ml-2",children:b})]}),(0,Z.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.keys(CB).map(a=>(0,Z.jsx)("button",{type:"button",onClick:()=>g(a),className:`px-2 py-0.5 rounded-md text-[10.5px] border transition-colors ${f===a?"bg-primary text-primary-foreground border-primary":"border-border text-muted-foreground hover:bg-accent"}`,children:CB[a]},a))}),"delete"===f&&(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[11px] text-muted-foreground line-through bg-destructive/5 rounded px-2 py-1 max-h-32 overflow-y-auto",children:c||"(empty)"}),o&&(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"replace"===f?"proposed content":"content to insert"}),(0,Z.jsx)("textarea",{ref:n,value:h,onChange:a=>i(a.target.value),rows:4,placeholder:"Markdown…",className:"w-full resize-y rounded-md border border-border bg-background px-2 py-1.5 font-mono text-[11px] focus:outline-none focus-visible:ring-1 focus-visible:ring-ring placeholder:text-muted-foreground/40"})]}),(0,Z.jsx)("input",{type:"text",value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&q()},placeholder:"Reason (optional)",className:"w-full rounded-md border border-border bg-background px-2 py-1.5 text-[12px] focus:outline-none focus-visible:ring-1 focus-visible:ring-ring placeholder:text-muted-foreground/40"}),(0,Z.jsxs)("div",{className:"flex items-center justify-between pt-0.5",children:[(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground/40",children:"⌘↵ submit"}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)("button",{type:"button",disabled:l,onClick:e,className:"px-2.5 py-1 rounded-md border border-border text-[11px] font-medium hover:bg-accent disabled:opacity-50 transition-colors",children:"Cancel"}),(0,Z.jsx)("button",{type:"button",disabled:!p,onClick:()=>void q(),className:"px-2.5 py-1 rounded-md bg-primary text-primary-foreground text-[11px] font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors",children:"Suggest"})]})]}),(0,Z.jsx)(Cs,{className:"fill-border"})]})})]})}let CD=ad("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),CE=ad("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),CF=ad("sigma",[["path",{d:"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2",key:"wuwx1p"}]]),CG=ad("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),CH=[{label:"Text",icon:ad("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]),description:"Start writing plain text",category:"basic",action:{type:"direct",run:a=>a.chain().focus().setParagraph().run()}},{label:"Heading 1",icon:w3,description:"Large section heading",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleHeading({level:1}).run()}},{label:"Heading 2",icon:w4,description:"Medium section heading",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleHeading({level:2}).run()}},{label:"Heading 3",icon:w5,description:"Small section heading",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleHeading({level:3}).run()}},{label:"Bullet List",icon:w6,description:"Create a bullet list",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleBulletList().run()}},{label:"Numbered List",icon:w7,description:"Create a numbered list",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleOrderedList().run()}},{label:"Checklist",icon:w0,description:"Create a task checklist",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleTaskList().run()}},{label:"Code Block",icon:wQ,description:"Insert a code block",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleCodeBlock().run()}},{label:"Blockquote",icon:xb,description:"Insert a blockquote",category:"basic",action:{type:"direct",run:a=>a.chain().focus().toggleBlockquote().run()}},{label:"Divider",icon:w8,description:"Insert a horizontal rule",category:"basic",action:{type:"direct",run:a=>a.chain().focus().setHorizontalRule().run()}},{label:"Table",icon:CG,description:"Insert a 3x3 table",category:"basic",action:{type:"direct",run:a=>a.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run()}},{label:"Image",icon:aq,description:"Upload, paste URL, or drop an image",category:"media",action:{type:"popover",kind:{type:"media",kind:"image"}}},{label:"Video",icon:xe,description:"Upload or paste a video URL",category:"media",action:{type:"popover",kind:{type:"media",kind:"video"}}},{label:"File",icon:aj,description:"Attach any file to this page",category:"media",action:{type:"popover",kind:{type:"media",kind:"file"}}},{label:"Callout",icon:CE,description:"Insert an info callout",category:"advanced",action:{type:"direct",run:a=>a.chain().focus().wrapIn("callout",{type:"info"}).run()}},{label:"Warning",icon:CD,description:"Insert a warning callout",category:"advanced",action:{type:"direct",run:a=>a.chain().focus().wrapIn("callout",{type:"warning"}).run()}},{label:"Math",icon:CF,description:"Insert a LaTeX math expression",category:"advanced",action:{type:"direct",run:a=>a.chain().focus().insertContent("$x=y$").run()}}];function CI({editor:a}){let[b,c]=(0,$.useState)(!1),[d,e]=(0,$.useState)(""),[f,g]=(0,$.useState)(0),[h,i]=(0,$.useState)({top:0,left:0}),[j,k]=(0,$.useState)(null),l=(0,$.useRef)(null),m=va(a=>a.currentPath),n=CH.filter(a=>a.label.toLowerCase().includes(d.toLowerCase())||a.description.toLowerCase().includes(d.toLowerCase())),o=(0,$.useCallback)(()=>{c(!1),e(""),g(0)},[]),p=(0,$.useCallback)(b=>{if(!a)return;let{from:f}=a.state.selection,g=f-d.length-1;a.chain().focus().deleteRange({from:g,to:f}).run(),"direct"===b.action.type?(b.action.run(a),o()):(k(b.action.kind),c(!1),e(""))},[a,d,o]);if((0,$.useEffect)(()=>{if(!a)return;let h=h=>{if(!b){if("/"===h.key){let{from:b}=a.state.selection,d=a.state.doc.textBetween(Math.max(0,b-1),b);if(1===b||""===d||"\n"===d||" "===d){let d=a.view.coordsAtPos(b),f=a.view.dom.getBoundingClientRect();i({top:d.bottom-f.top+4,left:d.left-f.left}),c(!0),e(""),g(0)}}return}"Escape"===h.key?(h.preventDefault(),o()):"ArrowDown"===h.key?(h.preventDefault(),g(a=>Math.min(a+1,n.length-1))):"ArrowUp"===h.key?(h.preventDefault(),g(a=>Math.max(a-1,0))):"Enter"===h.key?(h.preventDefault(),n[f]&&p(n[f])):"Backspace"===h.key?0===d.length?o():(e(a=>a.slice(0,-1)),g(0)):" "===h.key?o():1!==h.key.length||h.metaKey||h.ctrlKey||(e(a=>a+h.key),g(0))};return window.addEventListener("keydown",h,!0),()=>window.removeEventListener("keydown",h,!0)},[a,b,d,f,n,o,p]),(0,$.useEffect)(()=>{if(!b)return;let a=a=>{l.current&&!l.current.contains(a.target)&&o()};return window.addEventListener("mousedown",a),()=>window.removeEventListener("mousedown",a)},[b,o]),(!b||0===n.length)&&!j)return null;let q=new Map;for(let a of n){let b=q.get(a.category)??[];b.push(a),q.set(a.category,b)}return(0,Z.jsxs)(Z.Fragment,{children:[b&&n.length>0&&(0,Z.jsx)("div",{ref:l,className:"absolute z-50 w-[280px] bg-popover border border-border rounded-lg shadow-lg py-1 overflow-hidden max-h-[380px] overflow-y-auto",style:{top:h.top,left:h.left},children:[{key:"basic",title:"Basic"},{key:"media",title:"Media"},{key:"advanced",title:"Advanced"}].map(a=>{let b=q.get(a.key);return b&&0!==b.length?(0,Z.jsxs)("div",{children:[(0,Z.jsx)("div",{className:"text-[9px] uppercase tracking-wider text-muted-foreground px-3 pt-2 pb-1",children:a.title}),b.map(a=>{let b=n.indexOf(a),c=a.icon;return(0,Z.jsxs)("button",{onMouseDown:b=>{b.preventDefault(),p(a)},onMouseEnter:()=>g(b),className:bR("flex items-center gap-3 w-full px-3 py-1.5 text-left transition-colors",b===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[(0,Z.jsx)(c,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsx)("p",{className:"text-[12px] font-medium truncate",children:a.label}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground truncate",children:a.description})]})]},a.label)})]},a.key):null})}),j&&a?"media"===j.type?m?(0,Z.jsx)(xm,{kind:j.kind,pagePath:m,anchor:h,onCancel:()=>k(null),onInsert:b=>((b,c)=>{if(!a)return;let{url:d,alt:e,mimeType:f}=c;"image"===b||(f??"").startsWith("image/")||/\.(png|jpe?g|gif|webp|svg|avif)(\?|$)/i.test(d)?a.chain().focus().setImage({src:d,alt:e??""}).run():a.chain().focus().insertContent(`<a href="${d}">${e??d}</a>`).run(),k(null)})(j.kind,b)}):null:null:null]})}let CJ=ad("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),CK=ad("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),CL=ad("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),CM=ad("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),CN=ad("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),CO=ad("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),CP=ad("panel-top",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}]]),CQ=ad("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);function CR({label:a,icon:b,disabled:c,active:d,danger:e,onAction:f}){return(0,Z.jsx)("button",{type:"button","aria-label":a,title:a,disabled:c,onMouseDown:a=>a.preventDefault(),onClick:a=>{a.preventDefault(),f()},className:bR("h-7 w-7 inline-flex items-center justify-center rounded text-foreground/80 hover:bg-accent transition-colors disabled:pointer-events-none disabled:opacity-35",d&&"bg-accent text-foreground",e&&"text-destructive hover:bg-destructive/10"),children:(0,Z.jsx)(b,{className:"h-3.5 w-3.5"})})}function CS(){return(0,Z.jsx)("div",{className:"mx-1 h-5 w-px bg-border"})}function CT({editor:a}){if(!a)return null;let b=()=>{if(!ie(a.state))return null;try{return iB(a.state)}catch{return null}},c=b=>{b()&&(a.commands.focus(),a.commands.fixTables())},d=c=>{let d=b();if(!d)return;let e=d.top,f=e+c;if(!(f<0)&&!(f>=d.map.height)){var g;(g={from:e,to:f},(a,b)=>{let{from:c,to:d,select:e=!0,pos:f=a.selection.from}=g,h=a.tr;return!!function(a){var b,c,d,e,f;let g,{tr:h,originIndex:i,targetIndex:j,select:k,pos:l}=a,m=iv(h.doc.resolve(l));if(!m)return!1;let n=null==(b=iz(h,i))?void 0:b.indexes,o=null==(c=iz(h,j))?void 0:c.indexes;if(!n||!o||n.includes(j))return!1;let p=(d=m.node,e=n,f=o,g=is(d),it(d,g=iu(g,e,f,0)));if(h.replaceWith(m.pos,m.pos+m.node.nodeSize,p),!k)return!0;let q=ia.get(p),r=m.start,s=q.positionAt(j,q.width-1,p),t=h.doc.resolve(r+s),u=q.positionAt(j,0,p),v=h.doc.resolve(r+u);return h.setSelection(im.rowSelection(t,v)),!0}({tr:h,originIndex:c,targetIndex:d,select:e,pos:f})&&(null==b||b(h),!0)})(a.state,a.view.dispatch),a.commands.focus()}},e=c=>{let d=b();if(!d)return;let e=d.left,f=e+c;if(!(f<0)&&!(f>=d.map.width)){var g;(g={from:e,to:f},(a,b)=>{let{from:c,to:d,select:e=!0,pos:f=a.selection.from}=g,h=a.tr;return!!function(a){var b,c,d,e,f;let g,{tr:h,originIndex:i,targetIndex:j,select:k,pos:l}=a,m=iv(h.doc.resolve(l));if(!m)return!1;let n=null==(b=iy(h,i))?void 0:b.indexes,o=null==(c=iy(h,j))?void 0:c.indexes;if(!n||!o||n.includes(j))return!1;let p=(d=m.node,e=n,f=o,g=iA(is(d)),it(d,g=iA(g=iu(g,e,f,0))));if(h.replaceWith(m.pos,m.pos+m.node.nodeSize,p),!k)return!0;let q=ia.get(p),r=m.start,s=q.positionAt(q.height-1,j,p),t=h.doc.resolve(r+s),u=q.positionAt(0,j,p),v=h.doc.resolve(r+u);return h.setSelection(im.colSelection(t,v)),!0}({tr:h,originIndex:c,targetIndex:d,select:e,pos:f})&&(null==b||b(h),!0)})(a.state,a.view.dispatch),a.commands.focus()}},f=b(),g=!!f&&f.top>0,h=!!f&&f.top<f.map.height-1,i=!!f&&f.left>0,j=!!f&&f.left<f.map.width-1;return(0,Z.jsxs)(wK,{editor:a,pluginKey:"tableMenu",options:{placement:"top",offset:10},shouldShow:({editor:a})=>a.isActive("table"),className:"flex items-center gap-0.5 rounded-md border border-border bg-popover px-1 py-1 shadow-lg",children:[(0,Z.jsx)(CR,{label:"Select cell text",icon:CG,onAction:()=>{let b=id(a.state.selection.$from),c=b?.nodeAfter;b&&c&&a.chain().focus().setTextSelection({from:b.pos+1,to:b.pos+c.nodeSize-1}).run()}}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Add row above",icon:CQ,onAction:()=>c(()=>a.chain().focus().addRowBefore().run())}),(0,Z.jsx)(CR,{label:"Add row below",icon:CJ,onAction:()=>c(()=>a.chain().focus().addRowAfter().run())}),(0,Z.jsx)(CR,{label:"Move row up",icon:CM,disabled:!g,onAction:()=>d(-1)}),(0,Z.jsx)(CR,{label:"Move row down",icon:CJ,disabled:!h,onAction:()=>d(1)}),(0,Z.jsx)(CR,{label:"Delete row",icon:aA,danger:!0,onAction:()=>c(()=>a.chain().focus().deleteRow().run())}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Add column before",icon:CN,onAction:()=>c(()=>a.chain().focus().addColumnBefore().run())}),(0,Z.jsx)(CR,{label:"Add column after",icon:CL,onAction:()=>c(()=>a.chain().focus().addColumnAfter().run())}),(0,Z.jsx)(CR,{label:"Move column left",icon:CK,disabled:!i,onAction:()=>e(-1)}),(0,Z.jsx)(CR,{label:"Move column right",icon:CL,disabled:!j,onAction:()=>e(1)}),(0,Z.jsx)(CR,{label:"Delete column",icon:aA,danger:!0,onAction:()=>c(()=>a.chain().focus().deleteColumn().run())}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Toggle header row",icon:CP,onAction:()=>c(()=>a.chain().focus().toggleHeaderRow().run())}),(0,Z.jsx)(CR,{label:"Toggle header column",icon:CO,onAction:()=>c(()=>a.chain().focus().toggleHeaderColumn().run())}),(0,Z.jsx)(CS,{}),(0,Z.jsx)(CR,{label:"Delete table",icon:aA,danger:!0,onAction:()=>a.chain().focus().deleteTable().run()})]})}let CU=$.forwardRef(({className:a,type:b,...c},d)=>(0,Z.jsx)("input",{type:b,className:bR("flex h-9 w-full rounded-sm border border-input bg-secondary px-3 py-1 text-sm shadow-e-1 transition-colors file:border-0 file:bg-transparent file:text-sm file:font-normal placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:d,...c}));CU.displayName="Input";var CV=$.forwardRef((a,b)=>(0,Z.jsx)(xf.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));CV.displayName="Label";let CW=aP("text-sm font-normal leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50"),CX=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(CV,{ref:c,className:bR(CW(),a),...b}));CX.displayName=CV.displayName;var CY=a.i(263265);function CZ(a,b){CY.toast.error(a,b)}let C$=["entities","concepts","comparisons"],C_=/^[a-z0-9-]+$/;function C0({editor:a,onCreateRequest:b}){let[c,d]=(0,$.useState)(!1),[e,f]=(0,$.useState)(""),[g,h]=(0,$.useState)(0),[i,j]=(0,$.useState)({top:0,left:0}),k=(0,$.useRef)(null),l=(0,$.useRef)(0),m=vh(a=>a.slugs),n=vh(a=>a.slugDir),o=vh(a=>a.has),p=Array.from(m).sort().filter(a=>!e||a.includes(e.toLowerCase())).slice(0,20),q=e.length>0&&C_.test(e)&&!o(e),r=p.length+ +!!q,s=(0,$.useCallback)(()=>{d(!1),f(""),h(0)},[]),t=(0,$.useCallback)(b=>{if(!a)return;let{from:c}=a.state.selection,d=l.current-2,e=a.state.schema.marks.wikiLink;if(!e)return;let f=e.create({slug:b,alias:null,anchor:null}),g=a.state.schema.text(b,[f]),h=a.state.tr.replaceWith(d,c,g);a.view.dispatch(h),a.commands.focus(),s()},[a,s]),u=(0,$.useCallback)(async c=>{if(a){if(c<p.length)t(p[c]??"");else if(q){let a=await b(e);a.ok?t(a.slug):s()}}},[a,p,q,e,t,b,s]);return((0,$.useEffect)(()=>{if(!a)return;let b=b=>{if(!c){if("["===b.key){let{from:b}=a.state.selection;if("["!==a.state.doc.textBetween(Math.max(0,b-1),b)||a.state.doc.resolve(b).marks().some(a=>"wikiLink"===a.type.name))return;let c=a.view.coordsAtPos(b),e=a.view.dom.getBoundingClientRect();j({top:c.bottom-e.top+4,left:c.left-e.left}),l.current=b+1,d(!0),f(""),h(0)}return}"ArrowDown"===b.key?(b.preventDefault(),h(a=>r>0?(a+1)%r:0)):"ArrowUp"===b.key?(b.preventDefault(),h(a=>r>0?(a-1+r)%r:0)):"Enter"===b.key?(b.preventDefault(),b.stopPropagation(),r>0&&u(g)):"Escape"===b.key||"]"===b.key?s():"Backspace"===b.key?0===e.length?s():(f(a=>a.slice(0,-1)),h(0)):1!==b.key.length||b.metaKey||b.ctrlKey||(f(a=>a+b.key),h(0))};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[a,c,e,g,r,s,u]),(0,$.useEffect)(()=>{if(!c)return;let a=a=>{k.current&&!k.current.contains(a.target)&&s()};return window.addEventListener("mousedown",a),()=>window.removeEventListener("mousedown",a)},[c,s]),c&&0!==r)?(0,Z.jsxs)("div",{ref:k,className:"absolute z-50 w-[280px] bg-popover border border-border rounded-lg shadow-lg py-1 overflow-hidden max-h-[300px] overflow-y-auto",style:{top:i.top,left:i.left},children:[p.map((a,b)=>{let c=n.get(a);return(0,Z.jsxs)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),u(b)},onMouseEnter:()=>h(b),className:bR("flex items-center justify-between w-full px-3 py-1.5 text-left text-sm transition-colors",b===g?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[(0,Z.jsx)("span",{className:"truncate",children:a}),c&&(0,Z.jsx)("span",{className:"ml-2 shrink-0 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:c})]},a)}),q&&(0,Z.jsx)("button",{type:"button",onMouseDown:a=>{a.preventDefault(),u(p.length)},onMouseEnter:()=>h(p.length),className:bR("flex items-center w-full px-3 py-1.5 text-left text-sm transition-colors",p.length===g?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:(0,Z.jsxs)("span",{className:"text-muted-foreground",children:["+ Create new “",e,"”"]})})]}):null}async function C1(a,b){let c=new FormData;c.append("file",b);try{let b=await fetch(`/api/upload/${a}`,{method:"POST",body:c});if(!b.ok)return null;return(await b.json()).url}catch{return null}}function C2(a){let b=[];for(let c of a)b.push({path:c.path,name:c.name}),c.children&&b.push(...C2(c.children));return b}function C3(a,b,c){let d=C2(c).filter(b=>b.name===a||b.path.endsWith(`/${a}`));if(0===d.length)return null;if(1===d.length)return d[0].path;if(b){let c=b.includes("/")?b.substring(0,b.lastIndexOf("/")):"",e=d.find(b=>b.path===(c?`${c}/${a}`:a));if(e)return e.path}return d[0].path}function C4(a,b,c){let d=a.split("/");for(let a=1;a<d.length;a++)c(d.slice(0,a).join("/"));b(a),va.getState().loadPage(a),setTimeout(()=>{document.querySelector("[data-editor-scroll]")?.scrollTo(0,0)},0)}function C5(){let{currentPath:a,content:b,saveStatus:c,frontmatter:d,isLoading:e,loadStatus:f,createMissingPage:g,editMode:h,setEditMode:i}=va(),j=vb(a=>a.nodes),k=vg(a=>vd[a.width]),l=d?.dir==="rtl",{open:m,clearMessages:n}=u1(),{open:o,Dialog:p}=function(){let[a,b]=(0,$.useState)(!1),[c,d]=(0,$.useState)({slug:"",dir:"entities",title:""}),[e,f]=(0,$.useState)(!1),g=(0,$.useRef)(null),h=(0,$.useCallback)(a=>(d({slug:a,dir:"entities",title:a.split("-").filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}),b(!0),new Promise(a=>{g.current=a})),[]),i=(0,$.useCallback)(()=>{b(!1),g.current?.({ok:!1,slug:c.slug}),g.current=null},[c.slug]),j=(0,$.useCallback)(async()=>{let{slug:a,dir:d,title:e}=c;f(!0);try{let c=await fetch("/api/wiki/page",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:a,dir:d,title:e.trim()||void 0})});if(c.ok||409===c.status){let c=vh.getState();c.invalidate(),c.load(),b(!1),g.current?.({ok:!0,slug:a,dir:d}),g.current=null}else{let a=await c.json().catch(()=>({})),b=null!==a&&"object"==typeof a&&"error"in a&&"string"==typeof a.error?a.error:"Failed to create page";CZ(b)}}catch{CZ("Failed to create page")}finally{f(!1)}},[c]);return{open:h,Dialog:(0,Z.jsx)(c7,{open:a,onOpenChange:a=>{a||i()},children:(0,Z.jsxs)(dA,{children:[(0,Z.jsx)(dB,{children:(0,Z.jsx)(dD,{children:"Create wiki page"})}),(0,Z.jsxs)("div",{className:"space-y-4 py-2",children:[(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)(CX,{htmlFor:"wiki-create-slug",children:"Slug"}),(0,Z.jsx)(CU,{id:"wiki-create-slug",value:c.slug,readOnly:!0,className:"bg-muted cursor-default select-all"})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)(CX,{children:"Directory"}),(0,Z.jsx)("div",{className:"flex gap-4",children:C$.map(a=>(0,Z.jsxs)("label",{className:"flex items-center gap-1.5 text-sm cursor-pointer",children:[(0,Z.jsx)("input",{type:"radio",name:"wiki-create-dir",value:a,checked:c.dir===a,onChange:()=>d(b=>({...b,dir:a})),className:"accent-primary"}),a]},a))})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)(CX,{htmlFor:"wiki-create-title",children:"Title (optional)"}),(0,Z.jsx)(CU,{id:"wiki-create-title",value:c.title,onChange:a=>d(b=>({...b,title:a.target.value})),placeholder:"Humanized title..."})]})]}),(0,Z.jsxs)(dC,{children:[(0,Z.jsx)(bT,{variant:"outline",onClick:i,disabled:e,children:"Cancel"}),(0,Z.jsx)(bT,{onClick:()=>void j(),disabled:e,children:e?"Creating...":"Create"})]})]})})}}(),q=(0,$.useRef)(o);q.current=o;let r=(0,$.useRef)(!1),[s,t]=(0,$.useState)(!1),[u,v]=(0,$.useState)(""),[w,x]=(0,$.useState)("page");(0,$.useEffect)(()=>{x("page")},[]),(0,$.useEffect)(()=>{vh.getState().load()},[]),(0,$.useEffect)(()=>{a&&vj.getState().loadSidecar(a)},[a]),(0,$.useEffect)(()=>{},[a]),(0,$.useEffect)(()=>{},[]);let[y,z]=(0,$.useState)(null),A=(0,$.useRef)(null),[B,C]=(0,$.useState)(new Map),D=vj(b=>a?b.byPath[a]?.snapshotBlocks:void 0),E=vj(b=>a?b.byPath[a]?.sidecar?.suggestions:void 0),F=vj(b=>a?b.byPath[a]?.snapshotRevision??0:0),G=vj(b=>a?b.byPath[a]?.sidecar?.comments:void 0),H=(0,$.useMemo)(()=>D??[],[D]),I=(0,$.useMemo)(()=>G??[],[G]),J=(0,$.useMemo)(()=>E?.filter(a=>"pending"===a.status)??[],[E]),K=(0,$.useMemo)(()=>{let a={};for(let b of I)(a[b.ref]??=[]).push(b);return a},[I]),[L,M]=(0,$.useState)(null),[N,O]=(0,$.useState)(null),P=(0,$.useCallback)(()=>{if(!Y.current)return null;let a=Y.current.view,{from:b}=a.state.selection,c=va.getState().currentPath??"",d=vj.getState().byPath[c]?.snapshotBlocks??[],e=a.state.doc.resolve(b),f=e.depth>0?e.index(0):0,g=A.current?.querySelector(".ProseMirror"),h=(g?Array.from(g.children):[])[f]??null,i=d[f],j=i?.ref??h?.getAttribute("data-block-ref")??null,k=i?.markdown??"";if(!j&&h){let c=a.domAtPos(b),d=c.node.nodeType===Node.ELEMENT_NODE?c.node:c.node.parentElement,e=d?.closest("[data-block-ref]")??null;j=e?.getAttribute("data-block-ref")??null}return j&&h?{blockRef:j,blockEl:h,markdown:k}:null},[]),Q=(0,$.useCallback)(()=>{let a=P();if(!a)return;let b=a.blockEl.getBoundingClientRect();O({blockRef:a.blockRef,markdown:a.markdown,anchor:{top:b.bottom+4,left:b.left}})},[P]),R=(0,$.useCallback)(()=>{let a=P();a&&M({blockRef:a.blockRef,el:a.blockEl})},[P]),S=(0,$.useRef)(!1),T=(0,$.useRef)(!1),U=(0,$.useRef)(null),V=a=>a.replace(/\s+$/g,"").trimStart(),W=(0,$.useCallback)(async()=>{if(T.current||"suggesting"!==va.getState().editMode||!S.current)return;let a=Y.current,b=va.getState().currentPath;if(!a||!b)return;let c=A.current?.querySelector(".ProseMirror");if(!c)return;let d=Array.from(c.children),e=vj.getState().byPath[b]?.snapshotBlocks??[];if(0!==e.length){T.current=!0,S.current=!1;try{let c=()=>vj.getState().byPath[b]?.snapshotRevision??0,f=async()=>{await vj.getState().loadSnapshot(b),await vj.getState().loadSidecar(b)},g=Math.max(d.length,e.length),h=!1;for(let a=0;a<g;a++){let g=d[a],i=e[a],j=g?uZ(g.outerHTML).trim():null;if(i&&null!==j){if(V(j)!==V(i.markdown)){let a=await vl({path:b,ref:i.ref,kind:"replace",markdown:j,getRevision:c,refresh:f});h=h||a}}else if(i&&null===j){let a=await vl({path:b,ref:i.ref,kind:"delete",getRevision:c,refresh:f});h=h||a}else if(!i&&null!==j&&j.length>0){let a=e[e.length-1]?.ref;if(a){let d=await vl({path:b,ref:a,kind:"insertAfter",markdown:j,getRevision:c,refresh:f});h=h||d}}}if(h){await f();let c=(vj.getState().byPath[b]?.snapshotBlocks??e).map(a=>a.markdown).join("\n\n");r.current=!0;let d=await uh(c,b);a.commands.setContent(d),setTimeout(()=>{r.current=!1},50)}}finally{T.current=!1}}},[]);(0,$.useEffect)(()=>{a&&vj.getState().loadSnapshot(a)},[a]),(0,$.useEffect)(()=>{if(!a||0===H.length||!A.current)return;let b=A.current,c=b.querySelector(".ProseMirror");if(!c)return;let d=Array.from(c.children),e=b.getBoundingClientRect(),f=new Map;for(let a=0;a<Math.min(d.length,H.length);a++){let c=d[a],g=H[a];c.setAttribute("data-block-ref",g.ref);let h=c.getBoundingClientRect();f.set(g.ref,{top:h.top-e.top+b.scrollTop,left:h.left-e.left,width:h.width,bottom:h.bottom-e.top+b.scrollTop})}C(f)},[a,H]);let X=function(a={},b=[]){let c=(0,i6.useRef)(a);c.current=a;let[d]=(0,i6.useState)(()=>new mI(c)),e=(0,i7.useSyncExternalStore)(d.subscribe,d.getEditor,d.getServerSnapshot);return(0,i6.useDebugValue)(e),(0,i6.useEffect)(d.onRender(b)),!function(a){var b;let[c]=(0,i6.useState)(()=>new mH(a.editor)),d=(0,mB.useSyncExternalStoreWithSelector)(c.subscribe,c.getSnapshot,c.getServerSnapshot,a.selector,null!=(b=a.equalityFn)?b:mz);mG(()=>c.watch(a.editor),[a.editor,c]),(0,i6.useDebugValue)(d)}({editor:e,selector:({transactionNumber:b})=>!1===a.shouldRerenderOnTransaction||void 0===a.shouldRerenderOnTransaction?null:a.immediatelyRender&&0===b?0:b+1}),e}({extensions:By,content:"",onUpdate:(0,$.useCallback)(({editor:a})=>{if(r.current||!a)return;"suggesting"===va.getState().editMode&&(S.current=!0);let b=uZ(a.getHTML());va.getState().updateContent(b)},[]),onBlur:()=>{W()},onSelectionUpdate:({editor:a})=>{if("suggesting"!==va.getState().editMode)return;let{from:b}=a.state.selection,c=a.state.doc.resolve(b),d=c.depth>0?c.index(0):0,e=U.current;U.current=d,null!==e&&e!==d&&S.current&&W()},editorProps:{attributes:{class:"focus:outline-none min-h-[calc(100vh-12rem)] px-4 sm:px-8 py-6 max-w-[var(--editor-max-w,48rem)] mx-auto"},handleKeyDown:(a,b)=>{if((b.metaKey||b.ctrlKey)&&"a"===b.key.toLowerCase()&&ie(a.state)){let c=id(a.state.selection.$from),d=c?.nodeAfter;if(!c||!d)return!1;let e=c.pos+1,f=c.pos+d.nodeSize-1;return(a.state.selection.from!==e||a.state.selection.to!==f)&&(b.preventDefault(),X?.chain().focus().setTextSelection({from:e,to:f}).run(),!0)}return!1},handleClick:(a,b,c)=>{let d=c.target.closest("a");if(!d)return!1;let e=d.getAttribute("href");if(!e)return!1;if("true"===d.dataset.wikiLink){c.preventDefault(),c.stopPropagation();let a=d.dataset.slug??"",b=d.dataset.anchor??null;if(!a)return!0;let e=vh.getState();if(e.has(a)){let c=e.getDir(a),d=null===c||"root"===c?`${a}.md`:`${c}/${a}.md`;va.getState().loadPage(d),b&&setTimeout(()=>{document.querySelector(`[id="${b}"]`)?.scrollIntoView({behavior:"smooth"})},200)}else q.current(a).then(a=>{if(a.ok){let b=a.dir??"entities",c=`${b}/${a.slug}.md`;va.getState().loadPage(c)}});return!0}if(e.startsWith("#page:")){c.preventDefault(),c.stopPropagation();let a=e.replace("#page:",""),{nodes:b,selectPage:d,expandPath:f}=vb.getState(),g=C3(a,va.getState().currentPath,b);return g&&C4(g,d,f),!0}if(/^https?:\/\//.test(e)||e.startsWith("/api/")||e.startsWith("mailto:")||e.startsWith("tel:"))return!1;c.preventDefault(),c.stopPropagation();let{nodes:f,selectPage:g,expandPath:h}=vb.getState(),i=function(a,b,c){let d=C2(c),e=a.replace(/\.md$/,"").replace(/^\.\//,"").replace(/^\//,""),f=d.find(a=>a.path===e);if(f)return f.path;if(b){let a=b.includes("/")?b.substring(0,b.lastIndexOf("/")):"",c=a?`${a}/${e}`:e,f=d.find(a=>a.path===c);if(f)return f.path}return C3(e.includes("/")?e.split("/").pop():e,b,c)}(e,va.getState().currentPath,f);return i&&C4(i,g,h),!0},handlePaste:(a,b)=>{let c=b.clipboardData?.files,d=va.getState().currentPath;if(c&&c.length>0&&d){for(let a of Array.from(c))C1(d,a).then(b=>{b&&X&&(a.type.startsWith("image/")?X.chain().focus().setImage({src:b,alt:a.name}).run():X.chain().focus().insertContent(`<a href="${b}">${a.name}</a>`).run())});return!0}return!1},handleDrop:(a,b)=>{let c=b.dataTransfer?.files;if(!c||0===c.length)return!1;let d=va.getState().currentPath;if(!d)return!1;for(let a of(b.preventDefault(),Array.from(c)))C1(d,a).then(b=>{b&&X&&(a.type.startsWith("image/")?X.chain().focus().setImage({src:b,alt:a.name}).run():X.chain().focus().insertContent(`<a href="${b}">${a.name}</a>`).run())});return!0}},immediatelyRender:!1}),Y=(0,$.useRef)(X);Y.current=X;let _=(0,$.useRef)(null),aa=(0,$.useRef)(null),[ab,ac]=(0,$.useState)(null);(0,$.useEffect)(()=>{if(!X||null===a||va.getState().isDirty&&a===_.current||e&&""===b)return;let c=`${a} ${b}`;if(aa.current===c){ab!==a&&ac(a);return}_.current=a,(async()=>{r.current=!0;let d=await uh(b,a);X.commands.setContent(d),aa.current=c,ac(a),setTimeout(()=>{r.current=!1},50)})()},[X,b,a,e,ab]);let ad=null!==a&&(e||ab!==a);if(null===a)return(0,Z.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:(0,Z.jsxs)("div",{className:"text-center space-y-3",children:[(0,Z.jsx)("p",{className:"text-lg font-medium tracking-[-0.02em]",children:"No page selected"}),(0,Z.jsx)("p",{className:"text-sm text-muted-foreground/70",children:"Select a page from the sidebar or create a new one"})]})});if("missing"===f){let b=(a.split("/").pop()||a).replace(/[-_]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()),c=mV(j,a),d=c?.children??[],e=d.length>0;return(0,Z.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,Z.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-10 space-y-6",children:[(0,Z.jsxs)("div",{className:"space-y-3",children:[(0,Z.jsx)("p",{className:"text-lg font-medium tracking-[-0.02em] text-foreground",children:b}),(0,Z.jsxs)("p",{className:"text-sm text-muted-foreground/80",children:["This folder doesn't have an"," ",(0,Z.jsx)("code",{className:"px-1 py-0.5 rounded bg-muted text-[12px]",children:"index.md"}),e?" yet — its contents are listed below.":" yet."]}),(0,Z.jsxs)("button",{onClick:()=>void g(b),className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-[13px] font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:[(0,Z.jsx)(ak,{className:"h-3.5 w-3.5"}),"Create page"]})]}),e&&(0,Z.jsx)(BJ,{folderPath:a,entries:d},a)]})})}let ae=async()=>{if(s){if(va.getState().updateContent(u),X){r.current=!0;let b=await uh(u,a??void 0);X.commands.setContent(b),setTimeout(()=>{r.current=!1},50)}t(!1)}else v(va.getState().content),t(!0)},af=mV(j,a),ag=af?.type==="directory"||af?.type==="cabinet"?af.children??[]:[],ah=ag.length>0,ai=ah&&"files"===w;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[ah&&(0,Z.jsxs)("div",{className:"flex items-center gap-1 px-3 pt-2 border-b border-border",children:[(0,Z.jsx)("button",{onClick:()=>x("page"),className:`px-3 py-1.5 text-[12px] rounded-t-md border-b-2 -mb-px transition-colors ${"page"===w?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"aria-pressed":"page"===w,children:"Page"}),(0,Z.jsxs)("button",{onClick:()=>x("files"),className:`px-3 py-1.5 text-[12px] rounded-t-md border-b-2 -mb-px transition-colors ${"files"===w?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"aria-pressed":"files"===w,children:["Files",(0,Z.jsx)("span",{className:"ml-1.5 text-muted-foreground/60",children:ag.length})]})]}),ai?(0,Z.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,Z.jsx)("div",{className:"max-w-3xl mx-auto px-6 py-6",children:(0,Z.jsx)(BJ,{folderPath:a,entries:ag},a)})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"flex items-center min-w-0",children:[(0,Z.jsx)("div",{className:"flex-1 min-w-0",children:!s&&(0,Z.jsx)(xo,{editor:X})}),(0,Z.jsxs)("button",{onClick:ae,className:`flex items-center gap-1.5 px-3 py-1 mr-2 text-[11px] rounded-md transition-colors border border-border ${s?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"}`,children:[(0,Z.jsx)(dG,{className:"h-3 w-3"}),s?"Preview":"Markdown"]})]}),s?(0,Z.jsx)("div",{className:"flex-1 overflow-y-auto p-4",dir:l?"rtl":void 0,children:(0,Z.jsx)("textarea",{value:u,onChange:a=>v(a.target.value),className:"w-full h-full min-h-[calc(100vh-12rem)] bg-transparent font-mono text-[13px] leading-relaxed resize-none focus:outline-none",spellCheck:!1})}):(0,Z.jsxs)("div",{className:"flex-1 relative",dir:l?"rtl":void 0,children:["suggesting"===h&&(0,Z.jsx)("div",{className:"absolute top-0 inset-x-0 z-20 flex items-center justify-center gap-2 px-3 py-1 bg-primary/10 border-b border-primary/20 text-[11px] text-primary pointer-events-none",children:"Suggesting mode · your edits become suggestions for review"}),(0,Z.jsxs)("div",{ref:A,className:`absolute inset-0 overflow-y-auto ${"suggesting"===h?"pt-7":""}`,style:{"--editor-max-w":k},"data-editor-scroll":!0,children:[(0,Z.jsxs)("div",{"aria-hidden":"true",className:"relative pointer-events-none",style:{height:0},children:[Object.entries(K).map(([a,b])=>{let c=B.get(a);return c?(0,Z.jsx)("div",{style:{pointerEvents:"auto"},children:(0,Z.jsx)(BL,{blockRef:a,comments:b,top:c.top+4,left:Math.max(0,c.left-20),onClick:()=>{let b=A.current?.querySelector(`[data-block-ref="${a}"]`);b&&M({blockRef:a,el:b})}})},`pip-${a}`):null}),a&&J.map(b=>{let c=B.get(b.ref),d=H.find(a=>a.ref===b.ref);if(!c||!d)return null;let e="insertAfter"===b.kind?c.bottom+4:"insertBefore"===b.kind?Math.max(0,c.top-80):c.top;return(0,Z.jsx)("div",{style:{pointerEvents:"auto"},children:(0,Z.jsx)(Cz,{path:a,suggestion:b,currentMarkdown:d.markdown,baseRevision:F,getLatestRevision:()=>vj.getState().byPath[a]?.snapshotRevision??0,top:e,left:c.left,width:c.width,onSettled:()=>{vj.getState().loadSidecar(a),vj.getState().loadSnapshot(a)}})},`sug-${b.id}`)})]}),L&&a&&(0,Z.jsx)(Cw,{path:a,blockRef:L.blockRef,comments:K[L.blockRef]??[],anchorEl:L.el,onClose:()=>M(null)}),N&&a&&(0,Z.jsx)(CC,{path:a,blockRef:N.blockRef,currentMarkdown:N.markdown,anchor:N.anchor,onClose:()=>O(null)}),(0,Z.jsx)(mF,{editor:X}),(0,Z.jsx)("div",{"aria-hidden":"true",className:"contents",onMouseOver:a=>{let b=a.target.closest(".proof-span");b&&b!==y&&z(b)},onMouseOut:a=>{let b=a.relatedTarget;b?.closest(".proof-span")||z(null)}}),a&&(0,Z.jsx)(Cx,{targetEl:y,path:a,onClose:()=>z(null),onComment:()=>{if(!y)return;let a=y.closest("[data-block-ref]");if(!a)return;let b=a.getAttribute("data-block-ref");b&&M({blockRef:b,el:a})}}),(0,Z.jsx)(w_,{editor:X,onSuggestEdit:Q,onComment:R}),(0,Z.jsx)(CT,{editor:X}),(0,Z.jsx)(CI,{editor:X}),(0,Z.jsx)(C0,{editor:X,onCreateRequest:q.current}),(0,Z.jsxs)("div",{className:"max-w-[var(--editor-max-w,48rem)] mx-auto px-8 pb-8 flex items-center gap-4",children:[(0,Z.jsxs)("button",{onClick:()=>{n(),m()},className:"group flex items-center gap-2 text-[13px] text-muted-foreground/50 hover:text-muted-foreground transition-colors cursor-pointer",children:[(0,Z.jsx)(mU,{className:"h-3.5 w-3.5 group-hover:text-primary transition-colors"}),(0,Z.jsx)("span",{children:"Edit with AI"})]}),(0,Z.jsxs)("span",{className:"text-[11px] text-muted-foreground/30 select-none",children:[(0,Z.jsx)("kbd",{className:"rounded px-1 py-0.5 font-mono text-[10px] ring-1 ring-foreground/10",children:"/"})," ","for commands"]})]})]}),ad&&(0,Z.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-background/80 backdrop-blur-md z-20 pointer-events-none","aria-hidden":"true",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground/70"})})]}),(0,Z.jsxs)("div",{className:"flex items-center justify-between px-4 py-1 border-t border-border text-xs text-muted-foreground/60",children:[(0,Z.jsxs)("span",{className:"text-[10.5px] text-muted-foreground/30 select-none hidden sm:block",children:[(0,Z.jsx)("kbd",{className:"rounded px-1 font-mono text-[9.5px] ring-1 ring-foreground/10",children:"⌘S"})," ","save",(0,Z.jsx)("span",{className:"mx-1.5 opacity-40",children:"·"}),(0,Z.jsx)("kbd",{className:"rounded px-1 font-mono text-[9.5px] ring-1 ring-foreground/10",children:"/"})," ","commands"]}),(0,Z.jsxs)("div",{className:"flex items-center gap-3",children:[(0,Z.jsxs)("div",{className:"flex items-center rounded-md border border-border overflow-hidden text-[10.5px]",role:"radiogroup","aria-label":"Edit mode",children:[(0,Z.jsx)("button",{type:"button",role:"radio","aria-checked":"editing"===h,onClick:()=>i("editing"),className:`px-2 py-0.5 transition-colors ${"editing"===h?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"}`,children:"Editing"}),(0,Z.jsx)("button",{type:"button",role:"radio","aria-checked":"suggesting"===h,onClick:()=>i("suggesting"),className:`px-2 py-0.5 transition-colors ${"suggesting"===h?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"}`,children:"Suggesting"})]}),(0,Z.jsxs)("span",{children:["saving"===c&&"Saving...","saved"===c&&"Saved","error"===c&&"Save failed"]})]})]})]})]}),p]})}function C6({path:a}){let b=`/api/assets/${a}`,c=a.split("/").pop()||a,d=c.includes(".")?c.split(".").pop()?.toUpperCase():"",e=async()=>{try{await fetch("/api/system/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})})}catch{}};return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(dJ,{path:a,badge:d||void 0}),(0,Z.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center max-w-sm",children:[(0,Z.jsx)("div",{className:"flex size-16 items-center justify-center rounded-2xl bg-muted",children:(0,Z.jsx)(aj,{className:"size-8 text-muted-foreground/50"})}),(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-sm font-medium",children:c}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"This file type can't be previewed in Cabinet."})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-2",onClick:e,children:[(0,Z.jsx)(an,{className:"h-4 w-4"}),"Open in Finder"]}),(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-2",onClick:()=>{let a=document.createElement("a");a.href=b,a.download=c,a.click()},children:[(0,Z.jsx)(dH,{className:"h-4 w-4"}),"Download"]})]})]})})]})}function C7({path:a,title:b}){let c=`/api/assets/${a}`,d=a.split("/").pop()||a,e=d.includes(".")?d.split(".").pop()?.toUpperCase():"IMG";return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:e,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=c,a.download=d,a.click()},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(c,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto flex items-center justify-center bg-[#1a1a1a] p-8",children:(0,Z.jsx)("img",{src:c,alt:b,className:"max-w-full max-h-full object-contain rounded-md shadow-lg",style:{imageRendering:"auto"}})})]})}function C8({path:a,type:b}){let c=`/api/assets/${a}`,d=a.split("/").pop()||a,e=d.includes(".")?d.split(".").pop()?.toUpperCase():b.toUpperCase();return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:e,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=c,a.download=d,a.click()},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(c,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto flex items-center justify-center bg-[#1a1a1a] p-8",children:"video"===b?(0,Z.jsx)("video",{src:c,controls:!0,className:"max-w-full max-h-full rounded-md shadow-lg",children:"Your browser does not support the video element."}):(0,Z.jsxs)("div",{className:"w-full max-w-lg space-y-4",children:[(0,Z.jsx)("div",{className:"text-center text-muted-foreground text-sm",children:d}),(0,Z.jsx)("audio",{src:c,controls:!0,className:"w-full",children:"Your browser does not support the audio element."})]})})]})}let C9=ad("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),Da=ad("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Db=ad("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),Dc=ad("zoom-in",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),Dd=ad("zoom-out",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);function De({path:b,title:c}){let[d,e]=(0,$.useState)(""),[f,g]=(0,$.useState)(""),[h,i]=(0,$.useState)(""),[j,k]=(0,$.useState)(!0),[l,m]=(0,$.useState)(!1),[n,o]=(0,$.useState)(!1),[p,q]=(0,$.useState)(1),[r,s]=(0,$.useState)({x:0,y:0}),[t,u]=(0,$.useState)(!1),v=(0,$.useRef)({x:0,y:0,panX:0,panY:0}),w=(0,$.useRef)(null),x=(0,$.useRef)(null),y=(0,$.useRef)(0),z=(0,$.useCallback)(a=>{if(a.ctrlKey||a.metaKey){a.preventDefault();let b=a.deltaY>0?-.25:.25;q(a=>Math.min(Math.max(a+b,.25),5))}},[]),A=(0,$.useCallback)(a=>{0===a.button&&(u(!0),v.current={x:a.clientX,y:a.clientY,panX:r.x,panY:r.y},a.target.setPointerCapture(a.pointerId))},[r]),B=(0,$.useCallback)(a=>{t&&s({x:v.current.panX+(a.clientX-v.current.x),y:v.current.panY+(a.clientY-v.current.y)})},[t]),C=(0,$.useCallback)(()=>{u(!1)},[]),D=`/api/assets/${b}`;b.split("/").pop();let E=(0,$.useCallback)(async()=>{k(!0),i("");try{let b=await fetch(D);if(!b.ok)throw Error("Failed to fetch file");let c=await b.text();e(c);let d=(await a.A(334743)).default;d.initialize({startOnLoad:!1,theme:document.documentElement.classList.contains("dark")?"dark":"default",securityLevel:"loose",suppressErrorRendering:!0}),await d.parse(c.trim());let f=`mermaid-${++y.current}`,{svg:h}=await d.render(f,c.trim());g(h)}catch(a){document.querySelectorAll('[id^="dmermaid-"], [id^="d"]:has(> .error-icon)').forEach(a=>a.remove()),i(a instanceof Error?a.message:"Failed to render diagram")}finally{k(!1)}},[D]);return(0,$.useEffect)(()=>{E()},[E]),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:b,badge:"MERMAID",children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:`h-7 gap-1.5 text-xs ${l?"bg-muted":""}`,onClick:()=>m(a=>!a),children:[l?(0,Z.jsx)(Da,{className:"h-3.5 w-3.5"}):(0,Z.jsx)(dG,{className:"h-3.5 w-3.5"}),l?"Diagram":"Code"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{navigator.clipboard.writeText(d),o(!0),setTimeout(()=>o(!1),2e3)},children:[n?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"}),n?"Copied":"Copy"]}),f&&!l&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{className:"h-4 w-px bg-border mx-0.5"}),(0,Z.jsx)(bT,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>q(a=>Math.max(a-.25,.25)),title:"Zoom out",children:(0,Z.jsx)(Dd,{className:"h-3.5 w-3.5"})}),(0,Z.jsxs)("span",{className:"text-[11px] text-muted-foreground tabular-nums w-10 text-center select-none",children:[Math.round(100*p),"%"]}),(0,Z.jsx)(bT,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>q(a=>Math.min(a+.25,5)),title:"Zoom in",children:(0,Z.jsx)(Dc,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(bT,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>{q(1),s({x:0,y:0})},title:"Reset view",children:(0,Z.jsx)(Db,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)("div",{className:"h-4 w-px bg-border mx-0.5"})]}),f&&(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{if(!f)return;let a=new Blob([f],{type:"image/svg+xml"}),b=URL.createObjectURL(a),d=document.createElement("a");d.href=b,d.download=`${c}.svg`,d.click(),URL.revokeObjectURL(b)},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"SVG"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto",children:j?(0,Z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Rendering diagram..."}):l?(0,Z.jsx)("pre",{className:"p-4 text-[13px] leading-relaxed font-mono bg-[#1e1e1e]",children:(0,Z.jsx)("code",{children:d.split("\n").map((a,b)=>(0,Z.jsxs)("div",{className:"flex",children:[(0,Z.jsx)("span",{className:"inline-block w-12 pr-4 text-right text-[#858585] select-none shrink-0",children:b+1}),(0,Z.jsx)("span",{className:"text-[#d4d4d4] flex-1",children:a||"\n"})]},b))})}):h?(0,Z.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4 text-sm p-8",children:[(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,Z.jsx)("div",{className:"h-10 w-10 rounded-full bg-red-500/10 flex items-center justify-center",children:(0,Z.jsx)(dG,{className:"h-5 w-5 text-red-500"})}),(0,Z.jsx)("p",{className:"text-red-500 font-medium",children:"Diagram syntax error"})]}),(0,Z.jsx)("pre",{className:"text-muted-foreground text-xs max-w-lg text-left bg-muted rounded-md p-3 overflow-auto whitespace-pre-wrap",children:h}),(0,Z.jsx)(bT,{variant:"outline",size:"sm",onClick:()=>m(!0),children:"View source to fix"})]}):(0,Z.jsx)("div",{ref:x,className:"relative w-full h-full overflow-hidden",style:{cursor:t?"grabbing":"grab"},onWheel:z,onPointerDown:A,onPointerMove:B,onPointerUp:C,children:(0,Z.jsx)("div",{ref:w,className:"flex items-center justify-center p-8 min-h-full [&_svg]:max-w-full origin-center select-none",style:{transform:`translate(${r.x}px, ${r.y}px) scale(${p})`},dangerouslySetInnerHTML:{__html:f}})})})]})}var Df="[0-9](_*[0-9])*",Dg=`\\.(${Df})`,Dh="[0-9a-fA-F](_*[0-9a-fA-F])*",Di={className:"number",variants:[{begin:`(\\b(${Df})((${Dg})|\\.)?|(${Dg}))[eE][+-]?(${Df})[fFdD]?\\b`},{begin:`\\b(${Df})((${Dg})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Dg})[fFdD]?\\b`},{begin:`\\b(${Df})[fFdD]\\b`},{begin:`\\b0[xX]((${Dh})\\.?|(${Dh})?\\.(${Dh}))[pP][+-]?(${Df})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Dh})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0},Dj="[0-9](_*[0-9])*",Dk=`\\.(${Dj})`,Dl="[0-9a-fA-F](_*[0-9a-fA-F])*",Dm={className:"number",variants:[{begin:`(\\b(${Dj})((${Dk})|\\.)?|(${Dk}))[eE][+-]?(${Dj})[fFdD]?\\b`},{begin:`\\b(${Dj})((${Dk})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Dk})[fFdD]?\\b`},{begin:`\\b(${Dj})[fFdD]\\b`},{begin:`\\b0[xX]((${Dl})\\.?|(${Dl})?\\.(${Dl}))[pP][+-]?(${Dj})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Dl})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};let Dn=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Do=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Dp=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Dq=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Dr=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),Ds=Dp.concat(Dq).sort().reverse(),Dt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Du=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Dv=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Dw=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Dx=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Dy(a){return a?"string"==typeof a?a:a.source:null}function Dz(a){return DA("(?=",a,")")}function DA(...a){return a.map(a=>Dy(a)).join("")}function DB(...a){let b;return"("+(("object"==typeof(b=a[a.length-1])&&b.constructor===Object?(a.splice(a.length-1,1),b):{}).capture?"":"?:")+a.map(a=>Dy(a)).join("|")+")"}let DC=a=>DA(/\b/,a,/\w$/.test(a)?/\b/:/\B/),DD=["Protocol","Type"].map(DC),DE=["init","self"].map(DC),DF=["Any","Self"],DG=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],DH=["false","nil","true"],DI=["assignment","associativity","higherThan","left","lowerThan","none","right"],DJ=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],DK=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],DL=DB(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),DM=DB(DL,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),DN=DA(DL,DM,"*"),DO=DB(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),DP=DB(DO,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),DQ=DA(DO,DP,"*"),DR=DA(/[A-Z]/,DP,"*"),DS=["attached","autoclosure",DA(/convention\(/,DB("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",DA(/objc\(/,DQ,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],DT=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"],DU={arduino:function(a){let b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=(b=a.regex,c=a.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),e="[a-zA-Z_]\\w*::",f="(?!struct)("+(d="decltype\\(auto\\)")+"|"+b.optional(e)+"[a-zA-Z_]\\w*"+b.optional("<[^<>]+>")+")",g={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},a.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},j={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},c,a.C_BLOCK_COMMENT_MODE]},k={className:"title",begin:b.optional(e)+a.IDENT_RE,relevance:0},l=b.optional(e)+a.IDENT_RE+"\\s*\\(",p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},contains:(o=[n={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:b.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,a.IDENT_RE,b.lookahead(/(<[^<>]+>|)\s*\(/))},j,g,c,a.C_BLOCK_COMMENT_MODE,i,h]).concat([{begin:/\(/,end:/\)/,keywords:m,contains:o.concat(["self"]),relevance:0}]),relevance:0},q={className:"function",begin:"("+f+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:d,keywords:m,relevance:0},{begin:l,returnBegin:!0,contains:[k],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,i]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[c,a.C_BLOCK_COMMENT_MODE,h,i,g,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",c,a.C_BLOCK_COMMENT_MODE,h,i,g]}]},g,c,a.C_BLOCK_COMMENT_MODE,j]},{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(p,q,n,o,[j,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:m,contains:["self",g]},{begin:a.IDENT_RE+"::",keywords:m},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}),s=r.keywords;return s.type=[...s.type,"boolean","byte","word","String"],s.literal=[...s.literal,"DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"],s.built_in=[...s.built_in,"KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],s._hints=["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],r.name="Arduino",r.aliases=["ino"],r.supersetOf="cpp",r},bash:AH,c:function(a){let b=a.regex,c=a.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),d="decltype\\(auto\\)",e="[a-zA-Z_]\\w*::",f="("+d+"|"+b.optional(e)+"[a-zA-Z_]\\w*"+b.optional("<[^<>]+>")+")",g={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},a.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},j={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},c,a.C_BLOCK_COMMENT_MODE]},k={className:"title",begin:b.optional(e)+a.IDENT_RE,relevance:0},l=b.optional(e)+a.IDENT_RE+"\\s*\\(",m={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},n=[j,g,c,a.C_BLOCK_COMMENT_MODE,i,h],o={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:n.concat([{begin:/\(/,end:/\)/,keywords:m,contains:n.concat(["self"]),relevance:0}]),relevance:0},p={begin:"("+f+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:d,keywords:m,relevance:0},{begin:l,returnBegin:!0,contains:[a.inherit(k,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[c,a.C_BLOCK_COMMENT_MODE,h,i,g,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",c,a.C_BLOCK_COMMENT_MODE,h,i,g]}]},g,c,a.C_BLOCK_COMMENT_MODE,j]};return{name:"C",aliases:["h"],keywords:m,disableAutodetect:!0,illegal:"</",contains:[].concat(o,p,n,[j,{begin:a.IDENT_RE+"::",keywords:m},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},a.TITLE_MODE]}]),exports:{preprocessor:j,strings:h,keywords:m}}},cpp:function(a){let b=a.regex,c=a.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),d="decltype\\(auto\\)",e="[a-zA-Z_]\\w*::",f="(?!struct)("+d+"|"+b.optional(e)+"[a-zA-Z_]\\w*"+b.optional("<[^<>]+>")+")",g={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},a.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},j={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},c,a.C_BLOCK_COMMENT_MODE]},k={className:"title",begin:b.optional(e)+a.IDENT_RE,relevance:0},l=b.optional(e)+a.IDENT_RE+"\\s*\\(",m={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},n={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:b.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,a.IDENT_RE,b.lookahead(/(<[^<>]+>|)\s*\(/))},o=[n,j,g,c,a.C_BLOCK_COMMENT_MODE,i,h],p={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:o.concat([{begin:/\(/,end:/\)/,keywords:m,contains:o.concat(["self"]),relevance:0}]),relevance:0},q={className:"function",begin:"("+f+"[\\*&\\s]+)+"+l,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:d,keywords:m,relevance:0},{begin:l,returnBegin:!0,contains:[k],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,i]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[c,a.C_BLOCK_COMMENT_MODE,h,i,g,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:["self",c,a.C_BLOCK_COMMENT_MODE,h,i,g]}]},g,c,a.C_BLOCK_COMMENT_MODE,j]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(p,q,n,o,[j,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:m,contains:["self",g]},{begin:a.IDENT_RE+"::",keywords:m},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}},csharp:function(a){let b={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},c=a.inherit(a.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},e={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=a.inherit(e,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:b},h=a.inherit(g,{illegal:/\n/}),i={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},a.BACKSLASH_ESCAPE,h]},j={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},k=a.inherit(j,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]});g.contains=[j,i,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,d,a.C_BLOCK_COMMENT_MODE],h.contains=[k,i,f,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,d,a.inherit(a.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let l={variants:[{className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},j,i,e,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},m={begin:"<",end:">",contains:[{beginKeywords:"in out"},c]},n=a.IDENT_RE+"(<"+a.IDENT_RE+"(\\s*,\\s*"+a.IDENT_RE+")*>)?(\\[\\])?",o={begin:"@"+a.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:b,illegal:/::/,contains:[a.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},l,d,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},c,m,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[c,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[c,m,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+n+"\\s+)+"+a.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:b,contains:[{beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",relevance:0},{begin:a.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[a.TITLE_MODE,m],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,relevance:0,contains:[l,d,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},o]}},css:AN,diff:function(a){let b=a.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:b.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:b.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}},go:AO,graphql:function(a){let b=a.regex;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[a.HASH_COMMENT_MODE,a.QUOTE_STRING_MODE,a.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:b.concat(/[_A-Za-z][_0-9A-Za-z]*/,b.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}},ini:function(a){let b=a.regex,c={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},d=a.COMMENT();d.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let e={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},f={className:"literal",begin:/\bon|off|true|false|yes|no\b/},g={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},h=b.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[d,{className:"section",begin:/\[+/,end:/\]+/},{begin:b.concat(h,"(\\s*\\.\\s*",h,")*",b.lookahead(/\s*=\s*[^#\s]/)),className:"attr",starts:{end:/$/,contains:[d,{begin:/\[/,end:/\]/,contains:[d,f,e,g,c,"self"],relevance:0},f,e,g,c]}}]}},java:function(a){let b=a.regex,c="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",d=c+function a(b,c,d){return -1===d?"":b.replace(c,e=>a(b,c,d-1))}("(?:<"+c+"~~~(?:\\s*,\\s*"+c+"~~~)*>)?",/~~~/g,2),e={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},f={className:"meta",begin:"@"+c,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},g={className:"params",begin:/\(/,end:/\)/,keywords:e,relevance:0,contains:[a.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:e,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[a.BACKSLASH_ESCAPE]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,c],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[b.concat(/(?!else)/,c),/\s+/,c,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,c],className:{1:"keyword",3:"title.class"},contains:[g,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+d+"\\s+)",a.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:e,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:e,relevance:0,contains:[f,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,Di,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},Di,f]}},javascript:AX,json:AY,kotlin:function(a){let b={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},c={className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"@"},d={className:"subst",begin:/\$\{/,end:/\}/,contains:[a.C_NUMBER_MODE]},e={className:"variable",begin:"\\$"+a.UNDERSCORE_IDENT_RE},f={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[e,d]},{begin:"'",end:"'",illegal:/\n/,contains:[a.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[a.BACKSLASH_ESCAPE,e,d]}]};d.contains.push(f);let g={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+a.UNDERSCORE_IDENT_RE+")?"},h={className:"meta",begin:"@"+a.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[a.inherit(f,{className:"string"}),"self"]}]},i=a.COMMENT("/\\*","\\*/",{contains:[a.C_BLOCK_COMMENT_MODE]}),j={variants:[{className:"type",begin:a.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]};return j.variants[1].contains=[j],j.variants[1].contains=[j],{name:"Kotlin",aliases:["kt","kts"],keywords:b,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),a.C_LINE_COMMENT_MODE,i,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},c,g,h,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:b,relevance:5,contains:[{begin:a.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[a.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:b,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[j,a.C_LINE_COMMENT_MODE,i],relevance:0},a.C_LINE_COMMENT_MODE,i,g,h,f,a.C_NUMBER_MODE]},i]},{begin:[/class|interface|trait/,/\s+/,a.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},a.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},g,h]},f,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},Dm]}},less:function(a){let b={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},c="[\\w-]+",d="("+c+"|@\\{"+c+"\\})",e=[],f=[],g=function(a){return{className:"string",begin:"~?"+a+".*?"+a}},h=function(a,b,c){return{className:a,begin:b,relevance:c}},i={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Do.join(" ")};f.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,g("'"),g('"'),b.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},b.HEXCOLOR,{begin:"\\(",end:"\\)",contains:f,keywords:i,relevance:0},h("variable","@@?"+c,10),h("variable","@\\{"+c+"\\}"),h("built_in","~?`[^`]*?`"),{className:"attribute",begin:c+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},b.IMPORTANT,{beginKeywords:"and not"},b.FUNCTION_DISPATCH);let j=f.concat({begin:/\{/,end:/\}/,contains:e}),k={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(f)},l={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},b.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Dr.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:f}}]},m={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,k,h("keyword","all\\b"),h("variable","@\\{"+c+"\\}"),{begin:"\\b("+Dn.join("|")+")\\b",className:"selector-tag"},b.CSS_NUMBER_MODE,h("selector-tag",d,0),h("selector-id","#"+d),h("selector-class","\\."+d,0),h("selector-tag","&",0),b.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Dp.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Dq.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:j},{begin:"!important"},b.FUNCTION_DISPATCH]},n={begin:c+":(:)?"+`(${Ds.join("|")})`,returnBegin:!0,contains:[m]};return e.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:i,returnEnd:!0,contains:f,relevance:0}},{className:"variable",variants:[{begin:"@"+c+"\\s*:",relevance:15},{begin:"@"+c}],starts:{end:"[;}]",returnEnd:!0,contains:j}},n,l,m,k,b.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:e}},lua:function(a){let b="\\[=*\\[",c="\\]=*\\]",d={begin:b,end:c,contains:["self"]},e=[a.COMMENT("--(?!"+b+")","$"),a.COMMENT("--"+b,c,{contains:[d],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:a.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:e.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[a.inherit(a.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:e}].concat(e)},a.C_NUMBER_MODE,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{className:"string",begin:b,end:c,contains:[d],relevance:5}])}},makefile:function(a){let b={className:"variable",variants:[{begin:"\\$\\("+a.UNDERSCORE_IDENT_RE+"\\)",contains:[a.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},c={className:"string",begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,b]},d={begin:"^"+a.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[a.HASH_COMMENT_MODE,b,c,{className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[b,c]},d,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},{className:"section",begin:/^[^\s]+:/,end:/$/,contains:[b]}]}},markdown:AZ,objectivec:function(a){let b=/[a-zA-Z@][a-zA-Z0-9_]*/,c={$pattern:b,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:b,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.C_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[a.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},a.inherit(a.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[a.UNDERSCORE_TITLE_MODE]},{begin:"\\."+a.UNDERSCORE_IDENT_RE,relevance:0}]}},perl:function(a){let b=a.regex,c=/[dualxmsipngr]{0,12}/,d={$pattern:/[\w.]+/,keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"},e={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:d},f={begin:/->\{/,end:/\}/},g={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},h={scope:"variable",variants:[{begin:/\$\d/},{begin:b.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[g]},i={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},j=[a.BACKSLASH_ESCAPE,e,h],k=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(a,d,e="\\1")=>{let f="\\1"===e?e:b.concat(e,d);return b.concat(b.concat("(?:",a,")"),d,/(?:\\.|[^\\\/])*?/,f,/(?:\\.|[^\\\/])*?/,e,c)},m=(a,d,e)=>b.concat(b.concat("(?:",a,")"),d,/(?:\\.|[^\\\/])*?/,e,c),n=[h,a.HASH_COMMENT_MODE,a.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),f,{className:"string",contains:j,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[a.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},i,{begin:"(\\/\\/|"+a.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[a.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",b.either(...k,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:m("(?:m|qr)?",/\//,/\//)},{begin:m("m|qr",b.either(...k,{capture:!0}),/\1/)},{begin:m("m|qr",/\(/,/\)/)},{begin:m("m|qr",/\[/,/\]/)},{begin:m("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[a.TITLE_MODE,g]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[a.TITLE_MODE,g,i]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return e.contains=n,f.contains=n,{name:"Perl",aliases:["pl","pm"],keywords:d,contains:n}},php:function(a){let b,c=a.regex,d=/(?![A-Za-z0-9])(?![$])/,e=c.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,d),f=c.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,d),g=c.concat(/[A-Z]+/,d),h={scope:"variable",match:"\\$+"+e},i={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},j=a.inherit(a.APOS_STRING_MODE,{illegal:null}),k=a.inherit(a.QUOTE_STRING_MODE,{illegal:null,contains:a.QUOTE_STRING_MODE.contains.concat(i)}),l={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:a.QUOTE_STRING_MODE.contains.concat(i),"on:begin":(a,b)=>{b.data._beginMatch=a[1]||a[2]},"on:end":(a,b)=>{b.data._beginMatch!==a[1]&&b.ignoreMatch()}},m=a.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),n="[ \n]",o={scope:"string",variants:[k,j,l,m]},p={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},q=["false","null","true"],r=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],s=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],t={keyword:r,literal:(b=[],q.forEach(a=>{b.push(a),a.toLowerCase()===a?b.push(a.toUpperCase()):b.push(a.toLowerCase())}),b),built_in:s},u=a=>a.map(a=>a.replace(/\|\d+$/,"")),v={variants:[{match:[/new/,c.concat(n,"+"),c.concat("(?!",u(s).join("\\b|"),"\\b)"),f],scope:{1:"keyword",4:"title.class"}}]},w=c.concat(e,"\\b(?!\\()"),x={variants:[{match:[c.concat(/::/,c.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[f,c.concat(/::/,c.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[f,c.concat("::",c.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[f,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},y={scope:"attr",match:c.concat(e,c.lookahead(":"),c.lookahead(/(?!::)/))},z={relevance:0,begin:/\(/,end:/\)/,keywords:t,contains:[y,h,x,a.C_BLOCK_COMMENT_MODE,o,p,v]},A={relevance:0,match:[/\b/,c.concat("(?!fn\\b|function\\b|",u(r).join("\\b|"),"|",u(s).join("\\b|"),"\\b)"),e,c.concat(n,"*"),c.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[z]};z.contains.push(A);let B=[y,x,a.C_BLOCK_COMMENT_MODE,o,p,v],C={begin:c.concat(/#\[\s*\\?/,c.either(f,g)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:q,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:q,keyword:["new","array"]},contains:["self",...B]},...B,{scope:"meta",variants:[{match:f},{match:g}]}]};return{case_insensitive:!1,keywords:t,contains:[C,a.HASH_COMMENT_MODE,a.COMMENT("//","$"),a.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:a.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},h,A,x,{match:[/const/,/\s/,e],scope:{1:"keyword",3:"variable.constant"}},v,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},a.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",C,h,x,a.C_BLOCK_COMMENT_MODE,o,p]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},a.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[a.inherit(a.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},a.UNDERSCORE_TITLE_MODE]},o,p]}},"php-template":function(a){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},a.inherit(a.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),a.inherit(a.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}},plaintext:function(a){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}},python:A$,"python-repl":function(a){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}},r:function(a){let b=a.regex,c=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,d=b.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),e=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,f=b.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:c,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[a.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:b.lookahead(b.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:c},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),a.HASH_COMMENT_MODE,{scope:"string",contains:[a.BACKSLASH_ESCAPE],variants:[a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[e,d]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,d]},{scope:{1:"punctuation",2:"number"},match:[f,d]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,d]}]},{scope:{3:"operator"},match:[c,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:e},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:f},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}},ruby:function(a){let b=a.regex,c="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",d=b.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),e=b.concat(d,/(::\w+)*/),f={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},g={className:"doctag",begin:"@[A-Za-z]+"},h={begin:"#<",end:">"},i=[a.COMMENT("#","$",{contains:[g]}),a.COMMENT("^=begin","^=end",{contains:[g],relevance:10}),a.COMMENT("^__END__",a.MATCH_NOTHING_RE)],j={className:"subst",begin:/#\{/,end:/\}/,keywords:f},k={className:"string",contains:[a.BACKSLASH_ESCAPE,j],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:b.concat(/<<[-~]?'?/,b.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[a.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[a.BACKSLASH_ESCAPE,j]})]}]},l="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${l}))?([eE][+-]?(${l})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},n={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:f}]},o=[k,{variants:[{match:[/class\s+/,e,/\s+<\s+/,e]},{match:[/\b(class|module)\s+/,e]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:f},{match:[/(include|extend)\s+/,e],scope:{2:"title.class"},keywords:f},{relevance:0,match:[e,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:d,scope:"title.class"},{match:[/def/,/\s+/,c],scope:{1:"keyword",3:"title.function"},contains:[n]},{begin:a.IDENT_RE+"::"},{className:"symbol",begin:a.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[k,{begin:c}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:f},{begin:"("+a.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[a.BACKSLASH_ESCAPE,j],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(h,i),relevance:0}].concat(h,i);j.contains=o,n.contains=o;let p=[{begin:/^\s*=>/,starts:{end:"$",contains:o}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:f,contains:o}}];return i.unshift(h),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:f,illegal:/\/\*/,contains:[a.SHEBANG({binary:"ruby"})].concat(p).concat(i).concat(o)}},rust:A_,scss:function(a){let b={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},c="@[a-z-]+",d={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,b.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},b.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Dt.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+Dv.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Dw.join("|")+")"},d,{begin:/\(/,end:/\)/,contains:[b.CSS_NUMBER_MODE]},b.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Dx.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[b.BLOCK_COMMENT,d,b.HEXCOLOR,b.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,b.IMPORTANT,b.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:c,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Du.join(" ")},contains:[{begin:c,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},d,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,b.HEXCOLOR,b.CSS_NUMBER_MODE]},b.FUNCTION_DISPATCH]}},shell:A0,sql:A1,swift:function(a){let b={match:/\s+/,relevance:0},c=a.COMMENT("/\\*","\\*/",{contains:["self"]}),d=[a.C_LINE_COMMENT_MODE,c],e={match:[/\./,DB(...DD,...DE)],className:{2:"keyword"}},f={match:DA(/\./,DB(...DG)),relevance:0},g=DG.filter(a=>"string"==typeof a).concat(["_|0"]),h={variants:[{className:"keyword",match:DB(...DG.filter(a=>"string"!=typeof a).concat(DF).map(DC),...DE)}]},i={$pattern:DB(/\b\w+/,/#\w+/),keyword:g.concat(DJ),literal:DH},j=[e,f,h],k=[{match:DA(/\./,DB(...DK)),relevance:0},{className:"built_in",match:DA(/\b/,DB(...DK),/(?=\()/)}],l={match:/->/,relevance:0},m=[l,{className:"operator",relevance:0,variants:[{match:DN},{match:`\\.(\\.|${DM})+`}]}],n="([0-9]_*)+",o="([0-9a-fA-F]_*)+",p={className:"number",relevance:0,variants:[{match:`\\b(${n})(\\.(${n}))?([eE][+-]?(${n}))?\\b`},{match:`\\b0x(${o})(\\.(${o}))?([pP][+-]?(${n}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},q=(a="")=>({className:"subst",variants:[{match:DA(/\\/,a,/[0\\tnr"']/)},{match:DA(/\\/,a,/u\{[0-9a-fA-F]{1,8}\}/)}]}),r=(a="")=>({className:"subst",label:"interpol",begin:DA(/\\/,a,/\(/),end:/\)/}),s=(a="")=>({begin:DA(a,/"""/),end:DA(/"""/,a),contains:[q(a),((a="")=>({className:"subst",match:DA(/\\/,a,/[\t ]*(?:[\r\n]|\r\n)/)}))(a),r(a)]}),t=(a="")=>({begin:DA(a,/"/),end:DA(/"/,a),contains:[q(a),r(a)]}),u={className:"string",variants:[s(),s("#"),s("##"),s("###"),t(),t("#"),t("##"),t("###")]},v=[a.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[a.BACKSLASH_ESCAPE]}],w=a=>{let b=DA(a,/\//),c=DA(/\//,a);return{begin:b,end:c,contains:[...v,{scope:"comment",begin:`#(?!.*${c})`,end:/$/}]}},x={scope:"regexp",variants:[w("###"),w("##"),w("#"),{begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:v}]},y={match:DA(/`/,DQ,/`/)},z=[y,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${DP}+`}],A=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:DT,contains:[...m,p,u]}]}},{scope:"keyword",match:DA(/@/,DB(...DS),Dz(DB(/\(/,/\s+/)))},{scope:"meta",match:DA(/@/,DQ)}],B={match:Dz(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:DA(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,DP,"+")},{className:"type",match:DR,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:DA(/\s+&\s+/,Dz(DR)),relevance:0}]},C={begin:/</,end:/>/,keywords:i,contains:[...d,...j,...A,l,B]};B.contains.push(C);let D={begin:/\(/,end:/\)/,relevance:0,keywords:i,contains:["self",{match:DA(DQ,/\s*:/),keywords:"_|0",relevance:0},...d,x,...j,...k,...m,p,u,...z,...A,B]},E={begin:/</,end:/>/,keywords:"repeat each",contains:[...d,B]},F={begin:/\(/,end:/\)/,keywords:i,contains:[{begin:DB(Dz(DA(DQ,/\s*:/)),Dz(DA(DQ,/\s+/,DQ,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:DQ}]},...d,...j,...m,p,u,...A,B,D],endsParent:!0,illegal:/["']/},G={match:[/(func|macro)/,/\s+/,DB(y.match,DQ,DN)],className:{1:"keyword",3:"title.function"},contains:[E,F,b],illegal:[/\[/,/%/]},H={begin:[/precedencegroup/,/\s+/,DR],className:{1:"keyword",3:"title"},contains:[B],keywords:[...DI,...DH],end:/}/},I={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,DQ,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:i,contains:[E,...j,{begin:/:/,end:/\{/,keywords:i,contains:[{scope:"title.class.inherited",match:DR},...j],relevance:0}]};for(let a of u.variants){let b=a.contains.find(a=>"interpol"===a.label);b.keywords=i;let c=[...j,...k,...m,p,u,...z];b.contains=[...c,{begin:/\(/,end:/\)/,contains:["self",...c]}]}return{name:"Swift",keywords:i,contains:[...d,G,{match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[E,F,b],illegal:/\[|%/},{match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},I,{match:[/operator/,/\s+/,DN],className:{1:"keyword",3:"title"}},H,{beginKeywords:"import",end:/$/,contains:[...d],relevance:0},x,...j,...k,...m,p,u,...z,...A,B,D]}},typescript:Ba,vbnet:function(a){let b=a.regex,c=/\d{1,2}\/\d{1,2}\/\d{4}/,d=/\d{4}-\d{1,2}-\d{1,2}/,e=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,f=/\d{1,2}(:\d{1,2}){1,2}/,g={className:"literal",variants:[{begin:b.concat(/# */,b.either(d,c),/ *#/)},{begin:b.concat(/# */,f,/ *#/)},{begin:b.concat(/# */,e,/ *#/)},{begin:b.concat(/# */,b.either(d,c),/ +/,b.either(e,f),/ *#/)}]},h=a.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),i=a.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},g,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},h,i,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[i]}]}},wasm:function(a){a.regex;let b=a.COMMENT(/\(;/,/;\)/);return b.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[a.COMMENT(/;;/,/$/),b,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},a.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}},xml:Bb,yaml:Bc},DV=Be(DU);function DW(a){return Array.isArray(a)?a.join(""):a??""}let DX=/\x1b\[[0-9;]*[A-Za-z]/g;function DY(a){return a.replace(DX,"")}function DZ({output:a}){if("stream"===a.output_type){let b=DY(DW(a.text)),c="stderr"===a.name;return(0,Z.jsx)("pre",{className:`whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md ${c?"bg-[rgba(139,46,62,0.06)] text-[#8B2E3E]":"bg-[#F5EEDC] text-[#2A221B]"}`,children:b})}if("error"===a.output_type){let b=a.traceback.map(DY).join("\n");return(0,Z.jsxs)("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md bg-[rgba(139,46,62,0.08)] text-[#8B2E3E] border border-[rgba(139,46,62,0.18)]",children:[(0,Z.jsxs)("span",{className:"font-semibold",children:[a.ename,": ",a.evalue]}),b?`
|
|
114
114
|
|
|
115
|
-
${b}`:""]})}let b=a.data||{};if(b["image/png"]){let a=`data:image/png;base64,${DW(b["image/png"]).replace(/\s/g,"")}`;return(0,Z.jsx)("img",{src:a,alt:"output",className:"max-w-full rounded-md bg-card p-2"})}if(b["image/jpeg"]){let a=`data:image/jpeg;base64,${DW(b["image/jpeg"]).replace(/\s/g,"")}`;return(0,Z.jsx)("img",{src:a,alt:"output",className:"max-w-full rounded-md bg-card p-2"})}if(b["image/svg+xml"]){let a=DW(b["image/svg+xml"]);return(0,Z.jsx)("div",{className:"max-w-full rounded-md bg-card p-2 overflow-auto",dangerouslySetInnerHTML:{__html:a}})}if(b["text/html"]){let a=DW(b["text/html"]);return(0,Z.jsx)("iframe",{srcDoc:`<!doctype html><html><head><base target="_blank"><style>body{margin:0;padding:8px;font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;background:#FFF9E9;color:#2A221B;font-size:13px}table{border-collapse:collapse}th,td{border:1px solid #D4C4B0;padding:4px 8px;text-align:left}thead{background:#EFE5CC}</style></head><body>${a}</body></html>`,sandbox:"allow-scripts",className:"w-full bg-[#FFF9E9] rounded-md border border-[#E8DDC5]",style:{height:360}})}return b["text/plain"]?(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md bg-[#F5EEDC] text-[#2A221B]",children:DY(DW(b["text/plain"]))}):null}function D$({cell:a,language:b}){let c=DW(a.source),d=(0,$.useMemo)(()=>(function(a,b){try{let c=b?DV.highlight(b,a):DV.highlightAuto(a);return q8(c)}catch{return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}})(c,b),[c,b]),e=a.execution_count??" ",f=(a.outputs?.length??0)>0;return(0,Z.jsxs)("div",{className:"grid grid-cols-[60px_1fr] gap-3 mb-5",children:[(0,Z.jsxs)("div",{className:"text-right pt-3 select-none font-mono text-[11px] text-[#8B5E3C]",children:["In [",e,"]:"]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("pre",{className:"whitespace-pre overflow-x-auto font-mono text-[13px] leading-relaxed px-4 py-3 rounded-md bg-[#FFF9E9] border border-[#E8DDC5] text-[#2A221B]",children:(0,Z.jsx)("code",{dangerouslySetInnerHTML:{__html:d}})}),f&&(0,Z.jsxs)("div",{className:"mt-2 grid grid-cols-[60px_1fr] gap-3",children:[(0,Z.jsxs)("div",{className:"text-right pt-3 select-none font-mono text-[11px] text-[#8B2E3E]",children:["Out[",e,"]:"]}),(0,Z.jsx)("div",{className:"space-y-2",children:a.outputs?.map((a,b)=>(0,Z.jsx)(DZ,{output:a},b))})]})]})]})}function D_({cell:a}){let[b,c]=(0,$.useState)("");return(0,$.useEffect)(()=>{let b=!1;return uh(DW(a.source)).then(a=>{b||c(a)}),()=>{b=!0}},[a.source]),(0,Z.jsx)("div",{className:"prose prose-sm max-w-none mb-5 px-1 [&_h1]:font-serif [&_h2]:font-serif [&_h3]:font-serif [&_a]:text-[#8B5E3C] [&_a:hover]:underline [&_code]:bg-[#F5EEDC] [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:rounded [&_code]:text-[#8B2E3E]",dangerouslySetInnerHTML:{__html:b}})}function D0({cell:a}){return(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md bg-[#F5EEDC] text-[#2A221B] mb-5",children:DW(a.source)})}function D1({path:a}){let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(!0),[f,g]=(0,$.useState)(null),[h,i]=(0,$.useState)(!1),j=`/api/assets/${a}`,k=a.split("/").pop()||a,l=(0,$.useCallback)(async()=>{e(!0),g(null);try{let a=await fetch(j);if(!a.ok)throw Error(`HTTP ${a.status}`);let b=await a.json();c(b)}catch(a){g(a instanceof Error?a.message:"Failed to load notebook")}finally{e(!1)}},[j]);(0,$.useEffect)(()=>{l()},[l]);let m=b?.metadata?.language_info?.name||b?.metadata?.kernelspec?.name||"python",n=b?.cells?.length??0,o=b?.cells?.filter(a=>"code"===a.cell_type).length??0,p=b?.cells?.some(a=>"code"===a.cell_type&&(a.outputs?.length??0)>0)??!1;return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:"IPYNB",sublabel:`${n} cells \xb7 ${o} code \xb7 ${m}`,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{navigator.clipboard.writeText(`jupyter lab ${a}`),i(!0),setTimeout(()=>i(!1),2e3)},title:"Copy: jupyter lab <path>",children:[h?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"}),h?"Copied":"Copy run cmd"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=j,a.download=k,a.click()},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(j,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Raw JSON"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto bg-[#F5EEDC]",children:d?(0,Z.jsx)("div",{className:"flex items-center justify-center h-full text-[#7A6B5D] text-sm",children:"Loading notebook…"}):f?(0,Z.jsxs)("div",{className:"flex items-center justify-center h-full text-[#8B2E3E] text-sm gap-2",children:[(0,Z.jsx)(ae,{className:"h-4 w-4"})," ",f]}):b?(0,Z.jsxs)("div",{className:"max-w-[1100px] mx-auto py-8 px-6",children:[!p&&o>0&&(0,Z.jsxs)("div",{className:"mb-6 rounded-md border border-[#E8DDC5] bg-[#FFF9E9] px-4 py-3 text-[13px] text-[#7A6B5D]",children:[(0,Z.jsx)("span",{className:"font-semibold text-[#0c0a09]",children:"This notebook hasn't been run yet."})," ","Code and markdown cells display below; outputs appear once the author runs the notebook in Jupyter (or you do, then re-save)."]}),b.cells?.map((a,b)=>"markdown"===a.cell_type?(0,Z.jsx)(D_,{cell:a},b):"raw"===a.cell_type?(0,Z.jsx)(D0,{cell:a},b):(0,Z.jsx)(D$,{cell:a,language:m},b))]}):null})]})}function D2({path:a,extLabel:b,external:c,hideFinder:d}){let e=`/api/assets/${a}`,f=a.split("/").pop()||a,g=async()=>{try{await fetch("/api/system/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})})}catch{}};return(0,Z.jsxs)(dJ,{path:a,badge:b||void 0,children:[c&&(0,Z.jsxs)("a",{href:c.href,target:"_blank",rel:"noreferrer noopener",className:"inline-flex items-center gap-1.5 text-[11px] h-7 px-2.5 rounded-md border border-border hover:bg-accent transition-colors",children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),c.label]}),!d&&(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-1.5 text-[11px] h-7",onClick:g,title:"Open in Finder",children:[(0,Z.jsx)(an,{className:"h-3.5 w-3.5"}),"Reveal"]}),!d&&(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-1.5 text-[11px] h-7",onClick:()=>{let a=document.createElement("a");a.href=e,a.download=f,a.click()},title:"Download original",children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]})]})}function D3({path:b,title:c}){let d=(0,$.useRef)(null),[e,f]=(0,$.useState)(!0),[g,h]=(0,$.useState)(null);return(0,$.useEffect)(()=>{let c=!1,e=d.current;if(e)return e.innerHTML="",(async()=>{f(!0),h(null);try{let[{renderAsync:d},g]=await Promise.all([a.A(458647),fetch(`/api/assets/${b}`)]);if(c)return;if(!g.ok)throw Error(`Failed to load file (${g.status})`);let h=await g.blob();if(c)return;await d(h,e,void 0,{className:"docx-rendered",inWrapper:!0,ignoreWidth:!1,ignoreHeight:!1,breakPages:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,experimental:!0,useBase64URL:!0}),c||f(!1)}catch(a){c||(h(a instanceof Error?a.message:"Failed to render document"),f(!1))}})(),()=>{c=!0}},[b]),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(D2,{path:b,title:c,extLabel:"DOCX"}),(0,Z.jsxs)("div",{className:"flex-1 overflow-y-auto bg-muted/30",children:[e&&!g&&(0,Z.jsxs)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:[(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin mr-2"}),"Rendering document…"]}),g&&(0,Z.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"text-center space-y-2",children:[(0,Z.jsx)("p",{className:"text-sm text-destructive",children:g}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Try downloading the file and opening it externally."})]})}),(0,Z.jsx)("div",{ref:d,className:"docx-viewer-body mx-auto max-w-5xl py-6 px-4"})]})]})}function D4({path:b,title:c}){let d=(0,$.useRef)(null),[e,f]=(0,$.useState)(!0),[g,h]=(0,$.useState)(null);return(0,$.useEffect)(()=>{let c=!1,e=d.current;if(!e)return;e.innerHTML="";let g=null;return(async()=>{f(!0),h(null);try{let[{init:d},h]=await Promise.all([a.A(287443),fetch(`/api/assets/${b}`)]);if(c)return;if(!h.ok)throw Error(`Failed to load file (${h.status})`);let i=await h.arrayBuffer();if(c)return;let j=e.clientWidth||960,k=Math.round(9*j/16);g=d(e,{width:j,height:k,mode:"list"}),await g.preview(i),c||f(!1)}catch(a){c||(h(a instanceof Error?a.message:"Failed to render presentation"),f(!1))}})(),()=>{c=!0;try{g?.destroy?.()}catch{}}},[b]),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(D2,{path:b,title:c,extLabel:"PPTX"}),(0,Z.jsxs)("div",{className:"flex-1 overflow-auto bg-muted/30 py-4",children:[e&&!g&&(0,Z.jsxs)("div",{className:"h-[60vh] flex items-center justify-center text-muted-foreground",children:[(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin mr-2"}),"Rendering slides…"]}),g&&(0,Z.jsx)("div",{className:"h-[60vh] flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"text-center space-y-2",children:[(0,Z.jsx)("p",{className:"text-sm text-destructive",children:g}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Try downloading the file and opening it externally."})]})}),(0,Z.jsx)("div",{ref:d,className:"pptx-viewer-body mx-auto max-w-5xl px-4"})]})]})}function D5({path:b,title:c}){let[d,e]=(0,$.useState)(null),[f,g]=(0,$.useState)(0),[h,i]=(0,$.useState)(!0),[j,k]=(0,$.useState)(null);(0,$.useEffect)(()=>{let c=!1;return i(!0),k(null),e(null),(async()=>{try{let[d,f]=await Promise.all([a.A(57386),fetch(`/api/assets/${b}`)]);if(c)return;if(!f.ok)throw Error(`Failed to load file (${f.status})`);let h=await f.arrayBuffer();if(c)return;let j=d.read(h,{type:"array",cellDates:!0,cellStyles:!0}),k=j.SheetNames.map(a=>({name:a,html:d.utils.sheet_to_html(j.Sheets[a],{editable:!1})}));if(c)return;e(k),g(0),i(!1)}catch(a){c||(k(a instanceof Error?a.message:"Failed to parse spreadsheet"),i(!1))}})(),()=>{c=!0}},[b]);let l=(0,$.useMemo)(()=>d?.[f]??null,[d,f]);return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(D2,{path:b,title:c,extLabel:"XLSX"}),d&&d.length>1&&(0,Z.jsx)("div",{className:"flex items-center gap-0.5 border-b border-border bg-muted/40 px-2 overflow-x-auto scrollbar-none",children:d.map((a,b)=>(0,Z.jsx)("button",{type:"button",onClick:()=>g(b),className:bR("px-3 py-1.5 text-[12px] rounded-t whitespace-nowrap transition-colors",b===f?"bg-background text-foreground font-medium border-t border-x border-border -mb-px":"text-muted-foreground hover:text-foreground"),children:a.name},a.name+b))}),(0,Z.jsxs)("div",{className:"flex-1 overflow-auto",children:[h&&!j&&(0,Z.jsxs)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:[(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin mr-2"}),"Parsing spreadsheet…"]}),j&&(0,Z.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"text-center space-y-2",children:[(0,Z.jsx)("p",{className:"text-sm text-destructive",children:j}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Try downloading the file and opening it externally."})]})}),l&&(0,Z.jsx)("div",{className:"xlsx-sheet p-3 text-[12px]",dangerouslySetInnerHTML:{__html:l.html}})]})]})}function D6({path:a,title:b}){let c=`/api/assets/${a}`;return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(dJ,{path:a,badge:"PDF",children:(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(c,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})}),(0,Z.jsx)("iframe",{src:c,className:"flex-1 w-full border-0",title:b})]})}let D7=ad("wrap-text",[["path",{d:"m16 16-2 2 2 2",key:"kkc6pm"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["path",{d:"M3 18h7",key:"sq21v6"}],["path",{d:"M3 6h18",key:"d0wm0j"}]]),D8=Be(DU),D9={".js":"javascript",".cjs":"javascript",".mjs":"javascript",".ts":"typescript",".tsx":"typescript",".jsx":"javascript",".py":"python",".rb":"ruby",".php":"php",".sh":"bash",".bash":"bash",".zsh":"bash",".ps1":"powershell",".css":"css",".scss":"scss",".html":"xml",".json":"json",".jsonc":"json",".yaml":"yaml",".yml":"yaml",".toml":"ini",".ini":"ini",".xml":"xml",".sql":"sql",".graphql":"graphql",".gql":"graphql",".go":"go",".rs":"rust",".swift":"swift",".java":"java",".kt":"kotlin",".kts":"kotlin",".c":"c",".cpp":"cpp",".h":"c",".env":"bash",".txt":"",".text":"",".log":"",".rst":"",".mdx":"markdown"};function Ea({path:a}){let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(!0),[f,g]=(0,$.useState)(!1),[h,i]=(0,$.useState)(!1),j=`/api/assets/${a}`,k=a.split("/").pop()||a,l=D9[k.includes(".")?`.${k.split(".").pop()?.toLowerCase()}`:""]??"",m=(0,$.useCallback)(async()=>{e(!0);try{let a=await fetch(j);if(a.ok){let b=await a.text();c(b)}}catch{}finally{e(!1)}},[j]);(0,$.useEffect)(()=>{m()},[m]);let n=(0,$.useMemo)(()=>{if(!b)return[];try{let a=l?D8.highlight(l,b):D8.highlightAuto(b);return q8(a).split("\n")}catch{return b.split("\n").map(a=>a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"))}},[b,l]);return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:k.includes(".")?k.split(".").pop()?.toUpperCase()??"TEXT":"TEXT",sublabel:l||void 0,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:`h-7 gap-1.5 text-xs ${f?"bg-muted":""}`,onClick:()=>g(a=>!a),title:f?"Disable line wrap":"Enable line wrap",children:[(0,Z.jsx)(D7,{className:"h-3.5 w-3.5"}),"Wrap"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{b&&(navigator.clipboard.writeText(b),i(!0),setTimeout(()=>i(!1),2e3))},title:"Copy file contents",children:[h?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"}),h?"Copied":"Copy"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=j,a.download=k,a.click()},title:"Download file",children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(j,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Raw"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto source-viewer-code bg-[#1e1e1e]",children:d?(0,Z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Loading..."}):(0,Z.jsx)("table",{className:"w-full border-collapse text-[13px] leading-relaxed font-mono",children:(0,Z.jsx)("tbody",{children:n.map((a,b)=>(0,Z.jsxs)("tr",{className:"hover:bg-white/5",children:[(0,Z.jsx)("td",{className:"w-12 pr-4 text-right text-[#858585] select-none align-top sticky left-0 bg-[#1e1e1e]",children:b+1}),(0,Z.jsx)("td",{className:`text-[#d4d4d4] pl-2 ${f?"whitespace-pre-wrap break-all":"whitespace-pre"}`,dangerouslySetInnerHTML:{__html:a||" "}})]},b))})})})]})}function Eb({path:a,title:b,src:c,fullscreen:d,onExit:e}){let f=c??`/api/assets/${a}/index.html`,g=d&&e?(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:e,title:"Exit app",children:[(0,Z.jsx)(CK,{className:"h-3.5 w-3.5"}),"Exit app"]}):null;return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(dJ,{path:a,badge:d?"App":void 0,showBreadcrumb:!d,leading:d?(0,Z.jsxs)(Z.Fragment,{children:[g,(0,Z.jsx)("span",{className:"truncate text-[13px] font-medium text-foreground",children:b})]}):null,children:(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(f,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})}),(0,Z.jsx)("iframe",{src:f,className:"flex-1 w-full border-0 bg-card",title:b,sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-top-navigation-by-user-activation"})]})}let Ec=ad("play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),Ed=ad("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),Ee={stopped:"Stopped",installing:"Installing dependencies…",starting:"Starting…",running:"Running",error:"Error"};function Ef({path:a,title:b}){let[c,d]=(0,$.useState)("stopped"),[e,f]=(0,$.useState)(null),[g,h]=(0,$.useState)([]),[i,j]=(0,$.useState)(null),[k,l]=(0,$.useState)(!1),[m,n]=(0,$.useState)(0),o=(0,$.useRef)(null),p=(0,$.useRef)(null),q=`/api/app-proxy/${a}/`,r=()=>{o.current&&(clearInterval(o.current),o.current=null)},s=(0,$.useCallback)(async()=>{try{let b=await fetch(`/api/wiki/app?path=${encodeURIComponent(a)}`);if(!b.ok)return;let c=await b.json();d(c.status),h(c.logs??[]),c.port&&f(c.port),c.error&&j(c.error),("running"===c.status||"stopped"===c.status||"error"===c.status)&&r()}catch{}},[a]);(0,$.useEffect)(()=>("installing"===c||"starting"===c?o.current||(o.current=setInterval(s,800)):r(),r),[c,s]),(0,$.useEffect)(()=>{p.current?.scrollIntoView({behavior:"smooth"})},[g]),(0,$.useEffect)(()=>{s()},[s]);let t=async()=>{j(null),h([]),d("starting");try{let b=await fetch("/api/wiki/app",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})}),c=await b.json();if(!b.ok||c.error){d("error"),j(c.error??"Failed to start");return}c.port&&f(c.port),await s()}catch(a){d("error"),j(String(a))}},u=async()=>{await fetch("/api/wiki/app",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})}),d("stopped"),f(null)},v=async()=>{await u(),await t(),n(a=>a+1)};return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:"Node app",children:["running"===c&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>n(a=>a+1),children:[(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"}),"Refresh"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(q,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:v,children:[(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"}),"Restart"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs text-destructive hover:text-destructive",onClick:u,children:[(0,Z.jsx)(Ed,{className:"h-3.5 w-3.5"}),"Stop"]})]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>l(a=>!a),children:[(0,Z.jsx)(az,{className:"h-3.5 w-3.5"}),"Logs"]})]}),k&&(0,Z.jsxs)("div",{className:"border-b bg-black/90 text-green-400 font-mono text-xs h-40 overflow-auto p-2 shrink-0",children:[0===g.length?(0,Z.jsx)("span",{className:"text-muted-foreground",children:"No output yet."}):g.map((a,b)=>(0,Z.jsx)("div",{className:"whitespace-pre-wrap leading-5",children:a},b)),(0,Z.jsx)("div",{ref:p})]}),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:["stopped"===c&&(0,Z.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,Z.jsxs)("div",{className:"text-center space-y-1",children:[(0,Z.jsx)("p",{className:"text-sm font-medium",children:b}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Node.js app — will be started on a local port"})]}),(0,Z.jsxs)(bT,{onClick:t,className:"gap-2",children:[(0,Z.jsx)(Ec,{className:"h-4 w-4"}),"Launch app"]})]}),("installing"===c||"starting"===c)&&(0,Z.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3",children:[(0,Z.jsx)(ar,{className:"h-6 w-6 animate-spin text-muted-foreground"}),(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:Ee[c]}),e&&(0,Z.jsxs)("p",{className:"text-xs text-muted-foreground/60",children:["port ",e]})]}),"error"===c&&(0,Z.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-6",children:[(0,Z.jsx)(ae,{className:"h-8 w-8 text-destructive"}),(0,Z.jsxs)("div",{className:"text-center space-y-1 max-w-md",children:[(0,Z.jsx)("p",{className:"text-sm font-medium text-destructive",children:"Failed to start app"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground break-words",children:i??"Unknown error"})]}),(0,Z.jsxs)(bT,{onClick:t,variant:"outline",className:"gap-2",children:[(0,Z.jsx)(ax,{className:"h-4 w-4"}),"Try again"]})]}),"running"===c&&(0,Z.jsx)("iframe",{src:q,className:"flex-1 w-full border-0 bg-card",title:b,sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation-by-user-activation"},m)]})]})}let Eg=ad("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),Eh=ad("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]),Ei=ad("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),Ej=ad("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);function Ek({onSelect:a}){let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(!0),[f,g]=(0,$.useState)(null),[h,i]=(0,$.useState)(""),[j,k]=(0,$.useState)(!1),[l,m]=(0,$.useState)([]),[n,o]=(0,$.useState)(!1),p=(0,$.useRef)(null),q=(0,$.useRef)(null),r=(0,$.useCallback)(async(a,b=!0)=>{q.current&&(clearTimeout(q.current),q.current=null),e(!0),g(null);try{let d=await fetch(`/api/system/browse?path=${encodeURIComponent(a)}`);if(!d.ok){let a=await d.json();g(a.error??"Cannot open directory");return}let e=await d.json();c(e),b&&i(e.path)}catch{g("Network error")}finally{e(!1)}},[]);(0,$.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await fetch("/api/system/config");if(b.ok&&!a){let a=await b.json();m(a.pinnedPaths??[]),await r(a.lastOpenedPath??"");return}}catch{}a||await r("")})(),()=>{a=!0}},[]);let s=async c=>{let d=c??b?.path;if(d){k(!0);try{let b=await fetch("/api/system/set-root",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:d})});if(!b.ok){let a=await b.json();g(a.error??"Cannot use that directory");return}a(d)}catch{g("Network error")}finally{k(!1)}}},t=!!b&&l.includes(b.path),u=async()=>{if(b){o(!0);try{let a=t?"unpin":"pin";(await fetch("/api/system/pins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,action:a})})).ok&&m(c=>"pin"===a?[...c,b.path]:c.filter(a=>a!==b.path))}catch{}finally{o(!1)}}},v=async a=>{try{(await fetch("/api/system/pins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a,action:"unpin"})})).ok&&m(b=>b.filter(b=>b!==a))}catch{}},w=(b?.path??"").split(/[/\\]/).filter(Boolean).reduce((a,b)=>{let c=a[a.length-1]?.path??"/";return a.push({label:b,path:`${"/"===c?"":c}/${b}`}),a},[{label:"/",path:"/"}]);return(0,Z.jsx)("div",{className:"flex flex-1 items-center justify-center bg-background p-4",children:(0,Z.jsxs)("div",{className:"flex w-full max-w-xl flex-col gap-4",children:[(0,Z.jsxs)("div",{className:"text-center space-y-1",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-center gap-2 mb-1",children:[(0,Z.jsx)("img",{src:"/logo.svg",alt:"Wiki Viewer",className:"h-8 w-8"}),(0,Z.jsx)("span",{className:"text-xl font-semibold tracking-tight",children:"Wiki Viewer"})]}),(0,Z.jsx)("h1",{className:"text-xl font-medium",children:"Choose a directory"}),(0,Z.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Select the folder wiki-viewer should serve.",(0,Z.jsx)("br",{}),"This directory lives on the server — use the browser below."]})]}),(0,Z.jsxs)("div",{className:"rounded-lg border bg-card shadow-sm overflow-hidden",children:[(0,Z.jsx)("div",{className:"flex items-center gap-2 border-b px-3 py-2 bg-muted",children:(0,Z.jsx)("input",{ref:p,className:"flex-1 bg-transparent text-sm outline-none font-mono min-w-0",value:h,onChange:a=>{let b=a.target.value;i(b),q.current&&clearTimeout(q.current),q.current=setTimeout(()=>{q.current=null,r(b.trim(),!1)},500)},onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),q.current&&(clearTimeout(q.current),q.current=null),r(h.trim())),"Escape"===a.key&&(q.current&&(clearTimeout(q.current),q.current=null),i(b?.path??""),p.current?.blur())},spellCheck:!1,placeholder:"Enter a path…"})}),(0,Z.jsx)("div",{className:"flex items-center gap-1 border-b px-3 py-1.5 bg-muted/50 overflow-x-auto shrink-0 min-h-[32px]",children:w.map((a,b)=>(0,Z.jsxs)("span",{className:"flex items-center gap-1 shrink-0",children:[b>0&&(0,Z.jsx)(ai,{className:"h-3 w-3 text-muted-foreground/50"}),(0,Z.jsx)("button",{type:"button",className:"text-xs hover:text-foreground text-muted-foreground transition-colors rounded px-0.5",onClick:()=>r(a.path),children:0===b?(0,Z.jsx)(Eg,{className:"h-3.5 w-3.5"}):a.label})]},a.path))}),(0,Z.jsx)("div",{className:"max-h-60 overflow-y-auto",children:d?(0,Z.jsx)("div",{className:"flex justify-center py-8",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):f?(0,Z.jsx)("div",{className:"px-4 py-3 text-sm text-destructive",children:f}):(0,Z.jsxs)(Z.Fragment,{children:[b?.parent&&(0,Z.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2.5 px-3 py-2 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors",onClick:()=>r(b.parent),children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0"}),(0,Z.jsx)("span",{className:"font-mono text-xs",children:".."})]}),b?.entries.length===0&&(0,Z.jsx)("p",{className:"px-4 py-3 text-sm text-muted-foreground/60",children:"No subdirectories"}),b?.entries.map(a=>(0,Z.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2.5 px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors",onClick:()=>r(a.path),children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("span",{className:"truncate",children:a.name})]},a.path))]})}),(0,Z.jsxs)("div",{className:"border-t px-3 py-2 flex items-center justify-between gap-2 bg-muted",children:[(0,Z.jsxs)("button",{type:"button",className:bR("flex items-center gap-1.5 text-xs transition-colors rounded px-1.5 py-1",t?"text-foreground hover:text-destructive":"text-muted-foreground hover:text-foreground"),title:t?"Unpin this path":"Pin this path for quick access",onClick:u,disabled:n||!b,children:[n?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):t?(0,Z.jsx)(Ej,{className:"h-3.5 w-3.5"}):(0,Z.jsx)(Ei,{className:"h-3.5 w-3.5"}),t?"Unpin":"Pin"]}),(0,Z.jsxs)(bT,{size:"sm",className:"shrink-0 gap-1.5",disabled:!b||j,onClick:()=>s(),children:[j?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(an,{className:"h-3.5 w-3.5"}),"Select"]})]})]}),l.length>0&&(0,Z.jsxs)("div",{className:"rounded-lg border bg-card shadow-sm overflow-hidden",children:[(0,Z.jsx)("div",{className:"px-3 py-2 border-b bg-muted",children:(0,Z.jsxs)("span",{className:"text-xs font-medium text-muted-foreground flex items-center gap-1.5",children:[(0,Z.jsx)(Ei,{className:"h-3 w-3"})," Pinned"]})}),(0,Z.jsx)("div",{className:"max-h-40 overflow-y-auto",children:l.map(a=>(0,Z.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 hover:bg-accent group",children:[(0,Z.jsxs)("button",{type:"button",className:"flex-1 flex items-center gap-2 text-sm text-left min-w-0",onClick:()=>r(a),children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("span",{className:"truncate font-mono text-xs",children:a})]}),(0,Z.jsx)("button",{type:"button",className:"shrink-0 text-muted-foreground/50 hover:text-destructive opacity-0 group-hover:opacity-100 transition-all",onClick:()=>v(a),title:"Remove pin",children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]},a))})]}),b?.shortcuts&&b.shortcuts.length>0&&(0,Z.jsx)("div",{className:"flex flex-wrap gap-1.5 justify-center",children:b.shortcuts.map(a=>(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>r(a.path),children:["Home"===a.label?(0,Z.jsx)(Eh,{className:"h-3 w-3"}):(0,Z.jsx)(Eg,{className:"h-3 w-3"}),a.label]},a.path))})]})})}function El(a){let b=a+"CollectionProvider",[c,d]=bV(b),[e,f]=c(b,{collectionRef:{current:null},itemMap:new Map}),g=a=>{let{scope:b,children:c}=a,d=$.default.useRef(null),f=$.default.useRef(new Map).current;return(0,Z.jsx)(e,{scope:b,itemMap:f,collectionRef:d,children:c})};g.displayName=b;let h=a+"CollectionSlot",i=b1(h),j=$.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,e=aF(b,f(h,c).collectionRef);return(0,Z.jsx)(i,{ref:e,children:d})});j.displayName=h;let k=a+"CollectionItemSlot",l="data-radix-collection-item",m=b1(k),n=$.default.forwardRef((a,b)=>{let{scope:c,children:d,...e}=a,g=$.default.useRef(null),h=aF(b,g),i=f(k,c);return $.default.useEffect(()=>(i.itemMap.set(g,{ref:g,...e}),()=>void i.itemMap.delete(g))),(0,Z.jsx)(m,{...{[l]:""},ref:h,children:d})});return n.displayName=k,[{Provider:g,Slot:j,ItemSlot:n},function(b){let c=f(a+"CollectionConsumer",b);return $.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${l}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},d]}var Em=new WeakMap;function En(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=Eo(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function Eo(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],Em.set(this,!0)}set(a,b){return Em.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=Eo(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#a],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=En(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=En(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return En(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}});var Ep=$.createContext(void 0);function Eq(a){let b=$.useContext(Ep);return a||b||"ltr"}var Er="rovingFocusGroup.onEntryFocus",Es={bubbles:!1,cancelable:!0},Et="RovingFocusGroup",[Eu,Ev,Ew]=El(Et),[Ex,Ey]=bV(Et,[Ew]),[Ez,EA]=Ex(Et),EB=$.forwardRef((a,b)=>(0,Z.jsx)(Eu.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,Z.jsx)(Eu.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,Z.jsx)(EC,{...a,ref:b})})}));EB.displayName=Et;var EC=$.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:e=!1,dir:f,currentTabStopId:g,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:i,onEntryFocus:j,preventScrollOnEntryFocus:k=!1,...l}=a,m=$.useRef(null),n=aF(b,m),o=Eq(f),[p,q]=b_({prop:g,defaultProp:h??null,onChange:i,caller:Et}),[r,s]=$.useState(!1),t=b6(j),u=Ev(c),v=$.useRef(!1),[w,x]=$.useState(0);return $.useEffect(()=>{let a=m.current;if(a)return a.addEventListener(Er,t),()=>a.removeEventListener(Er,t)},[t]),(0,Z.jsx)(Ez,{scope:c,orientation:d,dir:o,loop:e,currentTabStopId:p,onItemFocus:$.useCallback(a=>q(a),[q]),onItemShiftTab:$.useCallback(()=>s(!0),[]),onFocusableItemAdd:$.useCallback(()=>x(a=>a+1),[]),onFocusableItemRemove:$.useCallback(()=>x(a=>a-1),[]),children:(0,Z.jsx)(b4.div,{tabIndex:r||0===w?-1:0,"data-orientation":d,...l,ref:n,style:{outline:"none",...a.style},onMouseDown:bU(a.onMouseDown,()=>{v.current=!0}),onFocus:bU(a.onFocus,a=>{let b=!v.current;if(a.target===a.currentTarget&&b&&!r){let b=new CustomEvent(Er,Es);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=u().filter(a=>a.focusable);EG([a.find(a=>a.active),a.find(a=>a.id===p),...a].filter(Boolean).map(a=>a.ref.current),k)}}v.current=!1}),onBlur:bU(a.onBlur,()=>s(!1))})})}),ED="RovingFocusGroupItem",EE=$.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:e=!1,tabStopId:f,children:g,...h}=a,i=bZ(),j=f||i,k=EA(ED,c),l=k.currentTabStopId===j,m=Ev(c),{onFocusableItemAdd:n,onFocusableItemRemove:o,currentTabStopId:p}=k;return $.useEffect(()=>{if(d)return n(),()=>o()},[d,n,o]),(0,Z.jsx)(Eu.ItemSlot,{scope:c,id:j,focusable:d,active:e,children:(0,Z.jsx)(b4.span,{tabIndex:l?0:-1,"data-orientation":k.orientation,...h,ref:b,onMouseDown:bU(a.onMouseDown,a=>{d?k.onItemFocus(j):a.preventDefault()}),onFocus:bU(a.onFocus,()=>k.onItemFocus(j)),onKeyDown:bU(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void k.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return EF[e]}(a,k.orientation,k.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=m().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=k.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>EG(e))}}),children:"function"==typeof g?g({isCurrentTabStop:l,hasTabStop:null!=p}):g})})});EE.displayName=ED;var EF={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function EG(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var EH=["Enter"," "],EI=["ArrowUp","PageDown","End"],EJ=["ArrowDown","PageUp","Home",...EI],EK={ltr:[...EH,"ArrowRight"],rtl:[...EH,"ArrowLeft"]},EL={ltr:["ArrowLeft"],rtl:["ArrowRight"]},EM="Menu",[EN,EO,EP]=El(EM),[EQ,ER]=bV(EM,[EP,BT,Ey]),ES=BT(),ET=Ey(),[EU,EV]=EQ(EM),[EW,EX]=EQ(EM),EY=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:f,modal:g=!0}=a,h=ES(b),[i,j]=$.useState(null),k=$.useRef(!1),l=b6(f),m=Eq(e);return $.useEffect(()=>{let a=()=>{k.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>k.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,Z.jsx)(BW,{...h,children:(0,Z.jsx)(EU,{scope:b,open:c,onOpenChange:l,content:i,onContentChange:j,children:(0,Z.jsx)(EW,{scope:b,onClose:$.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:k,dir:m,modal:g,children:d})})})};EY.displayName=EM;var EZ=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=ES(c);return(0,Z.jsx)(BY,{...e,...d,ref:b})});EZ.displayName="MenuAnchor";var E$="MenuPortal",[E_,E0]=EQ(E$,{forceMount:void 0}),E1=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,f=EV(E$,b);return(0,Z.jsx)(E_,{scope:b,forceMount:c,children:(0,Z.jsx)(cm,{present:c||f.open,children:(0,Z.jsx)(cl,{asChild:!0,container:e,children:d})})})};E1.displayName=E$;var E2="MenuContent",[E3,E4]=EQ(E2),E5=$.forwardRef((a,b)=>{let c=E0(E2,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=EV(E2,a.__scopeMenu),g=EX(E2,a.__scopeMenu);return(0,Z.jsx)(EN.Provider,{scope:a.__scopeMenu,children:(0,Z.jsx)(cm,{present:d||f.open,children:(0,Z.jsx)(EN.Slot,{scope:a.__scopeMenu,children:g.modal?(0,Z.jsx)(E6,{...e,ref:b}):(0,Z.jsx)(E7,{...e,ref:b})})})})}),E6=$.forwardRef((a,b)=>{let c=EV(E2,a.__scopeMenu),d=$.useRef(null),e=aF(b,d);return $.useEffect(()=>{let a=d.current;if(a)return c1(a)},[]),(0,Z.jsx)(E9,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:bU(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),E7=$.forwardRef((a,b)=>{let c=EV(E2,a.__scopeMenu);return(0,Z.jsx)(E9,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),E8=b1("MenuContent.ScrollLock"),E9=$.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEntryFocus:i,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:m,onDismiss:n,disableOutsideScroll:o,...p}=a,q=EV(E2,c),r=EX(E2,c),s=ES(c),t=ET(c),u=EO(c),[v,w]=$.useState(null),x=$.useRef(null),y=aF(b,x,q.onContentChange),z=$.useRef(0),A=$.useRef(""),B=$.useRef(0),C=$.useRef(null),D=$.useRef("right"),E=$.useRef(0),F=o?cW:$.Fragment;$.useEffect(()=>()=>window.clearTimeout(z.current),[]),cp();let G=$.useCallback(a=>{var b,c;return D.current===C.current?.side&&(b=a,!!(c=C.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,Z.jsx)(E3,{scope:c,searchRef:A,onItemEnter:$.useCallback(a=>{G(a)&&a.preventDefault()},[G]),onItemLeave:$.useCallback(a=>{G(a)||(x.current?.focus(),w(null))},[G]),onTriggerLeave:$.useCallback(a=>{G(a)&&a.preventDefault()},[G]),pointerGraceTimerRef:B,onPointerGraceIntentChange:$.useCallback(a=>{C.current=a},[]),children:(0,Z.jsx)(F,{...o?{as:E8,allowPinchZoom:!0}:void 0,children:(0,Z.jsx)(cf,{asChild:!0,trapped:e,onMountAutoFocus:bU(f,a=>{a.preventDefault(),x.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:g,children:(0,Z.jsx)(b9,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:m,onDismiss:n,children:(0,Z.jsx)(EB,{asChild:!0,...t,dir:r.dir,orientation:"vertical",loop:d,currentTabStopId:v,onCurrentTabStopIdChange:w,onEntryFocus:bU(i,a=>{r.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,Z.jsx)(B0,{role:"menu","aria-orientation":"vertical","data-state":Fz(q.open),"data-radix-menu-content":"",dir:r.dir,...s,...p,ref:y,style:{outline:"none",...p.style},onKeyDown:bU(p.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=A.current+e,f=u().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){A.current=b,window.clearTimeout(z.current),""!==b&&(z.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=x.current;if(a.target!==f||!EJ.includes(a.key))return;a.preventDefault();let g=u().filter(a=>!a.disabled).map(a=>a.ref.current);EI.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:bU(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(z.current),A.current="")}),onPointerMove:bU(a.onPointerMove,FC(a=>{let b=a.target,c=E.current!==a.clientX;a.currentTarget.contains(b)&&c&&(D.current=a.clientX>E.current?"right":"left",E.current=a.clientX)}))})})})})})})});E5.displayName=E2;var Fa=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,Z.jsx)(b4.div,{role:"group",...d,ref:b})});Fa.displayName="MenuGroup";var Fb=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,Z.jsx)(b4.div,{...d,ref:b})});Fb.displayName="MenuLabel";var Fc="MenuItem",Fd="menu.itemSelect",Fe=$.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,f=$.useRef(null),g=EX(Fc,a.__scopeMenu),h=E4(Fc,a.__scopeMenu),i=aF(b,f),j=$.useRef(!1);return(0,Z.jsx)(Ff,{...e,ref:i,disabled:c,onClick:bU(a.onClick,()=>{let a=f.current;if(!c&&a){let b=new CustomEvent(Fd,{bubbles:!0,cancelable:!0});a.addEventListener(Fd,a=>d?.(a),{once:!0}),b5(a,b),b.defaultPrevented?j.current=!1:g.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),j.current=!0},onPointerUp:bU(a.onPointerUp,a=>{j.current||a.currentTarget?.click()}),onKeyDown:bU(a.onKeyDown,a=>{let b=""!==h.searchRef.current;c||b&&" "===a.key||EH.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});Fe.displayName=Fc;var Ff=$.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...f}=a,g=E4(Fc,c),h=ET(c),i=$.useRef(null),j=aF(b,i),[k,l]=$.useState(!1),[m,n]=$.useState("");return $.useEffect(()=>{let a=i.current;a&&n((a.textContent??"").trim())},[f.children]),(0,Z.jsx)(EN.ItemSlot,{scope:c,disabled:d,textValue:e??m,children:(0,Z.jsx)(EE,{asChild:!0,...h,focusable:!d,children:(0,Z.jsx)(b4.div,{role:"menuitem","data-highlighted":k?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...f,ref:j,onPointerMove:bU(a.onPointerMove,FC(a=>{d?g.onItemLeave(a):(g.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:bU(a.onPointerLeave,FC(a=>g.onItemLeave(a))),onFocus:bU(a.onFocus,()=>l(!0)),onBlur:bU(a.onBlur,()=>l(!1))})})})}),Fg=$.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,Z.jsx)(Fo,{scope:a.__scopeMenu,checked:c,children:(0,Z.jsx)(Fe,{role:"menuitemcheckbox","aria-checked":FA(c)?"mixed":c,...e,ref:b,"data-state":FB(c),onSelect:bU(e.onSelect,()=>d?.(!!FA(c)||!c),{checkForDefaultPrevented:!1})})})});Fg.displayName="MenuCheckboxItem";var Fh="MenuRadioGroup",[Fi,Fj]=EQ(Fh,{value:void 0,onValueChange:()=>{}}),Fk=$.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,f=b6(d);return(0,Z.jsx)(Fi,{scope:a.__scopeMenu,value:c,onValueChange:f,children:(0,Z.jsx)(Fa,{...e,ref:b})})});Fk.displayName=Fh;var Fl="MenuRadioItem",Fm=$.forwardRef((a,b)=>{let{value:c,...d}=a,e=Fj(Fl,a.__scopeMenu),f=c===e.value;return(0,Z.jsx)(Fo,{scope:a.__scopeMenu,checked:f,children:(0,Z.jsx)(Fe,{role:"menuitemradio","aria-checked":f,...d,ref:b,"data-state":FB(f),onSelect:bU(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});Fm.displayName=Fl;var Fn="MenuItemIndicator",[Fo,Fp]=EQ(Fn,{checked:!1}),Fq=$.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,f=Fp(Fn,c);return(0,Z.jsx)(cm,{present:d||FA(f.checked)||!0===f.checked,children:(0,Z.jsx)(b4.span,{...e,ref:b,"data-state":FB(f.checked)})})});Fq.displayName=Fn;var Fr=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,Z.jsx)(b4.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});Fr.displayName="MenuSeparator";var Fs=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=ES(c);return(0,Z.jsx)(B3,{...e,...d,ref:b})});Fs.displayName="MenuArrow";var[Ft,Fu]=EQ("MenuSub"),Fv="MenuSubTrigger",Fw=$.forwardRef((a,b)=>{let c=EV(Fv,a.__scopeMenu),d=EX(Fv,a.__scopeMenu),e=Fu(Fv,a.__scopeMenu),f=E4(Fv,a.__scopeMenu),g=$.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:i}=f,j={__scopeMenu:a.__scopeMenu},k=$.useCallback(()=>{g.current&&window.clearTimeout(g.current),g.current=null},[]);return $.useEffect(()=>k,[k]),$.useEffect(()=>{let a=h.current;return()=>{window.clearTimeout(a),i(null)}},[h,i]),(0,Z.jsx)(EZ,{asChild:!0,...j,children:(0,Z.jsx)(Ff,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":Fz(c.open),...a,ref:aE(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:bU(a.onPointerMove,FC(b=>{f.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||g.current||(f.onPointerGraceIntentChange(null),g.current=window.setTimeout(()=>{c.onOpenChange(!0),k()},100)))})),onPointerLeave:bU(a.onPointerLeave,FC(a=>{k();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,g=b[e?"left":"right"],i=b[e?"right":"left"];f.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:g,y:b.top},{x:i,y:b.top},{x:i,y:b.bottom},{x:g,y:b.bottom}],side:d}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>f.onPointerGraceIntentChange(null),300)}else{if(f.onTriggerLeave(a),a.defaultPrevented)return;f.onPointerGraceIntentChange(null)}})),onKeyDown:bU(a.onKeyDown,b=>{let e=""!==f.searchRef.current;a.disabled||e&&" "===b.key||EK[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});Fw.displayName=Fv;var Fx="MenuSubContent",Fy=$.forwardRef((a,b)=>{let c=E0(E2,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=EV(E2,a.__scopeMenu),g=EX(E2,a.__scopeMenu),h=Fu(Fx,a.__scopeMenu),i=$.useRef(null),j=aF(b,i);return(0,Z.jsx)(EN.Provider,{scope:a.__scopeMenu,children:(0,Z.jsx)(cm,{present:d||f.open,children:(0,Z.jsx)(EN.Slot,{scope:a.__scopeMenu,children:(0,Z.jsx)(E9,{id:h.contentId,"aria-labelledby":h.triggerId,...e,ref:j,align:"start",side:"rtl"===g.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{g.isUsingKeyboardRef.current&&i.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:bU(a.onFocusOutside,a=>{a.target!==h.trigger&&f.onOpenChange(!1)}),onEscapeKeyDown:bU(a.onEscapeKeyDown,a=>{g.onClose(),a.preventDefault()}),onKeyDown:bU(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=EL[g.dir].includes(a.key);b&&c&&(f.onOpenChange(!1),h.trigger?.focus(),a.preventDefault())})})})})})});function Fz(a){return a?"open":"closed"}function FA(a){return"indeterminate"===a}function FB(a){return FA(a)?"indeterminate":a?"checked":"unchecked"}function FC(a){return b=>"mouse"===b.pointerType?a(b):void 0}Fy.displayName=Fx;var FD="DropdownMenu",[FE,FF]=bV(FD,[ER]),FG=ER(),[FH,FI]=FE(FD),FJ=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:f,onOpenChange:g,modal:h=!0}=a,i=FG(b),j=$.useRef(null),[k,l]=b_({prop:e,defaultProp:f??!1,onChange:g,caller:FD});return(0,Z.jsx)(FH,{scope:b,triggerId:bZ(),triggerRef:j,contentId:bZ(),open:k,onOpenChange:l,onOpenToggle:$.useCallback(()=>l(a=>!a),[l]),modal:h,children:(0,Z.jsx)(EY,{...i,open:k,onOpenChange:l,dir:d,modal:h,children:c})})};FJ.displayName=FD;var FK="DropdownMenuTrigger",FL=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,f=FI(FK,c),g=FG(c);return(0,Z.jsx)(EZ,{asChild:!0,...g,children:(0,Z.jsx)(b4.button,{type:"button",id:f.triggerId,"aria-haspopup":"menu","aria-expanded":f.open,"aria-controls":f.open?f.contentId:void 0,"data-state":f.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:aE(b,f.triggerRef),onPointerDown:bU(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(f.onOpenToggle(),f.open||a.preventDefault())}),onKeyDown:bU(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&f.onOpenToggle(),"ArrowDown"===a.key&&f.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});FL.displayName=FK;var FM=a=>{let{__scopeDropdownMenu:b,...c}=a,d=FG(b);return(0,Z.jsx)(E1,{...d,...c})};FM.displayName="DropdownMenuPortal";var FN="DropdownMenuContent",FO=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FI(FN,c),f=FG(c),g=$.useRef(!1);return(0,Z.jsx)(E5,{id:e.contentId,"aria-labelledby":e.triggerId,...f,...d,ref:b,onCloseAutoFocus:bU(a.onCloseAutoFocus,a=>{g.current||e.triggerRef.current?.focus(),g.current=!1,a.preventDefault()}),onInteractOutside:bU(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(g.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});FO.displayName=FN,$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fa,{...e,...d,ref:b})}).displayName="DropdownMenuGroup";var FP=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fb,{...e,...d,ref:b})});FP.displayName="DropdownMenuLabel";var FQ=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fe,{...e,...d,ref:b})});FQ.displayName="DropdownMenuItem";var FR=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fg,{...e,...d,ref:b})});FR.displayName="DropdownMenuCheckboxItem",$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fk,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup";var FS=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fm,{...e,...d,ref:b})});FS.displayName="DropdownMenuRadioItem";var FT=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fq,{...e,...d,ref:b})});FT.displayName="DropdownMenuItemIndicator";var FU=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fr,{...e,...d,ref:b})});FU.displayName="DropdownMenuSeparator",$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fs,{...e,...d,ref:b})}).displayName="DropdownMenuArrow";var FV=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fw,{...e,...d,ref:b})});FV.displayName="DropdownMenuSubTrigger";var FW=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fy,{...e,...d,ref:b,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});FW.displayName="DropdownMenuSubContent";let FX=ad("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);$.forwardRef(({className:a,inset:b,children:c,...d},e)=>(0,Z.jsxs)(FV,{ref:e,className:bR("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",b&&"pl-8",a),...d,children:[c,(0,Z.jsx)(ai,{className:"ml-auto h-4 w-4"})]})).displayName=FV.displayName,$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(FW,{ref:c,className:bR("z-50 min-w-[8rem] overflow-hidden rounded-sm border bg-popover p-1 text-popover-foreground shadow-golden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...b})).displayName=FW.displayName;let FY=$.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,Z.jsx)(FM,{children:(0,Z.jsx)(FO,{ref:d,sideOffset:b,className:bR("z-50 min-w-[8rem] overflow-hidden rounded-sm border bg-popover p-1 text-popover-foreground shadow-golden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));FY.displayName=FO.displayName;let FZ=$.forwardRef(({className:a,inset:b,...c},d)=>(0,Z.jsx)(FQ,{ref:d,className:bR("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",b&&"pl-8",a),...c}));FZ.displayName=FQ.displayName,$.forwardRef(({className:a,children:b,checked:c,...d},e)=>(0,Z.jsxs)(FR,{ref:e,className:bR("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:c,...d,children:[(0,Z.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,Z.jsx)(FT,{children:(0,Z.jsx)(ag,{className:"h-4 w-4"})})}),b]})).displayName=FR.displayName,$.forwardRef(({className:a,children:b,...c},d)=>(0,Z.jsxs)(FS,{ref:d,className:bR("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,Z.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,Z.jsx)(FT,{children:(0,Z.jsx)(FX,{className:"h-2 w-2 fill-current"})})}),b]})).displayName=FS.displayName,$.forwardRef(({className:a,inset:b,...c},d)=>(0,Z.jsx)(FP,{ref:d,className:bR("px-2 py-1.5 text-sm font-normal",b&&"pl-8",a),...c})).displayName=FP.displayName,$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(FU,{ref:c,className:bR("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=FU.displayName;let F$=ad("moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),F_=ad("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var F0=a.i(111939);function F1({className:a}){let{resolvedTheme:b,setTheme:c}=(0,F0.useTheme)();return(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:`h-7 w-7 p-0 ${a??""}`,title:"dark"===b?"Switch to light":"Switch to dark",onClick:()=>c("dark"===b?"light":"dark"),children:"dark"===b?(0,Z.jsx)(F_,{className:"h-3.5 w-3.5"}):(0,Z.jsx)(F$,{className:"h-3.5 w-3.5"})})}let F2=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(de,{ref:c,className:bR("fixed inset-0 z-40 bg-black/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));F2.displayName="SheetOverlay";let F3={bottom:"inset-x-0 bottom-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",top:"inset-x-0 top-0 data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top",left:"inset-y-0 left-0 data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left",right:"inset-y-0 right-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"},F4=$.forwardRef(({side:a="bottom",showClose:b=!1,className:c,children:d,...e},f)=>(0,Z.jsxs)(dc,{children:[(0,Z.jsx)(F2,{}),(0,Z.jsxs)(di,{ref:f,className:bR("fixed z-50 bg-background shadow-golden transition-all ease-in-out","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-200 data-[state=open]:duration-300",F3[a],c),...e,children:[d,b&&(0,Z.jsxs)(ds,{className:"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none",children:[(0,Z.jsx)(aC,{className:"h-4 w-4"}),(0,Z.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));function F5({className:a,...b}){return(0,Z.jsx)("div",{className:bR("flex flex-col space-y-1.5",a),...b})}function F6({className:a,...b}){return(0,Z.jsx)("div",{className:bR("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...b})}F4.displayName="SheetContent",F5.displayName="SheetHeader",F6.displayName="SheetFooter";let F7=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(dn,{ref:c,className:bR("text-sm font-medium leading-none tracking-tight",a),...b}));F7.displayName="SheetTitle";let F8=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(dq,{ref:c,className:bR("text-sm text-muted-foreground",a),...b}));function F9(a){return a.split(/[\n,]/).map(a=>a.trim()).filter(Boolean)}function Ga({open:a,onOpenChange:b}){let[c,d]=(0,$.useState)(!1),[e,f]=(0,$.useState)(!1),[g,h]=(0,$.useState)(null),[i,j]=(0,$.useState)("env"),[k,l]=(0,$.useState)(""),[m,n]=(0,$.useState)(""),o=(0,$.useCallback)(async()=>{d(!0),h(null);try{let a=await fetch("/api/system/auth-settings");if(!a.ok)throw Error("Failed to load settings");let b=await a.json();l(b.allowedEmails.join("\n")),n(b.allowedDomains.join("\n")),j(b.source)}catch(a){h(a instanceof Error?a.message:"Failed to load")}finally{d(!1)}},[]);async function p(){f(!0),h(null);try{let a=await fetch("/api/system/auth-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({allowedEmails:F9(k),allowedDomains:F9(m)})}),c=await a.json();if(!a.ok){h(c.error??"Save failed"),CZ(c.error??"Save failed");return}c.source&&j(c.source),b(!1)}catch{h("Save failed")}finally{f(!1)}}(0,$.useEffect)(()=>{a&&o()},[a,o]);let q=0===F9(k).length&&0===F9(m).length;return(0,Z.jsx)(c7,{open:a,onOpenChange:b,children:(0,Z.jsxs)(F4,{side:"right",className:"w-full sm:max-w-md flex flex-col",children:[(0,Z.jsxs)(F5,{children:[(0,Z.jsx)(F7,{children:"Signup allowlist"}),(0,Z.jsx)(F8,{children:"Control who can create an account. Leave both lists empty to allow any email. Saving here overrides the AUTH_ALLOWED_EMAILS and AUTH_ALLOWED_DOMAIN environment variables."})]}),c?(0,Z.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):(0,Z.jsxs)("div",{className:"flex-1 space-y-5 overflow-auto py-4",children:["env"===i&&(0,Z.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-muted px-3 py-2 text-xs text-muted-foreground",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0 mt-0.5"}),(0,Z.jsx)("span",{children:"Current values come from environment variables. Saving moves the allowlist into config and takes precedence going forward."})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)("label",{htmlFor:"allowed-emails",className:"text-sm font-medium",children:"Allowed emails"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"One per line (or comma-separated). Exact match, case-insensitive."}),(0,Z.jsx)("textarea",{id:"allowed-emails",value:k,onChange:a=>l(a.target.value),spellCheck:!1,rows:5,placeholder:"alice@example.com bob@example.com",className:"w-full resize-y rounded-md border border-border bg-background px-3 py-2 font-mono text-sm outline-none focus:ring-2 focus:ring-primary"})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)("label",{htmlFor:"allowed-domains",className:"text-sm font-medium",children:"Allowed domains"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"One per line (or comma-separated). Matches any email at that domain."}),(0,Z.jsx)("textarea",{id:"allowed-domains",value:m,onChange:a=>n(a.target.value),spellCheck:!1,rows:4,placeholder:"example.com trusted.org",className:"w-full resize-y rounded-md border border-border bg-background px-3 py-2 font-mono text-sm outline-none focus:ring-2 focus:ring-primary"})]}),q&&(0,Z.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-warning-soft px-3 py-2 text-xs text-warning-ink",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0 mt-0.5"}),(0,Z.jsx)("span",{children:"Both lists are empty. Anyone with the signup URL can create an account."})]}),g&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0"}),g]})]}),(0,Z.jsxs)(F6,{children:[(0,Z.jsx)(bT,{variant:"ghost",onClick:()=>b(!1),disabled:e,children:"Cancel"}),(0,Z.jsxs)(bT,{onClick:p,disabled:e||c,className:"gap-1.5",children:[e&&(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}),"Save"]})]})]})})}F8.displayName="SheetDescription";let Gb=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("rounded-md border border-border bg-card text-card-foreground shadow-e-2",a),...b}));Gb.displayName="Card",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("flex flex-col space-y-1.5 p-6",a),...b})).displayName="CardHeader",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("text-lg font-normal leading-none tracking-tight",a),...b})).displayName="CardTitle",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("text-sm text-muted-foreground",a),...b})).displayName="CardDescription",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("p-6 pt-0",a),...b})).displayName="CardContent";let Gc=aP("inline-flex items-center rounded-sm border px-2.5 py-0.5 text-xs font-normal transition-colors focus:outline-none focus:ring-2 focus:ring-ring",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow-e-1",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow-e-1",outline:"text-foreground",accent:"border-transparent bg-accent text-accent-foreground"}},defaultVariants:{variant:"default"}});function Gd({className:a,variant:b,...c}){return(0,Z.jsx)("div",{className:bR(Gc({variant:b}),a),...c})}let Ge=new Set(["title","type","status","created","updated","date","tags","sources","private","supersedes","superseded_by"]);function Gf({data:a}){let[b,c]=(0,$.useState)(!1),d=Object.keys(a);if(0===d.length)return null;let e="string"==typeof a.title?a.title:null,f="string"==typeof a.type?a.type:null,g="string"==typeof a.status?a.status:null,h="string"==typeof a.created?a.created:null,i="string"==typeof a.updated?a.updated:null,j=!0===a.private,k=Array.isArray(a.tags)?a.tags:[],l=Array.isArray(a.sources)?a.sources:[],m="string"==typeof a.superseded_by?a.superseded_by:null,n=d.filter(a=>!Ge.has(a));return(0,Z.jsxs)("div",{className:"mb-6 rounded-sm border bg-card/40 px-4 py-3 text-xs",children:[e&&(0,Z.jsx)("div",{className:"mb-2 text-base font-normal text-foreground",children:e}),(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-muted-foreground",children:[f&&(0,Z.jsx)(Gd,{variant:"outline",className:"font-normal",children:f}),g&&(0,Z.jsx)(Gd,{variant:"outline",className:"font-normal",children:g}),j&&(0,Z.jsx)(Gd,{variant:"outline",className:"border-warning-ink/40 font-normal text-warning-ink",children:"private"}),m&&(0,Z.jsxs)(Gd,{variant:"outline",className:"border-destructive/40 font-normal text-destructive",children:["superseded → ",m]}),h&&(0,Z.jsxs)("span",{children:[(0,Z.jsx)("span",{className:"opacity-60",children:"created"})," ",(0,Z.jsx)("span",{className:"text-foreground/80",children:h})]}),i&&i!==h&&(0,Z.jsxs)("span",{children:[(0,Z.jsx)("span",{className:"opacity-60",children:"updated"})," ",(0,Z.jsx)("span",{className:"text-foreground/80",children:i})]})]}),k.length>0&&(0,Z.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:k.map(a=>(0,Z.jsxs)(Gd,{variant:"secondary",className:"font-normal text-[11px]",children:["#",a]},a))}),l.length>0&&(0,Z.jsxs)("div",{className:"mt-2",children:[(0,Z.jsx)("span",{className:"opacity-60",children:"sources:"})," ",(0,Z.jsx)("span",{className:"text-foreground/80",children:l.join(", ")})]}),n.length>0&&(0,Z.jsxs)("div",{className:"mt-2 border-t pt-2",children:[(0,Z.jsxs)("button",{type:"button",onClick:()=>c(a=>!a),className:"flex items-center gap-1 text-muted-foreground hover:text-foreground",children:[b?(0,Z.jsx)(ah,{className:"h-3 w-3"}):(0,Z.jsx)(ai,{className:"h-3 w-3"}),(0,Z.jsxs)("span",{children:[n.length," more field",1===n.length?"":"s"]})]}),b&&(0,Z.jsx)("dl",{className:"mt-1.5 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-0.5",children:n.map(b=>(0,Z.jsxs)($.Fragment,{children:[(0,Z.jsx)("dt",{className:"opacity-60",children:b}),(0,Z.jsx)("dd",{className:"text-foreground/80 break-words",children:function a(b){if(null==b)return"";if("string"==typeof b)return b;if("number"==typeof b||"boolean"==typeof b)return String(b);if(Array.isArray(b))return b.map(a).join(", ");try{return JSON.stringify(b)}catch{return String(b)}}(a[b])})]},b))})]})]})}function Gg({markdown:a,pagePath:b,onNavigate:c}){let[d,e]=(0,$.useState)(""),f=(0,$.useRef)(null);(0,$.useEffect)(()=>{let c=!1;return uh(a,{pagePath:b,sanitize:!0}).then(a=>{c||e(a)}),()=>{c=!0}},[a,b]);let g=(0,$.useCallback)(a=>{let b=a.target.closest("a");if(!b)return;if("true"===b.dataset.wikiLink){a.preventDefault();let d=b.dataset.slug??"";if(!d)return;let e=vh.getState().getDir(d);if(!e)return;c("root"===e?`${d}.md`:`${e}/${d}.md`,b.dataset.anchor??null);return}let d=b.getAttribute("href")??"";if(/^https?:\/\//.test(d)){b.target||(b.setAttribute("target","_blank"),b.setAttribute("rel","noreferrer"));return}},[c]);(0,$.useEffect)(()=>{let a=f.current;if(a)return a.querySelectorAll("a[href^='http']").forEach(a=>{a.target||(a.setAttribute("target","_blank"),a.setAttribute("rel","noreferrer"))}),a.addEventListener("click",g),()=>a.removeEventListener("click",g)},[d,g]);let h=vh(a=>a.loadedAt);return(0,$.useEffect)(()=>{let a=f.current;if(!a)return;let b=vh.getState();a.querySelectorAll('a[data-wiki-link="true"]').forEach(a=>{let c=a.dataset.slug??"";c&&!b.has(c)?a.dataset.broken="true":delete a.dataset.broken})},[d,h]),(0,$.useEffect)(()=>{let a=f.current;a&&a.querySelectorAll('input[type="checkbox"]').forEach(a=>{a.disabled=!0})},[d]),(0,Z.jsx)("div",{ref:f,className:"tiptap md-preview",dangerouslySetInnerHTML:{__html:d}})}let Gh=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;function Gi(a){let b=a.trim();if(""===b)return"";if("true"===b)return!0;if("false"===b)return!1;if("null"===b||"~"===b)return null;if(/^-?\d+$/.test(b)||/^-?\d*\.\d+$/.test(b))return Number(b);if(b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))return b.slice(1,-1);if(b.startsWith("[")&&b.endsWith("]")){let a=b.slice(1,-1).trim();return""===a?[]:a.split(",").map(a=>Gi(a))}return b}let Gj=ad("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),Gk=ad("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Gl=ad("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),Gm=ad("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);function Gn(a){let b=Date.now()-new Date(a).getTime();return b<6e4?"just now":b<36e5?`${Math.floor(b/6e4)}m ago`:b<864e5?`${Math.floor(b/36e5)}h ago`:`${Math.floor(b/864e5)}d ago`}function Go({scope:a}){return(0,Z.jsxs)("span",{className:"text-[10px] text-muted-foreground/70 font-mono",children:[a.paths.join(", ")," · ",a.ops.join(",")]})}function Gp({reg:a,onApprove:b,onDeny:c}){let[d,e]=(0,$.useState)(!1);async function f(b){e(!0);try{await b(a.registrationId)}finally{e(!1)}}return(0,Z.jsxs)("li",{className:"py-1.5 border-b border-border/40 last:border-0",children:[(0,Z.jsxs)("div",{className:"flex items-start justify-between gap-1",children:[(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsx)("p",{className:"text-xs font-mono truncate",children:a.displayName}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/60 truncate",children:a.agentId}),(0,Z.jsx)(Go,{scope:a.requestedScope})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,Z.jsxs)(bT,{size:"sm",variant:"default",className:"h-6 px-2 text-[10px]",disabled:d,onClick:()=>void f(b),title:"Approve",children:[(0,Z.jsx)(Gk,{className:"h-3 w-3 mr-0.5"}),"Approve"]}),(0,Z.jsxs)(bT,{size:"sm",variant:"ghost",className:"h-6 px-2 text-[10px] text-destructive hover:text-destructive",disabled:d,onClick:()=>void f(c),title:"Deny",children:[(0,Z.jsx)(Gl,{className:"h-3 w-3 mr-0.5"}),"Deny"]})]})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/50 mt-0.5",children:["Requested ",Gn(a.requestedAt)]})]})}function Gq({agent:a,onRevoke:b}){let[c,d]=(0,$.useState)(!1);return(0,Z.jsxs)("li",{className:"py-1.5 border-b border-border/40 last:border-0",children:[(0,Z.jsxs)("div",{className:"flex items-start justify-between gap-1",children:[(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsx)("p",{className:"text-xs font-mono truncate",children:a.displayName}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/60 truncate",children:a.id}),(0,Z.jsx)(Go,{scope:a.scope})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 shrink-0 text-destructive hover:text-destructive",disabled:c,onClick:async()=>{d(!0);try{await b(a.id)}finally{d(!1)}},title:"Revoke agent",children:(0,Z.jsx)(aA,{className:"h-3 w-3"})})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/50 mt-0.5",children:["Last seen ",Gn(a.lastSeen)]})]})}function Gr(){let[a,b]=(0,$.useState)([]),[c,d]=(0,$.useState)([]),[e,f]=(0,$.useState)(!1);(0,$.useEffect)(()=>{fetch("/api/owner/init",{credentials:"same-origin"}).then(a=>{(a.ok||204===a.status)&&f(!0)}).catch(()=>{f(!0)})},[]);let g=(0,$.useCallback)(async()=>{try{let a=await fetch("/api/agent/admin/registrations",{credentials:"same-origin"});if(!a.ok)return;let c=await a.json();b(c.pending)}catch{}},[]),h=(0,$.useCallback)(async()=>{try{let a=await fetch("/api/agent/admin/agents",{credentials:"same-origin"});if(!a.ok)return;let b=await a.json();d(b.agents)}catch{}},[]);(0,$.useEffect)(()=>{if(!e)return;g(),h();let a=setInterval(()=>void g(),5e3),b=setInterval(()=>void h(),3e4);return()=>{clearInterval(a),clearInterval(b)}},[e,g,h]);let i=(0,$.useCallback)(async a=>{(await fetch(`/api/agent/admin/registrations/${a}/approve`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:"{}"})).ok?(CY.toast.success("Agent approved"),await Promise.all([g(),h()])):CY.toast.error("Failed to approve agent")},[g,h]),j=(0,$.useCallback)(async a=>{(await fetch(`/api/agent/admin/registrations/${a}/deny`,{method:"POST",credentials:"same-origin"})).ok?(CY.toast.success("Registration denied"),await g()):CY.toast.error("Failed to deny registration")},[g]),k=(0,$.useCallback)(async a=>{(await fetch(`/api/agent/admin/agents/${encodeURIComponent(a)}/revoke`,{method:"POST",credentials:"same-origin"})).ok?(CY.toast.success("Agent revoked"),await h()):CY.toast.error("Failed to revoke agent")},[h]);return(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Agents"}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0",title:"Refresh",onClick:()=>void Promise.all([g(),h()]),children:(0,Z.jsx)(ax,{className:"h-3 w-3"})})]}),a.length>0&&(0,Z.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-50/10 p-2",children:[(0,Z.jsxs)("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-amber-600/80 mb-1 flex items-center gap-1",children:[(0,Z.jsx)(Gm,{className:"h-3 w-3"}),"Pending (",a.length,")"]}),(0,Z.jsx)("ul",{children:a.map(a=>(0,Z.jsx)(Gp,{reg:a,onApprove:i,onDeny:j},a.registrationId))})]}),(0,Z.jsx)("div",{className:"rounded-md border border-border bg-muted/40 p-2",children:0===c.length?(0,Z.jsxs)("p",{className:"text-xs text-muted-foreground/60 py-1",children:["No registered agents."," ",(0,Z.jsx)("span",{className:"text-muted-foreground/40",children:"Agents register via POST /api/agent/register."})]}):(0,Z.jsx)("ul",{children:c.map(a=>(0,Z.jsx)(Gq,{agent:a,onRevoke:k},a.id))})}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/60 leading-relaxed",children:["Agents authenticate via bearer token + X-Agent-Id header. Use"," ",(0,Z.jsx)("code",{className:"bg-muted px-0.5 rounded",children:"POST /api/agent/register"})," to start the TOFU flow."]})]})}function Gs({event:a}){var b;let c=a.path.split("/").pop()??a.path,d="string"==typeof a.ref?a.ref:"";return(0,Z.jsxs)("div",{className:"flex flex-col gap-0.5 py-1.5 border-b border-border/50 last:border-0",children:[(0,Z.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,Z.jsx)("span",{className:"text-xs font-mono text-foreground/80 truncate",title:a.path,children:c}),(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground shrink-0",children:function(a){let b=Math.floor(Math.max(0,Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}(a.at)})]}),(0,Z.jsxs)("p",{className:"text-[11px] text-muted-foreground truncate",children:[(0,Z.jsx)("span",{className:"text-foreground/60",children:a.by})," ",{"block.replace":"replaced","block.insertAfter":"inserted after","block.insertBefore":"inserted before","block.delete":"deleted","block.append":"appended","block.prepend":"prepended","comment.add":"commented on","comment.reply":"replied to comment","comment.resolve":"resolved comment","comment.reopen":"reopened comment","suggestion.add":"suggested","suggestion.accept":"accepted suggestion","suggestion.reject":"rejected suggestion"}[b=a.type]??b,d&&(0,Z.jsxs)(Z.Fragment,{children:[" ",(0,Z.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground/60",children:d})]})]})]})}var Gt=a.i(92437);let Gu="npx skills add anh-chu/wiki-viewer/agents/wiki-viewer-skill";function Gv(a){let[b,c]=(0,$.useState)(!1);return{copied:b,copy:(0,$.useCallback)(async()=>{await navigator.clipboard.writeText(a()),c(!0),setTimeout(()=>c(!1),1500)},[a])}}function Gw({currentPath:a}){let b=u1(a=>a.isOpen),c=u1(a=>a.close),d=u1(a=>a.activity),e=u1(a=>a.connections),f=u1(a=>a.rateLimit),g=u1(a=>a.loadActivity),{copied:h,copy:i}=function(a){let[b,c]=(0,$.useState)(!1);return{copied:b,copy:(0,$.useCallback)(async()=>{let b="http://localhost:3000",d=`# 1. Register
|
|
115
|
+
${b}`:""]})}let b=a.data||{};if(b["image/png"]){let a=`data:image/png;base64,${DW(b["image/png"]).replace(/\s/g,"")}`;return(0,Z.jsx)("img",{src:a,alt:"output",className:"max-w-full rounded-md bg-card p-2"})}if(b["image/jpeg"]){let a=`data:image/jpeg;base64,${DW(b["image/jpeg"]).replace(/\s/g,"")}`;return(0,Z.jsx)("img",{src:a,alt:"output",className:"max-w-full rounded-md bg-card p-2"})}if(b["image/svg+xml"]){let a=DW(b["image/svg+xml"]);return(0,Z.jsx)("div",{className:"max-w-full rounded-md bg-card p-2 overflow-auto",dangerouslySetInnerHTML:{__html:a}})}if(b["text/html"]){let a=DW(b["text/html"]);return(0,Z.jsx)("iframe",{srcDoc:`<!doctype html><html><head><base target="_blank"><style>body{margin:0;padding:8px;font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;background:#FFF9E9;color:#2A221B;font-size:13px}table{border-collapse:collapse}th,td{border:1px solid #D4C4B0;padding:4px 8px;text-align:left}thead{background:#EFE5CC}</style></head><body>${a}</body></html>`,sandbox:"allow-scripts",className:"w-full bg-[#FFF9E9] rounded-md border border-[#E8DDC5]",style:{height:360}})}return b["text/plain"]?(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md bg-[#F5EEDC] text-[#2A221B]",children:DY(DW(b["text/plain"]))}):null}function D$({cell:a,language:b}){let c=DW(a.source),d=(0,$.useMemo)(()=>(function(a,b){try{let c=b?DV.highlight(b,a):DV.highlightAuto(a);return q8(c)}catch{return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}})(c,b),[c,b]),e=a.execution_count??" ",f=(a.outputs?.length??0)>0;return(0,Z.jsxs)("div",{className:"grid grid-cols-[60px_1fr] gap-3 mb-5",children:[(0,Z.jsxs)("div",{className:"text-right pt-3 select-none font-mono text-[11px] text-[#8B5E3C]",children:["In [",e,"]:"]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("pre",{className:"whitespace-pre overflow-x-auto font-mono text-[13px] leading-relaxed px-4 py-3 rounded-md bg-[#FFF9E9] border border-[#E8DDC5] text-[#2A221B]",children:(0,Z.jsx)("code",{dangerouslySetInnerHTML:{__html:d}})}),f&&(0,Z.jsxs)("div",{className:"mt-2 grid grid-cols-[60px_1fr] gap-3",children:[(0,Z.jsxs)("div",{className:"text-right pt-3 select-none font-mono text-[11px] text-[#8B2E3E]",children:["Out[",e,"]:"]}),(0,Z.jsx)("div",{className:"space-y-2",children:a.outputs?.map((a,b)=>(0,Z.jsx)(DZ,{output:a},b))})]})]})]})}function D_({cell:a}){let[b,c]=(0,$.useState)("");return(0,$.useEffect)(()=>{let b=!1;return uh(DW(a.source)).then(a=>{b||c(a)}),()=>{b=!0}},[a.source]),(0,Z.jsx)("div",{className:"prose prose-sm max-w-none mb-5 px-1 [&_h1]:font-serif [&_h2]:font-serif [&_h3]:font-serif [&_a]:text-[#8B5E3C] [&_a:hover]:underline [&_code]:bg-[#F5EEDC] [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:rounded [&_code]:text-[#8B2E3E]",dangerouslySetInnerHTML:{__html:b}})}function D0({cell:a}){return(0,Z.jsx)("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] leading-relaxed px-4 py-3 rounded-md bg-[#F5EEDC] text-[#2A221B] mb-5",children:DW(a.source)})}function D1({path:a}){let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(!0),[f,g]=(0,$.useState)(null),[h,i]=(0,$.useState)(!1),j=`/api/assets/${a}`,k=a.split("/").pop()||a,l=(0,$.useCallback)(async()=>{e(!0),g(null);try{let a=await fetch(j);if(!a.ok)throw Error(`HTTP ${a.status}`);let b=await a.json();c(b)}catch(a){g(a instanceof Error?a.message:"Failed to load notebook")}finally{e(!1)}},[j]);(0,$.useEffect)(()=>{l()},[l]);let m=b?.metadata?.language_info?.name||b?.metadata?.kernelspec?.name||"python",n=b?.cells?.length??0,o=b?.cells?.filter(a=>"code"===a.cell_type).length??0,p=b?.cells?.some(a=>"code"===a.cell_type&&(a.outputs?.length??0)>0)??!1;return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:"IPYNB",sublabel:`${n} cells \xb7 ${o} code \xb7 ${m}`,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{navigator.clipboard.writeText(`jupyter lab ${a}`),i(!0),setTimeout(()=>i(!1),2e3)},title:"Copy: jupyter lab <path>",children:[h?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"}),h?"Copied":"Copy run cmd"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=j,a.download=k,a.click()},children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(j,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Raw JSON"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto bg-[#F5EEDC]",children:d?(0,Z.jsx)("div",{className:"flex items-center justify-center h-full text-[#7A6B5D] text-sm",children:"Loading notebook…"}):f?(0,Z.jsxs)("div",{className:"flex items-center justify-center h-full text-[#8B2E3E] text-sm gap-2",children:[(0,Z.jsx)(ae,{className:"h-4 w-4"})," ",f]}):b?(0,Z.jsxs)("div",{className:"max-w-[1100px] mx-auto py-8 px-6",children:[!p&&o>0&&(0,Z.jsxs)("div",{className:"mb-6 rounded-md border border-[#E8DDC5] bg-[#FFF9E9] px-4 py-3 text-[13px] text-[#7A6B5D]",children:[(0,Z.jsx)("span",{className:"font-semibold text-[#0c0a09]",children:"This notebook hasn't been run yet."})," ","Code and markdown cells display below; outputs appear once the author runs the notebook in Jupyter (or you do, then re-save)."]}),b.cells?.map((a,b)=>"markdown"===a.cell_type?(0,Z.jsx)(D_,{cell:a},b):"raw"===a.cell_type?(0,Z.jsx)(D0,{cell:a},b):(0,Z.jsx)(D$,{cell:a,language:m},b))]}):null})]})}function D2({path:a,extLabel:b,external:c,hideFinder:d}){let e=`/api/assets/${a}`,f=a.split("/").pop()||a,g=async()=>{try{await fetch("/api/system/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})})}catch{}};return(0,Z.jsxs)(dJ,{path:a,badge:b||void 0,children:[c&&(0,Z.jsxs)("a",{href:c.href,target:"_blank",rel:"noreferrer noopener",className:"inline-flex items-center gap-1.5 text-[11px] h-7 px-2.5 rounded-md border border-border hover:bg-accent transition-colors",children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),c.label]}),!d&&(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-1.5 text-[11px] h-7",onClick:g,title:"Open in Finder",children:[(0,Z.jsx)(an,{className:"h-3.5 w-3.5"}),"Reveal"]}),!d&&(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"gap-1.5 text-[11px] h-7",onClick:()=>{let a=document.createElement("a");a.href=e,a.download=f,a.click()},title:"Download original",children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]})]})}function D3({path:b,title:c}){let d=(0,$.useRef)(null),[e,f]=(0,$.useState)(!0),[g,h]=(0,$.useState)(null);return(0,$.useEffect)(()=>{let c=!1,e=d.current;if(e)return e.innerHTML="",(async()=>{f(!0),h(null);try{let[{renderAsync:d},g]=await Promise.all([a.A(458647),fetch(`/api/assets/${b}`)]);if(c)return;if(!g.ok)throw Error(`Failed to load file (${g.status})`);let h=await g.blob();if(c)return;await d(h,e,void 0,{className:"docx-rendered",inWrapper:!0,ignoreWidth:!1,ignoreHeight:!1,breakPages:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,experimental:!0,useBase64URL:!0}),c||f(!1)}catch(a){c||(h(a instanceof Error?a.message:"Failed to render document"),f(!1))}})(),()=>{c=!0}},[b]),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(D2,{path:b,title:c,extLabel:"DOCX"}),(0,Z.jsxs)("div",{className:"flex-1 overflow-y-auto bg-muted/30",children:[e&&!g&&(0,Z.jsxs)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:[(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin mr-2"}),"Rendering document…"]}),g&&(0,Z.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"text-center space-y-2",children:[(0,Z.jsx)("p",{className:"text-sm text-destructive",children:g}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Try downloading the file and opening it externally."})]})}),(0,Z.jsx)("div",{ref:d,className:"docx-viewer-body mx-auto max-w-5xl py-6 px-4"})]})]})}function D4({path:b,title:c}){let d=(0,$.useRef)(null),[e,f]=(0,$.useState)(!0),[g,h]=(0,$.useState)(null);return(0,$.useEffect)(()=>{let c=!1,e=d.current;if(!e)return;e.innerHTML="";let g=null;return(async()=>{f(!0),h(null);try{let[{init:d},h]=await Promise.all([a.A(287443),fetch(`/api/assets/${b}`)]);if(c)return;if(!h.ok)throw Error(`Failed to load file (${h.status})`);let i=await h.arrayBuffer();if(c)return;let j=e.clientWidth||960,k=Math.round(9*j/16);g=d(e,{width:j,height:k,mode:"list"}),await g.preview(i),c||f(!1)}catch(a){c||(h(a instanceof Error?a.message:"Failed to render presentation"),f(!1))}})(),()=>{c=!0;try{g?.destroy?.()}catch{}}},[b]),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(D2,{path:b,title:c,extLabel:"PPTX"}),(0,Z.jsxs)("div",{className:"flex-1 overflow-auto bg-muted/30 py-4",children:[e&&!g&&(0,Z.jsxs)("div",{className:"h-[60vh] flex items-center justify-center text-muted-foreground",children:[(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin mr-2"}),"Rendering slides…"]}),g&&(0,Z.jsx)("div",{className:"h-[60vh] flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"text-center space-y-2",children:[(0,Z.jsx)("p",{className:"text-sm text-destructive",children:g}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Try downloading the file and opening it externally."})]})}),(0,Z.jsx)("div",{ref:d,className:"pptx-viewer-body mx-auto max-w-5xl px-4"})]})]})}function D5({path:b,title:c}){let[d,e]=(0,$.useState)(null),[f,g]=(0,$.useState)(0),[h,i]=(0,$.useState)(!0),[j,k]=(0,$.useState)(null);(0,$.useEffect)(()=>{let c=!1;return i(!0),k(null),e(null),(async()=>{try{let[d,f]=await Promise.all([a.A(57386),fetch(`/api/assets/${b}`)]);if(c)return;if(!f.ok)throw Error(`Failed to load file (${f.status})`);let h=await f.arrayBuffer();if(c)return;let j=d.read(h,{type:"array",cellDates:!0,cellStyles:!0}),k=j.SheetNames.map(a=>({name:a,html:d.utils.sheet_to_html(j.Sheets[a],{editable:!1})}));if(c)return;e(k),g(0),i(!1)}catch(a){c||(k(a instanceof Error?a.message:"Failed to parse spreadsheet"),i(!1))}})(),()=>{c=!0}},[b]);let l=(0,$.useMemo)(()=>d?.[f]??null,[d,f]);return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(D2,{path:b,title:c,extLabel:"XLSX"}),d&&d.length>1&&(0,Z.jsx)("div",{className:"flex items-center gap-0.5 border-b border-border bg-muted/40 px-2 overflow-x-auto scrollbar-none",children:d.map((a,b)=>(0,Z.jsx)("button",{type:"button",onClick:()=>g(b),className:bR("px-3 py-1.5 text-[12px] rounded-t whitespace-nowrap transition-colors",b===f?"bg-background text-foreground font-medium border-t border-x border-border -mb-px":"text-muted-foreground hover:text-foreground"),children:a.name},a.name+b))}),(0,Z.jsxs)("div",{className:"flex-1 overflow-auto",children:[h&&!j&&(0,Z.jsxs)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:[(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin mr-2"}),"Parsing spreadsheet…"]}),j&&(0,Z.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,Z.jsxs)("div",{className:"text-center space-y-2",children:[(0,Z.jsx)("p",{className:"text-sm text-destructive",children:j}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Try downloading the file and opening it externally."})]})}),l&&(0,Z.jsx)("div",{className:"xlsx-sheet p-3 text-[12px]",dangerouslySetInnerHTML:{__html:l.html}})]})]})}function D6({path:a,title:b}){let c=`/api/assets/${a}`;return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(dJ,{path:a,badge:"PDF",children:(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(c,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})}),(0,Z.jsx)("iframe",{src:c,className:"flex-1 w-full border-0",title:b})]})}let D7=ad("wrap-text",[["path",{d:"m16 16-2 2 2 2",key:"kkc6pm"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["path",{d:"M3 18h7",key:"sq21v6"}],["path",{d:"M3 6h18",key:"d0wm0j"}]]),D8=Be(DU),D9={".js":"javascript",".cjs":"javascript",".mjs":"javascript",".ts":"typescript",".tsx":"typescript",".jsx":"javascript",".py":"python",".rb":"ruby",".php":"php",".sh":"bash",".bash":"bash",".zsh":"bash",".ps1":"powershell",".css":"css",".scss":"scss",".html":"xml",".json":"json",".jsonc":"json",".yaml":"yaml",".yml":"yaml",".toml":"ini",".ini":"ini",".xml":"xml",".sql":"sql",".graphql":"graphql",".gql":"graphql",".go":"go",".rs":"rust",".swift":"swift",".java":"java",".kt":"kotlin",".kts":"kotlin",".c":"c",".cpp":"cpp",".h":"c",".env":"bash",".txt":"",".text":"",".log":"",".rst":"",".mdx":"markdown"};function Ea({path:a}){let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(!0),[f,g]=(0,$.useState)(!1),[h,i]=(0,$.useState)(!1),j=`/api/assets/${a}`,k=a.split("/").pop()||a,l=D9[k.includes(".")?`.${k.split(".").pop()?.toLowerCase()}`:""]??"",m=(0,$.useCallback)(async()=>{e(!0);try{let a=await fetch(j);if(a.ok){let b=await a.text();c(b)}}catch{}finally{e(!1)}},[j]);(0,$.useEffect)(()=>{m()},[m]);let n=(0,$.useMemo)(()=>{if(!b)return[];try{let a=l?D8.highlight(l,b):D8.highlightAuto(b);return q8(a).split("\n")}catch{return b.split("\n").map(a=>a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"))}},[b,l]);return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:k.includes(".")?k.split(".").pop()?.toUpperCase()??"TEXT":"TEXT",sublabel:l||void 0,children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:`h-7 gap-1.5 text-xs ${f?"bg-muted":""}`,onClick:()=>g(a=>!a),title:f?"Disable line wrap":"Enable line wrap",children:[(0,Z.jsx)(D7,{className:"h-3.5 w-3.5"}),"Wrap"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{b&&(navigator.clipboard.writeText(b),i(!0),setTimeout(()=>i(!1),2e3))},title:"Copy file contents",children:[h?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"}),h?"Copied":"Copy"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>{let a=document.createElement("a");a.href=j,a.download=k,a.click()},title:"Download file",children:[(0,Z.jsx)(dH,{className:"h-3.5 w-3.5"}),"Download"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(j,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Raw"]})]}),(0,Z.jsx)("div",{className:"flex-1 overflow-auto source-viewer-code bg-[#1e1e1e]",children:d?(0,Z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Loading..."}):(0,Z.jsx)("table",{className:"w-full border-collapse text-[13px] leading-relaxed font-mono",children:(0,Z.jsx)("tbody",{children:n.map((a,b)=>(0,Z.jsxs)("tr",{className:"hover:bg-white/5",children:[(0,Z.jsx)("td",{className:"w-12 pr-4 text-right text-[#858585] select-none align-top sticky left-0 bg-[#1e1e1e]",children:b+1}),(0,Z.jsx)("td",{className:`text-[#d4d4d4] pl-2 ${f?"whitespace-pre-wrap break-all":"whitespace-pre"}`,dangerouslySetInnerHTML:{__html:a||" "}})]},b))})})})]})}function Eb({path:a,title:b,src:c,fullscreen:d,onExit:e}){let f=c??`/api/assets/${a}/index.html`,g=d&&e?(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:e,title:"Exit app",children:[(0,Z.jsx)(CK,{className:"h-3.5 w-3.5"}),"Exit app"]}):null;return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsx)(dJ,{path:a,badge:d?"App":void 0,showBreadcrumb:!d,leading:d?(0,Z.jsxs)(Z.Fragment,{children:[g,(0,Z.jsx)("span",{className:"truncate text-[13px] font-medium text-foreground",children:b})]}):null,children:(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(f,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]})}),(0,Z.jsx)("iframe",{src:f,className:"flex-1 w-full border-0 bg-card",title:b,sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-top-navigation-by-user-activation"})]})}let Ec=ad("play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),Ed=ad("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),Ee={stopped:"Stopped",installing:"Installing dependencies…",starting:"Starting…",running:"Running",error:"Error"};function Ef({path:a,title:b}){let[c,d]=(0,$.useState)("stopped"),[e,f]=(0,$.useState)(null),[g,h]=(0,$.useState)([]),[i,j]=(0,$.useState)(null),[k,l]=(0,$.useState)(!1),[m,n]=(0,$.useState)(0),o=(0,$.useRef)(null),p=(0,$.useRef)(null),q=`/api/app-proxy/${a}/`,r=()=>{o.current&&(clearInterval(o.current),o.current=null)},s=(0,$.useCallback)(async()=>{try{let b=await fetch(`/api/wiki/app?path=${encodeURIComponent(a)}`);if(!b.ok)return;let c=await b.json();d(c.status),h(c.logs??[]),c.port&&f(c.port),c.error&&j(c.error),("running"===c.status||"stopped"===c.status||"error"===c.status)&&r()}catch{}},[a]);(0,$.useEffect)(()=>("installing"===c||"starting"===c?o.current||(o.current=setInterval(s,800)):r(),r),[c,s]),(0,$.useEffect)(()=>{p.current?.scrollIntoView({behavior:"smooth"})},[g]),(0,$.useEffect)(()=>{s()},[s]);let t=async()=>{j(null),h([]),d("starting");try{let b=await fetch("/api/wiki/app",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})}),c=await b.json();if(!b.ok||c.error){d("error"),j(c.error??"Failed to start");return}c.port&&f(c.port),await s()}catch(a){d("error"),j(String(a))}},u=async()=>{await fetch("/api/wiki/app",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})}),d("stopped"),f(null)},v=async()=>{await u(),await t(),n(a=>a+1)};return(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,Z.jsxs)(dJ,{path:a,badge:"Node app",children:["running"===c&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>n(a=>a+1),children:[(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"}),"Refresh"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>window.open(q,"_blank"),children:[(0,Z.jsx)(wZ,{className:"h-3.5 w-3.5"}),"Open in new tab"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:v,children:[(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"}),"Restart"]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs text-destructive hover:text-destructive",onClick:u,children:[(0,Z.jsx)(Ed,{className:"h-3.5 w-3.5"}),"Stop"]})]}),(0,Z.jsxs)(bT,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>l(a=>!a),children:[(0,Z.jsx)(az,{className:"h-3.5 w-3.5"}),"Logs"]})]}),k&&(0,Z.jsxs)("div",{className:"border-b bg-black/90 text-green-400 font-mono text-xs h-40 overflow-auto p-2 shrink-0",children:[0===g.length?(0,Z.jsx)("span",{className:"text-muted-foreground",children:"No output yet."}):g.map((a,b)=>(0,Z.jsx)("div",{className:"whitespace-pre-wrap leading-5",children:a},b)),(0,Z.jsx)("div",{ref:p})]}),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:["stopped"===c&&(0,Z.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,Z.jsxs)("div",{className:"text-center space-y-1",children:[(0,Z.jsx)("p",{className:"text-sm font-medium",children:b}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Node.js app — will be started on a local port"})]}),(0,Z.jsxs)(bT,{onClick:t,className:"gap-2",children:[(0,Z.jsx)(Ec,{className:"h-4 w-4"}),"Launch app"]})]}),("installing"===c||"starting"===c)&&(0,Z.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3",children:[(0,Z.jsx)(ar,{className:"h-6 w-6 animate-spin text-muted-foreground"}),(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:Ee[c]}),e&&(0,Z.jsxs)("p",{className:"text-xs text-muted-foreground/60",children:["port ",e]})]}),"error"===c&&(0,Z.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-6",children:[(0,Z.jsx)(ae,{className:"h-8 w-8 text-destructive"}),(0,Z.jsxs)("div",{className:"text-center space-y-1 max-w-md",children:[(0,Z.jsx)("p",{className:"text-sm font-medium text-destructive",children:"Failed to start app"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground break-words",children:i??"Unknown error"})]}),(0,Z.jsxs)(bT,{onClick:t,variant:"outline",className:"gap-2",children:[(0,Z.jsx)(ax,{className:"h-4 w-4"}),"Try again"]})]}),"running"===c&&(0,Z.jsx)("iframe",{src:q,className:"flex-1 w-full border-0 bg-card",title:b,sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation-by-user-activation"},m)]})]})}let Eg=ad("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),Eh=ad("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]),Ei=ad("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),Ej=ad("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);function Ek({onSelect:a}){let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(!0),[f,g]=(0,$.useState)(null),[h,i]=(0,$.useState)(""),[j,k]=(0,$.useState)(!1),[l,m]=(0,$.useState)([]),[n,o]=(0,$.useState)(!1),p=(0,$.useRef)(null),q=(0,$.useRef)(null),r=(0,$.useCallback)(async(a,b=!0)=>{q.current&&(clearTimeout(q.current),q.current=null),e(!0),g(null);try{let d=await fetch(`/api/system/browse?path=${encodeURIComponent(a)}`);if(!d.ok){let a=await d.json();g(a.error??"Cannot open directory");return}let e=await d.json();c(e),b&&i(e.path)}catch{g("Network error")}finally{e(!1)}},[]);(0,$.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await fetch("/api/system/config");if(b.ok&&!a){let a=await b.json();m(a.pinnedPaths??[]),await r(a.lastOpenedPath??"");return}}catch{}a||await r("")})(),()=>{a=!0}},[]);let s=async c=>{let d=c??b?.path;if(d){k(!0);try{let b=await fetch("/api/system/set-root",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:d})});if(!b.ok){let a=await b.json();g(a.error??"Cannot use that directory");return}a(d)}catch{g("Network error")}finally{k(!1)}}},t=!!b&&l.includes(b.path),u=async()=>{if(b){o(!0);try{let a=t?"unpin":"pin";(await fetch("/api/system/pins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,action:a})})).ok&&m(c=>"pin"===a?[...c,b.path]:c.filter(a=>a!==b.path))}catch{}finally{o(!1)}}},v=async a=>{try{(await fetch("/api/system/pins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a,action:"unpin"})})).ok&&m(b=>b.filter(b=>b!==a))}catch{}},w=(b?.path??"").split(/[/\\]/).filter(Boolean).reduce((a,b)=>{let c=a[a.length-1]?.path??"/";return a.push({label:b,path:`${"/"===c?"":c}/${b}`}),a},[{label:"/",path:"/"}]);return(0,Z.jsx)("div",{className:"flex flex-1 items-center justify-center bg-background p-4",children:(0,Z.jsxs)("div",{className:"flex w-full max-w-xl flex-col gap-4",children:[(0,Z.jsxs)("div",{className:"text-center space-y-1",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-center gap-2 mb-1",children:[(0,Z.jsx)("img",{src:"/logo.svg",alt:"Wiki Viewer",className:"h-8 w-8"}),(0,Z.jsx)("span",{className:"text-xl font-semibold tracking-tight",children:"Wiki Viewer"})]}),(0,Z.jsx)("h1",{className:"text-xl font-medium",children:"Choose a directory"}),(0,Z.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Select the folder wiki-viewer should serve.",(0,Z.jsx)("br",{}),"This directory lives on the server — use the browser below."]})]}),(0,Z.jsxs)("div",{className:"rounded-lg border bg-card shadow-sm overflow-hidden",children:[(0,Z.jsx)("div",{className:"flex items-center gap-2 border-b px-3 py-2 bg-muted",children:(0,Z.jsx)("input",{ref:p,className:"flex-1 bg-transparent text-sm outline-none font-mono min-w-0",value:h,onChange:a=>{let b=a.target.value;i(b),q.current&&clearTimeout(q.current),q.current=setTimeout(()=>{q.current=null,r(b.trim(),!1)},500)},onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),q.current&&(clearTimeout(q.current),q.current=null),r(h.trim())),"Escape"===a.key&&(q.current&&(clearTimeout(q.current),q.current=null),i(b?.path??""),p.current?.blur())},spellCheck:!1,placeholder:"Enter a path…"})}),(0,Z.jsx)("div",{className:"flex items-center gap-1 border-b px-3 py-1.5 bg-muted/50 overflow-x-auto shrink-0 min-h-[32px]",children:w.map((a,b)=>(0,Z.jsxs)("span",{className:"flex items-center gap-1 shrink-0",children:[b>0&&(0,Z.jsx)(ai,{className:"h-3 w-3 text-muted-foreground/50"}),(0,Z.jsx)("button",{type:"button",className:"text-xs hover:text-foreground text-muted-foreground transition-colors rounded px-0.5",onClick:()=>r(a.path),children:0===b?(0,Z.jsx)(Eg,{className:"h-3.5 w-3.5"}):a.label})]},a.path))}),(0,Z.jsx)("div",{className:"max-h-60 overflow-y-auto",children:d?(0,Z.jsx)("div",{className:"flex justify-center py-8",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):f?(0,Z.jsx)("div",{className:"px-4 py-3 text-sm text-destructive",children:f}):(0,Z.jsxs)(Z.Fragment,{children:[b?.parent&&(0,Z.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2.5 px-3 py-2 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors",onClick:()=>r(b.parent),children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0"}),(0,Z.jsx)("span",{className:"font-mono text-xs",children:".."})]}),b?.entries.length===0&&(0,Z.jsx)("p",{className:"px-4 py-3 text-sm text-muted-foreground/60",children:"No subdirectories"}),b?.entries.map(a=>(0,Z.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2.5 px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground transition-colors",onClick:()=>r(a.path),children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("span",{className:"truncate",children:a.name})]},a.path))]})}),(0,Z.jsxs)("div",{className:"border-t px-3 py-2 flex items-center justify-between gap-2 bg-muted",children:[(0,Z.jsxs)("button",{type:"button",className:bR("flex items-center gap-1.5 text-xs transition-colors rounded px-1.5 py-1",t?"text-foreground hover:text-destructive":"text-muted-foreground hover:text-foreground"),title:t?"Unpin this path":"Pin this path for quick access",onClick:u,disabled:n||!b,children:[n?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):t?(0,Z.jsx)(Ej,{className:"h-3.5 w-3.5"}):(0,Z.jsx)(Ei,{className:"h-3.5 w-3.5"}),t?"Unpin":"Pin"]}),(0,Z.jsxs)(bT,{size:"sm",className:"shrink-0 gap-1.5",disabled:!b||j,onClick:()=>s(),children:[j?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(an,{className:"h-3.5 w-3.5"}),"Select"]})]})]}),l.length>0&&(0,Z.jsxs)("div",{className:"rounded-lg border bg-card shadow-sm overflow-hidden",children:[(0,Z.jsx)("div",{className:"px-3 py-2 border-b bg-muted",children:(0,Z.jsxs)("span",{className:"text-xs font-medium text-muted-foreground flex items-center gap-1.5",children:[(0,Z.jsx)(Ei,{className:"h-3 w-3"})," Pinned"]})}),(0,Z.jsx)("div",{className:"max-h-40 overflow-y-auto",children:l.map(a=>(0,Z.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 hover:bg-accent group",children:[(0,Z.jsxs)("button",{type:"button",className:"flex-1 flex items-center gap-2 text-sm text-left min-w-0",onClick:()=>r(a),children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("span",{className:"truncate font-mono text-xs",children:a})]}),(0,Z.jsx)("button",{type:"button",className:"shrink-0 text-muted-foreground/50 hover:text-destructive opacity-0 group-hover:opacity-100 transition-all",onClick:()=>v(a),title:"Remove pin",children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]},a))})]}),b?.shortcuts&&b.shortcuts.length>0&&(0,Z.jsx)("div",{className:"flex flex-wrap gap-1.5 justify-center",children:b.shortcuts.map(a=>(0,Z.jsxs)(bT,{variant:"outline",size:"sm",className:"h-7 gap-1.5 text-xs",onClick:()=>r(a.path),children:["Home"===a.label?(0,Z.jsx)(Eh,{className:"h-3 w-3"}):(0,Z.jsx)(Eg,{className:"h-3 w-3"}),a.label]},a.path))})]})})}function El(a){let b=a+"CollectionProvider",[c,d]=bV(b),[e,f]=c(b,{collectionRef:{current:null},itemMap:new Map}),g=a=>{let{scope:b,children:c}=a,d=$.default.useRef(null),f=$.default.useRef(new Map).current;return(0,Z.jsx)(e,{scope:b,itemMap:f,collectionRef:d,children:c})};g.displayName=b;let h=a+"CollectionSlot",i=b1(h),j=$.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,e=aF(b,f(h,c).collectionRef);return(0,Z.jsx)(i,{ref:e,children:d})});j.displayName=h;let k=a+"CollectionItemSlot",l="data-radix-collection-item",m=b1(k),n=$.default.forwardRef((a,b)=>{let{scope:c,children:d,...e}=a,g=$.default.useRef(null),h=aF(b,g),i=f(k,c);return $.default.useEffect(()=>(i.itemMap.set(g,{ref:g,...e}),()=>void i.itemMap.delete(g))),(0,Z.jsx)(m,{...{[l]:""},ref:h,children:d})});return n.displayName=k,[{Provider:g,Slot:j,ItemSlot:n},function(b){let c=f(a+"CollectionConsumer",b);return $.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${l}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},d]}var Em=new WeakMap;function En(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=Eo(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function Eo(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],Em.set(this,!0)}set(a,b){return Em.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=Eo(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#a],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=En(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=En(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return En(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}});var Ep=$.createContext(void 0);function Eq(a){let b=$.useContext(Ep);return a||b||"ltr"}var Er="rovingFocusGroup.onEntryFocus",Es={bubbles:!1,cancelable:!0},Et="RovingFocusGroup",[Eu,Ev,Ew]=El(Et),[Ex,Ey]=bV(Et,[Ew]),[Ez,EA]=Ex(Et),EB=$.forwardRef((a,b)=>(0,Z.jsx)(Eu.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,Z.jsx)(Eu.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,Z.jsx)(EC,{...a,ref:b})})}));EB.displayName=Et;var EC=$.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:e=!1,dir:f,currentTabStopId:g,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:i,onEntryFocus:j,preventScrollOnEntryFocus:k=!1,...l}=a,m=$.useRef(null),n=aF(b,m),o=Eq(f),[p,q]=b_({prop:g,defaultProp:h??null,onChange:i,caller:Et}),[r,s]=$.useState(!1),t=b6(j),u=Ev(c),v=$.useRef(!1),[w,x]=$.useState(0);return $.useEffect(()=>{let a=m.current;if(a)return a.addEventListener(Er,t),()=>a.removeEventListener(Er,t)},[t]),(0,Z.jsx)(Ez,{scope:c,orientation:d,dir:o,loop:e,currentTabStopId:p,onItemFocus:$.useCallback(a=>q(a),[q]),onItemShiftTab:$.useCallback(()=>s(!0),[]),onFocusableItemAdd:$.useCallback(()=>x(a=>a+1),[]),onFocusableItemRemove:$.useCallback(()=>x(a=>a-1),[]),children:(0,Z.jsx)(b4.div,{tabIndex:r||0===w?-1:0,"data-orientation":d,...l,ref:n,style:{outline:"none",...a.style},onMouseDown:bU(a.onMouseDown,()=>{v.current=!0}),onFocus:bU(a.onFocus,a=>{let b=!v.current;if(a.target===a.currentTarget&&b&&!r){let b=new CustomEvent(Er,Es);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=u().filter(a=>a.focusable);EG([a.find(a=>a.active),a.find(a=>a.id===p),...a].filter(Boolean).map(a=>a.ref.current),k)}}v.current=!1}),onBlur:bU(a.onBlur,()=>s(!1))})})}),ED="RovingFocusGroupItem",EE=$.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:e=!1,tabStopId:f,children:g,...h}=a,i=bZ(),j=f||i,k=EA(ED,c),l=k.currentTabStopId===j,m=Ev(c),{onFocusableItemAdd:n,onFocusableItemRemove:o,currentTabStopId:p}=k;return $.useEffect(()=>{if(d)return n(),()=>o()},[d,n,o]),(0,Z.jsx)(Eu.ItemSlot,{scope:c,id:j,focusable:d,active:e,children:(0,Z.jsx)(b4.span,{tabIndex:l?0:-1,"data-orientation":k.orientation,...h,ref:b,onMouseDown:bU(a.onMouseDown,a=>{d?k.onItemFocus(j):a.preventDefault()}),onFocus:bU(a.onFocus,()=>k.onItemFocus(j)),onKeyDown:bU(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void k.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return EF[e]}(a,k.orientation,k.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=m().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=k.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>EG(e))}}),children:"function"==typeof g?g({isCurrentTabStop:l,hasTabStop:null!=p}):g})})});EE.displayName=ED;var EF={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function EG(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var EH=["Enter"," "],EI=["ArrowUp","PageDown","End"],EJ=["ArrowDown","PageUp","Home",...EI],EK={ltr:[...EH,"ArrowRight"],rtl:[...EH,"ArrowLeft"]},EL={ltr:["ArrowLeft"],rtl:["ArrowRight"]},EM="Menu",[EN,EO,EP]=El(EM),[EQ,ER]=bV(EM,[EP,BT,Ey]),ES=BT(),ET=Ey(),[EU,EV]=EQ(EM),[EW,EX]=EQ(EM),EY=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:f,modal:g=!0}=a,h=ES(b),[i,j]=$.useState(null),k=$.useRef(!1),l=b6(f),m=Eq(e);return $.useEffect(()=>{let a=()=>{k.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>k.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,Z.jsx)(BW,{...h,children:(0,Z.jsx)(EU,{scope:b,open:c,onOpenChange:l,content:i,onContentChange:j,children:(0,Z.jsx)(EW,{scope:b,onClose:$.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:k,dir:m,modal:g,children:d})})})};EY.displayName=EM;var EZ=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=ES(c);return(0,Z.jsx)(BY,{...e,...d,ref:b})});EZ.displayName="MenuAnchor";var E$="MenuPortal",[E_,E0]=EQ(E$,{forceMount:void 0}),E1=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,f=EV(E$,b);return(0,Z.jsx)(E_,{scope:b,forceMount:c,children:(0,Z.jsx)(cm,{present:c||f.open,children:(0,Z.jsx)(cl,{asChild:!0,container:e,children:d})})})};E1.displayName=E$;var E2="MenuContent",[E3,E4]=EQ(E2),E5=$.forwardRef((a,b)=>{let c=E0(E2,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=EV(E2,a.__scopeMenu),g=EX(E2,a.__scopeMenu);return(0,Z.jsx)(EN.Provider,{scope:a.__scopeMenu,children:(0,Z.jsx)(cm,{present:d||f.open,children:(0,Z.jsx)(EN.Slot,{scope:a.__scopeMenu,children:g.modal?(0,Z.jsx)(E6,{...e,ref:b}):(0,Z.jsx)(E7,{...e,ref:b})})})})}),E6=$.forwardRef((a,b)=>{let c=EV(E2,a.__scopeMenu),d=$.useRef(null),e=aF(b,d);return $.useEffect(()=>{let a=d.current;if(a)return c1(a)},[]),(0,Z.jsx)(E9,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:bU(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),E7=$.forwardRef((a,b)=>{let c=EV(E2,a.__scopeMenu);return(0,Z.jsx)(E9,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),E8=b1("MenuContent.ScrollLock"),E9=$.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEntryFocus:i,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:m,onDismiss:n,disableOutsideScroll:o,...p}=a,q=EV(E2,c),r=EX(E2,c),s=ES(c),t=ET(c),u=EO(c),[v,w]=$.useState(null),x=$.useRef(null),y=aF(b,x,q.onContentChange),z=$.useRef(0),A=$.useRef(""),B=$.useRef(0),C=$.useRef(null),D=$.useRef("right"),E=$.useRef(0),F=o?cW:$.Fragment;$.useEffect(()=>()=>window.clearTimeout(z.current),[]),cp();let G=$.useCallback(a=>{var b,c;return D.current===C.current?.side&&(b=a,!!(c=C.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,Z.jsx)(E3,{scope:c,searchRef:A,onItemEnter:$.useCallback(a=>{G(a)&&a.preventDefault()},[G]),onItemLeave:$.useCallback(a=>{G(a)||(x.current?.focus(),w(null))},[G]),onTriggerLeave:$.useCallback(a=>{G(a)&&a.preventDefault()},[G]),pointerGraceTimerRef:B,onPointerGraceIntentChange:$.useCallback(a=>{C.current=a},[]),children:(0,Z.jsx)(F,{...o?{as:E8,allowPinchZoom:!0}:void 0,children:(0,Z.jsx)(cf,{asChild:!0,trapped:e,onMountAutoFocus:bU(f,a=>{a.preventDefault(),x.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:g,children:(0,Z.jsx)(b9,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:m,onDismiss:n,children:(0,Z.jsx)(EB,{asChild:!0,...t,dir:r.dir,orientation:"vertical",loop:d,currentTabStopId:v,onCurrentTabStopIdChange:w,onEntryFocus:bU(i,a=>{r.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,Z.jsx)(B0,{role:"menu","aria-orientation":"vertical","data-state":Fz(q.open),"data-radix-menu-content":"",dir:r.dir,...s,...p,ref:y,style:{outline:"none",...p.style},onKeyDown:bU(p.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=A.current+e,f=u().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){A.current=b,window.clearTimeout(z.current),""!==b&&(z.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=x.current;if(a.target!==f||!EJ.includes(a.key))return;a.preventDefault();let g=u().filter(a=>!a.disabled).map(a=>a.ref.current);EI.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:bU(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(z.current),A.current="")}),onPointerMove:bU(a.onPointerMove,FC(a=>{let b=a.target,c=E.current!==a.clientX;a.currentTarget.contains(b)&&c&&(D.current=a.clientX>E.current?"right":"left",E.current=a.clientX)}))})})})})})})});E5.displayName=E2;var Fa=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,Z.jsx)(b4.div,{role:"group",...d,ref:b})});Fa.displayName="MenuGroup";var Fb=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,Z.jsx)(b4.div,{...d,ref:b})});Fb.displayName="MenuLabel";var Fc="MenuItem",Fd="menu.itemSelect",Fe=$.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,f=$.useRef(null),g=EX(Fc,a.__scopeMenu),h=E4(Fc,a.__scopeMenu),i=aF(b,f),j=$.useRef(!1);return(0,Z.jsx)(Ff,{...e,ref:i,disabled:c,onClick:bU(a.onClick,()=>{let a=f.current;if(!c&&a){let b=new CustomEvent(Fd,{bubbles:!0,cancelable:!0});a.addEventListener(Fd,a=>d?.(a),{once:!0}),b5(a,b),b.defaultPrevented?j.current=!1:g.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),j.current=!0},onPointerUp:bU(a.onPointerUp,a=>{j.current||a.currentTarget?.click()}),onKeyDown:bU(a.onKeyDown,a=>{let b=""!==h.searchRef.current;c||b&&" "===a.key||EH.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});Fe.displayName=Fc;var Ff=$.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...f}=a,g=E4(Fc,c),h=ET(c),i=$.useRef(null),j=aF(b,i),[k,l]=$.useState(!1),[m,n]=$.useState("");return $.useEffect(()=>{let a=i.current;a&&n((a.textContent??"").trim())},[f.children]),(0,Z.jsx)(EN.ItemSlot,{scope:c,disabled:d,textValue:e??m,children:(0,Z.jsx)(EE,{asChild:!0,...h,focusable:!d,children:(0,Z.jsx)(b4.div,{role:"menuitem","data-highlighted":k?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...f,ref:j,onPointerMove:bU(a.onPointerMove,FC(a=>{d?g.onItemLeave(a):(g.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:bU(a.onPointerLeave,FC(a=>g.onItemLeave(a))),onFocus:bU(a.onFocus,()=>l(!0)),onBlur:bU(a.onBlur,()=>l(!1))})})})}),Fg=$.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,Z.jsx)(Fo,{scope:a.__scopeMenu,checked:c,children:(0,Z.jsx)(Fe,{role:"menuitemcheckbox","aria-checked":FA(c)?"mixed":c,...e,ref:b,"data-state":FB(c),onSelect:bU(e.onSelect,()=>d?.(!!FA(c)||!c),{checkForDefaultPrevented:!1})})})});Fg.displayName="MenuCheckboxItem";var Fh="MenuRadioGroup",[Fi,Fj]=EQ(Fh,{value:void 0,onValueChange:()=>{}}),Fk=$.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,f=b6(d);return(0,Z.jsx)(Fi,{scope:a.__scopeMenu,value:c,onValueChange:f,children:(0,Z.jsx)(Fa,{...e,ref:b})})});Fk.displayName=Fh;var Fl="MenuRadioItem",Fm=$.forwardRef((a,b)=>{let{value:c,...d}=a,e=Fj(Fl,a.__scopeMenu),f=c===e.value;return(0,Z.jsx)(Fo,{scope:a.__scopeMenu,checked:f,children:(0,Z.jsx)(Fe,{role:"menuitemradio","aria-checked":f,...d,ref:b,"data-state":FB(f),onSelect:bU(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});Fm.displayName=Fl;var Fn="MenuItemIndicator",[Fo,Fp]=EQ(Fn,{checked:!1}),Fq=$.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,f=Fp(Fn,c);return(0,Z.jsx)(cm,{present:d||FA(f.checked)||!0===f.checked,children:(0,Z.jsx)(b4.span,{...e,ref:b,"data-state":FB(f.checked)})})});Fq.displayName=Fn;var Fr=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,Z.jsx)(b4.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});Fr.displayName="MenuSeparator";var Fs=$.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=ES(c);return(0,Z.jsx)(B3,{...e,...d,ref:b})});Fs.displayName="MenuArrow";var[Ft,Fu]=EQ("MenuSub"),Fv="MenuSubTrigger",Fw=$.forwardRef((a,b)=>{let c=EV(Fv,a.__scopeMenu),d=EX(Fv,a.__scopeMenu),e=Fu(Fv,a.__scopeMenu),f=E4(Fv,a.__scopeMenu),g=$.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:i}=f,j={__scopeMenu:a.__scopeMenu},k=$.useCallback(()=>{g.current&&window.clearTimeout(g.current),g.current=null},[]);return $.useEffect(()=>k,[k]),$.useEffect(()=>{let a=h.current;return()=>{window.clearTimeout(a),i(null)}},[h,i]),(0,Z.jsx)(EZ,{asChild:!0,...j,children:(0,Z.jsx)(Ff,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":Fz(c.open),...a,ref:aE(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:bU(a.onPointerMove,FC(b=>{f.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||g.current||(f.onPointerGraceIntentChange(null),g.current=window.setTimeout(()=>{c.onOpenChange(!0),k()},100)))})),onPointerLeave:bU(a.onPointerLeave,FC(a=>{k();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,g=b[e?"left":"right"],i=b[e?"right":"left"];f.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:g,y:b.top},{x:i,y:b.top},{x:i,y:b.bottom},{x:g,y:b.bottom}],side:d}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>f.onPointerGraceIntentChange(null),300)}else{if(f.onTriggerLeave(a),a.defaultPrevented)return;f.onPointerGraceIntentChange(null)}})),onKeyDown:bU(a.onKeyDown,b=>{let e=""!==f.searchRef.current;a.disabled||e&&" "===b.key||EK[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});Fw.displayName=Fv;var Fx="MenuSubContent",Fy=$.forwardRef((a,b)=>{let c=E0(E2,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=EV(E2,a.__scopeMenu),g=EX(E2,a.__scopeMenu),h=Fu(Fx,a.__scopeMenu),i=$.useRef(null),j=aF(b,i);return(0,Z.jsx)(EN.Provider,{scope:a.__scopeMenu,children:(0,Z.jsx)(cm,{present:d||f.open,children:(0,Z.jsx)(EN.Slot,{scope:a.__scopeMenu,children:(0,Z.jsx)(E9,{id:h.contentId,"aria-labelledby":h.triggerId,...e,ref:j,align:"start",side:"rtl"===g.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{g.isUsingKeyboardRef.current&&i.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:bU(a.onFocusOutside,a=>{a.target!==h.trigger&&f.onOpenChange(!1)}),onEscapeKeyDown:bU(a.onEscapeKeyDown,a=>{g.onClose(),a.preventDefault()}),onKeyDown:bU(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=EL[g.dir].includes(a.key);b&&c&&(f.onOpenChange(!1),h.trigger?.focus(),a.preventDefault())})})})})})});function Fz(a){return a?"open":"closed"}function FA(a){return"indeterminate"===a}function FB(a){return FA(a)?"indeterminate":a?"checked":"unchecked"}function FC(a){return b=>"mouse"===b.pointerType?a(b):void 0}Fy.displayName=Fx;var FD="DropdownMenu",[FE,FF]=bV(FD,[ER]),FG=ER(),[FH,FI]=FE(FD),FJ=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:f,onOpenChange:g,modal:h=!0}=a,i=FG(b),j=$.useRef(null),[k,l]=b_({prop:e,defaultProp:f??!1,onChange:g,caller:FD});return(0,Z.jsx)(FH,{scope:b,triggerId:bZ(),triggerRef:j,contentId:bZ(),open:k,onOpenChange:l,onOpenToggle:$.useCallback(()=>l(a=>!a),[l]),modal:h,children:(0,Z.jsx)(EY,{...i,open:k,onOpenChange:l,dir:d,modal:h,children:c})})};FJ.displayName=FD;var FK="DropdownMenuTrigger",FL=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,f=FI(FK,c),g=FG(c);return(0,Z.jsx)(EZ,{asChild:!0,...g,children:(0,Z.jsx)(b4.button,{type:"button",id:f.triggerId,"aria-haspopup":"menu","aria-expanded":f.open,"aria-controls":f.open?f.contentId:void 0,"data-state":f.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:aE(b,f.triggerRef),onPointerDown:bU(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(f.onOpenToggle(),f.open||a.preventDefault())}),onKeyDown:bU(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&f.onOpenToggle(),"ArrowDown"===a.key&&f.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});FL.displayName=FK;var FM=a=>{let{__scopeDropdownMenu:b,...c}=a,d=FG(b);return(0,Z.jsx)(E1,{...d,...c})};FM.displayName="DropdownMenuPortal";var FN="DropdownMenuContent",FO=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FI(FN,c),f=FG(c),g=$.useRef(!1);return(0,Z.jsx)(E5,{id:e.contentId,"aria-labelledby":e.triggerId,...f,...d,ref:b,onCloseAutoFocus:bU(a.onCloseAutoFocus,a=>{g.current||e.triggerRef.current?.focus(),g.current=!1,a.preventDefault()}),onInteractOutside:bU(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(g.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});FO.displayName=FN,$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fa,{...e,...d,ref:b})}).displayName="DropdownMenuGroup";var FP=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fb,{...e,...d,ref:b})});FP.displayName="DropdownMenuLabel";var FQ=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fe,{...e,...d,ref:b})});FQ.displayName="DropdownMenuItem";var FR=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fg,{...e,...d,ref:b})});FR.displayName="DropdownMenuCheckboxItem",$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fk,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup";var FS=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fm,{...e,...d,ref:b})});FS.displayName="DropdownMenuRadioItem";var FT=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fq,{...e,...d,ref:b})});FT.displayName="DropdownMenuItemIndicator";var FU=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fr,{...e,...d,ref:b})});FU.displayName="DropdownMenuSeparator",$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fs,{...e,...d,ref:b})}).displayName="DropdownMenuArrow";var FV=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fw,{...e,...d,ref:b})});FV.displayName="DropdownMenuSubTrigger";var FW=$.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=FG(c);return(0,Z.jsx)(Fy,{...e,...d,ref:b,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});FW.displayName="DropdownMenuSubContent";let FX=ad("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);$.forwardRef(({className:a,inset:b,children:c,...d},e)=>(0,Z.jsxs)(FV,{ref:e,className:bR("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",b&&"pl-8",a),...d,children:[c,(0,Z.jsx)(ai,{className:"ml-auto h-4 w-4"})]})).displayName=FV.displayName,$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(FW,{ref:c,className:bR("z-50 min-w-[8rem] overflow-hidden rounded-sm border bg-popover p-1 text-popover-foreground shadow-golden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...b})).displayName=FW.displayName;let FY=$.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,Z.jsx)(FM,{children:(0,Z.jsx)(FO,{ref:d,sideOffset:b,className:bR("z-50 min-w-[8rem] overflow-hidden rounded-sm border bg-popover p-1 text-popover-foreground shadow-golden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));FY.displayName=FO.displayName;let FZ=$.forwardRef(({className:a,inset:b,...c},d)=>(0,Z.jsx)(FQ,{ref:d,className:bR("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",b&&"pl-8",a),...c}));FZ.displayName=FQ.displayName,$.forwardRef(({className:a,children:b,checked:c,...d},e)=>(0,Z.jsxs)(FR,{ref:e,className:bR("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:c,...d,children:[(0,Z.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,Z.jsx)(FT,{children:(0,Z.jsx)(ag,{className:"h-4 w-4"})})}),b]})).displayName=FR.displayName,$.forwardRef(({className:a,children:b,...c},d)=>(0,Z.jsxs)(FS,{ref:d,className:bR("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,Z.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,Z.jsx)(FT,{children:(0,Z.jsx)(FX,{className:"h-2 w-2 fill-current"})})}),b]})).displayName=FS.displayName,$.forwardRef(({className:a,inset:b,...c},d)=>(0,Z.jsx)(FP,{ref:d,className:bR("px-2 py-1.5 text-sm font-normal",b&&"pl-8",a),...c})).displayName=FP.displayName,$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(FU,{ref:c,className:bR("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=FU.displayName;let F$=ad("moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),F_=ad("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var F0=a.i(111939);function F1({className:a}){let{resolvedTheme:b,setTheme:c}=(0,F0.useTheme)();return(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:`h-7 w-7 p-0 ${a??""}`,title:"dark"===b?"Switch to light":"Switch to dark",onClick:()=>c("dark"===b?"light":"dark"),children:"dark"===b?(0,Z.jsx)(F_,{className:"h-3.5 w-3.5"}):(0,Z.jsx)(F$,{className:"h-3.5 w-3.5"})})}let F2=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(de,{ref:c,className:bR("fixed inset-0 z-40 bg-black/40 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));F2.displayName="SheetOverlay";let F3={bottom:"inset-x-0 bottom-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",top:"inset-x-0 top-0 data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top",left:"inset-y-0 left-0 data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left",right:"inset-y-0 right-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"},F4=$.forwardRef(({side:a="bottom",showClose:b=!1,className:c,children:d,...e},f)=>(0,Z.jsxs)(dc,{children:[(0,Z.jsx)(F2,{}),(0,Z.jsxs)(di,{ref:f,className:bR("fixed z-50 bg-background shadow-golden transition-all ease-in-out","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-200 data-[state=open]:duration-300",F3[a],c),...e,children:[d,b&&(0,Z.jsxs)(ds,{className:"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none",children:[(0,Z.jsx)(aC,{className:"h-4 w-4"}),(0,Z.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));F4.displayName="SheetContent",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(dn,{ref:c,className:bR("text-sm font-medium leading-none tracking-tight",a),...b})).displayName="SheetTitle",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)(dq,{ref:c,className:bR("text-sm text-muted-foreground",a),...b})).displayName="SheetDescription";var F5=a.i(92437);function F6(a){return a.split(/[\n,]/).map(a=>a.trim()).filter(Boolean)}function F7({open:a,onOpenChange:b}){let[c,d]=(0,$.useState)(!1),[e,f]=(0,$.useState)(!1),[g,h]=(0,$.useState)(null),[i,j]=(0,$.useState)("env"),[k,l]=(0,$.useState)(""),[m,n]=(0,$.useState)(""),[o,p]=(0,$.useState)(null),{data:q}=F5.authClient.useSession(),r=(0,$.useCallback)(async()=>{d(!0),h(null);try{let a=await fetch("/api/system/auth-settings");if(!a.ok)throw Error("Failed to load settings");let b=await a.json();l(b.allowedEmails.join("\n")),n(b.allowedDomains.join("\n")),j(b.source),p("number"==typeof b.rateLimit?b.rateLimit:null)}catch(a){h(a instanceof Error?a.message:"Failed to load")}finally{d(!1)}},[]);async function s(){f(!0),h(null);try{let a=await fetch("/api/system/auth-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({allowedEmails:F6(k),allowedDomains:F6(m)})}),c=await a.json();if(!a.ok){h(c.error??"Save failed"),CZ(c.error??"Save failed");return}c.source&&j(c.source),b(!1)}catch{h("Save failed")}finally{f(!1)}}(0,$.useEffect)(()=>{a&&r()},[a,r]);let t=0===F6(k).length&&0===F6(m).length;return(0,Z.jsx)(c7,{open:a,onOpenChange:b,children:(0,Z.jsxs)(F4,{side:"right",className:"w-80 sm:max-w-md flex flex-col border-l border-border p-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 shrink-0",children:[(0,Z.jsx)("span",{className:"text-sm font-semibold",children:"Settings"}),(0,Z.jsxs)(ds,{className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent focus:outline-none focus:ring-2 focus:ring-ring",children:[(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"}),(0,Z.jsx)("span",{className:"sr-only",children:"Close"})]})]}),c?(0,Z.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):(0,Z.jsxs)("div",{className:"flex-1 space-y-5 overflow-y-auto px-4 py-4",children:[q?.user&&(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Account"}),(0,Z.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border bg-muted/40 p-3",children:[(0,Z.jsxs)("div",{className:"text-sm min-w-0",children:[(0,Z.jsx)("div",{className:"font-medium truncate",children:q.user.name}),(0,Z.jsx)("div",{className:"text-xs text-muted-foreground truncate",children:q.user.email})]}),(0,Z.jsx)("button",{type:"button",onClick:async()=>{await F5.authClient.signOut(),window.location.href="/signin"},className:"ml-2 shrink-0 text-xs px-2 py-1 rounded border border-border hover:bg-accent",children:"Sign out"})]})]}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Signup allowlist"}),(0,Z.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Control who can create an account. Leave both lists empty to allow any email. Saving here overrides the"," ",(0,Z.jsx)("code",{className:"bg-muted px-0.5 rounded",children:"AUTH_ALLOWED_EMAILS"})," ","and"," ",(0,Z.jsx)("code",{className:"bg-muted px-0.5 rounded",children:"AUTH_ALLOWED_DOMAIN"})," ","environment variables."]}),"env"===i&&(0,Z.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-muted px-3 py-2 text-xs text-muted-foreground",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0 mt-0.5"}),(0,Z.jsx)("span",{children:"Current values come from environment variables. Saving moves the allowlist into config and takes precedence going forward."})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)("label",{htmlFor:"allowed-emails",className:"text-sm font-medium",children:"Allowed emails"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"One per line (or comma-separated). Exact match, case-insensitive."}),(0,Z.jsx)("textarea",{id:"allowed-emails",value:k,onChange:a=>l(a.target.value),spellCheck:!1,rows:5,placeholder:"alice@example.com bob@example.com",className:"w-full resize-y rounded-md border border-border bg-background px-3 py-2 font-mono text-sm outline-none focus:ring-2 focus:ring-primary"})]}),(0,Z.jsxs)("div",{className:"space-y-1.5",children:[(0,Z.jsx)("label",{htmlFor:"allowed-domains",className:"text-sm font-medium",children:"Allowed domains"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"One per line (or comma-separated). Matches any email at that domain."}),(0,Z.jsx)("textarea",{id:"allowed-domains",value:m,onChange:a=>n(a.target.value),spellCheck:!1,rows:4,placeholder:"example.com trusted.org",className:"w-full resize-y rounded-md border border-border bg-background px-3 py-2 font-mono text-sm outline-none focus:ring-2 focus:ring-primary"})]}),t&&(0,Z.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-warning-soft px-3 py-2 text-xs text-warning-ink",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0 mt-0.5"}),(0,Z.jsx)("span",{children:"Both lists are empty. Anyone with the signup URL can create an account."})]}),g&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0"}),g]})]}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Agent rate limit"}),(0,Z.jsxs)("div",{className:"rounded-md border border-border bg-muted/40 p-3 space-y-1.5",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,Z.jsx)("span",{className:"text-muted-foreground",children:"Per agent"}),(0,Z.jsx)("span",{className:"font-mono",children:null!==o?`${o} ops/min`:"--"})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/60",children:["Override with ",(0,Z.jsx)("code",{className:"bg-muted px-0.5 rounded",children:"AGENT_RATE_LIMIT"})," env var."]})]})]})]}),(0,Z.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-border px-4 py-3 shrink-0",children:[(0,Z.jsx)(bT,{size:"sm",variant:"ghost",onClick:()=>b(!1),disabled:e,children:"Cancel"}),(0,Z.jsxs)(bT,{size:"sm",onClick:s,disabled:e||c,className:"gap-1.5",children:[e&&(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}),"Save"]})]})]})})}let F8=$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("rounded-md border border-border bg-card text-card-foreground shadow-e-2",a),...b}));F8.displayName="Card",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("flex flex-col space-y-1.5 p-6",a),...b})).displayName="CardHeader",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("text-lg font-normal leading-none tracking-tight",a),...b})).displayName="CardTitle",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("text-sm text-muted-foreground",a),...b})).displayName="CardDescription",$.forwardRef(({className:a,...b},c)=>(0,Z.jsx)("div",{ref:c,className:bR("p-6 pt-0",a),...b})).displayName="CardContent";let F9=aP("inline-flex items-center rounded-sm border px-2.5 py-0.5 text-xs font-normal transition-colors focus:outline-none focus:ring-2 focus:ring-ring",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow-e-1",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow-e-1",outline:"text-foreground",accent:"border-transparent bg-accent text-accent-foreground"}},defaultVariants:{variant:"default"}});function Ga({className:a,variant:b,...c}){return(0,Z.jsx)("div",{className:bR(F9({variant:b}),a),...c})}let Gb=new Set(["title","type","status","created","updated","date","tags","sources","private","supersedes","superseded_by"]);function Gc({data:a}){let[b,c]=(0,$.useState)(!1),d=Object.keys(a);if(0===d.length)return null;let e="string"==typeof a.title?a.title:null,f="string"==typeof a.type?a.type:null,g="string"==typeof a.status?a.status:null,h="string"==typeof a.created?a.created:null,i="string"==typeof a.updated?a.updated:null,j=!0===a.private,k=Array.isArray(a.tags)?a.tags:[],l=Array.isArray(a.sources)?a.sources:[],m="string"==typeof a.superseded_by?a.superseded_by:null,n=d.filter(a=>!Gb.has(a));return(0,Z.jsxs)("div",{className:"mb-6 rounded-sm border bg-card/40 px-4 py-3 text-xs",children:[e&&(0,Z.jsx)("div",{className:"mb-2 text-base font-normal text-foreground",children:e}),(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-muted-foreground",children:[f&&(0,Z.jsx)(Ga,{variant:"outline",className:"font-normal",children:f}),g&&(0,Z.jsx)(Ga,{variant:"outline",className:"font-normal",children:g}),j&&(0,Z.jsx)(Ga,{variant:"outline",className:"border-warning-ink/40 font-normal text-warning-ink",children:"private"}),m&&(0,Z.jsxs)(Ga,{variant:"outline",className:"border-destructive/40 font-normal text-destructive",children:["superseded → ",m]}),h&&(0,Z.jsxs)("span",{children:[(0,Z.jsx)("span",{className:"opacity-60",children:"created"})," ",(0,Z.jsx)("span",{className:"text-foreground/80",children:h})]}),i&&i!==h&&(0,Z.jsxs)("span",{children:[(0,Z.jsx)("span",{className:"opacity-60",children:"updated"})," ",(0,Z.jsx)("span",{className:"text-foreground/80",children:i})]})]}),k.length>0&&(0,Z.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:k.map(a=>(0,Z.jsxs)(Ga,{variant:"secondary",className:"font-normal text-[11px]",children:["#",a]},a))}),l.length>0&&(0,Z.jsxs)("div",{className:"mt-2",children:[(0,Z.jsx)("span",{className:"opacity-60",children:"sources:"})," ",(0,Z.jsx)("span",{className:"text-foreground/80",children:l.join(", ")})]}),n.length>0&&(0,Z.jsxs)("div",{className:"mt-2 border-t pt-2",children:[(0,Z.jsxs)("button",{type:"button",onClick:()=>c(a=>!a),className:"flex items-center gap-1 text-muted-foreground hover:text-foreground",children:[b?(0,Z.jsx)(ah,{className:"h-3 w-3"}):(0,Z.jsx)(ai,{className:"h-3 w-3"}),(0,Z.jsxs)("span",{children:[n.length," more field",1===n.length?"":"s"]})]}),b&&(0,Z.jsx)("dl",{className:"mt-1.5 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-0.5",children:n.map(b=>(0,Z.jsxs)($.Fragment,{children:[(0,Z.jsx)("dt",{className:"opacity-60",children:b}),(0,Z.jsx)("dd",{className:"text-foreground/80 break-words",children:function a(b){if(null==b)return"";if("string"==typeof b)return b;if("number"==typeof b||"boolean"==typeof b)return String(b);if(Array.isArray(b))return b.map(a).join(", ");try{return JSON.stringify(b)}catch{return String(b)}}(a[b])})]},b))})]})]})}function Gd({markdown:a,pagePath:b,onNavigate:c}){let[d,e]=(0,$.useState)(""),f=(0,$.useRef)(null);(0,$.useEffect)(()=>{let c=!1;return uh(a,{pagePath:b,sanitize:!0}).then(a=>{c||e(a)}),()=>{c=!0}},[a,b]);let g=(0,$.useCallback)(a=>{let b=a.target.closest("a");if(!b)return;if("true"===b.dataset.wikiLink){a.preventDefault();let d=b.dataset.slug??"";if(!d)return;let e=vh.getState().getDir(d);if(!e)return;c("root"===e?`${d}.md`:`${e}/${d}.md`,b.dataset.anchor??null);return}let d=b.getAttribute("href")??"";if(/^https?:\/\//.test(d)){b.target||(b.setAttribute("target","_blank"),b.setAttribute("rel","noreferrer"));return}},[c]);(0,$.useEffect)(()=>{let a=f.current;if(a)return a.querySelectorAll("a[href^='http']").forEach(a=>{a.target||(a.setAttribute("target","_blank"),a.setAttribute("rel","noreferrer"))}),a.addEventListener("click",g),()=>a.removeEventListener("click",g)},[d,g]);let h=vh(a=>a.loadedAt);return(0,$.useEffect)(()=>{let a=f.current;if(!a)return;let b=vh.getState();a.querySelectorAll('a[data-wiki-link="true"]').forEach(a=>{let c=a.dataset.slug??"";c&&!b.has(c)?a.dataset.broken="true":delete a.dataset.broken})},[d,h]),(0,$.useEffect)(()=>{let a=f.current;a&&a.querySelectorAll('input[type="checkbox"]').forEach(a=>{a.disabled=!0})},[d]),(0,Z.jsx)("div",{ref:f,className:"tiptap md-preview",dangerouslySetInnerHTML:{__html:d}})}let Ge=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;function Gf(a){let b=a.trim();if(""===b)return"";if("true"===b)return!0;if("false"===b)return!1;if("null"===b||"~"===b)return null;if(/^-?\d+$/.test(b)||/^-?\d*\.\d+$/.test(b))return Number(b);if(b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))return b.slice(1,-1);if(b.startsWith("[")&&b.endsWith("]")){let a=b.slice(1,-1).trim();return""===a?[]:a.split(",").map(a=>Gf(a))}return b}let Gg=ad("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),Gh=ad("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Gi=ad("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),Gj=ad("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);function Gk(a){let b=Date.now()-new Date(a).getTime();return b<6e4?"just now":b<36e5?`${Math.floor(b/6e4)}m ago`:b<864e5?`${Math.floor(b/36e5)}h ago`:`${Math.floor(b/864e5)}d ago`}function Gl({scope:a}){return(0,Z.jsxs)("span",{className:"text-[10px] text-muted-foreground/70 font-mono",children:[a.paths.join(", ")," · ",a.ops.join(",")]})}function Gm({reg:a,onApprove:b,onDeny:c}){let[d,e]=(0,$.useState)(!1);async function f(b){e(!0);try{await b(a.registrationId)}finally{e(!1)}}return(0,Z.jsxs)("li",{className:"py-1.5 border-b border-border/40 last:border-0",children:[(0,Z.jsxs)("div",{className:"flex items-start justify-between gap-1",children:[(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsx)("p",{className:"text-xs font-mono truncate",children:a.displayName}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/60 truncate",children:a.agentId}),(0,Z.jsx)(Gl,{scope:a.requestedScope})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,Z.jsxs)(bT,{size:"sm",variant:"default",className:"h-6 px-2 text-[10px]",disabled:d,onClick:()=>void f(b),title:"Approve",children:[(0,Z.jsx)(Gh,{className:"h-3 w-3 mr-0.5"}),"Approve"]}),(0,Z.jsxs)(bT,{size:"sm",variant:"ghost",className:"h-6 px-2 text-[10px] text-destructive hover:text-destructive",disabled:d,onClick:()=>void f(c),title:"Deny",children:[(0,Z.jsx)(Gi,{className:"h-3 w-3 mr-0.5"}),"Deny"]})]})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/50 mt-0.5",children:["Requested ",Gk(a.requestedAt)]})]})}function Gn({agent:a,onRevoke:b}){let[c,d]=(0,$.useState)(!1);return(0,Z.jsxs)("li",{className:"py-1.5 border-b border-border/40 last:border-0",children:[(0,Z.jsxs)("div",{className:"flex items-start justify-between gap-1",children:[(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsx)("p",{className:"text-xs font-mono truncate",children:a.displayName}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/60 truncate",children:a.id}),(0,Z.jsx)(Gl,{scope:a.scope})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 shrink-0 text-destructive hover:text-destructive",disabled:c,onClick:async()=>{d(!0);try{await b(a.id)}finally{d(!1)}},title:"Revoke agent",children:(0,Z.jsx)(aA,{className:"h-3 w-3"})})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/50 mt-0.5",children:["Last seen ",Gk(a.lastSeen)]})]})}function Go(){let[a,b]=(0,$.useState)([]),[c,d]=(0,$.useState)([]),[e,f]=(0,$.useState)(!1);(0,$.useEffect)(()=>{fetch("/api/owner/init",{credentials:"same-origin"}).then(a=>{(a.ok||204===a.status)&&f(!0)}).catch(()=>{f(!0)})},[]);let g=(0,$.useCallback)(async()=>{try{let a=await fetch("/api/agent/admin/registrations",{credentials:"same-origin"});if(!a.ok)return;let c=await a.json();b(c.pending)}catch{}},[]),h=(0,$.useCallback)(async()=>{try{let a=await fetch("/api/agent/admin/agents",{credentials:"same-origin"});if(!a.ok)return;let b=await a.json();d(b.agents)}catch{}},[]);(0,$.useEffect)(()=>{if(!e)return;g(),h();let a=setInterval(()=>void g(),5e3),b=setInterval(()=>void h(),3e4);return()=>{clearInterval(a),clearInterval(b)}},[e,g,h]);let i=(0,$.useCallback)(async a=>{(await fetch(`/api/agent/admin/registrations/${a}/approve`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:"{}"})).ok?(CY.toast.success("Agent approved"),await Promise.all([g(),h()])):CY.toast.error("Failed to approve agent")},[g,h]),j=(0,$.useCallback)(async a=>{(await fetch(`/api/agent/admin/registrations/${a}/deny`,{method:"POST",credentials:"same-origin"})).ok?(CY.toast.success("Registration denied"),await g()):CY.toast.error("Failed to deny registration")},[g]),k=(0,$.useCallback)(async a=>{(await fetch(`/api/agent/admin/agents/${encodeURIComponent(a)}/revoke`,{method:"POST",credentials:"same-origin"})).ok?(CY.toast.success("Agent revoked"),await h()):CY.toast.error("Failed to revoke agent")},[h]);return(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Agents · approve & manage access"}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0",title:"Refresh",onClick:()=>void Promise.all([g(),h()]),children:(0,Z.jsx)(ax,{className:"h-3 w-3"})})]}),a.length>0&&(0,Z.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-50/10 p-2",children:[(0,Z.jsxs)("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-amber-600/80 mb-1 flex items-center gap-1",children:[(0,Z.jsx)(Gj,{className:"h-3 w-3"}),"Waiting for your approval (",a.length,")"]}),(0,Z.jsx)("ul",{children:a.map(a=>(0,Z.jsx)(Gm,{reg:a,onApprove:i,onDeny:j},a.registrationId))})]}),(0,Z.jsx)("div",{className:"rounded-md border border-border bg-muted/40 p-2",children:0===c.length?(0,Z.jsxs)("p",{className:"text-xs text-muted-foreground/60 py-1",children:["No assistants connected yet."," ",(0,Z.jsx)("span",{className:"text-muted-foreground/40",children:"Connect one above; once it requests access it’ll appear here for you to approve."})]}):(0,Z.jsx)("ul",{children:c.map(a=>(0,Z.jsx)(Gn,{agent:a,onRevoke:k},a.id))})}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/60 leading-relaxed",children:"Each assistant gets its own access that you can revoke anytime. New requests appear above for your approval before they can read or edit anything."})]})}function Gp({event:a}){var b;let c=a.path.split("/").pop()??a.path,d="string"==typeof a.ref?a.ref:"";return(0,Z.jsxs)("div",{className:"flex flex-col gap-0.5 py-1.5 border-b border-border/50 last:border-0",children:[(0,Z.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,Z.jsx)("span",{className:"text-xs font-mono text-foreground/80 truncate",title:a.path,children:c}),(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground shrink-0",children:function(a){let b=Math.floor(Math.max(0,Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}(a.at)})]}),(0,Z.jsxs)("p",{className:"text-[11px] text-muted-foreground truncate",children:[(0,Z.jsx)("span",{className:"text-foreground/60",children:a.by})," ",{"block.replace":"replaced","block.insertAfter":"inserted after","block.insertBefore":"inserted before","block.delete":"deleted","block.append":"appended","block.prepend":"prepended","comment.add":"commented on","comment.reply":"replied to comment","comment.resolve":"resolved comment","comment.reopen":"reopened comment","suggestion.add":"suggested","suggestion.accept":"accepted suggestion","suggestion.reject":"rejected suggestion"}[b=a.type]??b,d&&(0,Z.jsxs)(Z.Fragment,{children:[" ",(0,Z.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground/60",children:d})]})]})]})}let Gq="npx skills add anh-chu/wiki-viewer/agents/wiki-viewer-skill";function Gr(a){let[b,c]=(0,$.useState)(!1);return{copied:b,copy:(0,$.useCallback)(async()=>{await navigator.clipboard.writeText(a()),c(!0),setTimeout(()=>c(!1),1500)},[a])}}function Gs({currentPath:a}){let b=u1(a=>a.isOpen),c=u1(a=>a.close),d=u1(a=>a.activity),e=u1(a=>a.connections),f=u1(a=>a.loadActivity),{copied:g,copy:h}=function(a){let[b,c]=(0,$.useState)(!1);return{copied:b,copy:(0,$.useCallback)(async()=>{let b="http://localhost:3000",d=`# 1. Register
|
|
116
116
|
REG=$(curl -s -X POST -H 'Content-Type: application/json' \\
|
|
117
117
|
-d '{"id":"ai:claude","displayName":"Claude"}' \\
|
|
118
118
|
${b}/api/agent/register)
|
|
@@ -126,6 +126,6 @@ TOKEN=<paste token here>
|
|
|
126
126
|
# 3. Read snapshot
|
|
127
127
|
curl -s -H "Authorization: Bearer $TOKEN" \\
|
|
128
128
|
-H "X-Agent-Id: ai:claude" \\
|
|
129
|
-
${b}/api/agent/files/${a??"<path/to/file.md>"}`;await navigator.clipboard.writeText(d),c(!0),setTimeout(()=>c(!1),1500)},[a])}}(a??null),[j,k]=(0,$.useState)(""),l=(0,$.useRef)(null),m="http://localhost:3000",n=(0,$.useCallback)(()=>Gu,[]),o=(0,$.useCallback)(()=>j.replace(/\$WIKI_URL/g,m),[j,m]),p=Gv(n),q=Gv(o);return((0,$.useEffect)(()=>{if(b)return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a);function a(a){"Escape"===a.key&&c()}},[b,c]),(0,$.useEffect)(()=>{b&&l.current?.focus()},[b]),(0,$.useEffect)(()=>{if(!b)return;g();let a=setInterval(()=>void g(),1e4);return()=>clearInterval(a)},[b,g]),(0,$.useEffect)(()=>{b&&fetch("/api/agents/install").then(a=>a.json()).then(a=>{a.bootstrapPrompt&&k(a.bootstrapPrompt)}).catch(()=>void 0)},[b]),b)?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 backdrop-blur-[1px]",onClick:c,"aria-hidden":!0}),(0,Z.jsxs)("aside",{ref:l,tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":"AI Agent Panel",className:"fixed right-0 top-0 bottom-0 z-50 flex w-80 flex-col border-l border-border bg-background shadow-xl outline-none",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 shrink-0",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)(af,{className:"h-4 w-4 text-muted-foreground"}),(0,Z.jsx)("span",{className:"text-sm font-semibold",children:"AI Agent"})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:c,title:"Close panel (Esc)",children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]}),(0,Z.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-5 px-4 py-4",children:[(0,Z.jsx)(Gx,{}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Bridge Endpoint"}),(0,Z.jsxs)("div",{className:"rounded-md border border-border bg-muted/40 p-3 space-y-2",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)("code",{className:"flex-1 text-xs font-mono text-foreground/80 truncate",children:m}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 shrink-0",title:"Copy curl example",onClick:()=>void i(),children:h?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/70",children:["Copy icon copies a registration-flow ",(0,Z.jsx)("code",{className:"bg-muted px-0.5 rounded",children:"curl"})," trace for the current file."]})]})]}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Install for AI Agents"}),(0,Z.jsxs)("div",{className:"rounded-md border border-border bg-muted/40 p-3 space-y-3",children:[(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/70",children:"Agent Skills standard:"}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)("code",{className:"flex-1 text-[10px] font-mono text-foreground/80 truncate bg-muted rounded px-1 py-0.5",children:Gu}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 shrink-0",title:"Copy CLI command",onClick:()=>void p.copy(),children:p.copied?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})})]})]}),(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/70",children:"Any agent (paste into chat):"}),(0,Z.jsx)(bT,{size:"sm",variant:"outline",className:"h-7 w-full text-xs gap-1.5",onClick:()=>void q.copy(),disabled:!j,children:q.copied?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"})," Copied!"]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})," Copy bootstrap prompt"]})})]}),(0,Z.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-1 pt-1",children:[(0,Z.jsxs)("a",{href:"/api/agents/skill.tar.gz",download:!0,className:"inline-flex items-center gap-1 text-[10px] text-primary hover:underline",children:[(0,Z.jsx)(dH,{className:"h-3 w-3"})," skill (.tar.gz)"]}),(0,Z.jsxs)("a",{href:"/api/agents/skill",target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-[10px] text-primary hover:underline",children:[(0,Z.jsx)(wZ,{className:"h-3 w-3"})," skill markdown"]}),(0,Z.jsxs)("a",{href:"/api/agents/install",target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-[10px] text-primary hover:underline",children:[(0,Z.jsx)(wZ,{className:"h-3 w-3"})," install JSON"]})]})]})]}),(0,Z.jsx)(Gr,{}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:["Active Connections"," ",(0,Z.jsx)("span",{className:"normal-case font-normal text-muted-foreground/50",children:"(last 5 min)"})]}),(0,Z.jsx)("div",{className:"rounded-md border border-border bg-muted/40 p-3",children:0===e.length?(0,Z.jsxs)("p",{className:"text-xs text-muted-foreground/60 flex items-center gap-1.5",children:[(0,Z.jsx)(Gj,{className:"h-3.5 w-3.5"}),"No recent activity"]}):(0,Z.jsx)("ul",{className:"space-y-1.5",children:e.map(a=>(0,Z.jsxs)("li",{className:"flex items-center justify-between text-xs",children:[(0,Z.jsx)("span",{className:"font-mono text-foreground/80 truncate",children:a.by}),(0,Z.jsxs)("span",{className:"text-muted-foreground shrink-0",children:[a.opCount," op",1!==a.opCount?"s":""]})]},a.by))})})]}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Recent Activity"}),(0,Z.jsx)("div",{className:"rounded-md border border-border bg-muted/40 px-3 py-1 max-h-72 overflow-y-auto",children:0===d.length?(0,Z.jsx)("p",{className:"text-xs text-muted-foreground/60 py-2",children:"No events recorded"}):d.map(a=>(0,Z.jsx)(Gs,{event:a},`${a.path}-${a.id}`))})]}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Settings"}),(0,Z.jsxs)("div",{className:"rounded-md border border-border bg-muted/40 p-3 space-y-1.5",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,Z.jsx)("span",{className:"text-muted-foreground",children:"Rate limit"}),(0,Z.jsx)("span",{className:"font-mono",children:null!==f?`${f} ops/min`:"--"})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/60",children:["Override with ",(0,Z.jsx)("code",{className:"bg-muted px-0.5 rounded",children:"AGENT_RATE_LIMIT"})," env var."]})]})]}),(0,Z.jsx)("section",{children:(0,Z.jsx)("a",{href:"/docs/agent-collab-plan.md",target:"_blank",rel:"noreferrer",className:"text-xs text-primary underline hover:no-underline",children:"Agent collaboration docs →"})})]})]})]}):null}function Gx(){let{data:a}=Gt.authClient.useSession();return a?.user?(0,Z.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border bg-muted/40 p-3",children:[(0,Z.jsxs)("div",{className:"text-sm min-w-0",children:[(0,Z.jsx)("div",{className:"font-medium truncate",children:a.user.name}),(0,Z.jsx)("div",{className:"text-xs text-muted-foreground truncate",children:a.user.email})]}),(0,Z.jsx)("button",{type:"button",onClick:async()=>{await Gt.authClient.signOut(),window.location.href="/signin"},className:"ml-2 shrink-0 text-xs px-2 py-1 rounded border border-border hover:bg-accent",children:"Sign out"})]}):null}function Gy({className:a}){let b=vg(a=>a.width),c=vg(a=>a.setWidth);return(0,Z.jsxs)(FJ,{children:[(0,Z.jsx)(FL,{asChild:!0,children:(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:`h-7 w-7 p-0 ${a??""}`,title:`Content width: ${ve[b]}`,children:(0,Z.jsx)(wM,{className:"h-3.5 w-3.5"})})}),(0,Z.jsx)(FY,{align:"end",className:"w-36",children:vf.map(a=>(0,Z.jsxs)(FZ,{onClick:()=>c(a),className:"flex items-center justify-between text-xs",children:[ve[a],a===b&&(0,Z.jsx)(ag,{className:"h-3.5 w-3.5"})]},a))})]})}function Gz(a){return a.split(".").pop()?.toLowerCase()??""}function GA(a,b){if("node-app"===b)return"node-app";if("app"===b)return"app";if("dir"===b)return"fallback";let c=Gz(a);return c?["md","markdown"].includes(c)?"editor":"txt"===c?"text":["csv","tsv"].includes(c)?"csv":"pdf"===c?"pdf":["mmd","mermaid"].includes(c)?"mermaid":"ipynb"===c?"notebook":["png","jpg","jpeg","gif","webp","svg","avif","ico","bmp"].includes(c)?"image":["mp4","webm","mov","m4v","mp3","wav","ogg","m4a","aac"].includes(c)?"media":"docx"===c?"docx":["xlsx","xlsm"].includes(c)?"xlsx":"pptx"===c?"pptx":"html"===c?"html":["py","js","ts","tsx","jsx","go","rs","java","c","cpp","h","sh","bash","zsh","rb","php","swift","kt","lua","sql","yaml","yml","toml","json","xml","css","scss"].includes(c)?"source":"fallback":"fallback"}let GB=new Set(["txt","md","markdown","json","yaml","yml","toml","csv","tsv","xml","html","css","js","ts","tsx","jsx","sh","bash","zsh","rb","py","go","rs","java","c","cpp","h","php","swift","kt","lua","sql","scss","mmd","mermaid","ini","env","log","conf"]);function GC(a){let b=GA(a,"file");return"editor"===b||"text"===b||GB.has(Gz(a))}function GD(a){return["md","markdown"].includes(Gz(a))}function GE(a){return"image"===GA(a,"file")}async function GF(a){let b=await fetch(`/api/wiki?dir=${encodeURIComponent(a)}`);return b.ok?(await b.json()).entries.map(b=>({name:b.name,path:a?`${a}/${b.name}`:b.name,type:b.type,size:b.size,modifiedAt:b.modifiedAt,expanded:!1})):[]}function GG(a,b,c){return a.map(a=>a.path===b?c(a):a.children?{...a,children:GG(a.children,b,c)}:a)}a.s(["default",0,function(){let a;vh(a=>a.loadedAt),(0,$.useEffect)(()=>{vh.getState().load()},[]);let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(null);(0,$.useEffect)(()=>{fetch("/api/system/root-status").then(a=>a.json()).then(a=>{c(a.configured),e(a.path)}).catch(()=>c(!1))},[]);let f=va(a=>a.currentPath),g=(0,$.useRef)(null),h=(0,$.useRef)(!1),[i,j]=(0,$.useState)([]),[k,l]=(0,$.useState)(!1),[m,n]=(0,$.useState)(!1),o=(0,$.useRef)(!1),[p,q]=(0,$.useState)(!1),[r,s]=(0,$.useState)(!1),[t,u]=(0,$.useState)(null),v=(0,$.useRef)(null),w=(0,$.useRef)(""),[x,y]=(0,$.useState)(null),[z,A]=(0,$.useState)(""),[B,C]=(0,$.useState)(null),[D,E]=(0,$.useState)(null),[F,G]=(0,$.useState)(""),[H,I]=(0,$.useState)(null),[J,K]=(0,$.useState)(null),[L,M]=(0,$.useState)(!1),[N,O]=(0,$.useState)(null),[P,Q]=(0,$.useState)(!1),[R,S]=(0,$.useState)(0),[T,U]=(0,$.useState)(!1),[V,W]=(0,$.useState)(!1),[X,Y]=(0,$.useState)(null),[_,aa]=(0,$.useState)(!1),[ab,ac]=(0,$.useState)(!1),[ad,aD]=(0,$.useState)(""),[aE,aF]=(0,$.useState)(!1),[aG,aH]=(0,$.useState)(null),aI=(0,$.useRef)(null),[aJ,aK]=(0,$.useState)(null),aL=(0,$.useRef)(null),aM=(0,$.useRef)(!1),aN=(0,$.useRef)(async()=>{});(0,$.useEffect)(()=>{k||o.current||(o.current=!0,n(!0),GF("").then(a=>{j(a),l(!0),n(!1)}).catch(()=>{o.current=!1,n(!1)}))},[k]);let aO=(0,$.useCallback)(async a=>{let b=a.split("/");if(b.length<=1)return;let c=[],d="";for(let a=0;a<b.length-1;a++)d=d?`${d}/${b[a]}`:b[a],c.push({prefix:d,children:await GF(d)});j(a=>{let b=a;for(let{prefix:a,children:d}of c)b=GG(b,a,a=>({...a,children:d,expanded:!0}));return b})},[]),aP=(0,$.useCallback)(async a=>{let b=await GF(a);""===a?j(a=>{let c=new Map(a.map(a=>[a.path,a]));return b.map(a=>{let b=c.get(a.path);return b&&("dir"===b.type||"app"===b.type)?{...a,expanded:b.expanded,children:b.children}:a})}):j(c=>GG(c,a,a=>({...a,children:b,expanded:!0})))},[]),aQ=(0,$.useCallback)(a=>{let b=[];for(let c of a)("dir"===c.type||"app"===c.type)&&c.expanded&&c.children&&(b.push(c.path),b.push(...aQ(c.children)));return b},[]),aR=(0,$.useCallback)(async()=>{q(!0);try{let a=aQ(i),b=await GF("");for(let c of(j(b),a)){let a=await GF(c);j(b=>GG(b,c,b=>({...b,children:a,expanded:!0})))}}finally{q(!1)}},[i,aQ]),aS=(0,$.useCallback)(async()=>{if(N&&(["editor","text"].includes(GA(N.name,N.nodeType))||GC(N.name))){aa(!0);try{let a=await fetch(`/api/wiki/content?path=${encodeURIComponent(N.path)}`);if(a.ok){let b=await a.json();Y(b.content)}}catch{}aa(!1)}},[N]);async function aT(a){if("dir"===a.type||"app"===a.type)if(a.expanded)j(b=>GG(b,a.path,a=>({...a,expanded:!1})));else if(void 0===a.children){j(b=>GG(b,a.path,a=>({...a,loading:!0})));let b=await GF(a.path);j(c=>GG(c,a.path,a=>({...a,loading:!1,children:b,expanded:!0})))}else j(b=>GG(b,a.path,a=>({...a,expanded:!0})))}async function aU(a){if(O({path:a.path,name:a.name,nodeType:"app"===a.type?"app":"node-app"===a.type?"node-app":"file"}),ac(!1),aH(null),Y(null),["editor","text"].includes(GA(a.name,a.type))||GC(a.name)){aa(!0);try{let b=await fetch(`/api/wiki/content?path=${encodeURIComponent(a.path)}`);if(b.ok){let a=await b.json();Y(a.content)}}catch{}aa(!1)}}(0,$.useEffect)(()=>{aL.current=N},[N]),(0,$.useEffect)(()=>{aM.current=ab},[ab]),(0,$.useEffect)(()=>{aN.current=aS},[aS]),(0,$.useEffect)(()=>{if(!b)return;let a=new Map,c=new EventSource("/api/wiki/watch");return c.onmessage=b=>{var c;let d;try{d=JSON.parse(b.data)}catch{return}let{type:e,path:f}=d,g=f.split("/");if(c=g.length>1?g.slice(0,-1).join("/"):"",a.has(c)&&clearTimeout(a.get(c)),a.set(c,setTimeout(()=>{a.delete(c),aP(c)},300)),"change"===e&&aL.current?.path===f&&!aM.current){let b=`__file__${f}`;a.has(b)&&clearTimeout(a.get(b)),a.set(b,setTimeout(()=>{a.delete(b),aN.current()},400))}},()=>{for(let b of(c.close(),a.values()))clearTimeout(b)}},[b,aP]),(0,$.useEffect)(()=>{Q(!1)},[]),(0,$.useEffect)(()=>{if(!f||N&&N.path===f)return;let a=f.split("/").pop()??f;aU({path:f,name:a,type:"file"})},[f]),(0,$.useEffect)(()=>{},[N]),(0,$.useEffect)(()=>{if(h.current||!k)return;let a=g.current;if(!a){h.current=!0;return}h.current=!0,(async()=>{let b=a.split("/"),c=b[b.length-1],d=b.slice(0,-1).join("/"),e=(await GF(d)).find(b=>b.path===a);e&&(await aO(a),aU({path:a,name:c,type:e.type,modifiedAt:e.modifiedAt}))})()},[k,aO]);let aV=async()=>{await fetch("/api/system/clear-root",{method:"POST"}),O(null),Y(null),ac(!1),j([]),l(!1),o.current=!1,e(null),c(!1)};async function aW(){if(!N)return;aF(!0),aH(null);let a=await fetch("/api/wiki/content",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:N.path,content:ad})});a.ok?(Y(ad),ac(!1)):aH((await a.json()).error??"Save failed"),aF(!1)}let aX=(0,$.useCallback)(async(a,b)=>{let c=Array.from(a);if(c.length){s(!0),u(null);try{for(let a of c){let c=new FormData;c.append("file",a),c.append("dir",b);let d=await fetch("/api/wiki/upload",{method:"POST",body:c});if(!d.ok){let a=await d.json();u(a.error??"Upload failed"),CZ(a.error??"Upload failed");break}}await aP(b)}catch{u("Upload failed.")}finally{s(!1),v.current&&(v.current.value="")}}},[aP]);function aY(a){w.current=a,v.current?.click()}async function aZ(){let a=z.trim();if(!a||null===x)return;C(null);let b=x?`${x}/${a}`:a,c=await fetch("/api/wiki/folder",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b})});c.ok?(y(null),A(""),await aP(x),""!==x&&j(a=>GG(a,x,a=>({...a,expanded:!0})))):C((await c.json()).error??"Failed")}async function a$(){let a=F.trim();if(!a||null===D)return;I(null);let b=a.includes(".")?a:`${a}.md`,c=D?`${D}/${b}`:b,d=await fetch("/api/wiki/new-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:c})});d.ok?(E(null),G(""),await aP(D),""!==D&&j(a=>GG(a,D,a=>({...a,expanded:!0}))),aU({path:c,name:b,type:"file",modifiedAt:new Date().toISOString()})):I((await d.json()).error??"Failed")}async function a_(){J&&(await fetch("/api/wiki",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:J})}),(N?.path===J||N?.path.startsWith(`${J}/`))&&(O(null),Y(null)),j(a=>(function a(b,c){return b.filter(a=>a.path!==c).map(b=>b.children?{...b,children:a(b.children,c)}:b)})(a,J)),K(null))}function a0(a,b,c){a.preventDefault(),a.stopPropagation();let d=aI.current;!d||d.path===b||b.startsWith(`${d.path}/`)||(a.dataTransfer.dropEffect="move",aK("root"===c?"":b))}async function a1(a,b){a.preventDefault(),a.stopPropagation(),aK(null);let c=aI.current;if(aI.current=null,!c||c.path===b||b.startsWith(`${c.path}/`))return;let d=b?`${b}/${c.name}`:c.name;if(d!==c.path&&(await fetch("/api/wiki/move",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:c.path,to:d})})).ok){let a=c.path.includes("/")?c.path.split("/").slice(0,-1).join("/"):"";await aP(a),b!==a&&await aP(b),N?.path===c.path&&O({path:d,name:c.name,nodeType:N.nodeType})}}let a2=N?GA(N.name,N.nodeType):null,a3=vg(a=>a.width),a4=null===a2||"editor"===a2||"text"===a2||"source"===a2||"notebook"===a2||"fallback"===a2,a5=a4?vc[a3]:"";return(0,Z.jsxs)("div",{className:"flex h-screen gap-0 overflow-hidden bg-background",children:[null===b&&(0,Z.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),!1===b&&(0,Z.jsx)(Ek,{onSelect:a=>{l(!1),o.current=!1,e(a),c(!0)}}),!0===b&&(0,Z.jsxs)(Z.Fragment,{children:[!T&&(0,Z.jsxs)(Gb,{className:"flex flex-col w-72 shrink-0 overflow-hidden rounded-none border-r border-l-0 border-t-0 border-b-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between gap-2 px-3 py-2 border-b bg-muted shrink-0",children:[(0,Z.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,Z.jsx)("img",{src:"/logo.svg",alt:"Wiki Viewer",className:"h-5 w-5 shrink-0"}),(0,Z.jsx)("span",{className:"truncate text-xs font-semibold tracking-tight",children:"Wiki Viewer"})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 shrink-0",title:"Collapse sidebar",onClick:()=>U(!0),children:(0,Z.jsx)(at,{className:"h-3.5 w-3.5"})})]}),(0,Z.jsxs)("div",{className:"flex items-center justify-between gap-1 px-3 py-1.5 border-b bg-muted/50 shrink-0",children:[(0,Z.jsxs)(FJ,{children:[(0,Z.jsx)(FL,{asChild:!0,children:(0,Z.jsxs)(bT,{size:"sm",variant:"ghost",className:"h-7 gap-1 px-2 text-xs",disabled:r,children:[r?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(aw,{className:"h-3.5 w-3.5"}),"New",(0,Z.jsx)(ah,{className:"h-3 w-3 opacity-60"})]})}),(0,Z.jsxs)(FY,{align:"start",className:"w-44",children:[(0,Z.jsxs)(FZ,{onClick:()=>{E(""),G(""),I(null)},children:[(0,Z.jsx)(ak,{className:"mr-2 h-3.5 w-3.5"}),"New file"]}),(0,Z.jsxs)(FZ,{onClick:()=>{y(""),A(""),C(null)},children:[(0,Z.jsx)(ao,{className:"mr-2 h-3.5 w-3.5"}),"New folder"]}),(0,Z.jsxs)(FZ,{onClick:()=>aY(""),disabled:r,children:[(0,Z.jsx)(aB,{className:"mr-2 h-3.5 w-3.5"}),"Upload"]})]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Refresh tree",onClick:aR,disabled:p,children:p?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(F1,{}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"AI Agent panel",onClick:()=>u1.getState().toggle(),children:(0,Z.jsx)(af,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Settings",onClick:()=>W(!0),children:(0,Z.jsx)(ay,{className:"h-3.5 w-3.5"})})]})]}),t&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 text-xs text-destructive bg-destructive/10 shrink-0",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0"}),t]}),""===x&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1 border-b shrink-0",children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("input",{className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"Folder name",value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&aZ(),"Escape"===a.key&&(y(null),A(""))}}),B&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:B}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:aZ,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{y(null),A("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),""===D&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1 border-b shrink-0",children:[(0,Z.jsx)(al,{className:"h-4 w-4 shrink-0 text-accent"}),(0,Z.jsx)("input",{autoFocus:!0,className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"filename (default .md)",value:F,onChange:a=>G(a.target.value),onKeyDown:a=>{"Enter"===a.key&&a$(),"Escape"===a.key&&(E(null),G(""))}}),H&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:H}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:a$,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{E(null),G("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),(0,Z.jsx)("div",{className:bR("flex-1 overflow-auto py-1",""===aJ&&"ring-2 ring-inset ring-primary bg-primary/5"),onDragOver:a=>a0(a,"","root"),onDragLeave:a=>{a.currentTarget.contains(a.relatedTarget)||aK(null)},onDrop:a=>a1(a,""),children:m?(0,Z.jsx)("div",{className:"flex justify-center py-6",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===i.length?(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-3 px-4 py-8 text-center",children:[(0,Z.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,Z.jsx)(al,{className:"h-6 w-6 text-muted-foreground"})}),(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-sm font-medium",children:"No files yet"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload files or add them to the configured directory"})]}),(0,Z.jsxs)(bT,{size:"sm",variant:"outline",className:"w-full gap-1.5 max-w-[180px]",onClick:()=>aY(""),disabled:r,children:[r?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(aB,{className:"h-3.5 w-3.5"}),"Upload Files"]})]}):function a(b,c=0){return b.map(b=>(0,Z.jsxs)("div",{children:[(0,Z.jsxs)("div",{role:"treeitem",tabIndex:0,draggable:!0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),"dir"===b.type?aT(b):"app"===b.type?(aU(b),aT(b)):aU(b))},onDragStart:a=>{aI.current=b,a.dataTransfer.effectAllowed="move",a.dataTransfer.setData("text/plain",b.path)},onDragOver:a=>"dir"===b.type?a0(a,b.path,"dir"):a.preventDefault(),onDragLeave:()=>aK(null),onDrop:a=>"dir"===b.type?a1(a,b.path):a.preventDefault(),className:bR("flex items-center gap-1.5 rounded-sm px-2 py-1 text-sm cursor-pointer group transition-colors select-none",N?.path===b.path?"bg-accent text-accent-foreground":"hover:bg-accent/50",aJ===b.path&&"ring-2 ring-primary bg-primary-soft",b.name.startsWith(".")&&"opacity-40"),style:{paddingLeft:`${14*c+8}px`},onClick:()=>{"dir"===b.type?aT(b):"app"===b.type?(aU(b),aT(b)):aU(b)},children:["dir"===b.type||"app"===b.type?b.loading?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}):b.expanded?(0,Z.jsx)(ah,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,Z.jsx)(ai,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,Z.jsx)("span",{className:"w-3.5 shrink-0"}),"dir"===b.type?b.expanded?(0,Z.jsx)(an,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-warning")}):(0,Z.jsx)(am,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-warning")}):"app"===b.type?(0,Z.jsx)(ap,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-accent")}):"node-app"===b.type?(0,Z.jsx)(az,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-emerald-500")}):"html"===GA(b.name,"file")?(0,Z.jsx)(ap,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-accent/70")}):GE(b.name)?(0,Z.jsx)(aq,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-sunshine-700")}):GC(b.name)?(0,Z.jsx)(al,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-accent")}):(0,Z.jsx)(aj,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-muted-foreground")}),(0,Z.jsx)("span",{className:"flex-1 truncate",children:b.name}),(0,Z.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:["dir"===b.type&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-muted-foreground hover:text-foreground",title:"New file here (default .md)",onClick:async()=>{b.expanded||await aT(b),E(b.path),G(""),I(null)},children:(0,Z.jsx)(ak,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-muted-foreground hover:text-foreground",title:"Upload here",onClick:()=>aY(b.path),children:(0,Z.jsx)(aB,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-muted-foreground hover:text-foreground",title:"New subfolder",onClick:()=>{y(b.path),A(""),C(null)},children:(0,Z.jsx)(ao,{className:"h-3 w-3"})})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-destructive hover:text-destructive",title:"Delete",onClick:()=>{K(b.path),M("file"!==b.type)},children:(0,Z.jsx)(aA,{className:"h-3 w-3"})})]})]}),x===b.path&&"dir"===b.type&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1",style:{paddingLeft:`${(c+1)*14+8}px`},children:[(0,Z.jsx)("span",{className:"w-3.5 shrink-0"}),(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("input",{className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"Folder name",value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&aZ(),"Escape"===a.key&&(y(null),A(""))}}),B&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:B}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:aZ,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{y(null),A("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),D===b.path&&"dir"===b.type&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1",style:{paddingLeft:`${(c+1)*14+8}px`},children:[(0,Z.jsx)("span",{className:"w-3.5 shrink-0"}),(0,Z.jsx)(al,{className:"h-4 w-4 shrink-0 text-accent"}),(0,Z.jsx)("input",{autoFocus:!0,className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"filename (default .md)",value:F,onChange:a=>G(a.target.value),onKeyDown:a=>{"Enter"===a.key&&a$(),"Escape"===a.key&&(E(null),G(""))}}),H&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:H}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:a$,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{E(null),G("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),("dir"===b.type||"app"===b.type)&&b.expanded&&b.children&&b.children.length>0&&a(b.children,c+1),("dir"===b.type||"app"===b.type)&&b.expanded&&b.children?.length===0&&(0,Z.jsx)("div",{className:"text-xs text-muted-foreground/50 py-0.5",style:{paddingLeft:`${(c+1)*14+8+14+6+16+6}px`},children:"Empty"})]},b.path))}(i)}),(0,Z.jsxs)("div",{className:"border-t px-3 py-2 flex items-center gap-2 bg-muted shrink-0",children:[(0,Z.jsx)("span",{className:"flex-1 text-xs text-muted-foreground font-mono truncate",title:d??"",children:d??""}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 shrink-0 text-xs px-2 text-muted-foreground hover:text-foreground",onClick:aV,children:"Change"})]})]}),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col min-w-0 relative",children:[T&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"absolute left-0 top-1/2 -translate-y-1/2 z-10 h-7 w-7 p-0 rounded-full bg-background/50 backdrop-blur-xl backdrop-saturate-150 border border-white/[0.08] text-foreground/60 hover:text-foreground/90 hover:bg-background/70 shadow-[0_0_12px_rgba(0,0,0,0.15)] [transform:translate(-50%,-50%)_translateZ(0)]",title:"Show sidebar",onClick:()=>U(!1),children:(0,Z.jsx)(au,{className:"h-3.5 w-3.5"})}),N?"node-app"===a2?(0,Z.jsx)(Ef,{path:N.path,title:N.name}):"app"===a2||"html"===a2?(a="html"===a2?`/api/assets/${N.path}`:void 0,P?(0,Z.jsx)(Eb,{path:N.path,title:N.name,src:a,fullscreen:!0,onExit:()=>Q(!1)}):(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-w-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted shrink-0",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,Z.jsx)(ap,{className:"h-4 w-4 shrink-0 text-accent"}),(0,Z.jsx)("span",{className:"text-sm font-normal truncate",title:N.path,children:N.path})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["html"===a2&&!ab&&null!==X&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Edit source",onClick:()=>{ac(!0),aD(X),aH(null)},children:(0,Z.jsx)(av,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Refresh",onClick:()=>S(a=>a+1),children:(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"})}),(0,Z.jsxs)(bT,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 text-xs",onClick:()=>Q(!0),children:[(0,Z.jsx)(as,{className:"h-3.5 w-3.5"}),"Open fullscreen"]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{O(null),ac(!1)},children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]})]}),ab&&"html"===a2?(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-h-0",children:[(0,Z.jsx)("textarea",{value:ad,onChange:a=>aD(a.target.value),spellCheck:!1,className:"flex-1 w-full min-h-0 resize-none bg-background text-foreground px-4 py-3 font-mono text-[13px] leading-relaxed outline-none border-0"}),(0,Z.jsxs)("div",{className:"border-t px-4 py-2 flex items-center justify-end gap-2 bg-muted shrink-0",children:[aG&&(0,Z.jsx)("span",{className:"text-xs text-destructive mr-auto",children:aG}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",onClick:()=>{ac(!1),aH(null)},children:"Cancel"}),(0,Z.jsxs)(bT,{size:"sm",className:"gap-1",onClick:aW,disabled:aE,children:[aE&&(0,Z.jsx)(ar,{className:"h-3 w-3 animate-spin"}),"Save"]})]})]}):(0,Z.jsx)(Eb,{path:N.path,title:N.name,src:a},R)]})):(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-w-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted shrink-0",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[GE(N.name)?(0,Z.jsx)(aq,{className:"h-4 w-4 shrink-0 text-sunshine-700"}):GC(N.name)?(0,Z.jsx)(al,{className:"h-4 w-4 shrink-0 text-accent"}):(0,Z.jsx)(aj,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,Z.jsx)("span",{className:"text-sm font-normal truncate",title:N.path,children:N.path})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[GC(N.name)&&!ab&&null!==X&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{ac(!0),aD(X),aH(null),GD(N.name)&&va.getState().loadPage(N.path)},children:(0,Z.jsx)(av,{className:"h-3.5 w-3.5"})}),GC(N.name)&&!ab&&null!==X&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Refresh",onClick:aS,disabled:_,children:_?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"})}),a4&&(0,Z.jsx)(Gy,{}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{O(null),Y(null),ac(!1)},children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]})]}),ab?(0,Z.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden min-h-0",children:GD(N.name)?(0,Z.jsx)(C5,{}):(0,Z.jsx)("textarea",{value:ad,onChange:a=>aD(a.target.value),spellCheck:!1,className:"flex-1 w-full min-h-0 resize-none bg-background text-foreground px-4 py-3 font-mono text-[13px] leading-relaxed outline-none border-0"})}):(0,Z.jsx)("div",{className:"flex-1 overflow-auto p-4 min-h-0",children:(0,Z.jsx)("div",{className:bR("mx-auto w-full",a5),children:_?(0,Z.jsx)("div",{className:"flex justify-center py-8",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):"csv"===a2?(0,Z.jsx)(dM,{path:N.path,title:N.name}):"pdf"===a2?(0,Z.jsx)(D6,{path:N.path,title:N.name}):"mermaid"===a2?(0,Z.jsx)(De,{path:N.path,title:N.name}):"notebook"===a2?(0,Z.jsx)(D1,{path:N.path,title:N.name}):"image"===a2?(0,Z.jsx)(C7,{path:N.path,title:N.name}):"media"===a2?(0,Z.jsx)(C8,{path:N.path,title:N.name,type:["mp4","webm","mov","m4v"].includes(Gz(N.name))?"video":"audio"}):"docx"===a2?(0,Z.jsx)(D3,{path:N.path,title:N.name}):"xlsx"===a2?(0,Z.jsx)(D5,{path:N.path,title:N.name}):"pptx"===a2?(0,Z.jsx)(D4,{path:N.path,title:N.name}):"source"===a2?(0,Z.jsx)(Ea,{path:N.path,title:N.name}):"fallback"===a2?(0,Z.jsx)(C6,{path:N.path,title:N.name}):null!==X?["md","markdown"].includes(Gz(N.name))?(()=>{let{data:a,body:b}=function(a){let b=Gh.exec(a);if(!b)return{data:{},body:a};let c=b[1],d=a.slice(b[0].length),e=c.split(/\r?\n/).find(a=>""!==a.trim())??"";if(/^\s*(#{1,6}\s|<|>|-\s|\*\s|\d+\.\s)/.test(e))return{data:{},body:a};let f={},g=c.split(/\r?\n/),h=0;for(;h<g.length;){let a=g[h];if(!a||/^\s*#/.test(a)){h+=1;continue}let b=/^([A-Za-z_][\w-]*)\s*:\s*(.*)$/.exec(a);if(!b){h+=1;continue}let c=b[1],d=b[2];if(""===d.trim()){let a=[],b=h+1;for(;b<g.length&&/^\s+-\s+/.test(g[b]);){let c=/^\s+-\s+(.*)$/.exec(g[b]);c&&a.push(Gi(c[1])),b+=1}if(a.length>0){f[c]=a,h=b;continue}f[c]="",h+=1;continue}f[c]=Gi(d),h+=1}return 0===Object.keys(f).length?{data:{},body:a}:{data:f,body:d}}(X);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Gf,{data:a}),(0,Z.jsx)(Gg,{markdown:b,pagePath:N.path,onNavigate:(a,b)=>{aU({path:a,name:a.split("/").pop()??a,type:"file"}),b&&setTimeout(()=>{document.getElementById(b)?.scrollIntoView({behavior:"smooth"})},200)}})]})})():(0,Z.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words leading-relaxed",children:X}):GC(N.name)?(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:"Could not load file."}):(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:"Preview not available for this file type."})})}),ab&&(0,Z.jsxs)("div",{className:"border-t px-4 py-2 flex items-center justify-end gap-2 bg-muted shrink-0",children:[aG&&(0,Z.jsx)("span",{className:"text-xs text-destructive mr-auto",children:aG}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",onClick:()=>{ac(!1),aH(null)},children:"Cancel"}),(0,Z.jsxs)(bT,{size:"sm",className:"gap-1",onClick:aW,disabled:aE,children:[aE&&(0,Z.jsx)(ar,{className:"h-3 w-3 animate-spin"}),"Save"]})]})]}):(0,Z.jsx)("div",{className:"flex-1 flex flex-col items-center justify-center",children:(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center px-4",children:[(0,Z.jsx)(al,{className:"h-8 w-8 text-muted-foreground"}),(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:"Select a file to view or edit"})]})})]}),(0,Z.jsx)(Ga,{open:V,onOpenChange:W}),(0,Z.jsx)(Gw,{currentPath:N?.path}),(0,Z.jsx)("input",{ref:v,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&aX(a.target.files,w.current)}}),(0,Z.jsx)(dF,{open:!!J,onOpenChange:a=>{a||K(null)},title:L?"Delete folder?":"Delete file?",description:L?`"${J?.split("/").pop()}" and all its contents will be permanently deleted.`:`"${J?.split("/").pop()}" will be permanently removed.`,onConfirm:a_})]})]})}],240777)}];
|
|
129
|
+
${b}/api/agent/files/${a??"<path/to/file.md>"}`;await navigator.clipboard.writeText(d),c(!0),setTimeout(()=>c(!1),1500)},[a])}}(a??null),[i,j]=(0,$.useState)(""),k=(0,$.useRef)(null),l="http://localhost:3000",m=(0,$.useCallback)(()=>Gq,[]),n=(0,$.useCallback)(()=>i.replace(/\$WIKI_URL/g,l),[i,l]),o=(0,$.useCallback)(()=>`npx wiki-viewer-mcp register --url ${l} --id ai:myagent --name "My Agent"`,[l]),p=(0,$.useCallback)(()=>JSON.stringify({servers:{"wiki-viewer":{command:"npx",args:["wiki-viewer-mcp"],env:{WIKI_VIEWER_URL:l,WIKI_VIEWER_TOKEN:"<token from register>",WIKI_VIEWER_AGENT_ID:"ai:myagent"}}}},null,2),[l]),q=Gr(m),r=Gr(n),s=Gr(o),t=Gr(p);return((0,$.useEffect)(()=>{if(b)return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a);function a(a){"Escape"===a.key&&c()}},[b,c]),(0,$.useEffect)(()=>{b&&k.current?.focus()},[b]),(0,$.useEffect)(()=>{if(!b)return;f();let a=setInterval(()=>void f(),1e4);return()=>clearInterval(a)},[b,f]),(0,$.useEffect)(()=>{b&&fetch("/api/agents/install").then(a=>a.json()).then(a=>{a.bootstrapPrompt&&j(a.bootstrapPrompt)}).catch(()=>void 0)},[b]),b)?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 backdrop-blur-[1px]",onClick:c,"aria-hidden":!0}),(0,Z.jsxs)("aside",{ref:k,tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":"AI Agent Panel",className:"fixed right-0 top-0 bottom-0 z-50 flex w-80 flex-col border-l border-border bg-background shadow-xl outline-none",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 shrink-0",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)(af,{className:"h-4 w-4 text-muted-foreground"}),(0,Z.jsx)("span",{className:"text-sm font-semibold",children:"AI Agent"})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:c,title:"Close panel (Esc)",children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]}),(0,Z.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-5 px-4 py-4",children:[(0,Z.jsxs)("section",{className:"rounded-md border border-border bg-muted/30 p-3",children:[(0,Z.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Work with this wiki using AI"}),(0,Z.jsxs)("p",{className:"mt-1 text-xs leading-relaxed text-muted-foreground",children:["Connect Claude, Cursor, ChatGPT, and more. Pick by what you want — each option gives a copy-paste setup. You approve every assistant in ",(0,Z.jsx)("span",{className:"font-medium text-foreground/80",children:"Agents"})," below before it gets access."]})]}),(0,Z.jsxs)("section",{className:"space-y-3",children:[(0,Z.jsxs)("div",{className:"rounded-md border border-border bg-muted/40 p-3 space-y-1.5",children:[(0,Z.jsx)("p",{className:"text-xs font-semibold text-foreground",children:"Co-write docs with you"}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/70",children:"Edits arrive as suggestions with comments you accept or revert. No MCP needed."}),(0,Z.jsx)(bT,{size:"sm",variant:"outline",className:"h-7 w-full text-xs gap-1.5",onClick:()=>void r.copy(),disabled:!i,children:r.copied?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"})," Copied!"]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})," Paste into any chatbot"]})}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/50 pt-1",children:["Or install once so it sticks"," ",(0,Z.jsx)("span",{className:"text-muted-foreground/40",children:"· Claude, OpenCode"}),":"]}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)("code",{className:"flex-1 text-[10px] font-mono text-foreground/80 truncate bg-muted rounded px-1 py-0.5",children:Gq}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 shrink-0",title:"Copy this command",onClick:()=>void q.copy(),children:q.copied?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})})]})]}),(0,Z.jsxs)("div",{className:"rounded-md border border-border bg-muted/40 p-3 space-y-1.5",children:[(0,Z.jsxs)("p",{className:"text-xs font-semibold text-foreground",children:["Edit files directly"," ",(0,Z.jsx)("span",{className:"font-normal text-muted-foreground/60",children:"· Claude Code, Cursor, Codex"})]}),(0,Z.jsx)("p",{className:"text-[10px] text-muted-foreground/70",children:"Native read / search / edit tools over MCP. Run to request access:"}),(0,Z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Z.jsx)("code",{className:"flex-1 text-[10px] font-mono text-foreground/80 truncate bg-muted rounded px-1 py-0.5",children:o()}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 shrink-0",title:"Copy this command",onClick:()=>void s.copy(),children:s.copied?(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})})]}),(0,Z.jsxs)("p",{className:"text-[10px] text-muted-foreground/50",children:["Approve in ",(0,Z.jsx)("span",{className:"font-medium text-foreground/70",children:"Agents"}),", then add to your tool:"]}),(0,Z.jsx)(bT,{size:"sm",variant:"outline",className:"h-7 w-full text-xs gap-1.5",onClick:()=>void t.copy(),children:t.copied?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ag,{className:"h-3.5 w-3.5 text-green-500"})," Copied!"]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(C9,{className:"h-3.5 w-3.5"})," Copy config (mcp.json)"]})})]}),(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,Z.jsx)("span",{className:"text-[10px] text-muted-foreground/50",children:"For developers:"}),(0,Z.jsxs)("button",{type:"button",onClick:()=>void h(),className:"inline-flex items-center gap-1 text-[10px] text-primary hover:underline",children:[g?(0,Z.jsx)(ag,{className:"h-3 w-3 text-green-500"}):(0,Z.jsx)(C9,{className:"h-3 w-3"})," curl example"]}),(0,Z.jsxs)("a",{href:"/api/agents/skill",target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-[10px] text-primary hover:underline",children:[(0,Z.jsx)(wZ,{className:"h-3 w-3"})," skill"]}),(0,Z.jsxs)("a",{href:"/api/agents/install",target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-[10px] text-primary hover:underline",children:[(0,Z.jsx)(wZ,{className:"h-3 w-3"})," install JSON"]})]})]}),(0,Z.jsx)(Go,{}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:["Active Connections"," ",(0,Z.jsx)("span",{className:"normal-case font-normal text-muted-foreground/50",children:"(last 5 min)"})]}),(0,Z.jsx)("div",{className:"rounded-md border border-border bg-muted/40 p-3",children:0===e.length?(0,Z.jsxs)("p",{className:"text-xs text-muted-foreground/60 flex items-center gap-1.5",children:[(0,Z.jsx)(Gg,{className:"h-3.5 w-3.5"}),"No recent activity"]}):(0,Z.jsx)("ul",{className:"space-y-1.5",children:e.map(a=>(0,Z.jsxs)("li",{className:"flex items-center justify-between text-xs",children:[(0,Z.jsx)("span",{className:"font-mono text-foreground/80 truncate",children:a.by}),(0,Z.jsxs)("span",{className:"text-muted-foreground shrink-0",children:[a.opCount," op",1!==a.opCount?"s":""]})]},a.by))})})]}),(0,Z.jsxs)("section",{className:"space-y-2",children:[(0,Z.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground",children:"Recent Activity"}),(0,Z.jsx)("div",{className:"rounded-md border border-border bg-muted/40 px-3 py-1 max-h-72 overflow-y-auto",children:0===d.length?(0,Z.jsx)("p",{className:"text-xs text-muted-foreground/60 py-2",children:"No events recorded"}):d.map(a=>(0,Z.jsx)(Gp,{event:a},`${a.path}-${a.id}`))})]}),(0,Z.jsx)("section",{children:(0,Z.jsx)("a",{href:"/docs/agent-collab-plan.md",target:"_blank",rel:"noreferrer",className:"text-xs text-primary underline hover:no-underline",children:"Agent collaboration docs →"})})]})]})]}):null}function Gt({className:a}){let b=vg(a=>a.width),c=vg(a=>a.setWidth);return(0,Z.jsxs)(FJ,{children:[(0,Z.jsx)(FL,{asChild:!0,children:(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:`h-7 w-7 p-0 ${a??""}`,title:`Content width: ${ve[b]}`,children:(0,Z.jsx)(wM,{className:"h-3.5 w-3.5"})})}),(0,Z.jsx)(FY,{align:"end",className:"w-36",children:vf.map(a=>(0,Z.jsxs)(FZ,{onClick:()=>c(a),className:"flex items-center justify-between text-xs",children:[ve[a],a===b&&(0,Z.jsx)(ag,{className:"h-3.5 w-3.5"})]},a))})]})}function Gu(a){return a.split(".").pop()?.toLowerCase()??""}function Gv(a,b){if("node-app"===b)return"node-app";if("app"===b)return"app";if("dir"===b)return"fallback";let c=Gu(a);return c?["md","markdown"].includes(c)?"editor":"txt"===c?"text":["csv","tsv"].includes(c)?"csv":"pdf"===c?"pdf":["mmd","mermaid"].includes(c)?"mermaid":"ipynb"===c?"notebook":["png","jpg","jpeg","gif","webp","svg","avif","ico","bmp"].includes(c)?"image":["mp4","webm","mov","m4v","mp3","wav","ogg","m4a","aac"].includes(c)?"media":"docx"===c?"docx":["xlsx","xlsm"].includes(c)?"xlsx":"pptx"===c?"pptx":"html"===c?"html":["py","js","ts","tsx","jsx","go","rs","java","c","cpp","h","sh","bash","zsh","rb","php","swift","kt","lua","sql","yaml","yml","toml","json","xml","css","scss"].includes(c)?"source":"fallback":"fallback"}let Gw=new Set(["txt","md","markdown","json","yaml","yml","toml","csv","tsv","xml","html","css","js","ts","tsx","jsx","sh","bash","zsh","rb","py","go","rs","java","c","cpp","h","php","swift","kt","lua","sql","scss","mmd","mermaid","ini","env","log","conf"]);function Gx(a){let b=Gv(a,"file");return"editor"===b||"text"===b||Gw.has(Gu(a))}function Gy(a){return["md","markdown"].includes(Gu(a))}function Gz(a){return"image"===Gv(a,"file")}async function GA(a){let b=await fetch(`/api/wiki?dir=${encodeURIComponent(a)}`);return b.ok?(await b.json()).entries.map(b=>({name:b.name,path:a?`${a}/${b.name}`:b.name,type:b.type,size:b.size,modifiedAt:b.modifiedAt,expanded:!1})):[]}function GB(a,b,c){return a.map(a=>a.path===b?c(a):a.children?{...a,children:GB(a.children,b,c)}:a)}a.s(["default",0,function(){let a;vh(a=>a.loadedAt),(0,$.useEffect)(()=>{vh.getState().load()},[]);let[b,c]=(0,$.useState)(null),[d,e]=(0,$.useState)(null);(0,$.useEffect)(()=>{fetch("/api/system/root-status").then(a=>a.json()).then(a=>{c(a.configured),e(a.path)}).catch(()=>c(!1))},[]);let f=va(a=>a.currentPath),g=(0,$.useRef)(null),h=(0,$.useRef)(!1),[i,j]=(0,$.useState)([]),[k,l]=(0,$.useState)(!1),[m,n]=(0,$.useState)(!1),o=(0,$.useRef)(!1),[p,q]=(0,$.useState)(!1),[r,s]=(0,$.useState)(!1),[t,u]=(0,$.useState)(null),v=(0,$.useRef)(null),w=(0,$.useRef)(""),[x,y]=(0,$.useState)(null),[z,A]=(0,$.useState)(""),[B,C]=(0,$.useState)(null),[D,E]=(0,$.useState)(null),[F,G]=(0,$.useState)(""),[H,I]=(0,$.useState)(null),[J,K]=(0,$.useState)(null),[L,M]=(0,$.useState)(!1),[N,O]=(0,$.useState)(null),[P,Q]=(0,$.useState)(!1),[R,S]=(0,$.useState)(0),[T,U]=(0,$.useState)(!1),[V,W]=(0,$.useState)(!1),[X,Y]=(0,$.useState)(null),[_,aa]=(0,$.useState)(!1),[ab,ac]=(0,$.useState)(!1),[ad,aD]=(0,$.useState)(""),[aE,aF]=(0,$.useState)(!1),[aG,aH]=(0,$.useState)(null),aI=(0,$.useRef)(null),[aJ,aK]=(0,$.useState)(null),aL=(0,$.useRef)(null),aM=(0,$.useRef)(!1),aN=(0,$.useRef)(async()=>{});(0,$.useEffect)(()=>{k||o.current||(o.current=!0,n(!0),GA("").then(a=>{j(a),l(!0),n(!1)}).catch(()=>{o.current=!1,n(!1)}))},[k]);let aO=(0,$.useCallback)(async a=>{let b=a.split("/");if(b.length<=1)return;let c=[],d="";for(let a=0;a<b.length-1;a++)d=d?`${d}/${b[a]}`:b[a],c.push({prefix:d,children:await GA(d)});j(a=>{let b=a;for(let{prefix:a,children:d}of c)b=GB(b,a,a=>({...a,children:d,expanded:!0}));return b})},[]),aP=(0,$.useCallback)(async a=>{let b=await GA(a);""===a?j(a=>{let c=new Map(a.map(a=>[a.path,a]));return b.map(a=>{let b=c.get(a.path);return b&&("dir"===b.type||"app"===b.type)?{...a,expanded:b.expanded,children:b.children}:a})}):j(c=>GB(c,a,a=>({...a,children:b,expanded:!0})))},[]),aQ=(0,$.useCallback)(a=>{let b=[];for(let c of a)("dir"===c.type||"app"===c.type)&&c.expanded&&c.children&&(b.push(c.path),b.push(...aQ(c.children)));return b},[]),aR=(0,$.useCallback)(async()=>{q(!0);try{let a=aQ(i),b=await GA("");for(let c of(j(b),a)){let a=await GA(c);j(b=>GB(b,c,b=>({...b,children:a,expanded:!0})))}}finally{q(!1)}},[i,aQ]),aS=(0,$.useCallback)(async()=>{if(N&&(["editor","text"].includes(Gv(N.name,N.nodeType))||Gx(N.name))){aa(!0);try{let a=await fetch(`/api/wiki/content?path=${encodeURIComponent(N.path)}`);if(a.ok){let b=await a.json();Y(b.content)}}catch{}aa(!1)}},[N]);async function aT(a){if("dir"===a.type||"app"===a.type)if(a.expanded)j(b=>GB(b,a.path,a=>({...a,expanded:!1})));else if(void 0===a.children){j(b=>GB(b,a.path,a=>({...a,loading:!0})));let b=await GA(a.path);j(c=>GB(c,a.path,a=>({...a,loading:!1,children:b,expanded:!0})))}else j(b=>GB(b,a.path,a=>({...a,expanded:!0})))}async function aU(a){if(O({path:a.path,name:a.name,nodeType:"app"===a.type?"app":"node-app"===a.type?"node-app":"file"}),ac(!1),aH(null),Y(null),["editor","text"].includes(Gv(a.name,a.type))||Gx(a.name)){aa(!0);try{let b=await fetch(`/api/wiki/content?path=${encodeURIComponent(a.path)}`);if(b.ok){let a=await b.json();Y(a.content)}}catch{}aa(!1)}}(0,$.useEffect)(()=>{aL.current=N},[N]),(0,$.useEffect)(()=>{aM.current=ab},[ab]),(0,$.useEffect)(()=>{aN.current=aS},[aS]),(0,$.useEffect)(()=>{if(!b)return;let a=new Map,c=new EventSource("/api/wiki/watch");return c.onmessage=b=>{var c;let d;try{d=JSON.parse(b.data)}catch{return}let{type:e,path:f}=d,g=f.split("/");if(c=g.length>1?g.slice(0,-1).join("/"):"",a.has(c)&&clearTimeout(a.get(c)),a.set(c,setTimeout(()=>{a.delete(c),aP(c)},300)),"change"===e&&aL.current?.path===f&&!aM.current){let b=`__file__${f}`;a.has(b)&&clearTimeout(a.get(b)),a.set(b,setTimeout(()=>{a.delete(b),aN.current()},400))}},()=>{for(let b of(c.close(),a.values()))clearTimeout(b)}},[b,aP]),(0,$.useEffect)(()=>{Q(!1)},[]),(0,$.useEffect)(()=>{if(!f||N&&N.path===f)return;let a=f.split("/").pop()??f;aU({path:f,name:a,type:"file"})},[f]),(0,$.useEffect)(()=>{},[N]),(0,$.useEffect)(()=>{if(h.current||!k)return;let a=g.current;if(!a){h.current=!0;return}h.current=!0,(async()=>{let b=a.split("/"),c=b[b.length-1],d=b.slice(0,-1).join("/"),e=(await GA(d)).find(b=>b.path===a);e&&(await aO(a),aU({path:a,name:c,type:e.type,modifiedAt:e.modifiedAt}))})()},[k,aO]);let aV=async()=>{await fetch("/api/system/clear-root",{method:"POST"}),O(null),Y(null),ac(!1),j([]),l(!1),o.current=!1,e(null),c(!1)};async function aW(){if(!N)return;aF(!0),aH(null);let a=await fetch("/api/wiki/content",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:N.path,content:ad})});a.ok?(Y(ad),ac(!1)):aH((await a.json()).error??"Save failed"),aF(!1)}let aX=(0,$.useCallback)(async(a,b)=>{let c=Array.from(a);if(c.length){s(!0),u(null);try{for(let a of c){let c=new FormData;c.append("file",a),c.append("dir",b);let d=await fetch("/api/wiki/upload",{method:"POST",body:c});if(!d.ok){let a=await d.json();u(a.error??"Upload failed"),CZ(a.error??"Upload failed");break}}await aP(b)}catch{u("Upload failed.")}finally{s(!1),v.current&&(v.current.value="")}}},[aP]);function aY(a){w.current=a,v.current?.click()}async function aZ(){let a=z.trim();if(!a||null===x)return;C(null);let b=x?`${x}/${a}`:a,c=await fetch("/api/wiki/folder",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b})});c.ok?(y(null),A(""),await aP(x),""!==x&&j(a=>GB(a,x,a=>({...a,expanded:!0})))):C((await c.json()).error??"Failed")}async function a$(){let a=F.trim();if(!a||null===D)return;I(null);let b=a.includes(".")?a:`${a}.md`,c=D?`${D}/${b}`:b,d=await fetch("/api/wiki/new-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:c})});d.ok?(E(null),G(""),await aP(D),""!==D&&j(a=>GB(a,D,a=>({...a,expanded:!0}))),aU({path:c,name:b,type:"file",modifiedAt:new Date().toISOString()})):I((await d.json()).error??"Failed")}async function a_(){J&&(await fetch("/api/wiki",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:J})}),(N?.path===J||N?.path.startsWith(`${J}/`))&&(O(null),Y(null)),j(a=>(function a(b,c){return b.filter(a=>a.path!==c).map(b=>b.children?{...b,children:a(b.children,c)}:b)})(a,J)),K(null))}function a0(a,b,c){a.preventDefault(),a.stopPropagation();let d=aI.current;!d||d.path===b||b.startsWith(`${d.path}/`)||(a.dataTransfer.dropEffect="move",aK("root"===c?"":b))}async function a1(a,b){a.preventDefault(),a.stopPropagation(),aK(null);let c=aI.current;if(aI.current=null,!c||c.path===b||b.startsWith(`${c.path}/`))return;let d=b?`${b}/${c.name}`:c.name;if(d!==c.path&&(await fetch("/api/wiki/move",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:c.path,to:d})})).ok){let a=c.path.includes("/")?c.path.split("/").slice(0,-1).join("/"):"";await aP(a),b!==a&&await aP(b),N?.path===c.path&&O({path:d,name:c.name,nodeType:N.nodeType})}}let a2=N?Gv(N.name,N.nodeType):null,a3=vg(a=>a.width),a4=null===a2||"editor"===a2||"text"===a2||"source"===a2||"notebook"===a2||"fallback"===a2,a5=a4?vc[a3]:"";return(0,Z.jsxs)("div",{className:"flex h-screen gap-0 overflow-hidden bg-background",children:[null===b&&(0,Z.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),!1===b&&(0,Z.jsx)(Ek,{onSelect:a=>{l(!1),o.current=!1,e(a),c(!0)}}),!0===b&&(0,Z.jsxs)(Z.Fragment,{children:[!T&&(0,Z.jsxs)(F8,{className:"flex flex-col w-72 shrink-0 overflow-hidden rounded-none border-r border-l-0 border-t-0 border-b-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between gap-2 px-3 py-2 border-b bg-muted shrink-0",children:[(0,Z.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,Z.jsx)("img",{src:"/logo.svg",alt:"Wiki Viewer",className:"h-5 w-5 shrink-0"}),(0,Z.jsx)("span",{className:"truncate text-xs font-semibold tracking-tight",children:"Wiki Viewer"})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 shrink-0",title:"Collapse sidebar",onClick:()=>U(!0),children:(0,Z.jsx)(at,{className:"h-3.5 w-3.5"})})]}),(0,Z.jsxs)("div",{className:"flex items-center justify-between gap-1 px-3 py-1.5 border-b bg-muted/50 shrink-0",children:[(0,Z.jsxs)(FJ,{children:[(0,Z.jsx)(FL,{asChild:!0,children:(0,Z.jsxs)(bT,{size:"sm",variant:"ghost",className:"h-7 gap-1 px-2 text-xs",disabled:r,children:[r?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(aw,{className:"h-3.5 w-3.5"}),"New",(0,Z.jsx)(ah,{className:"h-3 w-3 opacity-60"})]})}),(0,Z.jsxs)(FY,{align:"start",className:"w-44",children:[(0,Z.jsxs)(FZ,{onClick:()=>{E(""),G(""),I(null)},children:[(0,Z.jsx)(ak,{className:"mr-2 h-3.5 w-3.5"}),"New file"]}),(0,Z.jsxs)(FZ,{onClick:()=>{y(""),A(""),C(null)},children:[(0,Z.jsx)(ao,{className:"mr-2 h-3.5 w-3.5"}),"New folder"]}),(0,Z.jsxs)(FZ,{onClick:()=>aY(""),disabled:r,children:[(0,Z.jsx)(aB,{className:"mr-2 h-3.5 w-3.5"}),"Upload"]})]})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Refresh tree",onClick:aR,disabled:p,children:p?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(F1,{}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"AI Agent panel",onClick:()=>u1.getState().toggle(),children:(0,Z.jsx)(af,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Settings",onClick:()=>W(!0),children:(0,Z.jsx)(ay,{className:"h-3.5 w-3.5"})})]})]}),t&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 text-xs text-destructive bg-destructive/10 shrink-0",children:[(0,Z.jsx)(ae,{className:"h-3.5 w-3.5 shrink-0"}),t]}),""===x&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1 border-b shrink-0",children:[(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("input",{className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"Folder name",value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&aZ(),"Escape"===a.key&&(y(null),A(""))}}),B&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:B}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:aZ,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{y(null),A("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),""===D&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1 border-b shrink-0",children:[(0,Z.jsx)(al,{className:"h-4 w-4 shrink-0 text-accent"}),(0,Z.jsx)("input",{autoFocus:!0,className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"filename (default .md)",value:F,onChange:a=>G(a.target.value),onKeyDown:a=>{"Enter"===a.key&&a$(),"Escape"===a.key&&(E(null),G(""))}}),H&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:H}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:a$,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{E(null),G("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),(0,Z.jsx)("div",{className:bR("flex-1 overflow-auto py-1",""===aJ&&"ring-2 ring-inset ring-primary bg-primary/5"),onDragOver:a=>a0(a,"","root"),onDragLeave:a=>{a.currentTarget.contains(a.relatedTarget)||aK(null)},onDrop:a=>a1(a,""),children:m?(0,Z.jsx)("div",{className:"flex justify-center py-6",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===i.length?(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-3 px-4 py-8 text-center",children:[(0,Z.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,Z.jsx)(al,{className:"h-6 w-6 text-muted-foreground"})}),(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)("p",{className:"text-sm font-medium",children:"No files yet"}),(0,Z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload files or add them to the configured directory"})]}),(0,Z.jsxs)(bT,{size:"sm",variant:"outline",className:"w-full gap-1.5 max-w-[180px]",onClick:()=>aY(""),disabled:r,children:[r?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(aB,{className:"h-3.5 w-3.5"}),"Upload Files"]})]}):function a(b,c=0){return b.map(b=>(0,Z.jsxs)("div",{children:[(0,Z.jsxs)("div",{role:"treeitem",tabIndex:0,draggable:!0,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),"dir"===b.type?aT(b):"app"===b.type?(aU(b),aT(b)):aU(b))},onDragStart:a=>{aI.current=b,a.dataTransfer.effectAllowed="move",a.dataTransfer.setData("text/plain",b.path)},onDragOver:a=>"dir"===b.type?a0(a,b.path,"dir"):a.preventDefault(),onDragLeave:()=>aK(null),onDrop:a=>"dir"===b.type?a1(a,b.path):a.preventDefault(),className:bR("flex items-center gap-1.5 rounded-sm px-2 py-1 text-sm cursor-pointer group transition-colors select-none",N?.path===b.path?"bg-accent text-accent-foreground":"hover:bg-accent/50",aJ===b.path&&"ring-2 ring-primary bg-primary-soft",b.name.startsWith(".")&&"opacity-40"),style:{paddingLeft:`${14*c+8}px`},onClick:()=>{"dir"===b.type?aT(b):"app"===b.type?(aU(b),aT(b)):aU(b)},children:["dir"===b.type||"app"===b.type?b.loading?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}):b.expanded?(0,Z.jsx)(ah,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,Z.jsx)(ai,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,Z.jsx)("span",{className:"w-3.5 shrink-0"}),"dir"===b.type?b.expanded?(0,Z.jsx)(an,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-warning")}):(0,Z.jsx)(am,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-warning")}):"app"===b.type?(0,Z.jsx)(ap,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-accent")}):"node-app"===b.type?(0,Z.jsx)(az,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-emerald-500")}):"html"===Gv(b.name,"file")?(0,Z.jsx)(ap,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-accent/70")}):Gz(b.name)?(0,Z.jsx)(aq,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-sunshine-700")}):Gx(b.name)?(0,Z.jsx)(al,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-accent")}):(0,Z.jsx)(aj,{className:bR("h-4 w-4 shrink-0",N?.path!==b.path&&"text-muted-foreground")}),(0,Z.jsx)("span",{className:"flex-1 truncate",children:b.name}),(0,Z.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:["dir"===b.type&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-muted-foreground hover:text-foreground",title:"New file here (default .md)",onClick:async()=>{b.expanded||await aT(b),E(b.path),G(""),I(null)},children:(0,Z.jsx)(ak,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-muted-foreground hover:text-foreground",title:"Upload here",onClick:()=>aY(b.path),children:(0,Z.jsx)(aB,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-muted-foreground hover:text-foreground",title:"New subfolder",onClick:()=>{y(b.path),A(""),C(null)},children:(0,Z.jsx)(ao,{className:"h-3 w-3"})})]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0 text-destructive hover:text-destructive",title:"Delete",onClick:()=>{K(b.path),M("file"!==b.type)},children:(0,Z.jsx)(aA,{className:"h-3 w-3"})})]})]}),x===b.path&&"dir"===b.type&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1",style:{paddingLeft:`${(c+1)*14+8}px`},children:[(0,Z.jsx)("span",{className:"w-3.5 shrink-0"}),(0,Z.jsx)(am,{className:"h-4 w-4 shrink-0 text-warning"}),(0,Z.jsx)("input",{className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"Folder name",value:z,onChange:a=>A(a.target.value),onKeyDown:a=>{"Enter"===a.key&&aZ(),"Escape"===a.key&&(y(null),A(""))}}),B&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:B}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:aZ,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{y(null),A("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),D===b.path&&"dir"===b.type&&(0,Z.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1",style:{paddingLeft:`${(c+1)*14+8}px`},children:[(0,Z.jsx)("span",{className:"w-3.5 shrink-0"}),(0,Z.jsx)(al,{className:"h-4 w-4 shrink-0 text-accent"}),(0,Z.jsx)("input",{autoFocus:!0,className:"flex-1 bg-transparent text-sm outline-none border-b border-border min-w-0",placeholder:"filename (default .md)",value:F,onChange:a=>G(a.target.value),onKeyDown:a=>{"Enter"===a.key&&a$(),"Escape"===a.key&&(E(null),G(""))}}),H&&(0,Z.jsx)("span",{className:"text-xs text-destructive",children:H}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:a$,children:(0,Z.jsx)(ag,{className:"h-3 w-3"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0",onClick:()=>{E(null),G("")},children:(0,Z.jsx)(aC,{className:"h-3 w-3"})})]}),("dir"===b.type||"app"===b.type)&&b.expanded&&b.children&&b.children.length>0&&a(b.children,c+1),("dir"===b.type||"app"===b.type)&&b.expanded&&b.children?.length===0&&(0,Z.jsx)("div",{className:"text-xs text-muted-foreground/50 py-0.5",style:{paddingLeft:`${(c+1)*14+8+14+6+16+6}px`},children:"Empty"})]},b.path))}(i)}),(0,Z.jsxs)("div",{className:"border-t px-3 py-2 flex items-center gap-2 bg-muted shrink-0",children:[(0,Z.jsx)("span",{className:"flex-1 text-xs text-muted-foreground font-mono truncate",title:d??"",children:d??""}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-6 shrink-0 text-xs px-2 text-muted-foreground hover:text-foreground",onClick:aV,children:"Change"})]})]}),(0,Z.jsxs)("div",{className:"flex-1 flex flex-col min-w-0 relative",children:[T&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"absolute left-0 top-1/2 -translate-y-1/2 z-10 h-7 w-7 p-0 rounded-full bg-background/50 backdrop-blur-xl backdrop-saturate-150 border border-white/[0.08] text-foreground/60 hover:text-foreground/90 hover:bg-background/70 shadow-[0_0_12px_rgba(0,0,0,0.15)] [transform:translate(-50%,-50%)_translateZ(0)]",title:"Show sidebar",onClick:()=>U(!1),children:(0,Z.jsx)(au,{className:"h-3.5 w-3.5"})}),N?"node-app"===a2?(0,Z.jsx)(Ef,{path:N.path,title:N.name}):"app"===a2||"html"===a2?(a="html"===a2?`/api/assets/${N.path}`:void 0,P?(0,Z.jsx)(Eb,{path:N.path,title:N.name,src:a,fullscreen:!0,onExit:()=>Q(!1)}):(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-w-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted shrink-0",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,Z.jsx)(ap,{className:"h-4 w-4 shrink-0 text-accent"}),(0,Z.jsx)("span",{className:"text-sm font-normal truncate",title:N.path,children:N.path})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["html"===a2&&!ab&&null!==X&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Edit source",onClick:()=>{ac(!0),aD(X),aH(null)},children:(0,Z.jsx)(av,{className:"h-3.5 w-3.5"})}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Refresh",onClick:()=>S(a=>a+1),children:(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"})}),(0,Z.jsxs)(bT,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 text-xs",onClick:()=>Q(!0),children:[(0,Z.jsx)(as,{className:"h-3.5 w-3.5"}),"Open fullscreen"]}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{O(null),ac(!1)},children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]})]}),ab&&"html"===a2?(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-h-0",children:[(0,Z.jsx)("textarea",{value:ad,onChange:a=>aD(a.target.value),spellCheck:!1,className:"flex-1 w-full min-h-0 resize-none bg-background text-foreground px-4 py-3 font-mono text-[13px] leading-relaxed outline-none border-0"}),(0,Z.jsxs)("div",{className:"border-t px-4 py-2 flex items-center justify-end gap-2 bg-muted shrink-0",children:[aG&&(0,Z.jsx)("span",{className:"text-xs text-destructive mr-auto",children:aG}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",onClick:()=>{ac(!1),aH(null)},children:"Cancel"}),(0,Z.jsxs)(bT,{size:"sm",className:"gap-1",onClick:aW,disabled:aE,children:[aE&&(0,Z.jsx)(ar,{className:"h-3 w-3 animate-spin"}),"Save"]})]})]}):(0,Z.jsx)(Eb,{path:N.path,title:N.name,src:a},R)]})):(0,Z.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-w-0",children:[(0,Z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted shrink-0",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[Gz(N.name)?(0,Z.jsx)(aq,{className:"h-4 w-4 shrink-0 text-sunshine-700"}):Gx(N.name)?(0,Z.jsx)(al,{className:"h-4 w-4 shrink-0 text-accent"}):(0,Z.jsx)(aj,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,Z.jsx)("span",{className:"text-sm font-normal truncate",title:N.path,children:N.path})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[Gx(N.name)&&!ab&&null!==X&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{ac(!0),aD(X),aH(null),Gy(N.name)&&va.getState().loadPage(N.path)},children:(0,Z.jsx)(av,{className:"h-3.5 w-3.5"})}),Gx(N.name)&&!ab&&null!==X&&(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",title:"Refresh",onClick:aS,disabled:_,children:_?(0,Z.jsx)(ar,{className:"h-3.5 w-3.5 animate-spin"}):(0,Z.jsx)(ax,{className:"h-3.5 w-3.5"})}),a4&&(0,Z.jsx)(Gt,{}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>{O(null),Y(null),ac(!1)},children:(0,Z.jsx)(aC,{className:"h-3.5 w-3.5"})})]})]}),ab?(0,Z.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden min-h-0",children:Gy(N.name)?(0,Z.jsx)(C5,{}):(0,Z.jsx)("textarea",{value:ad,onChange:a=>aD(a.target.value),spellCheck:!1,className:"flex-1 w-full min-h-0 resize-none bg-background text-foreground px-4 py-3 font-mono text-[13px] leading-relaxed outline-none border-0"})}):(0,Z.jsx)("div",{className:"flex-1 overflow-auto p-4 min-h-0",children:(0,Z.jsx)("div",{className:bR("mx-auto w-full",a5),children:_?(0,Z.jsx)("div",{className:"flex justify-center py-8",children:(0,Z.jsx)(ar,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):"csv"===a2?(0,Z.jsx)(dM,{path:N.path,title:N.name}):"pdf"===a2?(0,Z.jsx)(D6,{path:N.path,title:N.name}):"mermaid"===a2?(0,Z.jsx)(De,{path:N.path,title:N.name}):"notebook"===a2?(0,Z.jsx)(D1,{path:N.path,title:N.name}):"image"===a2?(0,Z.jsx)(C7,{path:N.path,title:N.name}):"media"===a2?(0,Z.jsx)(C8,{path:N.path,title:N.name,type:["mp4","webm","mov","m4v"].includes(Gu(N.name))?"video":"audio"}):"docx"===a2?(0,Z.jsx)(D3,{path:N.path,title:N.name}):"xlsx"===a2?(0,Z.jsx)(D5,{path:N.path,title:N.name}):"pptx"===a2?(0,Z.jsx)(D4,{path:N.path,title:N.name}):"source"===a2?(0,Z.jsx)(Ea,{path:N.path,title:N.name}):"fallback"===a2?(0,Z.jsx)(C6,{path:N.path,title:N.name}):null!==X?["md","markdown"].includes(Gu(N.name))?(()=>{let{data:a,body:b}=function(a){let b=Ge.exec(a);if(!b)return{data:{},body:a};let c=b[1],d=a.slice(b[0].length),e=c.split(/\r?\n/).find(a=>""!==a.trim())??"";if(/^\s*(#{1,6}\s|<|>|-\s|\*\s|\d+\.\s)/.test(e))return{data:{},body:a};let f={},g=c.split(/\r?\n/),h=0;for(;h<g.length;){let a=g[h];if(!a||/^\s*#/.test(a)){h+=1;continue}let b=/^([A-Za-z_][\w-]*)\s*:\s*(.*)$/.exec(a);if(!b){h+=1;continue}let c=b[1],d=b[2];if(""===d.trim()){let a=[],b=h+1;for(;b<g.length&&/^\s+-\s+/.test(g[b]);){let c=/^\s+-\s+(.*)$/.exec(g[b]);c&&a.push(Gf(c[1])),b+=1}if(a.length>0){f[c]=a,h=b;continue}f[c]="",h+=1;continue}f[c]=Gf(d),h+=1}return 0===Object.keys(f).length?{data:{},body:a}:{data:f,body:d}}(X);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Gc,{data:a}),(0,Z.jsx)(Gd,{markdown:b,pagePath:N.path,onNavigate:(a,b)=>{aU({path:a,name:a.split("/").pop()??a,type:"file"}),b&&setTimeout(()=>{document.getElementById(b)?.scrollIntoView({behavior:"smooth"})},200)}})]})})():(0,Z.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words leading-relaxed",children:X}):Gx(N.name)?(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:"Could not load file."}):(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:"Preview not available for this file type."})})}),ab&&(0,Z.jsxs)("div",{className:"border-t px-4 py-2 flex items-center justify-end gap-2 bg-muted shrink-0",children:[aG&&(0,Z.jsx)("span",{className:"text-xs text-destructive mr-auto",children:aG}),(0,Z.jsx)(bT,{size:"sm",variant:"ghost",onClick:()=>{ac(!1),aH(null)},children:"Cancel"}),(0,Z.jsxs)(bT,{size:"sm",className:"gap-1",onClick:aW,disabled:aE,children:[aE&&(0,Z.jsx)(ar,{className:"h-3 w-3 animate-spin"}),"Save"]})]})]}):(0,Z.jsx)("div",{className:"flex-1 flex flex-col items-center justify-center",children:(0,Z.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center px-4",children:[(0,Z.jsx)(al,{className:"h-8 w-8 text-muted-foreground"}),(0,Z.jsx)("p",{className:"text-sm text-muted-foreground",children:"Select a file to view or edit"})]})})]}),(0,Z.jsx)(F7,{open:V,onOpenChange:W}),(0,Z.jsx)(Gs,{currentPath:N?.path}),(0,Z.jsx)("input",{ref:v,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&aX(a.target.files,w.current)}}),(0,Z.jsx)(dF,{open:!!J,onOpenChange:a=>{a||K(null)},title:L?"Delete folder?":"Delete file?",description:L?`"${J?.split("/").pop()}" and all its contents will be permanently deleted.`:`"${J?.split("/").pop()}" will be permanently removed.`,onConfirm:a_})]})]})}],240777)}];
|
|
130
130
|
|
|
131
131
|
//# sourceMappingURL=_0pqaawz._.js.map
|