kontexta 4.5.0 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +2 -2
  2. package/bundle/standalone/CHANGELOG.md +12 -0
  3. package/bundle/standalone/apps/web/.next/BUILD_ID +1 -1
  4. package/bundle/standalone/apps/web/.next/app-build-manifest.json +31 -31
  5. package/bundle/standalone/apps/web/.next/app-path-routes-manifest.json +8 -8
  6. package/bundle/standalone/apps/web/.next/build-manifest.json +2 -2
  7. package/bundle/standalone/apps/web/.next/prerender-manifest.json +25 -25
  8. package/bundle/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/bundle/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  10. package/bundle/standalone/apps/web/.next/server/app/_not-found.rsc +2 -2
  11. package/bundle/standalone/apps/web/.next/server/app/api/about/route_client-reference-manifest.js +1 -1
  12. package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  13. package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  14. package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route_client-reference-manifest.js +1 -1
  15. package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  16. package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route_client-reference-manifest.js +1 -1
  17. package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route_client-reference-manifest.js +1 -1
  18. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route_client-reference-manifest.js +1 -1
  19. package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route_client-reference-manifest.js +1 -1
  20. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route_client-reference-manifest.js +1 -1
  21. package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route_client-reference-manifest.js +1 -1
  22. package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route_client-reference-manifest.js +1 -1
  23. package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route_client-reference-manifest.js +1 -1
  24. package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route_client-reference-manifest.js +1 -1
  25. package/bundle/standalone/apps/web/.next/server/app/api/clip/route_client-reference-manifest.js +1 -1
  26. package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route.js +1 -1
  27. package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route_client-reference-manifest.js +1 -1
  28. package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route_client-reference-manifest.js +1 -1
  29. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route_client-reference-manifest.js +1 -1
  30. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-html/route_client-reference-manifest.js +1 -1
  31. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route_client-reference-manifest.js +1 -1
  32. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route_client-reference-manifest.js +1 -1
  33. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route_client-reference-manifest.js +1 -1
  34. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route_client-reference-manifest.js +1 -1
  35. package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route_client-reference-manifest.js +1 -1
  36. package/bundle/standalone/apps/web/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  37. package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route_client-reference-manifest.js +1 -1
  38. package/bundle/standalone/apps/web/.next/server/app/api/folders/route.js +1 -1
  39. package/bundle/standalone/apps/web/.next/server/app/api/folders/route_client-reference-manifest.js +1 -1
  40. package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route_client-reference-manifest.js +1 -1
  41. package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route_client-reference-manifest.js +1 -1
  42. package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route_client-reference-manifest.js +1 -1
  43. package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route_client-reference-manifest.js +1 -1
  44. package/bundle/standalone/apps/web/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  45. package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route.js +12 -6
  46. package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route_client-reference-manifest.js +1 -1
  47. package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route.js +1 -1
  48. package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route_client-reference-manifest.js +1 -1
  49. package/bundle/standalone/apps/web/.next/server/app/api/profile/route_client-reference-manifest.js +1 -1
  50. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route_client-reference-manifest.js +1 -1
  51. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route_client-reference-manifest.js +1 -1
  52. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route_client-reference-manifest.js +1 -1
  53. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route_client-reference-manifest.js +1 -1
  54. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route_client-reference-manifest.js +1 -1
  55. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  56. package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route_client-reference-manifest.js +1 -1
  57. package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route_client-reference-manifest.js +1 -1
  58. package/bundle/standalone/apps/web/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  59. package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route_client-reference-manifest.js +1 -1
  60. package/bundle/standalone/apps/web/.next/server/app/api/publish/route_client-reference-manifest.js +1 -1
  61. package/bundle/standalone/apps/web/.next/server/app/api/refresh/route_client-reference-manifest.js +1 -1
  62. package/bundle/standalone/apps/web/.next/server/app/api/reindex/route_client-reference-manifest.js +1 -1
  63. package/bundle/standalone/apps/web/.next/server/app/api/reports/resources/[name]/route_client-reference-manifest.js +1 -1
  64. package/bundle/standalone/apps/web/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  65. package/bundle/standalone/apps/web/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  66. package/bundle/standalone/apps/web/.next/server/app/api/version-check/route_client-reference-manifest.js +1 -1
  67. package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route_client-reference-manifest.js +1 -1
  68. package/bundle/standalone/apps/web/.next/server/app/calendar/page_client-reference-manifest.js +1 -1
  69. package/bundle/standalone/apps/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  70. package/bundle/standalone/apps/web/.next/server/app/page.js +4 -4
  71. package/bundle/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  72. package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page_client-reference-manifest.js +1 -1
  73. package/bundle/standalone/apps/web/.next/server/app/preview/motifs.html +2 -2
  74. package/bundle/standalone/apps/web/.next/server/app/preview/motifs.rsc +2 -2
  75. package/bundle/standalone/apps/web/.next/server/app-paths-manifest.json +8 -8
  76. package/bundle/standalone/apps/web/.next/server/pages/404.html +1 -1
  77. package/bundle/standalone/apps/web/.next/server/pages/500.html +1 -1
  78. package/bundle/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  79. package/bundle/standalone/apps/web/.next/static/chunks/app/page-c733552ab47df1c0.js +1 -0
  80. package/bundle/standalone/apps/web/.next/static/css/3088e309ea0d151a.css +3 -0
  81. package/bundle/standalone/apps/web/package.json +6 -6
  82. package/bundle/standalone/apps/web/src/lib/mcp-tools.json +1 -1
  83. package/bundle/standalone/node_modules/kontexta-mcp/package.json +1 -1
  84. package/bundle/standalone/node_modules/kxta-core/package.json +1 -1
  85. package/bundle/standalone/node_modules/kxta-publish/package.json +2 -2
  86. package/bundle/standalone/package.json +1 -1
  87. package/dist/index.js +2 -2
  88. package/dist/{start-RHPTVWGI.js → start-66WKQRN5.js} +2 -2
  89. package/package.json +1 -1
  90. package/bundle/standalone/apps/web/.next/static/chunks/app/page-90c2455412723f7e.js +0 -1
  91. package/bundle/standalone/apps/web/.next/static/css/c00514317f297826.css +0 -3
  92. /package/bundle/standalone/apps/web/.next/static/{eNCLXiI0gq10nAas6vZ5Q → 3-XgdPUkib9c8DXcXAxa1}/_buildManifest.js +0 -0
  93. /package/bundle/standalone/apps/web/.next/static/{eNCLXiI0gq10nAas6vZ5Q → 3-XgdPUkib9c8DXcXAxa1}/_ssgManifest.js +0 -0
@@ -1,9 +1,9 @@
1
1
  (()=>{var a={};a.id=8974,a.ids=[8974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1423:(a,b,c)=>{"use strict";c.d(b,{H:()=>f});var d=c(25108);let e={sm:{lightSrc:"/logo.png",darkSrc:"/logo-dark.png",imgClass:"h-[56px] w-auto",floatClass:"",particles:[],orbitRadius:0},lg:{lightSrc:"/logo.png",darkSrc:"/logo-dark.png",imgClass:"h-[150px] w-auto",floatClass:"animate-[logo-float-lg_3s_ease-in-out_infinite]",particles:[{size:6,color:"#C2410C",opacity:.75,duration:5,reverse:!1,delay:0},{size:4,color:"#D4A050",opacity:.55,duration:7,reverse:!0,delay:-3},{size:3,color:"#FFD49A",opacity:.45,duration:9,reverse:!1,delay:-5}],orbitRadius:70}};function f({size:a}){let{lightSrc:b,darkSrc:c,imgClass:f,floatClass:g,particles:h,orbitRadius:i}=e[a];return(0,d.jsxs)("div",{className:"relative inline-flex flex-shrink-0 overflow-visible",children:[(0,d.jsx)("img",{src:b,alt:"Kontexta",className:`block dark:hidden ${f} object-contain ${g}`}),(0,d.jsx)("img",{src:c,alt:"Kontexta",className:`hidden dark:block ${f} object-contain ${g}`}),h.map((a,b)=>(0,d.jsx)("span",{className:"absolute rounded-full bp-keep-round pointer-events-none",style:{width:a.size,height:a.size,backgroundColor:a.color,opacity:a.opacity,top:`calc(50% - ${i}px)`,left:`calc(50% - ${a.size/2}px)`,transformOrigin:`${a.size/2}px ${i}px`,animation:`logo-orbit ${a.duration}s linear infinite${a.reverse?" reverse":""}`,animationDelay:`${a.delay}s`}},b))]})}},2402:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(52810),e=c(18093),f=c(98611),g=c(55572),h=c(17262),i=c(92768),j=c(44031),k=c(8188),l=c(26370),m=c(53256),n=c(34510),o=c(67330),p=c(77357),q=c(74749),r=c(71110),s=c(261),t=c(86725),u=c(33834),v=c(26713),w=c(79596),x=c(70925),y=c(67857),z=c(92710),A=c(17402),B=c(66270),C=c(86439),D=c(28450),E=c.n(D),F=c(4410),G=c(56691),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,62975)),"/home/runner/work/kontexta/kontexta/apps/web/src/app/page.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,65336))).default(a),async a=>(await Promise.resolve().then(c.bind(c,65122))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,90314))).default(a)],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,6296)),"/home/runner/work/kontexta/kontexta/apps/web/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,28450,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,72036,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,6285,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,25680,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,65336))).default(a),async a=>(await Promise.resolve().then(c.bind(c,65122))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,90314))).default(a)],openGraph:[],twitter:[],manifest:void 0}}]}.children,J=["/home/runner/work/kontexta/kontexta/apps/web/src/app/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5270:(a,b,c)=>{"use strict";c.d(b,{default:()=>f4});var d={};c.r(d),c.d(d,{attentionMarkers:()=>bN,contentInitial:()=>bH,disable:()=>bO,document:()=>bG,flow:()=>bJ,flowInitial:()=>bI,insideSpan:()=>bM,string:()=>bK,text:()=>bL});var e={};c.r(e),c.d(e,{boolean:()=>d8,booleanish:()=>d9,commaOrSpaceSeparated:()=>ee,commaSeparated:()=>ed,number:()=>eb,overloadedBoolean:()=>ea,spaceSeparated:()=>ec});var f=c(25108),g=c(33997),h=c(90554),i=c(75947),j=c(16250),k=c(41880);let l=(0,k.A)("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"}]]),m=(0,k.A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),n=(0,k.A)("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"}]]);var o=c(1423);function p({open:a,onClose:b,log:c,globalRemoteUrl:d,onSyncAll:e,onUpdateRemote:h,selectedProjectName:i,onSyncProject:j}){let[k,l]=(0,g.useState)("log"),[m,n]=(0,g.useState)(d||""),[o,p]=(0,g.useState)(!1),[q,r]=(0,g.useState)(null);if(!a)return null;let s=async()=>{p(!0),r(null);try{await e()}catch(a){r(a?.message||"Sync failed")}finally{p(!1)}},t=async()=>{p(!0),r(null);try{await h(m),l("log")}catch(a){r(a?.message||"Failed to save remote")}finally{p(!1)}};return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{className:"fixed inset-0 z-40",onClick:b}),(0,f.jsxs)("div",{role:"dialog",className:"fixed top-14 right-3 z-50 w-80 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-md shadow-xl text-[13px] text-[var(--text-primary)]",children:[(0,f.jsxs)("div",{className:"flex border-b border-[var(--border)]",children:[(0,f.jsx)("button",{className:`flex-1 px-3 py-2 ${"log"===k?"text-[var(--accent)] border-b-2 border-[var(--accent)] -mb-px":"text-[var(--text-secondary)]"}`,onClick:()=>l("log"),children:"Sync log"}),(0,f.jsx)("button",{className:`flex-1 px-3 py-2 ${"config"===k?"text-[var(--accent)] border-b-2 border-[var(--accent)] -mb-px":"text-[var(--text-secondary)]"}`,onClick:()=>l("config"),children:"Configure remote"})]}),"log"===k?(0,f.jsxs)("div",{className:"p-3 space-y-2 max-h-72 overflow-auto",children:[0===c.length?(0,f.jsx)("p",{className:"text-[var(--text-secondary)] text-[12px]",children:"No sync activity yet."}):c.slice(0,5).map((a,b)=>(0,f.jsxs)("div",{className:"flex items-baseline gap-2 font-mono text-[12px]",children:[(0,f.jsx)("span",{style:{color:"ok"===a.result?"var(--success)":"var(--danger)"},children:"●"}),(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:new Date(a.at).toLocaleTimeString()}),(0,f.jsxs)("span",{className:"text-[var(--text-primary)] truncate",children:[null===a.projectId?"all projects":`project #${a.projectId}`,a.message?` — ${a.message}`:""]})]},b)),i&&j&&(0,f.jsx)("button",{disabled:o,onClick:async()=>{p(!0),r(null);try{await j()}catch(a){r(a?.message||"Sync failed")}finally{p(!1)}},className:"w-full mt-2 px-3 py-1.5 bg-[var(--accent)] text-black font-bold text-[12px] rounded-md disabled:opacity-50 truncate",children:o?"Syncing...":`Sync ${i}`}),(0,f.jsx)("button",{disabled:o,onClick:s,className:"w-full mt-2 px-3 py-1.5 bg-[var(--bg-tertiary)] text-[var(--text-primary)] font-bold text-[12px] rounded-md hover:bg-[var(--border)] disabled:opacity-50",children:o?"Syncing...":"Sync all projects"}),q&&(0,f.jsx)("p",{className:"text-[var(--danger)] text-[12px]",children:q})]}):(0,f.jsxs)("div",{className:"p-3 space-y-2",children:[(0,f.jsx)("label",{className:"block text-[12px] text-[var(--text-secondary)]",children:"Global git remote URL"}),(0,f.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),placeholder:"https://github.com/user/repo.git or git@host:user/repo.git",className:"w-full px-2 py-1 bg-[var(--bg-primary)] border border-[var(--border)] rounded text-[12px]"}),(0,f.jsx)("button",{disabled:o,onClick:t,className:"w-full px-3 py-1.5 bg-[var(--accent)] text-black font-bold text-[12px] rounded-md disabled:opacity-50",children:o?"Saving...":"Save"}),q&&(0,f.jsx)("p",{className:"text-[var(--danger)] text-[12px]",children:q})]})]})]})}var q=c(17184);function r({trigger:a,items:b,align:c="end"}){return(0,f.jsxs)(q.bL,{children:[(0,f.jsx)(q.l9,{asChild:!0,children:a}),(0,f.jsx)(q.ZL,{children:(0,f.jsx)(q.UC,{align:c,sideOffset:6,className:"z-[var(--z-dropdown)]",children:(0,f.jsx)("div",{className:"min-w-[180px] rounded-md border border-[var(--border)] bg-[var(--bg-primary)] py-1.5 shadow-xl animate-scale-in",children:b.map(a=>(0,f.jsxs)(q.q7,{onSelect:a.onSelect,className:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left text-xs font-medium outline-none transition-colors data-[highlighted]:bg-[var(--accent)] data-[highlighted]:text-white ${a.destructive?"text-[var(--danger)]":"text-[var(--text-secondary)]"}`,children:[a.icon,a.label]},a.label))})})})]})}function s({onSearch:a,onAbout:b,onConfigure:c,onPublish:d,onViewPublished:e,globalRemoteUrl:k,syncLog:q,onSyncAll:s,onUpdateRemote:t,selectedProjectName:u,onSyncProject:v}){let w=(0,h.useRouter)(),{theme:x,setTheme:y}=(0,j.D)(),[z,A]=(0,g.useState)(!1),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(!1),[F,G]=(0,g.useState)(!1),H=async()=>{if(!F){G(!0);try{let a=await fetch("/api/reindex",{method:"POST"}),b=await a.json().catch(()=>({}));if(a.ok&&b?.success){let a=b.totals??{newly_indexed:0,refreshed:0,pruned:0,errors:0};i.o.success(`Reindexed ${b.scopes?.length??0} scope(s) in ${b.duration_ms??"?"}ms — +${a.newly_indexed} new, ${a.refreshed} updated, ${a.pruned} removed`+(a.errors?`, ${a.errors} scope error(s)`:""))}else 409===a.status?i.o.error("Reindex already in progress"):i.o.error(`Reindex failed: ${b?.error??`HTTP ${a.status}`}`)}catch(a){i.o.error(`Reindex failed: ${a?.message??"Network error"}`)}finally{G(!1)}}};return(0,f.jsxs)("header",{className:"sticky top-0 z-50 h-16 bg-[var(--bg-secondary)]/80 backdrop-blur-xl flex items-center px-6 border-b border-[var(--border)] gap-3 overflow-visible transition-all",children:[(0,f.jsxs)("div",{className:"flex items-center gap-0 group cursor-pointer",onClick:()=>w.push("/"),children:[(0,f.jsx)(o.H,{size:"sm"}),(0,f.jsx)("span",{className:"-ml-3 font-extrabold text-xl tracking-[4px] font-title text-[var(--text-primary)] drop-shadow-[0_0_15px_rgba(180,120,30,0.1)] dark:drop-shadow-[0_0_15px_rgba(180,120,30,0.3)] transition-all group-hover:drop-shadow-[0_0_20px_rgba(180,120,30,0.5)]",children:"ONTEXTA"})]}),(0,f.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,f.jsxs)("button",{onClick:a,className:"w-full max-w-[440px] h-10 px-4 bg-[var(--bg-tertiary)]/50 text-[13px] text-[var(--text-secondary)] rounded-xl hover:bg-[var(--bg-secondary)] transition-all flex items-center gap-3 border border-[var(--border)] group focus-glow",children:[(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"w-4 h-4 opacity-50 group-hover:opacity-100 transition-opacity",children:[(0,f.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,f.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,f.jsx)("span",{className:"flex-1 text-left opacity-60 group-hover:opacity-100",children:"Search context..."}),(0,f.jsxs)("kbd",{className:"text-[10px] font-mono text-[var(--text-secondary)] bg-[var(--bg-secondary)] px-2 py-1 rounded-md border border-[var(--border)] shadow-sm opacity-50",children:[B?"⌘":"Ctrl","K"]})]})}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)("button",{onClick:()=>w.push("/calendar"),className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Open Calendar",title:"Open Calendar",children:"Calendar"}),(0,f.jsx)("button",{onClick:()=>E(a=>!a),className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Sync menu",title:"Open sync menu",children:"Sync ▾"}),(0,f.jsx)("button",{onClick:H,disabled:F,className:`btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn ${F?"opacity-50":""}`,"aria-label":"Reindex — scan disk to add new files and remove orphan rows",title:"Reindex Knowledge Base + all projects: add new files and drop orphan rows",children:F?"Reindexing…":"Reindex"}),(0,f.jsx)("button",{onClick:c,className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Configure Kontexta",children:"Configure"}),(0,f.jsx)("button",{onClick:b,className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"About Kontexta",children:"About"}),(0,f.jsx)(r,{trigger:(0,f.jsx)("button",{className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Publish menu",title:"Publish documentation",children:"Publish ▾"}),items:[{label:"New Publish",onSelect:d,icon:(0,f.jsxs)("svg",{className:"w-4 h-4 text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M12 8v8M8 12h8"})]})},{label:"View Published",onSelect:e,icon:(0,f.jsxs)("svg",{className:"w-4 h-4 text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,f.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}]}),(0,f.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}),w.push("/login")},className:"p-2 rounded-md text-[var(--text-secondary)] hover:text-[var(--danger)] hover:bg-[var(--bg-tertiary)] transition-colors","aria-label":"Lock Kontexta",title:"Lock Kontexta",children:(0,f.jsxs)("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[(0,f.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),(0,f.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]})}),(0,f.jsxs)("span",{className:"bp-title-block bp-annotation",children:["REV ","4.5.0"]}),z&&(0,f.jsxs)("button",{onClick:()=>y("light"===x?"dark":"dark"===x?"blueprint":"light"),className:"px-2 h-5 rounded-md border border-[var(--border)] font-mono text-[10px] uppercase tracking-wider text-[var(--text-secondary)] hover:text-[var(--accent)] hover:border-[var(--accent)] transition-colors inline-flex items-center gap-1","aria-label":"Cycle theme (light / dark / blueprint)",title:`Theme: ${x} — click to cycle`,children:["light"===x?(0,f.jsx)(l,{className:"w-3 h-3","aria-hidden":!0}):"dark"===x?(0,f.jsx)(m,{className:"w-3 h-3","aria-hidden":!0}):(0,f.jsx)(n,{className:"w-3 h-3","aria-hidden":!0}),"light"===x?"light":"dark"===x?"dark":"blueprint"]})]}),(0,f.jsx)(p,{open:D,onClose:()=>E(!1),log:q,globalRemoteUrl:k,onSyncAll:s,onUpdateRemote:t,selectedProjectName:u??null,onSyncProject:v})]})}function t(a){let[b,c]=(0,g.useState)(()=>!1);return b}function u({left:a,leftRail:b,middle:c,right:d}){let[e,h]=(0,g.useState)(240),[i,j]=(0,g.useState)(320),[k,l]=(0,g.useState)(!1),m=t("(max-width: 1023px)"),n=(0,g.useRef)(null),o=(0,g.useRef)(0),p=(0,g.useRef)(0),q=a=>b=>{n.current=a,o.current=b.clientX,p.current="left"===a?e:i,b.target.setPointerCapture(b.pointerId)};return(0,f.jsxs)("div",{className:"flex flex-1 min-h-0",onPointerMove:a=>{if(!n.current)return;let b=a.clientX-o.current;"left"===n.current?h(v(p.current+b,180,360)):j(v(p.current+b,260,600))},onPointerUp:()=>{n.current=null},children:[m&&b?b:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{style:{width:e},className:"shrink-0 h-full overflow-y-auto bg-[var(--bg-primary)] border-r border-[var(--border)] scrollbar-thin",onScroll:a=>a.stopPropagation(),children:a}),(0,f.jsx)("div",{onPointerDown:q("left"),className:"w-1 cursor-col-resize bg-transparent hover:bg-[var(--accent)]/40 transition-colors z-10"})]}),(0,f.jsx)("div",{style:{width:i},className:"shrink-0 h-full overflow-y-auto bg-[var(--bg-primary)] border-r border-[var(--border)]",children:c}),(0,f.jsx)("div",{onPointerDown:q("middle"),className:"w-1 cursor-col-resize bg-transparent hover:bg-[var(--accent)]/40 transition-colors z-10"}),(0,f.jsx)("div",{className:"flex-1 min-w-0 bg-[var(--bg-secondary)] dark:bg-[var(--bg-primary)] p-3 lg:p-4 transition-all overflow-y-auto flex flex-col",children:(0,f.jsxs)("div",{className:"flex-1 min-w-0 overflow-auto floating-surface rounded-2xl shadow-2xl relative",children:[(0,f.jsx)("div",{className:"absolute inset-0 pointer-events-none border border-amber-accent/10 rounded-2xl z-20"}),d]})})]})}function v(a,b,c){return Math.max(b,Math.min(c,a))}let w=(0,k.A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),x=(0,k.A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);var y=c(40905);function z({label:a,icon:b,active:c=!1,initialExpanded:d=!1,children:e,onClick:h,hasHands:i=!1}){let[j,k]=(0,g.useState)(d),l=!!e;return(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{onClick:()=>{l&&k(!j),h?.()},className:`relative flex items-center gap-1.5 py-1.5 px-2 rounded-lg text-sm cursor-pointer transition-all duration-200 group ${c?"bg-[var(--accent-soft)] text-[var(--text-primary)] font-semibold":"text-[var(--text-secondary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)]"}`,children:[c&&(0,f.jsx)("span",{className:"absolute -left-1 top-1 bottom-1 w-0.5 bg-[var(--accent)] rounded-full bp-keep-round"}),l&&(0,f.jsx)(y.A,{className:`w-3 h-3 shrink-0 transition-transform duration-200 ${j?"rotate-90":""}`,"aria-hidden":!0}),b&&(0,f.jsx)("span",{className:"dark-icon",children:b}),(0,f.jsx)("span",{className:"truncate lowercase first-letter:uppercase flex-1",children:a}),i&&(0,f.jsx)("span",{className:"ml-1 flex items-center justify-center text-[10px] text-[var(--accent)] opacity-70",title:"Hands enabled",children:(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"w-3 h-3",children:[(0,f.jsx)("path",{d:"M18 11V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0"}),(0,f.jsx)("path",{d:"M14 10V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0"}),(0,f.jsx)("path",{d:"M10 10.5V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0"}),(0,f.jsx)("path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"})]})})]}),(0,f.jsx)("div",{className:`grid transition-all duration-300 ease-in-out ${l&&j?"grid-rows-[1fr] opacity-100 mt-1":"grid-rows-[0fr] opacity-0"}`,children:(0,f.jsx)("div",{className:"overflow-hidden ml-3",children:e})})]})}function A(a,b,c=[],d=!0){let e={name:"",path:"",children:[],files:[]},f=b.endsWith("/")?b:b+"/";for(let b of a){if(!b.path.startsWith(f))continue;let a=b.path.slice(f.length).split("/");a.pop();let c=e,d="";for(let b of a){d=d?`${d}/${b}`:b;let a=c.children.find(a=>a.name===b);a||(a={name:b,path:d,children:[],files:[]},c.children.push(a)),c=a}c.files.push({id:b.id,title:b.title,path:b.path})}for(let a of c){let b=a.split("/"),c=e,d="";for(let a of b){d=d?`${d}/${a}`:a;let b=c.children.find(b=>b.name===a);b||(b={name:a,path:d,children:[],files:[]},c.children.push(b)),c=b}}return d&&function a(b){return b.children=b.children.filter(b=>a(b)),b.files.length>0||b.children.length>0||!!b.isExplicit}(e),function a(b){for(let c of(b.children.sort((a,b)=>a.name.localeCompare(b.name)),b.files.sort((a,b)=>a.title.localeCompare(b.title)),b.children))a(c)}(e),e}function B({icon:a,title:b,hint:c,action:d}){return(0,f.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-6 text-center gap-2",children:[a&&(0,f.jsx)("div",{className:"text-[var(--muted)] opacity-60 mb-1",children:a}),(0,f.jsx)("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:b}),c&&(0,f.jsx)("p",{className:"text-xs text-[var(--text-secondary)]",children:c}),d&&(0,f.jsx)("div",{className:"mt-3",children:d})]})}let C=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,f.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),D=({className:a})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:(0,f.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})});function E({node:a,selectedFolder:b,onSelectFolder:c,onSelectFile:d}){return(0,f.jsxs)(f.Fragment,{children:[a.children.map(a=>(0,f.jsx)(z,{label:a.name,icon:(0,f.jsx)(D,{className:"w-3.5 h-3.5 text-[#FF7F50] group-hover:text-[var(--accent)] transition-colors"}),active:b===a.path,onClick:()=>c(a.path),children:(0,f.jsx)(E,{node:a,selectedFolder:b,onSelectFolder:c,onSelectFile:d})},a.path)),a.files.map(a=>(0,f.jsx)(z,{label:a.title,icon:(0,f.jsx)(C,{className:"w-3.5 h-3.5 text-amber-accent group-hover:text-[var(--accent)] transition-colors"}),onClick:()=>d(a.id)},a.id))]})}function F({projects:a,projectFiles:b,knowledgeFiles:c,selectedProjectId:d,selectedSection:e,selectedFolder:h,projectFolders:i,knowledgeFolders:j,projectBasePath:k,knowledgeBasePath:l,onSelectProject:m,onSelectKnowledge:n,onSelectFavorites:o,onSelectKnowledgeFolder:p,onSelectFolder:q,onSelectFile:r,onCreateFolder:s}){let t=(0,g.useMemo)(()=>{if(!d)return null;let c=a.find(a=>a.id===d);return c&&c.path?A(b,c.path,i):null},[d,b,i,a]),u=(0,g.useMemo)(()=>0===j.length&&0===c.length?null:A(c,l,j,!1),[c,j,l]);return(0,f.jsxs)("div",{className:"p-2 space-y-3 text-[var(--text-primary)]",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:"bp-annotation px-2 pt-2 pb-1 text-[12px] uppercase tracking-wider text-[var(--text-secondary)]",children:"Projects"}),(0,f.jsxs)("div",{className:"space-y-0.5",children:[a.map(a=>{let b=d===a.id;return(0,f.jsx)(z,{label:a.name,icon:(0,f.jsx)(D,{className:"w-3.5 h-3.5 text-[#FF7F50] group-hover:text-[var(--accent)] transition-colors"}),active:b&&null===h,initialExpanded:b,hasHands:a.has_hands,onClick:()=>{m(a.id),q(null)},children:b&&t?(0,f.jsx)(E,{node:t,selectedFolder:h,onSelectFolder:q,onSelectFile:r}):void 0},a.id)}),0===a.length&&(0,f.jsx)(B,{icon:(0,f.jsx)(w,{className:"w-8 h-8 opacity-40","aria-hidden":!0}),title:"No projects yet"})]})]}),(0,f.jsx)("div",{children:(0,f.jsx)("div",{className:"flex items-center justify-between px-2 pt-2 pb-1",children:(0,f.jsx)("button",{onClick:o,className:`text-[12px] uppercase tracking-wider transition-colors ${"favorites"===e?"text-[var(--accent)]":"text-[var(--text-secondary)] hover:text-[var(--text-primary)]"}`,"aria-label":"Select favorites",children:"Favorites"})})}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"flex items-center justify-between px-2 pt-2 pb-1",children:[(0,f.jsx)("button",{onClick:n,className:`text-[12px] uppercase tracking-wider transition-colors ${"knowledge"===e&&!h?"text-[var(--accent)]":"text-[var(--text-secondary)] hover:text-[var(--text-primary)]"}`,"aria-label":"Select knowledge base",children:"Knowledge"}),(0,f.jsx)("button",{onClick:()=>s(0),className:"btn btn-sm","aria-label":"Create new folder",children:"+ Folder"})]}),(0,f.jsx)("div",{className:"space-y-0.5",children:u?(0,f.jsx)(E,{node:u,selectedFolder:h,onSelectFolder:p,onSelectFile:r}):(0,f.jsx)(B,{icon:(0,f.jsx)(x,{className:"w-8 h-8 opacity-40","aria-hidden":!0}),title:"No folders yet"})})]})]})}let G=(0,k.A)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),H=(0,k.A)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),I=(0,k.A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var J=c(13505);function K({value:a,onChange:b}){return(0,f.jsx)("input",{type:"text",value:a,onChange:a=>b(a.target.value),placeholder:"Filter files...",className:"w-full px-2.5 py-1 text-[12px] bg-[var(--bg-primary)] border-b border-[var(--border)] focus:outline-none focus:border-[var(--accent)]"})}let L=(0,k.A)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),M=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,f.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),N=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,f.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,f.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]});function O({id:a,title:b,updatedAt:c,active:d,onClick:e,estTokens:g,selectMode:h,selected:j,onToggleSelect:k,favorite:l,tags:m}){return(0,f.jsx)("div",{onClick:a=>{if(h){a.preventDefault(),k?.();return}e()},className:`
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5270:(a,b,c)=>{"use strict";c.d(b,{default:()=>f5});var d={};c.r(d),c.d(d,{attentionMarkers:()=>bO,contentInitial:()=>bI,disable:()=>bP,document:()=>bH,flow:()=>bK,flowInitial:()=>bJ,insideSpan:()=>bN,string:()=>bL,text:()=>bM});var e={};c.r(e),c.d(e,{boolean:()=>d9,booleanish:()=>ea,commaOrSpaceSeparated:()=>ef,commaSeparated:()=>ee,number:()=>ec,overloadedBoolean:()=>eb,spaceSeparated:()=>ed});var f=c(25108),g=c(33997),h=c(90554),i=c(75947),j=c(16250),k=c(41880);let l=(0,k.A)("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"}]]),m=(0,k.A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),n=(0,k.A)("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"}]]);var o=c(1423);function p({open:a,onClose:b,log:c,globalRemoteUrl:d,onSyncAll:e,onUpdateRemote:h,selectedProjectName:i,onSyncProject:j}){let[k,l]=(0,g.useState)("log"),[m,n]=(0,g.useState)(d||""),[o,p]=(0,g.useState)(!1),[q,r]=(0,g.useState)(null);if(!a)return null;let s=async()=>{p(!0),r(null);try{await e()}catch(a){r(a?.message||"Sync failed")}finally{p(!1)}},t=async()=>{p(!0),r(null);try{await h(m),l("log")}catch(a){r(a?.message||"Failed to save remote")}finally{p(!1)}};return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{className:"fixed inset-0 z-40",onClick:b}),(0,f.jsxs)("div",{role:"dialog",className:"fixed top-14 right-3 z-50 w-80 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-md shadow-xl text-[13px] text-[var(--text-primary)]",children:[(0,f.jsxs)("div",{className:"flex border-b border-[var(--border)]",children:[(0,f.jsx)("button",{className:`flex-1 px-3 py-2 ${"log"===k?"text-[var(--accent)] border-b-2 border-[var(--accent)] -mb-px":"text-[var(--text-secondary)]"}`,onClick:()=>l("log"),children:"Sync log"}),(0,f.jsx)("button",{className:`flex-1 px-3 py-2 ${"config"===k?"text-[var(--accent)] border-b-2 border-[var(--accent)] -mb-px":"text-[var(--text-secondary)]"}`,onClick:()=>l("config"),children:"Configure remote"})]}),"log"===k?(0,f.jsxs)("div",{className:"p-3 space-y-2 max-h-72 overflow-auto",children:[0===c.length?(0,f.jsx)("p",{className:"text-[var(--text-secondary)] text-[12px]",children:"No sync activity yet."}):c.slice(0,5).map((a,b)=>(0,f.jsxs)("div",{className:"flex items-baseline gap-2 font-mono text-[12px]",children:[(0,f.jsx)("span",{style:{color:"ok"===a.result?"var(--success)":"var(--danger)"},children:"●"}),(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:new Date(a.at).toLocaleTimeString()}),(0,f.jsxs)("span",{className:"text-[var(--text-primary)] truncate",children:[null===a.projectId?"all projects":`project #${a.projectId}`,a.message?` — ${a.message}`:""]})]},b)),i&&j&&(0,f.jsx)("button",{disabled:o,onClick:async()=>{p(!0),r(null);try{await j()}catch(a){r(a?.message||"Sync failed")}finally{p(!1)}},className:"w-full mt-2 px-3 py-1.5 bg-[var(--accent)] text-black font-bold text-[12px] rounded-md disabled:opacity-50 truncate",children:o?"Syncing...":`Sync ${i}`}),(0,f.jsx)("button",{disabled:o,onClick:s,className:"w-full mt-2 px-3 py-1.5 bg-[var(--bg-tertiary)] text-[var(--text-primary)] font-bold text-[12px] rounded-md hover:bg-[var(--border)] disabled:opacity-50",children:o?"Syncing...":"Sync all projects"}),q&&(0,f.jsx)("p",{className:"text-[var(--danger)] text-[12px]",children:q})]}):(0,f.jsxs)("div",{className:"p-3 space-y-2",children:[(0,f.jsx)("label",{className:"block text-[12px] text-[var(--text-secondary)]",children:"Global git remote URL"}),(0,f.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),placeholder:"https://github.com/user/repo.git or git@host:user/repo.git",className:"w-full px-2 py-1 bg-[var(--bg-primary)] border border-[var(--border)] rounded text-[12px]"}),(0,f.jsx)("button",{disabled:o,onClick:t,className:"w-full px-3 py-1.5 bg-[var(--accent)] text-black font-bold text-[12px] rounded-md disabled:opacity-50",children:o?"Saving...":"Save"}),q&&(0,f.jsx)("p",{className:"text-[var(--danger)] text-[12px]",children:q})]})]})]})}var q=c(17184);function r({trigger:a,items:b,align:c="end"}){return(0,f.jsxs)(q.bL,{children:[(0,f.jsx)(q.l9,{asChild:!0,children:a}),(0,f.jsx)(q.ZL,{children:(0,f.jsx)(q.UC,{align:c,sideOffset:6,className:"z-[var(--z-dropdown)]",children:(0,f.jsx)("div",{className:"min-w-[180px] rounded-md border border-[var(--border)] bg-[var(--bg-primary)] py-1.5 shadow-xl animate-scale-in",children:b.map(a=>(0,f.jsxs)(q.q7,{onSelect:a.onSelect,className:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left text-xs font-medium outline-none transition-colors data-[highlighted]:bg-[var(--accent)] data-[highlighted]:text-white ${a.destructive?"text-[var(--danger)]":"text-[var(--text-secondary)]"}`,children:[a.icon,a.label]},a.label))})})})]})}function s({onSearch:a,onAbout:b,onConfigure:c,onPublish:d,onViewPublished:e,globalRemoteUrl:k,syncLog:q,onSyncAll:s,onUpdateRemote:t,selectedProjectName:u,onSyncProject:v}){let w=(0,h.useRouter)(),{theme:x,setTheme:y}=(0,j.D)(),[z,A]=(0,g.useState)(!1),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(!1),[F,G]=(0,g.useState)(!1),H=async()=>{if(!F){G(!0);try{let a=await fetch("/api/reindex",{method:"POST"}),b=await a.json().catch(()=>({}));if(a.ok&&b?.success){let a=b.totals??{newly_indexed:0,refreshed:0,pruned:0,errors:0};i.o.success(`Reindexed ${b.scopes?.length??0} scope(s) in ${b.duration_ms??"?"}ms — +${a.newly_indexed} new, ${a.refreshed} updated, ${a.pruned} removed`+(a.errors?`, ${a.errors} scope error(s)`:""))}else 409===a.status?i.o.error("Reindex already in progress"):i.o.error(`Reindex failed: ${b?.error??`HTTP ${a.status}`}`)}catch(a){i.o.error(`Reindex failed: ${a?.message??"Network error"}`)}finally{G(!1)}}};return(0,f.jsxs)("header",{className:"sticky top-0 z-50 h-16 bg-[var(--bg-secondary)]/80 backdrop-blur-xl flex items-center px-6 border-b border-[var(--border)] gap-3 overflow-visible transition-all",children:[(0,f.jsxs)("div",{className:"flex items-center gap-0 group cursor-pointer",onClick:()=>w.push("/"),children:[(0,f.jsx)(o.H,{size:"sm"}),(0,f.jsx)("span",{className:"-ml-3 font-extrabold text-xl tracking-[4px] font-title text-[var(--text-primary)] drop-shadow-[0_0_15px_rgba(180,120,30,0.1)] dark:drop-shadow-[0_0_15px_rgba(180,120,30,0.3)] transition-all group-hover:drop-shadow-[0_0_20px_rgba(180,120,30,0.5)]",children:"ONTEXTA"})]}),(0,f.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,f.jsxs)("button",{onClick:a,className:"w-full max-w-[440px] h-10 px-4 bg-[var(--bg-tertiary)]/50 text-[13px] text-[var(--text-secondary)] rounded-xl hover:bg-[var(--bg-secondary)] transition-all flex items-center gap-3 border border-[var(--border)] group focus-glow",children:[(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"w-4 h-4 opacity-50 group-hover:opacity-100 transition-opacity",children:[(0,f.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,f.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,f.jsx)("span",{className:"flex-1 text-left opacity-60 group-hover:opacity-100",children:"Search context..."}),(0,f.jsxs)("kbd",{className:"text-[10px] font-mono text-[var(--text-secondary)] bg-[var(--bg-secondary)] px-2 py-1 rounded-md border border-[var(--border)] shadow-sm opacity-50",children:[B?"⌘":"Ctrl","K"]})]})}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)("button",{onClick:()=>w.push("/calendar"),className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Open Calendar",title:"Open Calendar",children:"Calendar"}),(0,f.jsx)("button",{onClick:()=>E(a=>!a),className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Sync menu",title:"Open sync menu",children:"Sync ▾"}),(0,f.jsx)("button",{onClick:H,disabled:F,className:`btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn ${F?"opacity-50":""}`,"aria-label":"Reindex — scan disk to add new files and remove orphan rows",title:"Reindex Knowledge Base + all projects: add new files and drop orphan rows",children:F?"Reindexing…":"Reindex"}),(0,f.jsx)("button",{onClick:c,className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Configure Kontexta",children:"Configure"}),(0,f.jsx)("button",{onClick:b,className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"About Kontexta",children:"About"}),(0,f.jsx)(r,{trigger:(0,f.jsx)("button",{className:"btn btn-md !font-mono font-bold uppercase tracking-wider text-[var(--accent)] bp-toolbar-btn","aria-label":"Publish menu",title:"Publish documentation",children:"Publish ▾"}),items:[{label:"New Publish",onSelect:d,icon:(0,f.jsxs)("svg",{className:"w-4 h-4 text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M12 8v8M8 12h8"})]})},{label:"View Published",onSelect:e,icon:(0,f.jsxs)("svg",{className:"w-4 h-4 text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,f.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}]}),(0,f.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}),w.push("/login")},className:"p-2 rounded-md text-[var(--text-secondary)] hover:text-[var(--danger)] hover:bg-[var(--bg-tertiary)] transition-colors","aria-label":"Lock Kontexta",title:"Lock Kontexta",children:(0,f.jsxs)("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[(0,f.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),(0,f.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]})}),(0,f.jsxs)("span",{className:"bp-title-block bp-annotation",children:["REV ","4.5.2"]}),z&&(0,f.jsxs)("button",{onClick:()=>y("light"===x?"dark":"dark"===x?"blueprint":"light"),className:"px-2 h-5 rounded-md border border-[var(--border)] font-mono text-[10px] uppercase tracking-wider text-[var(--text-secondary)] hover:text-[var(--accent)] hover:border-[var(--accent)] transition-colors inline-flex items-center gap-1","aria-label":"Cycle theme (light / dark / blueprint)",title:`Theme: ${x} — click to cycle`,children:["light"===x?(0,f.jsx)(l,{className:"w-3 h-3","aria-hidden":!0}):"dark"===x?(0,f.jsx)(m,{className:"w-3 h-3","aria-hidden":!0}):(0,f.jsx)(n,{className:"w-3 h-3","aria-hidden":!0}),"light"===x?"light":"dark"===x?"dark":"blueprint"]})]}),(0,f.jsx)(p,{open:D,onClose:()=>E(!1),log:q,globalRemoteUrl:k,onSyncAll:s,onUpdateRemote:t,selectedProjectName:u??null,onSyncProject:v})]})}function t(a){let[b,c]=(0,g.useState)(()=>!1);return b}function u({left:a,leftRail:b,middle:c,right:d}){let[e,h]=(0,g.useState)(240),[i,j]=(0,g.useState)(320),[k,l]=(0,g.useState)(!1),m=t("(max-width: 1023px)"),n=(0,g.useRef)(null),o=(0,g.useRef)(0),p=(0,g.useRef)(0),q=a=>b=>{n.current=a,o.current=b.clientX,p.current="left"===a?e:i,b.target.setPointerCapture(b.pointerId)};return(0,f.jsxs)("div",{className:"flex flex-1 min-h-0",onPointerMove:a=>{if(!n.current)return;let b=a.clientX-o.current;"left"===n.current?h(v(p.current+b,180,360)):j(v(p.current+b,260,600))},onPointerUp:()=>{n.current=null},children:[m&&b?b:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{style:{width:e},className:"shrink-0 h-full overflow-y-auto bg-[var(--bg-primary)] border-r border-[var(--border)] scrollbar-thin",onScroll:a=>a.stopPropagation(),children:a}),(0,f.jsx)("div",{onPointerDown:q("left"),className:"w-1 cursor-col-resize bg-transparent hover:bg-[var(--accent)]/40 transition-colors z-10"})]}),(0,f.jsx)("div",{style:{width:i},className:"shrink-0 h-full overflow-y-auto bg-[var(--bg-primary)] border-r border-[var(--border)]",children:c}),(0,f.jsx)("div",{onPointerDown:q("middle"),className:"w-1 cursor-col-resize bg-transparent hover:bg-[var(--accent)]/40 transition-colors z-10"}),(0,f.jsx)("div",{className:"flex-1 min-w-0 bg-[var(--bg-secondary)] dark:bg-[var(--bg-primary)] p-3 lg:p-4 transition-all overflow-y-auto flex flex-col",children:(0,f.jsxs)("div",{className:"flex-1 min-w-0 overflow-auto floating-surface rounded-2xl shadow-2xl relative",children:[(0,f.jsx)("div",{className:"absolute inset-0 pointer-events-none border border-amber-accent/10 rounded-2xl z-20"}),d]})})]})}function v(a,b,c){return Math.max(b,Math.min(c,a))}let w=(0,k.A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),x=(0,k.A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);var y=c(40905);function z({label:a,icon:b,active:c=!1,initialExpanded:d=!1,children:e,onClick:h,hasHands:i=!1}){let[j,k]=(0,g.useState)(d),l=!!e;return(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{onClick:()=>{l&&k(!j),h?.()},className:`relative flex items-center gap-1.5 py-1.5 px-2 rounded-lg text-sm cursor-pointer transition-all duration-200 group ${c?"bg-[var(--accent-soft)] text-[var(--text-primary)] font-semibold":"text-[var(--text-secondary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)]"}`,children:[c&&(0,f.jsx)("span",{className:"absolute -left-1 top-1 bottom-1 w-0.5 bg-[var(--accent)] rounded-full bp-keep-round"}),l&&(0,f.jsx)(y.A,{className:`w-3 h-3 shrink-0 transition-transform duration-200 ${j?"rotate-90":""}`,"aria-hidden":!0}),b&&(0,f.jsx)("span",{className:"dark-icon",children:b}),(0,f.jsx)("span",{className:"truncate lowercase first-letter:uppercase flex-1",children:a}),i&&(0,f.jsx)("span",{className:"ml-1 flex items-center justify-center text-[10px] text-[var(--accent)] opacity-70",title:"Hands enabled",children:(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"w-3 h-3",children:[(0,f.jsx)("path",{d:"M18 11V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0"}),(0,f.jsx)("path",{d:"M14 10V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0"}),(0,f.jsx)("path",{d:"M10 10.5V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0"}),(0,f.jsx)("path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"})]})})]}),(0,f.jsx)("div",{className:`grid transition-all duration-300 ease-in-out ${l&&j?"grid-rows-[1fr] opacity-100 mt-1":"grid-rows-[0fr] opacity-0"}`,children:(0,f.jsx)("div",{className:"overflow-hidden ml-3",children:e})})]})}let A=a=>a.replace(/\\/g,"/");function B(a,b,c=[],d=!0){let e={name:"",path:"",children:[],files:[]},f=A(b),g=f.endsWith("/")?f:f+"/";for(let b of a){let a=A(b.path);if(!a.startsWith(g))continue;let c=a.slice(g.length).split("/");c.pop();let d=e,f="";for(let a of c){f=f?`${f}/${a}`:a;let b=d.children.find(b=>b.name===a);b||(b={name:a,path:f,children:[],files:[]},d.children.push(b)),d=b}d.files.push({id:b.id,title:b.title,path:b.path})}for(let a of c){let b=A(a).split("/"),c=e,d="";for(let a of b){d=d?`${d}/${a}`:a;let b=c.children.find(b=>b.name===a);b||(b={name:a,path:d,children:[],files:[]},c.children.push(b)),c=b}}return d&&function a(b){return b.children=b.children.filter(b=>a(b)),b.files.length>0||b.children.length>0||!!b.isExplicit}(e),function a(b){for(let c of(b.children.sort((a,b)=>a.name.localeCompare(b.name)),b.files.sort((a,b)=>a.title.localeCompare(b.title)),b.children))a(c)}(e),e}function C({icon:a,title:b,hint:c,action:d}){return(0,f.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-6 text-center gap-2",children:[a&&(0,f.jsx)("div",{className:"text-[var(--muted)] opacity-60 mb-1",children:a}),(0,f.jsx)("p",{className:"text-sm font-medium text-[var(--text-primary)]",children:b}),c&&(0,f.jsx)("p",{className:"text-xs text-[var(--text-secondary)]",children:c}),d&&(0,f.jsx)("div",{className:"mt-3",children:d})]})}let D=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,f.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),E=({className:a})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:(0,f.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})});function F({node:a,selectedFolder:b,onSelectFolder:c,onSelectFile:d}){return(0,f.jsxs)(f.Fragment,{children:[a.children.map(a=>(0,f.jsx)(z,{label:a.name,icon:(0,f.jsx)(E,{className:"w-3.5 h-3.5 text-[#FF7F50] group-hover:text-[var(--accent)] transition-colors"}),active:b===a.path,onClick:()=>c(a.path),children:(0,f.jsx)(F,{node:a,selectedFolder:b,onSelectFolder:c,onSelectFile:d})},a.path)),a.files.map(a=>(0,f.jsx)(z,{label:a.title,icon:(0,f.jsx)(D,{className:"w-3.5 h-3.5 text-amber-accent group-hover:text-[var(--accent)] transition-colors"}),onClick:()=>d(a.id)},a.id))]})}function G({projects:a,projectFiles:b,knowledgeFiles:c,selectedProjectId:d,selectedSection:e,selectedFolder:h,projectFolders:i,knowledgeFolders:j,projectBasePath:k,knowledgeBasePath:l,onSelectProject:m,onSelectKnowledge:n,onSelectFavorites:o,onSelectKnowledgeFolder:p,onSelectFolder:q,onSelectFile:r,onCreateFolder:s}){let t=(0,g.useMemo)(()=>{if(!d)return null;let c=a.find(a=>a.id===d);return c&&c.path?B(b,c.path,i):null},[d,b,i,a]),u=(0,g.useMemo)(()=>0===j.length&&0===c.length?null:B(c,l,j,!1),[c,j,l]);return(0,f.jsxs)("div",{className:"p-2 space-y-3 text-[var(--text-primary)]",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:"bp-annotation px-2 pt-2 pb-1 text-[12px] uppercase tracking-wider text-[var(--text-secondary)]",children:"Projects"}),(0,f.jsxs)("div",{className:"space-y-0.5",children:[a.map(a=>{let b=d===a.id;return(0,f.jsx)(z,{label:a.name,icon:(0,f.jsx)(E,{className:"w-3.5 h-3.5 text-[#FF7F50] group-hover:text-[var(--accent)] transition-colors"}),active:b&&null===h,initialExpanded:b,hasHands:a.has_hands,onClick:()=>{m(a.id),q(null)},children:b&&t?(0,f.jsx)(F,{node:t,selectedFolder:h,onSelectFolder:q,onSelectFile:r}):void 0},a.id)}),0===a.length&&(0,f.jsx)(C,{icon:(0,f.jsx)(w,{className:"w-8 h-8 opacity-40","aria-hidden":!0}),title:"No projects yet"})]})]}),(0,f.jsx)("div",{children:(0,f.jsx)("div",{className:"flex items-center justify-between px-2 pt-2 pb-1",children:(0,f.jsx)("button",{onClick:o,className:`text-[12px] uppercase tracking-wider transition-colors ${"favorites"===e?"text-[var(--accent)]":"text-[var(--text-secondary)] hover:text-[var(--text-primary)]"}`,"aria-label":"Select favorites",children:"Favorites"})})}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"flex items-center justify-between px-2 pt-2 pb-1",children:[(0,f.jsx)("button",{onClick:n,className:`text-[12px] uppercase tracking-wider transition-colors ${"knowledge"===e&&!h?"text-[var(--accent)]":"text-[var(--text-secondary)] hover:text-[var(--text-primary)]"}`,"aria-label":"Select knowledge base",children:"Knowledge"}),(0,f.jsx)("button",{onClick:()=>s(0),className:"btn btn-sm","aria-label":"Create new folder",children:"+ Folder"})]}),(0,f.jsx)("div",{className:"space-y-0.5",children:u?(0,f.jsx)(F,{node:u,selectedFolder:h,onSelectFolder:p,onSelectFile:r}):(0,f.jsx)(C,{icon:(0,f.jsx)(x,{className:"w-8 h-8 opacity-40","aria-hidden":!0}),title:"No folders yet"})})]})]})}let H=(0,k.A)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),I=(0,k.A)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),J=(0,k.A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var K=c(13505);function L({value:a,onChange:b}){return(0,f.jsx)("input",{type:"text",value:a,onChange:a=>b(a.target.value),placeholder:"Filter files...",className:"w-full px-2.5 py-1 text-[12px] bg-[var(--bg-primary)] border-b border-[var(--border)] focus:outline-none focus:border-[var(--accent)]"})}let M=(0,k.A)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),N=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,f.jsx)("polyline",{points:"14 2 14 8 20 8"})]}),O=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,f.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,f.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]});function P({id:a,title:b,updatedAt:c,active:d,onClick:e,estTokens:g,selectMode:h,selected:j,onToggleSelect:k,favorite:l,tags:m}){return(0,f.jsx)("div",{onClick:a=>{if(h){a.preventDefault(),k?.();return}e()},className:`
3
3
  group relative px-4 py-3 cursor-pointer border-l-[3px] transition-all duration-200
4
4
  ${d&&!h||h&&j?"bg-[var(--accent-soft)] border-amber-accent":"border-transparent hover:bg-[var(--accent-soft)]/60 hover:translate-x-0.5"}
5
- `,children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[h?(0,f.jsx)("input",{type:"checkbox",checked:!!j,onChange:()=>k?.(),onClick:a=>a.stopPropagation(),className:"mt-1 cursor-pointer accent-amber-accent"}):(0,f.jsx)(M,{className:"w-4 h-4 mt-1 text-amber-accent shrink-0"}),(0,f.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,f.jsxs)("div",{className:`text-sm font-semibold truncate transition-colors flex items-center gap-1.5 ${d?"text-[var(--text-primary)]":"text-[var(--text-primary)] group-hover:text-[var(--accent)]"}`,children:[l&&(0,f.jsx)("span",{className:"text-amber-accent shrink-0",title:"Favorite","aria-label":"Favorite",children:(0,f.jsx)(L,{className:"w-3.5 h-3.5 fill-current","aria-hidden":!0})}),(0,f.jsx)("span",{className:"truncate",children:b})]}),(0,f.jsxs)("div",{className:"text-[11px] mt-1 flex flex-wrap items-center gap-1.5 transition-colors text-[var(--text-secondary)]",children:[(0,f.jsx)("span",{children:function(a){let b=new Date(a),c=new Date().getTime()-b.getTime(),d=Math.floor(c/6e4),e=Math.floor(c/36e5),f=Math.floor(c/864e5);return d<1?"just now":1===d?"1 min ago":d<60?`${d} mins ago`:1===e?"1 hour ago":e<24?`${e} hours ago`:1===f?"1 day ago":f<30?`${f} days ago`:b.toLocaleDateString()}(c)}),"number"==typeof g&&g>0&&(0,f.jsxs)("span",{children:["\xb7 ~",g<1e3?String(g):g<1e4?(g/1e3).toFixed(1)+"k":Math.round(g/1e3)+"k"," tok"]}),m&&m.length>0&&(0,f.jsxs)("span",{className:"flex flex-wrap gap-1",children:[m.slice(0,3).map(a=>(0,f.jsx)("span",{className:"px-1.5 rounded bg-amber-accent/10 border border-amber-accent/20 text-[10px]",children:a},a)),m.length>3&&(0,f.jsxs)("span",{className:"text-[10px] opacity-60",children:["+",m.length-3]})]})]})]}),!h&&(0,f.jsx)("button",{type:"button",onClick:async c=>{c.stopPropagation();try{let c=await fetch(`/api/files/${a}/download`);if(!c.ok){let a=`HTTP ${c.status}`;try{let b=await c.json();b?.error&&(a=b.error)}catch{}i.o.error(`Download failed: ${a}`);return}let d=c.headers.get("content-disposition")||"",e=/filename="([^"]+)"/.exec(d),f=e?.[1]??`${b}.md`,g=await c.blob(),h=URL.createObjectURL(g),j=document.createElement("a");j.href=h,j.download=f,document.body.appendChild(j),j.click(),j.remove(),URL.revokeObjectURL(h)}catch(a){i.o.error(`Download failed: ${a?.message??String(a)}`)}},title:"Download .md","aria-label":"Download file",className:"btn btn-icon-sm opacity-0 group-hover:opacity-100",children:(0,f.jsx)(N,{className:"w-4 h-4"})})]})})}function P({open:a,onClose:b,projects:c,defaultProjectId:d,defaultFolder:e,onUploaded:h}){let[i,j]=(0,g.useState)([]),[k,l]=(0,g.useState)(d??""),[m,n]=(0,g.useState)(e),[o,p]=(0,g.useState)([]),[q,r]=(0,g.useState)(""),[s,t]=(0,g.useState)(!1),[u,v]=(0,g.useState)(null),[w,x]=(0,g.useState)(null),y=async a=>{if(a.preventDefault(),0!==i.length){t(!0),x(null),v(null);try{let a=new FormData;a.append("project_id",""===k?"":String(k)),a.append("folder",m);let b=q.split(",").map(a=>a.trim()).filter(Boolean);for(let c of(b.length&&a.append("tags",JSON.stringify(b)),i))a.append("files",c);let c=await fetch("/api/files/upload",{method:"POST",body:a}),d=await c.json();c.ok?(v(d),h()):x(d.error??`HTTP ${c.status}`)}catch(a){x(a?.message??String(a))}finally{t(!1)}}};return a?(0,f.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",children:(0,f.jsx)("div",{className:"w-[600px] bg-[var(--bg-primary)] border border-[var(--border-color)] rounded-lg shadow-2xl overflow-hidden",children:(0,f.jsxs)("form",{onSubmit:y,children:[(0,f.jsxs)("div",{className:"px-6 py-4 border-b border-[var(--border-color)] flex items-center justify-between",children:[(0,f.jsx)("h3",{className:"text-lg font-bold text-amber-accent",children:"UPLOAD MARKDOWN FILES"}),(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-icon-md","aria-label":"Close dialog",children:(0,f.jsx)(J.A,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsxs)("div",{className:"p-6 space-y-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FILES"}),(0,f.jsx)("input",{type:"file",multiple:!0,accept:".md,.markdown,.mmd",onChange:a=>j(Array.from(a.target.files??[])),className:"w-full text-sm text-[var(--text-primary)]"}),i.length>0&&(0,f.jsx)("ul",{className:"mt-2 text-xs text-[var(--text-secondary)] max-h-32 overflow-auto",children:i.map((a,b)=>(0,f.jsxs)("li",{className:"flex items-center justify-between py-0.5",children:[(0,f.jsx)("span",{className:"truncate",children:a.name}),(0,f.jsx)("button",{type:"button",className:"btn btn-icon-sm btn-destructive","aria-label":`Remove ${a.name}`,onClick:()=>j(a=>a.filter((a,c)=>c!==b)),children:(0,f.jsx)(J.A,{className:"w-3.5 h-3.5","aria-hidden":!0})})]},b))})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"PROJECT"}),(0,f.jsxs)("select",{value:""===k?"":String(k),onChange:a=>l(""===a.target.value?"":Number(a.target.value)),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:[(0,f.jsx)("option",{value:"",children:"— Knowledge Base —"}),c.map(a=>(0,f.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FOLDER"}),(0,f.jsxs)("select",{value:m,onChange:a=>n(a.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:[(0,f.jsx)("option",{value:"",children:"— Root level —"}),o.map(a=>(0,f.jsx)("option",{value:a,children:a},a))]})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"TAGS"}),(0,f.jsx)("input",{type:"text",value:q,onChange:a=>r(a.target.value),placeholder:"comma, separated, tags",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]}),w&&(0,f.jsx)("div",{className:"text-sm text-[var(--danger)]",children:w}),u&&(0,f.jsxs)("div",{className:"text-sm text-[var(--text-secondary)]",children:["Uploaded ",u.uploaded.length," \xb7 renamed ",u.uploaded.filter(a=>a.final_name!==a.original_name).length," \xb7 rejected ",u.rejected.length,(u.uploaded.some(a=>a.final_name!==a.original_name)||u.rejected.length>0)&&(0,f.jsxs)("details",{className:"mt-2",children:[(0,f.jsx)("summary",{className:"cursor-pointer",children:"Details"}),(0,f.jsxs)("ul",{className:"mt-1 text-xs",children:[u.uploaded.filter(a=>a.final_name!==a.original_name).map((a,b)=>(0,f.jsxs)("li",{children:["renamed: ",a.original_name," → ",a.final_name]},`r${b}`)),u.rejected.map((a,b)=>(0,f.jsxs)("li",{children:["rejected: ",a.name," (",a.reason,")"]},`x${b}`))]})]})]})]}),(0,f.jsxs)("div",{className:"px-6 py-4 border-t border-[var(--border-color)] flex justify-end gap-2",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"Close"}),(0,f.jsx)("button",{type:"submit",disabled:s||0===i.length,className:"btn btn-md",children:s?"Uploading…":"Upload"})]})]})})}):null}function Q({open:a,onClose:b,onClipped:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(!1),[l,m]=(0,g.useState)(null),n=async a=>{if(a.preventDefault(),d.trim()){k(!0),m(null);try{let a=await fetch("/api/clip",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:d.trim(),title:h.trim()||void 0})}),e=await a.json();if(!a.ok)return void m(e?.error??`HTTP ${a.status}`);c(),b()}catch(a){m(a?.message??String(a))}finally{k(!1)}}};return a?(0,f.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",children:(0,f.jsx)("div",{className:"w-[600px] bg-[var(--bg-primary)] border border-[var(--border-color)] rounded-lg shadow-2xl overflow-hidden",children:(0,f.jsxs)("form",{onSubmit:n,children:[(0,f.jsxs)("div",{className:"px-6 py-4 border-b border-[var(--border-color)] flex items-center justify-between",children:[(0,f.jsx)("h3",{className:"text-lg font-bold text-amber-accent",children:"CLIP URL"}),(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-icon-md","aria-label":"Close dialog",children:(0,f.jsx)(J.A,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsxs)("div",{className:"p-6 space-y-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"URL"}),(0,f.jsx)("input",{type:"url",required:!0,value:d,onChange:a=>e(a.target.value),placeholder:"https://example.com/article",disabled:j,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"TITLE (OPTIONAL)"}),(0,f.jsx)("input",{type:"text",value:h,onChange:a=>i(a.target.value),placeholder:"Defaults to page title",disabled:j,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]}),l&&(0,f.jsx)("div",{className:"text-sm text-[var(--danger)]",children:l})]}),(0,f.jsxs)("div",{className:"px-6 py-4 border-t border-[var(--border-color)] flex justify-end gap-2",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"Close"}),(0,f.jsx)("button",{type:"submit",disabled:j||!d.trim(),className:"btn btn-md",children:j?"Clipping…":"Clip"})]})]})})}):null}var R=c(42052);let S=[{id:"claude-code",label:"Claude Code"},{id:"cursor",label:"Cursor"},{id:"aider",label:"Aider"},{id:"continue",label:"Continue"},{id:"gemini",label:"Gemini / Antigravity"},{id:"copilot",label:"GitHub Copilot"},{id:"codex",label:"Codex"},{id:"generic",label:"Generic JSON"}];function T({isOpen:a,onClose:b,projectId:c,projectName:d,onOnboarded:e}){let[h,j]=(0,g.useState)("aider"),[k,l]=(0,g.useState)(!1),m=async()=>{l(!0);try{let a=await fetch(`/api/projects/${c}/onboard`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetAgent:h})});if(a.ok)i.o.success(`Onboarded ${d}`),e(),b();else{let b=await a.json().catch(()=>({}));i.o.error(b.error||`Onboarding failed: HTTP ${a.status}`)}}catch(a){i.o.error("Failed to connect to server")}finally{l(!1)}};return(0,f.jsx)(R.l,{open:a,onClose:b,title:"Onboard agent",widthClass:"max-w-[500px]",children:(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsxs)("div",{className:"text-sm text-[var(--text-secondary)] leading-relaxed",children:["Scaffold workflow rules for ",(0,f.jsx)("strong",{children:d}),". This writes a context file (like ",(0,f.jsx)("code",{children:".aider/kontexta.md"}),") to the project root."]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest uppercase",children:"Target agent"}),(0,f.jsx)("select",{value:h,onChange:a=>j(a.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:S.map(a=>(0,f.jsx)("option",{value:a.id,children:a.label},a.id))})]}),"aider"===h&&(0,f.jsxs)("div",{className:"p-3 bg-amber-500/5 border border-amber-500/20 rounded text-[11px] text-amber-600 dark:text-amber-400 leading-normal",children:[(0,f.jsx)("strong",{children:"Aider note:"})," Integration is file-based. After onboarding, ensure your ",(0,f.jsx)("code",{children:".aider.conf.yml"})," reads the new file."]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",disabled:k,children:"Cancel"}),(0,f.jsx)("button",{type:"button",onClick:m,disabled:k,className:"btn btn-md min-w-[140px]",children:k?"Onboarding…":"Onboard agent"})]})]})})}var U=c(361);function V({files:a,selectedFileId:b,onSelectFile:c,sortBy:d,onSortChange:e,selectedFolder:h,selectedProject:j,selectedSection:k,basePath:l,onSync:m,onUnregisterProject:n,onDeleteFolder:o,loading:p,projects:q,onUploaded:s,onRefresh:t,refreshing:u,onNewFile:v}){let[w,y]=(0,g.useState)(""),[z,A]=(0,g.useState)(!1),[C,D]=(0,g.useState)(!1),[E,F]=(0,g.useState)(!1),[L,M]=(0,g.useState)(!1),[N,R]=(0,g.useState)(new Set),[S,V]=(0,g.useState)(!1),[W,X]=(0,g.useState)(!1),Y=(0,g.useMemo)(()=>{let b=[...a],c=a=>(a||"").replace(/\\/g,"/").replace(/\/+$/,""),e=(a,b)=>{if(!a||!b)return!1;let d=c(a),e=c(b)+"/";return d.startsWith(e)};if("projects"===k)if(j){let a=l||j.path;if(a){let d=c(a)+"/";if(h){let a=d+c(h);b=b.filter(b=>e(b.path,a))}else b=b.filter(a=>a.project_id===j.id)}else b=b.filter(a=>a.project_id===j.id)}else b=[];else if("favorites"===k)b=[...a];else if("knowledge"===k){if(b=b.filter(a=>!a.project_id),l){let a=c(l)+"/";if(h){let d=a+c(h);b=b.filter(a=>e(a.path,d))}}}else b=[];switch(d){case"name":b.sort((a,b)=>a.title.localeCompare(b.title));break;case"updated_at":b.sort((a,b)=>new Date(b.updated_at).getTime()-new Date(a.updated_at).getTime());break;case"created_at":b.sort((a,b)=>new Date(b.created_at).getTime()-new Date(a.created_at).getTime())}if(w){let a=w.toLowerCase();b=b.filter(b=>b.title.toLowerCase().includes(a))}return b},[a,d,h,j,k,l,w]);return(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsxs)("div",{className:"flex items-center gap-1.5 px-1.5 py-1.5 border-b border-[var(--border)]",children:[(0,f.jsx)("div",{className:"flex-1",children:(0,f.jsx)(r,{align:"start",trigger:(0,f.jsxs)("button",{type:"button",className:"btn btn-sm w-full",title:"Add content to the knowledge base",children:["New ",(0,f.jsx)("span",{className:"opacity-60 text-xs",children:"▾"})]}),items:[{label:"New File",icon:(0,f.jsx)("span",{children:"+"}),onSelect:v},{label:"Upload Files",icon:(0,f.jsx)("span",{children:"↑"}),onSelect:()=>A(!0)},{label:"Clip URL",icon:(0,f.jsx)(G,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:()=>V(!0)}]})}),"projects"===k&&j&&(0,f.jsx)("div",{className:"flex-1",children:(0,f.jsx)(r,{align:"start",trigger:(0,f.jsxs)("button",{type:"button",className:"btn btn-sm w-full",title:"Project actions",children:["Project ",(0,f.jsx)("span",{className:"opacity-60 text-xs",children:"▾"})]}),items:[{label:"Export ZIP",icon:(0,f.jsx)("span",{children:"↓"}),onSelect:()=>{let a=h?`/api/export/zip?project_id=${j.id}&folder=${encodeURIComponent(h)}`:`/api/export/zip?project_id=${j.id}`,b=document.createElement("a");b.href=a,b.download="",document.body.appendChild(b),b.click(),b.remove()}},{label:"Sync Project",icon:(0,f.jsx)(H,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:m},{label:"Scan for New Files",icon:(0,f.jsx)(I,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:t},{label:"Onboard Agent",icon:(0,f.jsx)("span",{children:"✨"}),onSelect:()=>X(!0)},...!h&&n?[{label:"Unregister",icon:(0,f.jsx)(J.A,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:n,destructive:!0}]:[]]})}),(0,f.jsx)("button",{type:"button",onClick:()=>{D(a=>!a),R(new Set)},className:"btn btn-sm flex-1",title:"Toggle multi-select",children:C?"Selected":"Select"}),(0,f.jsx)("button",{type:"button",onClick:t,disabled:u,className:`btn btn-sm ${u?"opacity-50":""}`,title:"Refresh (scan disk for changes)","aria-label":"Refresh",children:u?"...":(0,f.jsx)(H,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsxs)("div",{className:"bp-annotation bp-dashed px-3 py-2 flex items-center justify-between text-[11px] uppercase tracking-wider text-[var(--text-secondary)] border-b border-[var(--border)]",children:[(0,f.jsxs)("span",{children:[Y.length," ",1===Y.length?"file":"files",(()=>{var a;let b=Y.reduce((a,b)=>a+(b.est_tokens??0),0);return b>0?` \xb7 ~${(a=b)<1e3?String(a):a<1e4?`${(a/1e3).toFixed(1)}k`:a<1e6?`${Math.round(a/1e3)}k`:`${(a/1e6).toFixed(1)}M`} tok`:""})()]}),(0,f.jsx)("div",{className:"flex items-center gap-2",children:(0,f.jsxs)("select",{value:d,onChange:a=>e(a.target.value),className:"bg-transparent text-[11px] uppercase tracking-wider focus:outline-none cursor-pointer",children:[(0,f.jsx)("option",{value:"updated_at",className:"bg-[var(--bg-primary)] text-[var(--text-primary)]",children:"updated"}),(0,f.jsx)("option",{value:"created_at",className:"bg-[var(--bg-primary)] text-[var(--text-primary)]",children:"created"}),(0,f.jsx)("option",{value:"name",className:"bg-[var(--bg-primary)] text-[var(--text-primary)]",children:"name"})]})})]}),(a.length>10||""!==w.trim())&&(0,f.jsx)(K,{value:w,onChange:y}),(()=>{let a=new Set(Y.map(a=>a.id)),d=[...N].filter(b=>a.has(b)),e=j?String(j.id):"kb",g=async()=>{if(0===d.length||E)return;F(!0);let a=[];for(let b of d)try{let c=await fetch(`/api/files/${b}`,{method:"DELETE"});if(!c.ok){let d=await c.json().catch(()=>({}));a.push({id:b,error:d?.error??`HTTP ${c.status}`})}}catch(c){a.push({id:b,error:c?.message??"Network error"})}F(!1),M(!1),R(new Set),t();let b=d.length-a.length;a.length>0?(console.error("[bulk-delete] failures:",a),b>0&&i.o.success(`Deleted ${b} file(s)`),i.o.error(`${a.length} file(s) failed to delete: `+a.slice(0,5).map(a=>`#${a.id} (${a.error})`).join(", ")+(a.length>5?`, …and ${a.length-5} more (see console)`:""))):i.o.success(`Deleted ${b} file(s)`)};return(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[C&&d.length>0&&(0,f.jsxs)("div",{className:"sticky top-0 z-10 px-3 py-2 bg-[var(--bg-secondary)] border-b border-amber-accent/40 flex items-center justify-between gap-2 text-[11px]",children:[(0,f.jsxs)("span",{className:"whitespace-nowrap shrink-0",children:[d.length," selected"]}),(0,f.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,f.jsx)("a",{href:`/api/export/zip?file_ids=${d.join(",")}&scope=${e}`,download:!0,className:"px-2 py-1 bg-amber-accent text-black font-bold rounded whitespace-nowrap leading-none",title:"Download selected files as ZIP",children:"ZIP"}),(0,f.jsx)("button",{type:"button",onClick:()=>M(!0),disabled:E,className:`px-2 py-1 bg-[var(--danger)] text-white font-bold rounded whitespace-nowrap leading-none ${E?"opacity-50":"hover:bg-[color-mix(in_srgb,var(--danger)_85%,black)]"}`,title:`Delete ${d.length} selected file(s)`,children:E?"…":"Delete"}),(0,f.jsx)("button",{type:"button",onClick:()=>R(new Set),className:"px-2 py-1 border border-[var(--border)] rounded whitespace-nowrap leading-none hover:bg-[var(--bg-tertiary)]",title:"Clear selection",children:"Clear"})]})]}),(0,f.jsx)(U.T,{open:L,onClose:()=>M(!1),onConfirm:g,title:`Delete ${d.length} file${1===d.length?"":"s"}?`,message:"Knowledge Base files will be removed from disk and the deletion will be committed to git (recoverable via Time Travel). Project files are only un-indexed; the source file on disk is left intact.",confirmLabel:`Delete ${d.length} file${1===d.length?"":"s"}`,destructive:!0,loading:E}),Y.length>0?Y.map(a=>(0,f.jsx)(O,{id:a.id,title:a.title,updatedAt:a.updated_at,active:a.id===b,onClick:()=>c(a.id),estTokens:a.est_tokens,favorite:a.favorite,tags:a.tags??void 0,selectMode:C,selected:N.has(a.id),onToggleSelect:()=>{R(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})}},a.id)):p||"projects"===k&&!j?(0,f.jsx)("div",{"aria-label":"Loading files",role:"status",children:[0,1,2,3].map(a=>(0,f.jsxs)("div",{className:"px-3 py-2 border-b border-[var(--bg-tertiary)]",children:[(0,f.jsx)("div",{className:"skeleton h-3.5",style:{width:`${60+13*a%30}%`}}),(0,f.jsx)("div",{className:"skeleton h-2.5 mt-2",style:{width:`${30+7*a%20}%`}})]},a))}):k?(0,f.jsx)(B,{icon:(0,f.jsx)(x,{className:"w-16 h-16 opacity-30 dark-icon","aria-hidden":!0}),title:"Folder is empty",hint:"This folder doesn't contain any indexed context files.",action:"knowledge"===k&&h&&o?(0,f.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,f.jsx)("div",{className:"h-px w-16 bg-[var(--border)]"}),(0,f.jsx)("button",{onClick:o,className:"px-6 py-2.5 bg-[var(--danger-soft)] text-[var(--danger)] border border-[var(--danger)]/30 rounded-lg text-sm font-bold hover:bg-[var(--danger)]/20 transition-all btn-press shadow-sm",children:"DELETE THIS FOLDER"}),(0,f.jsx)("p",{className:"text-[11px] text-[var(--muted)] uppercase tracking-widest font-bold",children:"Permanent Action"})]}):void 0}):(0,f.jsx)(B,{icon:(0,f.jsx)(x,{className:"w-16 h-16 opacity-30 dark-icon","aria-hidden":!0}),title:"No Selection",hint:"Please select a project or the Knowledge Base from the sidebar to view files."})]})})(),(0,f.jsx)(P,{open:z,onClose:()=>A(!1),projects:q??[],defaultProjectId:"projects"===k&&j?j.id:null,defaultFolder:h??"",onUploaded:()=>{A(!1),s?.()}}),(0,f.jsx)(Q,{open:S,onClose:()=>V(!1),onClipped:()=>{t()}}),j&&(0,f.jsx)(T,{isOpen:W,onClose:()=>X(!1),projectId:j.id,projectName:j.name,onOnboarded:()=>{t()}})]})}let W=(0,k.A)("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"}]]);function X(a){if(a)throw a}var Y=c(80981);function Z(a){if("object"!=typeof a||null===a)return!1;let b=Object.getPrototypeOf(a);return(null===b||b===Object.prototype||null===Object.getPrototypeOf(b))&&!(Symbol.toStringTag in a)&&!(Symbol.iterator in a)}function $(a){return a&&"object"==typeof a?"position"in a||"type"in a?aa(a.position):"start"in a||"end"in a?aa(a):"line"in a||"column"in a?_(a):"":""}function _(a){return ab(a&&a.line)+":"+ab(a&&a.column)}function aa(a){return _(a&&a.start)+"-"+_(a&&a.end)}function ab(a){return a&&"number"==typeof a?a:1}class ac extends Error{constructor(a,b,c){super(),"string"==typeof b&&(c=b,b=void 0);let d="",e={},f=!1;if(b&&(e="line"in b&&"column"in b||"start"in b&&"end"in b?{place:b}:"type"in b?{ancestors:[b],place:b.position}:{...b}),"string"==typeof a?d=a:!e.cause&&a&&(f=!0,d=a.message,e.cause=a),!e.ruleId&&!e.source&&"string"==typeof c){let a=c.indexOf(":");-1===a?e.ruleId=c:(e.source=c.slice(0,a),e.ruleId=c.slice(a+1))}if(!e.place&&e.ancestors&&e.ancestors){let a=e.ancestors[e.ancestors.length-1];a&&(e.place=a.position)}let g=e.place&&"start"in e.place?e.place.start:e.place;this.ancestors=e.ancestors||void 0,this.cause=e.cause||void 0,this.column=g?g.column:void 0,this.fatal=void 0,this.file="",this.message=d,this.line=g?g.line:void 0,this.name=$(e.place)||"1:1",this.place=e.place||void 0,this.reason=this.message,this.ruleId=e.ruleId||void 0,this.source=e.source||void 0,this.stack=f&&e.cause&&"string"==typeof e.cause.stack?e.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}ac.prototype.file="",ac.prototype.name="",ac.prototype.reason="",ac.prototype.message="",ac.prototype.stack="",ac.prototype.column=void 0,ac.prototype.line=void 0,ac.prototype.ancestors=void 0,ac.prototype.cause=void 0,ac.prototype.fatal=void 0,ac.prototype.place=void 0,ac.prototype.ruleId=void 0,ac.prototype.source=void 0;var ad=c(76760);let ae=require("node:process");function af(a){return!!(null!==a&&"object"==typeof a&&"href"in a&&a.href&&"protocol"in a&&a.protocol&&void 0===a.auth)}var ag=c(73136);let ah=["history","path","basename","stem","extname","dirname"];class ai{constructor(a){let b,c;b=a?af(a)?{path:a}:"string"==typeof a||function(a){return!!(a&&"object"==typeof a&&"byteLength"in a&&"byteOffset"in a)}(a)?{value:a}:a:{},this.cwd="cwd"in b?"":ae.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let d=-1;for(;++d<ah.length;){let a=ah[d];a in b&&void 0!==b[a]&&null!==b[a]&&(this[a]="history"===a?[...b[a]]:b[a])}for(c in b)ah.includes(c)||(this[c]=b[c])}get basename(){return"string"==typeof this.path?ad.basename(this.path):void 0}set basename(a){ak(a,"basename"),aj(a,"basename"),this.path=ad.join(this.dirname||"",a)}get dirname(){return"string"==typeof this.path?ad.dirname(this.path):void 0}set dirname(a){al(this.basename,"dirname"),this.path=ad.join(a||"",this.basename)}get extname(){return"string"==typeof this.path?ad.extname(this.path):void 0}set extname(a){if(aj(a,"extname"),al(this.dirname,"extname"),a){if(46!==a.codePointAt(0))throw Error("`extname` must start with `.`");if(a.includes(".",1))throw Error("`extname` cannot contain multiple dots")}this.path=ad.join(this.dirname,this.stem+(a||""))}get path(){return this.history[this.history.length-1]}set path(a){af(a)&&(a=(0,ag.fileURLToPath)(a)),ak(a,"path"),this.path!==a&&this.history.push(a)}get stem(){return"string"==typeof this.path?ad.basename(this.path,this.extname):void 0}set stem(a){ak(a,"stem"),aj(a,"stem"),this.path=ad.join(this.dirname||"",a+(this.extname||""))}fail(a,b,c){let d=this.message(a,b,c);throw d.fatal=!0,d}info(a,b,c){let d=this.message(a,b,c);return d.fatal=void 0,d}message(a,b,c){let d=new ac(a,b,c);return this.path&&(d.name=this.path+":"+d.name,d.file=this.path),d.fatal=!1,this.messages.push(d),d}toString(a){return void 0===this.value?"":"string"==typeof this.value?this.value:new TextDecoder(a||void 0).decode(this.value)}}function aj(a,b){if(a&&a.includes(ad.sep))throw Error("`"+b+"` cannot be a path: did not expect `"+ad.sep+"`")}function ak(a,b){if(!a)throw Error("`"+b+"` cannot be empty")}function al(a,b){if(!a)throw Error("Setting `"+b+"` requires `path` to be set too")}let am=function(a){let b=this.constructor.prototype,c=b[a],d=function(){return c.apply(d,arguments)};return Object.setPrototypeOf(d,b),d},an={}.hasOwnProperty;class ao extends am{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=function(){let a=[],b={run:function(...b){let c=-1,d=b.pop();if("function"!=typeof d)throw TypeError("Expected function as last argument, not "+d);!function e(f,...g){let h=a[++c],i=-1;if(f)return void d(f);for(;++i<b.length;)(null===g[i]||void 0===g[i])&&(g[i]=b[i]);b=g,h?(function(a,b){let c;return function(...b){let f,g=a.length>b.length;g&&b.push(d);try{f=a.apply(this,b)}catch(a){if(g&&c)throw a;return d(a)}g||(f&&f.then&&"function"==typeof f.then?f.then(e,d):f instanceof Error?d(f):e(f))};function d(a,...e){c||(c=!0,b(a,...e))}function e(a){d(null,a)}})(h,e)(...g):d(null,...g)}(null,...b)},use:function(c){if("function"!=typeof c)throw TypeError("Expected `middelware` to be a function, not "+c);return a.push(c),b}};return b}()}copy(){let a=new ao,b=-1;for(;++b<this.attachers.length;){let c=this.attachers[b];a.use(...c)}return a.data(Y(!0,{},this.namespace)),a}data(a,b){return"string"==typeof a?2==arguments.length?(as("data",this.frozen),this.namespace[a]=b,this):an.call(this.namespace,a)&&this.namespace[a]||void 0:a?(as("data",this.frozen),this.namespace=a,this):this.namespace}freeze(){if(this.frozen)return this;for(;++this.freezeIndex<this.attachers.length;){let[a,...b]=this.attachers[this.freezeIndex];if(!1===b[0])continue;!0===b[0]&&(b[0]=void 0);let c=a.call(this,...b);"function"==typeof c&&this.transformers.use(c)}return this.frozen=!0,this.freezeIndex=1/0,this}parse(a){this.freeze();let b=av(a),c=this.parser||this.Parser;return aq("parse",c),c(String(b),b)}process(a,b){let c=this;return this.freeze(),aq("process",this.parser||this.Parser),ar("process",this.compiler||this.Compiler),b?d(void 0,b):new Promise(d);function d(d,e){let f=av(a),g=c.parse(f);function h(a,c){a||!c?e(a):d?d(c):b(void 0,c)}c.run(g,f,function(a,b,d){var e,f;if(a||!b||!d)return h(a);let g=c.stringify(b,d);"string"==typeof(e=g)||(f=e)&&"object"==typeof f&&"byteLength"in f&&"byteOffset"in f?d.value=g:d.result=g,h(a,d)})}}processSync(a){let b,c=!1;return this.freeze(),aq("processSync",this.parser||this.Parser),ar("processSync",this.compiler||this.Compiler),this.process(a,function(a,d){c=!0,X(a),b=d}),au("processSync","process",c),b}run(a,b,c){at(a),this.freeze();let d=this.transformers;return c||"function"!=typeof b||(c=b,b=void 0),c?e(void 0,c):new Promise(e);function e(e,f){let g=av(b);d.run(a,g,function(b,d,g){let h=d||a;b?f(b):e?e(h):c(void 0,h,g)})}}runSync(a,b){let c,d=!1;return this.run(a,b,function(a,b){X(a),c=b,d=!0}),au("runSync","run",d),c}stringify(a,b){this.freeze();let c=av(b),d=this.compiler||this.Compiler;return ar("stringify",d),at(a),d(a,c)}use(a,...b){let c=this.attachers,d=this.namespace;if(as("use",this.frozen),null==a);else if("function"==typeof a)g(a,b);else if("object"==typeof a)Array.isArray(a)?f(a):e(a);else throw TypeError("Expected usable value, not `"+a+"`");return this;function e(a){if(!("plugins"in a)&&!("settings"in a))throw Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");f(a.plugins),a.settings&&(d.settings=Y(!0,d.settings,a.settings))}function f(a){let b=-1;if(null==a);else if(Array.isArray(a))for(;++b<a.length;){var c=a[b];if("function"==typeof c)g(c,[]);else if("object"==typeof c)if(Array.isArray(c)){let[a,...b]=c;g(a,b)}else e(c);else throw TypeError("Expected usable value, not `"+c+"`")}else throw TypeError("Expected a list of plugins, not `"+a+"`")}function g(a,b){let d=-1,e=-1;for(;++d<c.length;)if(c[d][0]===a){e=d;break}if(-1===e)c.push([a,...b]);else if(b.length>0){let[d,...f]=b,g=c[e][1];Z(g)&&Z(d)&&(d=Y(!0,g,d)),c[e]=[a,d,...f]}}}}let ap=new ao().freeze();function aq(a,b){if("function"!=typeof b)throw TypeError("Cannot `"+a+"` without `parser`")}function ar(a,b){if("function"!=typeof b)throw TypeError("Cannot `"+a+"` without `compiler`")}function as(a,b){if(b)throw Error("Cannot call `"+a+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function at(a){if(!Z(a)||"string"!=typeof a.type)throw TypeError("Expected node, got `"+a+"`")}function au(a,b,c){if(!c)throw Error("`"+a+"` finished async. Use `"+b+"` instead")}function av(a){var b;return(b=a)&&"object"==typeof b&&"message"in b&&"messages"in b?a:new ai(a)}let aw={};function ax(a,b){let c=b||aw;return ay(a,"boolean"!=typeof c.includeImageAlt||c.includeImageAlt,"boolean"!=typeof c.includeHtml||c.includeHtml)}function ay(a,b,c){var d;if((d=a)&&"object"==typeof d){if("value"in a)return"html"!==a.type||c?a.value:"";if(b&&"alt"in a&&a.alt)return a.alt;if("children"in a)return az(a.children,b,c)}return Array.isArray(a)?az(a,b,c):""}function az(a,b,c){let d=[],e=-1;for(;++e<a.length;)d[e]=ay(a[e],b,c);return d.join("")}function aA(a,b,c,d){let e,f=a.length,g=0;if(b=b<0?-b>f?0:f+b:b>f?f:b,c=c>0?c:0,d.length<1e4)(e=Array.from(d)).unshift(b,c),a.splice(...e);else for(c&&a.splice(b,c);g<d.length;)(e=d.slice(g,g+1e4)).unshift(b,0),a.splice(...e),g+=1e4,b+=1e4}function aB(a,b){return a.length>0?(aA(a,a.length,0,b),a):b}class aC{constructor(a){this.left=a?[...a]:[],this.right=[]}get(a){if(a<0||a>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+a+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return a<this.left.length?this.left[a]:this.right[this.right.length-a+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(a,b){let c=null==b?1/0:b;return c<this.left.length?this.left.slice(a,c):a>this.left.length?this.right.slice(this.right.length-c+this.left.length,this.right.length-a+this.left.length).reverse():this.left.slice(a).concat(this.right.slice(this.right.length-c+this.left.length).reverse())}splice(a,b,c){this.setCursor(Math.trunc(a));let d=this.right.splice(this.right.length-(b||0),1/0);return c&&aD(this.left,c),d.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(a){this.setCursor(1/0),this.left.push(a)}pushMany(a){this.setCursor(1/0),aD(this.left,a)}unshift(a){this.setCursor(0),this.right.push(a)}unshiftMany(a){this.setCursor(0),aD(this.right,a.reverse())}setCursor(a){if(a!==this.left.length&&(!(a>this.left.length)||0!==this.right.length)&&(!(a<0)||0!==this.left.length))if(a<this.left.length){let b=this.left.splice(a,1/0);aD(this.right,b.reverse())}else{let b=this.right.splice(this.left.length+this.right.length-a,1/0);aD(this.left,b.reverse())}}}function aD(a,b){let c=0;if(b.length<1e4)a.push(...b);else for(;c<b.length;)a.push(...b.slice(c,c+1e4)),c+=1e4}function aE(a){let b,c,d,e,f,g,h,i={},j=-1,k=new aC(a);for(;++j<k.length;){for(;j in i;)j=i[j];if(b=k.get(j),j&&"chunkFlow"===b[1].type&&"listItemPrefix"===k.get(j-1)[1].type&&((d=0)<(g=b[1]._tokenizer.events).length&&"lineEndingBlank"===g[d][1].type&&(d+=2),d<g.length&&"content"===g[d][1].type))for(;++d<g.length&&"content"!==g[d][1].type;)"chunkText"===g[d][1].type&&(g[d][1]._isInFirstContentOfListItem=!0,d++);if("enter"===b[0])b[1].contentType&&(Object.assign(i,function(a,b){let c,d,e=a.get(b)[1],f=a.get(b)[2],g=b-1,h=[],i=e._tokenizer;!i&&(i=f.parser[e.contentType](e.start),e._contentTypeTextTrailing&&(i._contentTypeTextTrailing=!0));let j=i.events,k=[],l={},m=-1,n=e,o=0,p=0,q=[0];for(;n;){for(;a.get(++g)[1]!==n;);h.push(g),!n._tokenizer&&(c=f.sliceStream(n),n.next||c.push(null),d&&i.defineSkip(n.start),n._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=!0),i.write(c),n._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=void 0)),d=n,n=n.next}for(n=e;++m<j.length;)"exit"===j[m][0]&&"enter"===j[m-1][0]&&j[m][1].type===j[m-1][1].type&&j[m][1].start.line!==j[m][1].end.line&&(p=m+1,q.push(p),n._tokenizer=void 0,n.previous=void 0,n=n.next);for(i.events=[],n?(n._tokenizer=void 0,n.previous=void 0):q.pop(),m=q.length;m--;){let b=j.slice(q[m],q[m+1]),c=h.pop();k.push([c,c+b.length-1]),a.splice(c,2,b)}for(k.reverse(),m=-1;++m<k.length;)l[o+k[m][0]]=o+k[m][1],o+=k[m][1]-k[m][0]-1;return l}(k,j)),j=i[j],h=!0);else if(b[1]._container){for(d=j,c=void 0;d--;)if("lineEnding"===(e=k.get(d))[1].type||"lineEndingBlank"===e[1].type)"enter"===e[0]&&(c&&(k.get(c)[1].type="lineEndingBlank"),e[1].type="lineEnding",c=d);else if("linePrefix"===e[1].type||"listItemIndent"===e[1].type);else break;c&&(b[1].end={...k.get(c)[1].start},(f=k.slice(c,j)).unshift(b),k.splice(c,j-c+1,f))}}return aA(a,0,1/0,k.slice(0)),!h}let aF={}.hasOwnProperty;function aG(a){let b={},c=-1;for(;++c<a.length;)!function(a,b){let c;for(c in b){let d,e=(aF.call(a,c)?a[c]:void 0)||(a[c]={}),f=b[c];if(f)for(d in f){aF.call(e,d)||(e[d]=[]);let a=f[d];!function(a,b){let c=-1,d=[];for(;++c<b.length;)("after"===b[c].add?a:d).push(b[c]);aA(a,0,0,d)}(e[d],Array.isArray(a)?a:a?[a]:[])}}}(b,a[c]);return b}let aH=aT(/[A-Za-z]/),aI=aT(/[\dA-Za-z]/),aJ=aT(/[#-'*+\--9=?A-Z^-~]/);function aK(a){return null!==a&&(a<32||127===a)}let aL=aT(/\d/),aM=aT(/[\dA-Fa-f]/),aN=aT(/[!-/:-@[-`{-~]/);function aO(a){return null!==a&&a<-2}function aP(a){return null!==a&&(a<0||32===a)}function aQ(a){return -2===a||-1===a||32===a}let aR=aT(/\p{P}|\p{S}/u),aS=aT(/\s/);function aT(a){return function(b){return null!==b&&b>-1&&a.test(String.fromCharCode(b))}}function aU(a,b,c,d){let e=d?d-1:1/0,f=0;return function(d){return aQ(d)?(a.enter(c),function d(g){return aQ(g)&&f++<e?(a.consume(g),d):(a.exit(c),b(g))}(d)):b(d)}}let aV={tokenize:function(a){let b,c=a.attempt(this.parser.constructs.contentInitial,function(b){return null===b?void a.consume(b):(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),aU(a,c,"linePrefix"))},function(c){return a.enter("paragraph"),function c(d){let e=a.enter("chunkText",{contentType:"text",previous:b});return b&&(b.next=e),b=e,function b(d){if(null===d){a.exit("chunkText"),a.exit("paragraph"),a.consume(d);return}return aO(d)?(a.consume(d),a.exit("chunkText"),c):(a.consume(d),b)}(d)}(c)});return c}},aW={tokenize:function(a){let b,c,d,e=this,f=[],g=0;return h;function h(b){if(g<f.length){let c=f[g];return e.containerState=c[1],a.attempt(c[0].continuation,i,j)(b)}return j(b)}function i(a){if(g++,e.containerState._closeFlow){let c;e.containerState._closeFlow=void 0,b&&r();let d=e.events.length,f=d;for(;f--;)if("exit"===e.events[f][0]&&"chunkFlow"===e.events[f][1].type){c=e.events[f][1].end;break}q(g);let h=d;for(;h<e.events.length;)e.events[h][1].end={...c},h++;return aA(e.events,f+1,0,e.events.slice(d)),e.events.length=h,j(a)}return h(a)}function j(c){if(g===f.length){if(!b)return m(c);if(b.currentConstruct&&b.currentConstruct.concrete)return o(c);e.interrupt=!!(b.currentConstruct&&!b._gfmTableDynamicInterruptHack)}return e.containerState={},a.check(aX,k,l)(c)}function k(a){return b&&r(),q(g),m(a)}function l(a){return e.parser.lazy[e.now().line]=g!==f.length,d=e.now().offset,o(a)}function m(b){return e.containerState={},a.attempt(aX,n,o)(b)}function n(a){return g++,f.push([e.currentConstruct,e.containerState]),m(a)}function o(d){if(null===d){b&&r(),q(0),a.consume(d);return}return b=b||e.parser.flow(e.now()),a.enter("chunkFlow",{_tokenizer:b,contentType:"flow",previous:c}),function b(c){if(null===c){p(a.exit("chunkFlow"),!0),q(0),a.consume(c);return}return aO(c)?(a.consume(c),p(a.exit("chunkFlow")),g=0,e.interrupt=void 0,h):(a.consume(c),b)}(d)}function p(a,f){let h=e.sliceStream(a);if(f&&h.push(null),a.previous=c,c&&(c.next=a),c=a,b.defineSkip(a.start),b.write(h),e.parser.lazy[a.start.line]){let a,c,f=b.events.length;for(;f--;)if(b.events[f][1].start.offset<d&&(!b.events[f][1].end||b.events[f][1].end.offset>d))return;let h=e.events.length,i=h;for(;i--;)if("exit"===e.events[i][0]&&"chunkFlow"===e.events[i][1].type){if(a){c=e.events[i][1].end;break}a=!0}for(q(g),f=h;f<e.events.length;)e.events[f][1].end={...c},f++;aA(e.events,i+1,0,e.events.slice(h)),e.events.length=f}}function q(b){let c=f.length;for(;c-- >b;){let b=f[c];e.containerState=b[1],b[0].exit.call(e,a)}f.length=b}function r(){b.write([null]),c=void 0,b=void 0,e.containerState._closeFlow=void 0}}},aX={tokenize:function(a,b,c){return aU(a,a.attempt(this.parser.constructs.document,b,c),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},aY={partial:!0,tokenize:function(a,b,c){return function(b){return aQ(b)?aU(a,d,"linePrefix")(b):d(b)};function d(a){return null===a||aO(a)?b(a):c(a)}}},aZ={resolve:function(a){return aE(a),a},tokenize:function(a,b){let c;return function(b){return a.enter("content"),c=a.enter("chunkContent",{contentType:"content"}),d(b)};function d(b){return null===b?e(b):aO(b)?a.check(a$,f,e)(b):(a.consume(b),d)}function e(c){return a.exit("chunkContent"),a.exit("content"),b(c)}function f(b){return a.consume(b),a.exit("chunkContent"),c.next=a.enter("chunkContent",{contentType:"content",previous:c}),c=c.next,d}}},a$={partial:!0,tokenize:function(a,b,c){let d=this;return function(b){return a.exit("chunkContent"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),aU(a,e,"linePrefix")};function e(e){if(null===e||aO(e))return c(e);let f=d.events[d.events.length-1];return!d.parser.constructs.disable.null.includes("codeIndented")&&f&&"linePrefix"===f[1].type&&f[2].sliceSerialize(f[1],!0).length>=4?b(e):a.interrupt(d.parser.constructs.flow,c,b)(e)}}},a_={tokenize:function(a){let b=this,c=a.attempt(aY,function(d){return null===d?void a.consume(d):(a.enter("lineEndingBlank"),a.consume(d),a.exit("lineEndingBlank"),b.currentConstruct=void 0,c)},a.attempt(this.parser.constructs.flowInitial,d,aU(a,a.attempt(this.parser.constructs.flow,d,a.attempt(aZ,d)),"linePrefix")));return c;function d(d){return null===d?void a.consume(d):(a.enter("lineEnding"),a.consume(d),a.exit("lineEnding"),b.currentConstruct=void 0,c)}}},a0={resolveAll:a4()},a1=a3("string"),a2=a3("text");function a3(a){return{resolveAll:a4("text"===a?a5:void 0),tokenize:function(b){let c=this,d=this.parser.constructs[a],e=b.attempt(d,f,g);return f;function f(a){return i(a)?e(a):g(a)}function g(a){return null===a?void b.consume(a):(b.enter("data"),b.consume(a),h)}function h(a){return i(a)?(b.exit("data"),e(a)):(b.consume(a),h)}function i(a){if(null===a)return!0;let b=d[a],e=-1;if(b)for(;++e<b.length;){let a=b[e];if(!a.previous||a.previous.call(c,c.previous))return!0}return!1}}}}function a4(a){return function(b,c){let d,e=-1;for(;++e<=b.length;)void 0===d?b[e]&&"data"===b[e][1].type&&(d=e,e++):b[e]&&"data"===b[e][1].type||(e!==d+2&&(b[d][1].end=b[e-1][1].end,b.splice(d+2,e-d-2),e=d+2),d=void 0);return a?a(b,c):b}}function a5(a,b){let c=0;for(;++c<=a.length;)if((c===a.length||"lineEnding"===a[c][1].type)&&"data"===a[c-1][1].type){let d,e=a[c-1][1],f=b.sliceStream(e),g=f.length,h=-1,i=0;for(;g--;){let a=f[g];if("string"==typeof a){for(h=a.length;32===a.charCodeAt(h-1);)i++,h--;if(h)break;h=-1}else if(-2===a)d=!0,i++;else if(-1===a);else{g++;break}}if(b._contentTypeTextTrailing&&c===a.length&&(i=0),i){let f={type:c===a.length||d||i<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:g?h:e.start._bufferIndex+h,_index:e.start._index+g,line:e.end.line,column:e.end.column-i,offset:e.end.offset-i},end:{...e.end}};e.end={...f.start},e.start.offset===e.end.offset?Object.assign(e,f):(a.splice(c,0,["enter",f,b],["exit",f,b]),c+=2)}c++}return a}let a6={name:"thematicBreak",tokenize:function(a,b,c){let d,e=0;return function(f){var g;return a.enter("thematicBreak"),d=g=f,function f(g){return g===d?(a.enter("thematicBreakSequence"),function b(c){return c===d?(a.consume(c),e++,b):(a.exit("thematicBreakSequence"),aQ(c)?aU(a,f,"whitespace")(c):f(c))}(g)):e>=3&&(null===g||aO(g))?(a.exit("thematicBreak"),b(g)):c(g)}(g)}}},a7={continuation:{tokenize:function(a,b,c){let d=this;return d.containerState._closeFlow=void 0,a.check(aY,function(c){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,aU(a,b,"listItemIndent",d.containerState.size+1)(c)},function(c){return d.containerState.furtherBlankLines||!aQ(c)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,e(c)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,a.attempt(a9,b,e)(c))});function e(e){return d.containerState._closeFlow=!0,d.interrupt=void 0,aU(a,a.attempt(a7,b,c),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(e)}}},exit:function(a){a.exit(this.containerState.type)},name:"list",tokenize:function(a,b,c){let d=this,e=d.events[d.events.length-1],f=e&&"linePrefix"===e[1].type?e[2].sliceSerialize(e[1],!0).length:0,g=0;return function(b){let e=d.containerState.type||(42===b||43===b||45===b?"listUnordered":"listOrdered");if("listUnordered"===e?!d.containerState.marker||b===d.containerState.marker:aL(b)){if(d.containerState.type||(d.containerState.type=e,a.enter(e,{_container:!0})),"listUnordered"===e)return a.enter("listItemPrefix"),42===b||45===b?a.check(a6,c,h)(b):h(b);if(!d.interrupt||49===b)return a.enter("listItemPrefix"),a.enter("listItemValue"),function b(e){return aL(e)&&++g<10?(a.consume(e),b):(!d.interrupt||g<2)&&(d.containerState.marker?e===d.containerState.marker:41===e||46===e)?(a.exit("listItemValue"),h(e)):c(e)}(b)}return c(b)};function h(b){return a.enter("listItemMarker"),a.consume(b),a.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||b,a.check(aY,d.interrupt?c:i,a.attempt(a8,k,j))}function i(a){return d.containerState.initialBlankLine=!0,f++,k(a)}function j(b){return aQ(b)?(a.enter("listItemPrefixWhitespace"),a.consume(b),a.exit("listItemPrefixWhitespace"),k):c(b)}function k(c){return d.containerState.size=f+d.sliceSerialize(a.exit("listItemPrefix"),!0).length,b(c)}}},a8={partial:!0,tokenize:function(a,b,c){let d=this;return aU(a,function(a){let e=d.events[d.events.length-1];return!aQ(a)&&e&&"listItemPrefixWhitespace"===e[1].type?b(a):c(a)},"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},a9={partial:!0,tokenize:function(a,b,c){let d=this;return aU(a,function(a){let e=d.events[d.events.length-1];return e&&"listItemIndent"===e[1].type&&e[2].sliceSerialize(e[1],!0).length===d.containerState.size?b(a):c(a)},"listItemIndent",d.containerState.size+1)}},ba={continuation:{tokenize:function(a,b,c){let d=this;return function(b){return aQ(b)?aU(a,e,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):e(b)};function e(d){return a.attempt(ba,b,c)(d)}}},exit:function(a){a.exit("blockQuote")},name:"blockQuote",tokenize:function(a,b,c){let d=this;return function(b){if(62===b){let c=d.containerState;return c.open||(a.enter("blockQuote",{_container:!0}),c.open=!0),a.enter("blockQuotePrefix"),a.enter("blockQuoteMarker"),a.consume(b),a.exit("blockQuoteMarker"),e}return c(b)};function e(c){return aQ(c)?(a.enter("blockQuotePrefixWhitespace"),a.consume(c),a.exit("blockQuotePrefixWhitespace"),a.exit("blockQuotePrefix"),b):(a.exit("blockQuotePrefix"),b(c))}}};function bb(a,b,c,d,e,f,g,h,i){let j=i||1/0,k=0;return function(b){return 60===b?(a.enter(d),a.enter(e),a.enter(f),a.consume(b),a.exit(f),l):null===b||32===b||41===b||aK(b)?c(b):(a.enter(d),a.enter(g),a.enter(h),a.enter("chunkString",{contentType:"string"}),o(b))};function l(c){return 62===c?(a.enter(f),a.consume(c),a.exit(f),a.exit(e),a.exit(d),b):(a.enter(h),a.enter("chunkString",{contentType:"string"}),m(c))}function m(b){return 62===b?(a.exit("chunkString"),a.exit(h),l(b)):null===b||60===b||aO(b)?c(b):(a.consume(b),92===b?n:m)}function n(b){return 60===b||62===b||92===b?(a.consume(b),m):m(b)}function o(e){return!k&&(null===e||41===e||aP(e))?(a.exit("chunkString"),a.exit(h),a.exit(g),a.exit(d),b(e)):k<j&&40===e?(a.consume(e),k++,o):41===e?(a.consume(e),k--,o):null===e||32===e||40===e||aK(e)?c(e):(a.consume(e),92===e?p:o)}function p(b){return 40===b||41===b||92===b?(a.consume(b),o):o(b)}}function bc(a,b,c,d,e,f){let g,h=this,i=0;return function(b){return a.enter(d),a.enter(e),a.consume(b),a.exit(e),a.enter(f),j};function j(l){return i>999||null===l||91===l||93===l&&!g||94===l&&!i&&"_hiddenFootnoteSupport"in h.parser.constructs?c(l):93===l?(a.exit(f),a.enter(e),a.consume(l),a.exit(e),a.exit(d),b):aO(l)?(a.enter("lineEnding"),a.consume(l),a.exit("lineEnding"),j):(a.enter("chunkString",{contentType:"string"}),k(l))}function k(b){return null===b||91===b||93===b||aO(b)||i++>999?(a.exit("chunkString"),j(b)):(a.consume(b),g||(g=!aQ(b)),92===b?l:k)}function l(b){return 91===b||92===b||93===b?(a.consume(b),i++,k):k(b)}}function bd(a,b,c,d,e,f){let g;return function(b){return 34===b||39===b||40===b?(a.enter(d),a.enter(e),a.consume(b),a.exit(e),g=40===b?41:b,h):c(b)};function h(c){return c===g?(a.enter(e),a.consume(c),a.exit(e),a.exit(d),b):(a.enter(f),i(c))}function i(b){return b===g?(a.exit(f),h(g)):null===b?c(b):aO(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),aU(a,i,"linePrefix")):(a.enter("chunkString",{contentType:"string"}),j(b))}function j(b){return b===g||null===b||aO(b)?(a.exit("chunkString"),i(b)):(a.consume(b),92===b?k:j)}function k(b){return b===g||92===b?(a.consume(b),j):j(b)}}function be(a,b){let c;return function d(e){return aO(e)?(a.enter("lineEnding"),a.consume(e),a.exit("lineEnding"),c=!0,d):aQ(e)?aU(a,d,c?"linePrefix":"lineSuffix")(e):b(e)}}function bf(a){return a.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}let bg={partial:!0,tokenize:function(a,b,c){return function(b){return aP(b)?be(a,d)(b):c(b)};function d(b){return bd(a,e,c,"definitionTitle","definitionTitleMarker","definitionTitleString")(b)}function e(b){return aQ(b)?aU(a,f,"whitespace")(b):f(b)}function f(a){return null===a||aO(a)?b(a):c(a)}}},bh={name:"codeIndented",tokenize:function(a,b,c){let d=this;return function(b){return a.enter("codeIndented"),aU(a,e,"linePrefix",5)(b)};function e(b){let e=d.events[d.events.length-1];return e&&"linePrefix"===e[1].type&&e[2].sliceSerialize(e[1],!0).length>=4?function b(c){return null===c?f(c):aO(c)?a.attempt(bi,b,f)(c):(a.enter("codeFlowValue"),function c(d){return null===d||aO(d)?(a.exit("codeFlowValue"),b(d)):(a.consume(d),c)}(c))}(b):c(b)}function f(c){return a.exit("codeIndented"),b(c)}}},bi={partial:!0,tokenize:function(a,b,c){let d=this;return e;function e(b){return d.parser.lazy[d.now().line]?c(b):aO(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),e):aU(a,f,"linePrefix",5)(b)}function f(a){let f=d.events[d.events.length-1];return f&&"linePrefix"===f[1].type&&f[2].sliceSerialize(f[1],!0).length>=4?b(a):aO(a)?e(a):c(a)}}},bj={name:"setextUnderline",resolveTo:function(a,b){let c,d,e,f=a.length;for(;f--;)if("enter"===a[f][0]){if("content"===a[f][1].type){c=f;break}"paragraph"===a[f][1].type&&(d=f)}else"content"===a[f][1].type&&a.splice(f,1),e||"definition"!==a[f][1].type||(e=f);let g={type:"setextHeading",start:{...a[c][1].start},end:{...a[a.length-1][1].end}};return a[d][1].type="setextHeadingText",e?(a.splice(d,0,["enter",g,b]),a.splice(e+1,0,["exit",a[c][1],b]),a[c][1].end={...a[e][1].end}):a[c][1]=g,a.push(["exit",g,b]),a},tokenize:function(a,b,c){let d,e=this;return function(b){var g;let h,i=e.events.length;for(;i--;)if("lineEnding"!==e.events[i][1].type&&"linePrefix"!==e.events[i][1].type&&"content"!==e.events[i][1].type){h="paragraph"===e.events[i][1].type;break}return!e.parser.lazy[e.now().line]&&(e.interrupt||h)?(a.enter("setextHeadingLine"),d=b,g=b,a.enter("setextHeadingLineSequence"),function b(c){return c===d?(a.consume(c),b):(a.exit("setextHeadingLineSequence"),aQ(c)?aU(a,f,"lineSuffix")(c):f(c))}(g)):c(b)};function f(d){return null===d||aO(d)?(a.exit("setextHeadingLine"),b(d)):c(d)}}},bk=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],bl=["pre","script","style","textarea"],bm={partial:!0,tokenize:function(a,b,c){return function(d){return a.enter("lineEnding"),a.consume(d),a.exit("lineEnding"),a.attempt(aY,b,c)}}},bn={partial:!0,tokenize:function(a,b,c){let d=this;return function(b){return aO(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),e):c(b)};function e(a){return d.parser.lazy[d.now().line]?c(a):b(a)}}},bo={partial:!0,tokenize:function(a,b,c){let d=this;return function(b){return null===b?c(b):(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),e)};function e(a){return d.parser.lazy[d.now().line]?c(a):b(a)}}},bp={concrete:!0,name:"codeFenced",tokenize:function(a,b,c){let d,e=this,f={partial:!0,tokenize:function(a,b,c){let f=0;return function(b){return a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),g};function g(b){return a.enter("codeFencedFence"),aQ(b)?aU(a,i,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):i(b)}function i(b){return b===d?(a.enter("codeFencedFenceSequence"),function b(e){return e===d?(f++,a.consume(e),b):f>=h?(a.exit("codeFencedFenceSequence"),aQ(e)?aU(a,j,"whitespace")(e):j(e)):c(e)}(b)):c(b)}function j(d){return null===d||aO(d)?(a.exit("codeFencedFence"),b(d)):c(d)}}},g=0,h=0;return function(b){var f=b;let j=e.events[e.events.length-1];return g=j&&"linePrefix"===j[1].type?j[2].sliceSerialize(j[1],!0).length:0,d=f,a.enter("codeFenced"),a.enter("codeFencedFence"),a.enter("codeFencedFenceSequence"),function b(e){return e===d?(h++,a.consume(e),b):h<3?c(e):(a.exit("codeFencedFenceSequence"),aQ(e)?aU(a,i,"whitespace")(e):i(e))}(f)};function i(f){return null===f||aO(f)?(a.exit("codeFencedFence"),e.interrupt?b(f):a.check(bo,k,o)(f)):(a.enter("codeFencedFenceInfo"),a.enter("chunkString",{contentType:"string"}),function b(e){return null===e||aO(e)?(a.exit("chunkString"),a.exit("codeFencedFenceInfo"),i(e)):aQ(e)?(a.exit("chunkString"),a.exit("codeFencedFenceInfo"),aU(a,j,"whitespace")(e)):96===e&&e===d?c(e):(a.consume(e),b)}(f))}function j(b){return null===b||aO(b)?i(b):(a.enter("codeFencedFenceMeta"),a.enter("chunkString",{contentType:"string"}),function b(e){return null===e||aO(e)?(a.exit("chunkString"),a.exit("codeFencedFenceMeta"),i(e)):96===e&&e===d?c(e):(a.consume(e),b)}(b))}function k(b){return a.attempt(f,o,l)(b)}function l(b){return a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),m}function m(b){return g>0&&aQ(b)?aU(a,n,"linePrefix",g+1)(b):n(b)}function n(b){return null===b||aO(b)?a.check(bo,k,o)(b):(a.enter("codeFlowValue"),function b(c){return null===c||aO(c)?(a.exit("codeFlowValue"),n(c)):(a.consume(c),b)}(b))}function o(c){return a.exit("codeFenced"),b(c)}}},bq={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"Ă",Acirc:"\xc2",Acy:"А",Afr:"\uD835\uDD04",Agrave:"\xc0",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"\uD835\uDD38",ApplyFunction:"⁡",Aring:"\xc5",Ascr:"\uD835\uDC9C",Assign:"≔",Atilde:"\xc3",Auml:"\xc4",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"\xa9",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"\xc7",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"\uD835\uDC9E",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xb4",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"\uD835\uDD3B",Dot:"\xa8",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"\xa8",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"\uD835\uDC9F",Dstrok:"Đ",ENG:"Ŋ",ETH:"\xd0",Eacute:"\xc9",Ecaron:"Ě",Ecirc:"\xca",Ecy:"Э",Edot:"Ė",Efr:"\uD835\uDD08",Egrave:"\xc8",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"\uD835\uDD3C",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"\xcb",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"\uD835\uDD09",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"\uD835\uDD3D",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"\uD835\uDD0A",Gg:"⋙",Gopf:"\uD835\uDD3E",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"\uD835\uDCA2",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"\xcd",Icirc:"\xce",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"\xcc",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"\uD835\uDD40",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"\xcf",Jcirc:"Ĵ",Jcy:"Й",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"\uD835\uDD0F",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"\uD835\uDD43",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"\uD835\uDD10",MinusPlus:"∓",Mopf:"\uD835\uDD44",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"\uD835\uDD11",NoBreak:"⁠",NonBreakingSpace:"\xa0",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"\uD835\uDCA9",Ntilde:"\xd1",Nu:"Ν",OElig:"Œ",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"О",Odblac:"Ő",Ofr:"\uD835\uDD12",Ograve:"\xd2",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"\uD835\uDD46",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"\uD835\uDCAA",Oslash:"\xd8",Otilde:"\xd5",Otimes:"⨷",Ouml:"\xd6",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"\uD835\uDD13",Phi:"Φ",Pi:"Π",PlusMinus:"\xb1",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"\uD835\uDCAB",Psi:"Ψ",QUOT:'"',Qfr:"\uD835\uDD14",Qopf:"ℚ",Qscr:"\uD835\uDCAC",RBarr:"⤐",REG:"\xae",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"\uD835\uDD16",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"\uD835\uDD4A",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"\uD835\uDCAE",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"\xde",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"\uD835\uDD17",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"\uD835\uDD4B",TripleDot:"⃛",Tscr:"\uD835\uDCAF",Tstrok:"Ŧ",Uacute:"\xda",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"\xdb",Ucy:"У",Udblac:"Ű",Ufr:"\uD835\uDD18",Ugrave:"\xd9",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"\uD835\uDD4C",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"\uD835\uDCB0",Utilde:"Ũ",Uuml:"\xdc",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"\uD835\uDD19",Vopf:"\uD835\uDD4D",Vscr:"\uD835\uDCB1",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"\uD835\uDD1A",Wopf:"\uD835\uDD4E",Wscr:"\uD835\uDCB2",Xfr:"\uD835\uDD1B",Xi:"Ξ",Xopf:"\uD835\uDD4F",Xscr:"\uD835\uDCB3",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"\xdd",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"\uD835\uDD1C",Yopf:"\uD835\uDD50",Yscr:"\uD835\uDCB4",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"\uD835\uDCB5",aacute:"\xe1",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"\xe2",acute:"\xb4",acy:"а",aelig:"\xe6",af:"⁡",afr:"\uD835\uDD1E",agrave:"\xe0",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"\xc5",angzarr:"⍼",aogon:"ą",aopf:"\uD835\uDD52",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"\xe5",ascr:"\uD835\uDCB6",ast:"*",asymp:"≈",asympeq:"≍",atilde:"\xe3",auml:"\xe4",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"\uD835\uDD1F",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"\uD835\uDD53",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"\xa6",bscr:"\uD835\uDCB7",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"\xe7",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"\xb8",cemptyv:"⦲",cent:"\xa2",centerdot:"\xb7",cfr:"\uD835\uDD20",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"\xae",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"\uD835\uDD54",coprod:"∐",copy:"\xa9",copysr:"℗",crarr:"↵",cross:"✗",cscr:"\uD835\uDCB8",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"\xa4",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"\xb0",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"\uD835\uDD21",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"\xa8",digamma:"ϝ",disin:"⋲",div:"\xf7",divide:"\xf7",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"\uD835\uDD55",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"\uD835\uDCB9",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"\xe9",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"\xea",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"\uD835\uDD22",eg:"⪚",egrave:"\xe8",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"\uD835\uDD56",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"\xf0",euml:"\xeb",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"\uD835\uDD23",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"\uD835\uDD57",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"\xbd",frac13:"⅓",frac14:"\xbc",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"\xbe",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"\uD835\uDCBB",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"\uD835\uDD24",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"\uD835\uDD58",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"\xbd",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"\uD835\uDD25",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"\uD835\uDD59",horbar:"―",hscr:"\uD835\uDCBD",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"\xed",ic:"⁣",icirc:"\xee",icy:"и",iecy:"е",iexcl:"\xa1",iff:"⇔",ifr:"\uD835\uDD26",igrave:"\xec",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"\uD835\uDD5A",iota:"ι",iprod:"⨼",iquest:"\xbf",iscr:"\uD835\uDCBE",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"\xef",jcirc:"ĵ",jcy:"й",jfr:"\uD835\uDD27",jmath:"ȷ",jopf:"\uD835\uDD5B",jscr:"\uD835\uDCBF",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"\uD835\uDD28",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"\uD835\uDD5C",kscr:"\uD835\uDCC0",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"\xab",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"\uD835\uDD29",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"\uD835\uDD5D",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"\uD835\uDCC1",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"\xaf",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"\uD835\uDD2A",mho:"℧",micro:"\xb5",mid:"∣",midast:"*",midcir:"⫰",middot:"\xb7",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"\uD835\uDD5E",mp:"∓",mscr:"\uD835\uDCC2",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:"\xa0",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"\uD835\uDD2B",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"\uD835\uDD5F",not:"\xac",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"\uD835\uDCC3",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"\xf1",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"\xf3",oast:"⊛",ocir:"⊚",ocirc:"\xf4",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"\uD835\uDD2C",ogon:"˛",ograve:"\xf2",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"\uD835\uDD60",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"\xaa",ordm:"\xba",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"\xf8",osol:"⊘",otilde:"\xf5",otimes:"⊗",otimesas:"⨶",ouml:"\xf6",ovbar:"⌽",par:"∥",para:"\xb6",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"\uD835\uDD2D",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"\xb1",plussim:"⨦",plustwo:"⨧",pm:"\xb1",pointint:"⨕",popf:"\uD835\uDD61",pound:"\xa3",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"\uD835\uDCC5",psi:"ψ",puncsp:" ",qfr:"\uD835\uDD2E",qint:"⨌",qopf:"\uD835\uDD62",qprime:"⁗",qscr:"\uD835\uDCC6",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"\xbb",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"\xae",rfisht:"⥽",rfloor:"⌋",rfr:"\uD835\uDD2F",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"\uD835\uDD63",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"\uD835\uDCC7",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"\xa7",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"\uD835\uDD30",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"\xad",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"\uD835\uDD64",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"\uD835\uDCC8",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"\xaf",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"\xdf",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"\uD835\uDD31",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"\xfe",tilde:"˜",times:"\xd7",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"\uD835\uDD65",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"\uD835\uDCC9",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"\xfa",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"\xfb",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"\uD835\uDD32",ugrave:"\xf9",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"\xa8",uogon:"ų",uopf:"\uD835\uDD66",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"\uD835\uDCCA",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"\xfc",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"\uD835\uDD33",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"\uD835\uDD67",vprop:"∝",vrtri:"⊳",vscr:"\uD835\uDCCB",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"\uD835\uDD34",wopf:"\uD835\uDD68",wp:"℘",wr:"≀",wreath:"≀",wscr:"\uD835\uDCCC",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"\uD835\uDD35",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"\uD835\uDD69",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"\uD835\uDCCD",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"\xfd",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"\xa5",yfr:"\uD835\uDD36",yicy:"ї",yopf:"\uD835\uDD6A",yscr:"\uD835\uDCCE",yucy:"ю",yuml:"\xff",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"\uD835\uDD37",zhcy:"ж",zigrarr:"⇝",zopf:"\uD835\uDD6B",zscr:"\uD835\uDCCF",zwj:"‍",zwnj:"‌"},br={}.hasOwnProperty;function bs(a){return!!br.call(bq,a)&&bq[a]}let bt={name:"characterReference",tokenize:function(a,b,c){let d,e,f=this,g=0;return function(b){return a.enter("characterReference"),a.enter("characterReferenceMarker"),a.consume(b),a.exit("characterReferenceMarker"),h};function h(b){return 35===b?(a.enter("characterReferenceMarkerNumeric"),a.consume(b),a.exit("characterReferenceMarkerNumeric"),i):(a.enter("characterReferenceValue"),d=31,e=aI,j(b))}function i(b){return 88===b||120===b?(a.enter("characterReferenceMarkerHexadecimal"),a.consume(b),a.exit("characterReferenceMarkerHexadecimal"),a.enter("characterReferenceValue"),d=6,e=aM,j):(a.enter("characterReferenceValue"),d=7,e=aL,j(b))}function j(h){if(59===h&&g){let d=a.exit("characterReferenceValue");return e!==aI||bs(f.sliceSerialize(d))?(a.enter("characterReferenceMarker"),a.consume(h),a.exit("characterReferenceMarker"),a.exit("characterReference"),b):c(h)}return e(h)&&g++<d?(a.consume(h),j):c(h)}}},bu={name:"characterEscape",tokenize:function(a,b,c){return function(b){return a.enter("characterEscape"),a.enter("escapeMarker"),a.consume(b),a.exit("escapeMarker"),d};function d(d){return aN(d)?(a.enter("characterEscapeValue"),a.consume(d),a.exit("characterEscapeValue"),a.exit("characterEscape"),b):c(d)}}},bv={name:"lineEnding",tokenize:function(a,b){return function(c){return a.enter("lineEnding"),a.consume(c),a.exit("lineEnding"),aU(a,b,"linePrefix")}}};function bw(a,b,c){let d=[],e=-1;for(;++e<a.length;){let f=a[e].resolveAll;f&&!d.includes(f)&&(b=f(b,c),d.push(f))}return b}let bx={name:"labelEnd",resolveAll:function(a){let b=-1,c=[];for(;++b<a.length;){let d=a[b][1];if(c.push(a[b]),"labelImage"===d.type||"labelLink"===d.type||"labelEnd"===d.type){let a="labelImage"===d.type?4:2;d.type="data",b+=a}}return a.length!==c.length&&aA(a,0,a.length,c),a},resolveTo:function(a,b){let c,d,e,f,g=a.length,h=0;for(;g--;)if(c=a[g][1],d){if("link"===c.type||"labelLink"===c.type&&c._inactive)break;"enter"===a[g][0]&&"labelLink"===c.type&&(c._inactive=!0)}else if(e){if("enter"===a[g][0]&&("labelImage"===c.type||"labelLink"===c.type)&&!c._balanced&&(d=g,"labelLink"!==c.type)){h=2;break}}else"labelEnd"===c.type&&(e=g);let i={type:"labelLink"===a[d][1].type?"link":"image",start:{...a[d][1].start},end:{...a[a.length-1][1].end}},j={type:"label",start:{...a[d][1].start},end:{...a[e][1].end}},k={type:"labelText",start:{...a[d+h+2][1].end},end:{...a[e-2][1].start}};return f=aB(f=[["enter",i,b],["enter",j,b]],a.slice(d+1,d+h+3)),f=aB(f,[["enter",k,b]]),f=aB(f,bw(b.parser.constructs.insideSpan.null,a.slice(d+h+4,e-3),b)),f=aB(f,[["exit",k,b],a[e-2],a[e-1],["exit",j,b]]),f=aB(f,a.slice(e+1)),f=aB(f,[["exit",i,b]]),aA(a,d,a.length,f),a},tokenize:function(a,b,c){let d,e,f=this,g=f.events.length;for(;g--;)if(("labelImage"===f.events[g][1].type||"labelLink"===f.events[g][1].type)&&!f.events[g][1]._balanced){d=f.events[g][1];break}return function(b){return d?d._inactive?k(b):(e=f.parser.defined.includes(bf(f.sliceSerialize({start:d.end,end:f.now()}))),a.enter("labelEnd"),a.enter("labelMarker"),a.consume(b),a.exit("labelMarker"),a.exit("labelEnd"),h):c(b)};function h(b){return 40===b?a.attempt(by,j,e?j:k)(b):91===b?a.attempt(bz,j,e?i:k)(b):e?j(b):k(b)}function i(b){return a.attempt(bA,j,k)(b)}function j(a){return b(a)}function k(a){return d._balanced=!0,c(a)}}},by={tokenize:function(a,b,c){return function(b){return a.enter("resource"),a.enter("resourceMarker"),a.consume(b),a.exit("resourceMarker"),d};function d(b){return aP(b)?be(a,e)(b):e(b)}function e(b){return 41===b?j(b):bb(a,f,g,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(b)}function f(b){return aP(b)?be(a,h)(b):j(b)}function g(a){return c(a)}function h(b){return 34===b||39===b||40===b?bd(a,i,c,"resourceTitle","resourceTitleMarker","resourceTitleString")(b):j(b)}function i(b){return aP(b)?be(a,j)(b):j(b)}function j(d){return 41===d?(a.enter("resourceMarker"),a.consume(d),a.exit("resourceMarker"),a.exit("resource"),b):c(d)}}},bz={tokenize:function(a,b,c){let d=this;return function(b){return bc.call(d,a,e,f,"reference","referenceMarker","referenceString")(b)};function e(a){return d.parser.defined.includes(bf(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)))?b(a):c(a)}function f(a){return c(a)}}},bA={tokenize:function(a,b,c){return function(b){return a.enter("reference"),a.enter("referenceMarker"),a.consume(b),a.exit("referenceMarker"),d};function d(d){return 93===d?(a.enter("referenceMarker"),a.consume(d),a.exit("referenceMarker"),a.exit("reference"),b):c(d)}}},bB={name:"labelStartImage",resolveAll:bx.resolveAll,tokenize:function(a,b,c){let d=this;return function(b){return a.enter("labelImage"),a.enter("labelImageMarker"),a.consume(b),a.exit("labelImageMarker"),e};function e(b){return 91===b?(a.enter("labelMarker"),a.consume(b),a.exit("labelMarker"),a.exit("labelImage"),f):c(b)}function f(a){return 94===a&&"_hiddenFootnoteSupport"in d.parser.constructs?c(a):b(a)}}};function bC(a){return null===a||aP(a)||aS(a)?1:aR(a)?2:void 0}let bD={name:"attention",resolveAll:function(a,b){let c,d,e,f,g,h,i,j,k=-1;for(;++k<a.length;)if("enter"===a[k][0]&&"attentionSequence"===a[k][1].type&&a[k][1]._close){for(c=k;c--;)if("exit"===a[c][0]&&"attentionSequence"===a[c][1].type&&a[c][1]._open&&b.sliceSerialize(a[c][1]).charCodeAt(0)===b.sliceSerialize(a[k][1]).charCodeAt(0)){if((a[c][1]._close||a[k][1]._open)&&(a[k][1].end.offset-a[k][1].start.offset)%3&&!((a[c][1].end.offset-a[c][1].start.offset+a[k][1].end.offset-a[k][1].start.offset)%3))continue;h=a[c][1].end.offset-a[c][1].start.offset>1&&a[k][1].end.offset-a[k][1].start.offset>1?2:1;let l={...a[c][1].end},m={...a[k][1].start};bE(l,-h),bE(m,h),f={type:h>1?"strongSequence":"emphasisSequence",start:l,end:{...a[c][1].end}},g={type:h>1?"strongSequence":"emphasisSequence",start:{...a[k][1].start},end:m},e={type:h>1?"strongText":"emphasisText",start:{...a[c][1].end},end:{...a[k][1].start}},d={type:h>1?"strong":"emphasis",start:{...f.start},end:{...g.end}},a[c][1].end={...f.start},a[k][1].start={...g.end},i=[],a[c][1].end.offset-a[c][1].start.offset&&(i=aB(i,[["enter",a[c][1],b],["exit",a[c][1],b]])),i=aB(i,[["enter",d,b],["enter",f,b],["exit",f,b],["enter",e,b]]),i=aB(i,bw(b.parser.constructs.insideSpan.null,a.slice(c+1,k),b)),i=aB(i,[["exit",e,b],["enter",g,b],["exit",g,b],["exit",d,b]]),a[k][1].end.offset-a[k][1].start.offset?(j=2,i=aB(i,[["enter",a[k][1],b],["exit",a[k][1],b]])):j=0,aA(a,c-1,k-c+3,i),k=c+i.length-j-2;break}}for(k=-1;++k<a.length;)"attentionSequence"===a[k][1].type&&(a[k][1].type="data");return a},tokenize:function(a,b){let c,d=this.parser.constructs.attentionMarkers.null,e=this.previous,f=bC(e);return function(g){return c=g,a.enter("attentionSequence"),function g(h){if(h===c)return a.consume(h),g;let i=a.exit("attentionSequence"),j=bC(h),k=!j||2===j&&f||d.includes(h),l=!f||2===f&&j||d.includes(e);return i._open=!!(42===c?k:k&&(f||!l)),i._close=!!(42===c?l:l&&(j||!k)),b(h)}(g)}}};function bE(a,b){a.column+=b,a.offset+=b,a._bufferIndex+=b}let bF={name:"labelStartLink",resolveAll:bx.resolveAll,tokenize:function(a,b,c){let d=this;return function(b){return a.enter("labelLink"),a.enter("labelMarker"),a.consume(b),a.exit("labelMarker"),a.exit("labelLink"),e};function e(a){return 94===a&&"_hiddenFootnoteSupport"in d.parser.constructs?c(a):b(a)}}},bG={42:a7,43:a7,45:a7,48:a7,49:a7,50:a7,51:a7,52:a7,53:a7,54:a7,55:a7,56:a7,57:a7,62:ba},bH={91:{name:"definition",tokenize:function(a,b,c){let d,e=this;return function(b){var d;return a.enter("definition"),d=b,bc.call(e,a,f,c,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)};function f(b){return(d=bf(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),58===b)?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),g):c(b)}function g(b){return aP(b)?be(a,h)(b):h(b)}function h(b){return bb(a,i,c,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(b)}function i(b){return a.attempt(bg,j,j)(b)}function j(b){return aQ(b)?aU(a,k,"whitespace")(b):k(b)}function k(f){return null===f||aO(f)?(a.exit("definition"),e.parser.defined.push(d),b(f)):c(f)}}}},bI={[-2]:bh,[-1]:bh,32:bh},bJ={35:{name:"headingAtx",resolve:function(a,b){let c,d,e=a.length-2,f=3;return"whitespace"===a[3][1].type&&(f+=2),e-2>f&&"whitespace"===a[e][1].type&&(e-=2),"atxHeadingSequence"===a[e][1].type&&(f===e-1||e-4>f&&"whitespace"===a[e-2][1].type)&&(e-=f+1===e?2:4),e>f&&(c={type:"atxHeadingText",start:a[f][1].start,end:a[e][1].end},d={type:"chunkText",start:a[f][1].start,end:a[e][1].end,contentType:"text"},aA(a,f,e-f+1,[["enter",c,b],["enter",d,b],["exit",d,b],["exit",c,b]])),a},tokenize:function(a,b,c){let d=0;return function(e){var f;return a.enter("atxHeading"),f=e,a.enter("atxHeadingSequence"),function e(f){return 35===f&&d++<6?(a.consume(f),e):null===f||aP(f)?(a.exit("atxHeadingSequence"),function c(d){return 35===d?(a.enter("atxHeadingSequence"),function b(d){return 35===d?(a.consume(d),b):(a.exit("atxHeadingSequence"),c(d))}(d)):null===d||aO(d)?(a.exit("atxHeading"),b(d)):aQ(d)?aU(a,c,"whitespace")(d):(a.enter("atxHeadingText"),function b(d){return null===d||35===d||aP(d)?(a.exit("atxHeadingText"),c(d)):(a.consume(d),b)}(d))}(f)):c(f)}(f)}}},42:a6,45:[bj,a6],60:{concrete:!0,name:"htmlFlow",resolveTo:function(a){let b=a.length;for(;b--&&("enter"!==a[b][0]||"htmlFlow"!==a[b][1].type););return b>1&&"linePrefix"===a[b-2][1].type&&(a[b][1].start=a[b-2][1].start,a[b+1][1].start=a[b-2][1].start,a.splice(b-2,2)),a},tokenize:function(a,b,c){let d,e,f,g,h,i=this;return function(b){var c;return c=b,a.enter("htmlFlow"),a.enter("htmlFlowData"),a.consume(c),j};function j(g){return 33===g?(a.consume(g),k):47===g?(a.consume(g),e=!0,n):63===g?(a.consume(g),d=3,i.interrupt?b:G):aH(g)?(a.consume(g),f=String.fromCharCode(g),o):c(g)}function k(e){return 45===e?(a.consume(e),d=2,l):91===e?(a.consume(e),d=5,g=0,m):aH(e)?(a.consume(e),d=4,i.interrupt?b:G):c(e)}function l(d){return 45===d?(a.consume(d),i.interrupt?b:G):c(d)}function m(d){let e="CDATA[";return d===e.charCodeAt(g++)?(a.consume(d),g===e.length)?i.interrupt?b:y:m:c(d)}function n(b){return aH(b)?(a.consume(b),f=String.fromCharCode(b),o):c(b)}function o(g){if(null===g||47===g||62===g||aP(g)){let h=47===g,j=f.toLowerCase();return!h&&!e&&bl.includes(j)?(d=1,i.interrupt?b(g):y(g)):bk.includes(f.toLowerCase())?(d=6,h)?(a.consume(g),p):i.interrupt?b(g):y(g):(d=7,i.interrupt&&!i.parser.lazy[i.now().line]?c(g):e?function b(c){return aQ(c)?(a.consume(c),b):w(c)}(g):q(g))}return 45===g||aI(g)?(a.consume(g),f+=String.fromCharCode(g),o):c(g)}function p(d){return 62===d?(a.consume(d),i.interrupt?b:y):c(d)}function q(b){return 47===b?(a.consume(b),w):58===b||95===b||aH(b)?(a.consume(b),r):aQ(b)?(a.consume(b),q):w(b)}function r(b){return 45===b||46===b||58===b||95===b||aI(b)?(a.consume(b),r):s(b)}function s(b){return 61===b?(a.consume(b),t):aQ(b)?(a.consume(b),s):q(b)}function t(b){return null===b||60===b||61===b||62===b||96===b?c(b):34===b||39===b?(a.consume(b),h=b,u):aQ(b)?(a.consume(b),t):function b(c){return null===c||34===c||39===c||47===c||60===c||61===c||62===c||96===c||aP(c)?s(c):(a.consume(c),b)}(b)}function u(b){return b===h?(a.consume(b),h=null,v):null===b||aO(b)?c(b):(a.consume(b),u)}function v(a){return 47===a||62===a||aQ(a)?q(a):c(a)}function w(b){return 62===b?(a.consume(b),x):c(b)}function x(b){return null===b||aO(b)?y(b):aQ(b)?(a.consume(b),x):c(b)}function y(b){return 45===b&&2===d?(a.consume(b),C):60===b&&1===d?(a.consume(b),D):62===b&&4===d?(a.consume(b),H):63===b&&3===d?(a.consume(b),G):93===b&&5===d?(a.consume(b),F):aO(b)&&(6===d||7===d)?(a.exit("htmlFlowData"),a.check(bm,I,z)(b)):null===b||aO(b)?(a.exit("htmlFlowData"),z(b)):(a.consume(b),y)}function z(b){return a.check(bn,A,I)(b)}function A(b){return a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),B}function B(b){return null===b||aO(b)?z(b):(a.enter("htmlFlowData"),y(b))}function C(b){return 45===b?(a.consume(b),G):y(b)}function D(b){return 47===b?(a.consume(b),f="",E):y(b)}function E(b){if(62===b){let c=f.toLowerCase();return bl.includes(c)?(a.consume(b),H):y(b)}return aH(b)&&f.length<8?(a.consume(b),f+=String.fromCharCode(b),E):y(b)}function F(b){return 93===b?(a.consume(b),G):y(b)}function G(b){return 62===b?(a.consume(b),H):45===b&&2===d?(a.consume(b),G):y(b)}function H(b){return null===b||aO(b)?(a.exit("htmlFlowData"),I(b)):(a.consume(b),H)}function I(c){return a.exit("htmlFlow"),b(c)}}},61:bj,95:a6,96:bp,126:bp},bK={38:bt,92:bu},bL={[-5]:bv,[-4]:bv,[-3]:bv,33:bB,38:bt,42:bD,60:[{name:"autolink",tokenize:function(a,b,c){let d=0;return function(b){return a.enter("autolink"),a.enter("autolinkMarker"),a.consume(b),a.exit("autolinkMarker"),a.enter("autolinkProtocol"),e};function e(b){return aH(b)?(a.consume(b),f):64===b?c(b):h(b)}function f(b){return 43===b||45===b||46===b||aI(b)?(d=1,function b(c){return 58===c?(a.consume(c),d=0,g):(43===c||45===c||46===c||aI(c))&&d++<32?(a.consume(c),b):(d=0,h(c))}(b)):h(b)}function g(d){return 62===d?(a.exit("autolinkProtocol"),a.enter("autolinkMarker"),a.consume(d),a.exit("autolinkMarker"),a.exit("autolink"),b):null===d||32===d||60===d||aK(d)?c(d):(a.consume(d),g)}function h(b){return 64===b?(a.consume(b),i):aJ(b)?(a.consume(b),h):c(b)}function i(e){return aI(e)?function e(f){return 46===f?(a.consume(f),d=0,i):62===f?(a.exit("autolinkProtocol").type="autolinkEmail",a.enter("autolinkMarker"),a.consume(f),a.exit("autolinkMarker"),a.exit("autolink"),b):function b(f){if((45===f||aI(f))&&d++<63){let c=45===f?b:e;return a.consume(f),c}return c(f)}(f)}(e):c(e)}}},{name:"htmlText",tokenize:function(a,b,c){let d,e,f,g=this;return function(b){return a.enter("htmlText"),a.enter("htmlTextData"),a.consume(b),h};function h(b){return 33===b?(a.consume(b),i):47===b?(a.consume(b),u):63===b?(a.consume(b),s):aH(b)?(a.consume(b),w):c(b)}function i(b){return 45===b?(a.consume(b),j):91===b?(a.consume(b),e=0,n):aH(b)?(a.consume(b),r):c(b)}function j(b){return 45===b?(a.consume(b),m):c(b)}function k(b){return null===b?c(b):45===b?(a.consume(b),l):aO(b)?(f=k,E(b)):(a.consume(b),k)}function l(b){return 45===b?(a.consume(b),m):k(b)}function m(a){return 62===a?D(a):45===a?l(a):k(a)}function n(b){let d="CDATA[";return b===d.charCodeAt(e++)?(a.consume(b),e===d.length?o:n):c(b)}function o(b){return null===b?c(b):93===b?(a.consume(b),p):aO(b)?(f=o,E(b)):(a.consume(b),o)}function p(b){return 93===b?(a.consume(b),q):o(b)}function q(b){return 62===b?D(b):93===b?(a.consume(b),q):o(b)}function r(b){return null===b||62===b?D(b):aO(b)?(f=r,E(b)):(a.consume(b),r)}function s(b){return null===b?c(b):63===b?(a.consume(b),t):aO(b)?(f=s,E(b)):(a.consume(b),s)}function t(a){return 62===a?D(a):s(a)}function u(b){return aH(b)?(a.consume(b),v):c(b)}function v(b){return 45===b||aI(b)?(a.consume(b),v):function b(c){return aO(c)?(f=b,E(c)):aQ(c)?(a.consume(c),b):D(c)}(b)}function w(b){return 45===b||aI(b)?(a.consume(b),w):47===b||62===b||aP(b)?x(b):c(b)}function x(b){return 47===b?(a.consume(b),D):58===b||95===b||aH(b)?(a.consume(b),y):aO(b)?(f=x,E(b)):aQ(b)?(a.consume(b),x):D(b)}function y(b){return 45===b||46===b||58===b||95===b||aI(b)?(a.consume(b),y):function b(c){return 61===c?(a.consume(c),z):aO(c)?(f=b,E(c)):aQ(c)?(a.consume(c),b):x(c)}(b)}function z(b){return null===b||60===b||61===b||62===b||96===b?c(b):34===b||39===b?(a.consume(b),d=b,A):aO(b)?(f=z,E(b)):aQ(b)?(a.consume(b),z):(a.consume(b),B)}function A(b){return b===d?(a.consume(b),d=void 0,C):null===b?c(b):aO(b)?(f=A,E(b)):(a.consume(b),A)}function B(b){return null===b||34===b||39===b||60===b||61===b||96===b?c(b):47===b||62===b||aP(b)?x(b):(a.consume(b),B)}function C(a){return 47===a||62===a||aP(a)?x(a):c(a)}function D(d){return 62===d?(a.consume(d),a.exit("htmlTextData"),a.exit("htmlText"),b):c(d)}function E(b){return a.exit("htmlTextData"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),F}function F(b){return aQ(b)?aU(a,G,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):G(b)}function G(b){return a.enter("htmlTextData"),f(b)}}}],91:bF,92:[{name:"hardBreakEscape",tokenize:function(a,b,c){return function(b){return a.enter("hardBreakEscape"),a.consume(b),d};function d(d){return aO(d)?(a.exit("hardBreakEscape"),b(d)):c(d)}}},bu],93:bx,95:bD,96:{name:"codeText",previous:function(a){return 96!==a||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(a){let b,c,d=a.length-4,e=3;if(("lineEnding"===a[3][1].type||"space"===a[e][1].type)&&("lineEnding"===a[d][1].type||"space"===a[d][1].type)){for(b=e;++b<d;)if("codeTextData"===a[b][1].type){a[e][1].type="codeTextPadding",a[d][1].type="codeTextPadding",e+=2,d-=2;break}}for(b=e-1,d++;++b<=d;)void 0===c?b!==d&&"lineEnding"!==a[b][1].type&&(c=b):(b===d||"lineEnding"===a[b][1].type)&&(a[c][1].type="codeTextData",b!==c+2&&(a[c][1].end=a[b-1][1].end,a.splice(c+2,b-c-2),d-=b-c-2,b=c+2),c=void 0);return a},tokenize:function(a,b,c){let d,e,f=0;return function(b){return a.enter("codeText"),a.enter("codeTextSequence"),function b(c){return 96===c?(a.consume(c),f++,b):(a.exit("codeTextSequence"),g(c))}(b)};function g(i){return null===i?c(i):32===i?(a.enter("space"),a.consume(i),a.exit("space"),g):96===i?(e=a.enter("codeTextSequence"),d=0,function c(g){return 96===g?(a.consume(g),d++,c):d===f?(a.exit("codeTextSequence"),a.exit("codeText"),b(g)):(e.type="codeTextData",h(g))}(i)):aO(i)?(a.enter("lineEnding"),a.consume(i),a.exit("lineEnding"),g):(a.enter("codeTextData"),h(i))}function h(b){return null===b||32===b||96===b||aO(b)?(a.exit("codeTextData"),g(b)):(a.consume(b),h)}}}},bM={null:[bD,a0]},bN={null:[42,95]},bO={null:[]},bP=/[\0\t\n\r]/g;function bQ(a,b){let c=Number.parseInt(a,b);return c<9||11===c||c>13&&c<32||c>126&&c<160||c>55295&&c<57344||c>64975&&c<65008||(65535&c)==65535||(65535&c)==65534||c>1114111?"�":String.fromCodePoint(c)}let bR=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function bS(a){return a.replace(bR,bT)}function bT(a,b,c){if(b)return b;if(35===c.charCodeAt(0)){let a=c.charCodeAt(1),b=120===a||88===a;return bQ(c.slice(b?2:1),b?16:10)}return bs(c)||a}let bU={}.hasOwnProperty;function bV(a){return{line:a.line,column:a.column,offset:a.offset}}function bW(a,b){if(a)throw Error("Cannot close `"+a.type+"` ("+$({start:a.start,end:a.end})+"): a different token (`"+b.type+"`, "+$({start:b.start,end:b.end})+") is open");throw Error("Cannot close document, a token (`"+b.type+"`, "+$({start:b.start,end:b.end})+") is still open")}function bX(a){let b=this;b.parser=function(c){var e,f;let g,h,i,j;return"object"==typeof(e={...b.data("settings"),...a,extensions:b.data("micromarkExtensions")||[],mdastExtensions:b.data("fromMarkdownExtensions")||[]})&&(f=e,e=void 0),(function(a){let b={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:d(r),autolinkProtocol:j,autolinkEmail:j,atxHeading:d(o),blockQuote:d(function(){return{type:"blockquote",children:[]}}),characterEscape:j,characterReference:j,codeFenced:d(n),codeFencedFenceInfo:e,codeFencedFenceMeta:e,codeIndented:d(n,e),codeText:d(function(){return{type:"inlineCode",value:""}},e),codeTextData:j,data:j,codeFlowValue:j,definition:d(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:e,definitionLabelString:e,definitionTitleString:e,emphasis:d(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:d(p),hardBreakTrailing:d(p),htmlFlow:d(q,e),htmlFlowData:j,htmlText:d(q,e),htmlTextData:j,image:d(function(){return{type:"image",title:null,url:"",alt:null}}),label:e,link:d(r),listItem:d(function(a){return{type:"listItem",spread:a._spread,checked:null,children:[]}}),listItemValue:function(a){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(a),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:d(s,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:d(s),paragraph:d(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:e,resourceDestinationString:e,resourceTitleString:e,setextHeading:d(o),strong:d(function(){return{type:"strong",children:[]}}),thematicBreak:d(function(){return{type:"thematicBreak"}})},exit:{atxHeading:g(),atxHeadingSequence:function(a){let b=this.stack[this.stack.length-1];b.depth||(b.depth=this.sliceSerialize(a).length)},autolink:g(),autolinkEmail:function(a){k.call(this,a),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(a)},autolinkProtocol:function(a){k.call(this,a),this.stack[this.stack.length-1].url=this.sliceSerialize(a)},blockQuote:g(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:m,characterReferenceMarkerNumeric:m,characterReferenceValue:function(a){let b,c=this.sliceSerialize(a),d=this.data.characterReferenceType;d?(b=bQ(c,"characterReferenceMarkerNumeric"===d?10:16),this.data.characterReferenceType=void 0):b=bs(c);let e=this.stack[this.stack.length-1];e.value+=b},characterReference:function(a){this.stack.pop().position.end=bV(a.end)},codeFenced:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let a=this.resume();this.stack[this.stack.length-1].lang=a},codeFencedFenceMeta:function(){let a=this.resume();this.stack[this.stack.length-1].meta=a},codeFlowValue:k,codeIndented:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a.replace(/(\r?\n|\r)$/g,"")}),codeText:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a}),codeTextData:k,data:k,definition:g(),definitionDestinationString:function(){let a=this.resume();this.stack[this.stack.length-1].url=a},definitionLabelString:function(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.label=b,c.identifier=bf(this.sliceSerialize(a)).toLowerCase()},definitionTitleString:function(){let a=this.resume();this.stack[this.stack.length-1].title=a},emphasis:g(),hardBreakEscape:g(l),hardBreakTrailing:g(l),htmlFlow:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a}),htmlFlowData:k,htmlText:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a}),htmlTextData:k,image:g(function(){let a=this.stack[this.stack.length-1];if(this.data.inReference){let b=this.data.referenceType||"shortcut";a.type+="Reference",a.referenceType=b,delete a.url,delete a.title}else delete a.identifier,delete a.label;this.data.referenceType=void 0}),label:function(){let a=this.stack[this.stack.length-1],b=this.resume(),c=this.stack[this.stack.length-1];this.data.inReference=!0,"link"===c.type?c.children=a.children:c.alt=b},labelText:function(a){let b=this.sliceSerialize(a),c=this.stack[this.stack.length-2];c.label=bS(b),c.identifier=bf(b).toLowerCase()},lineEnding:function(a){let c=this.stack[this.stack.length-1];if(this.data.atHardBreak){c.children[c.children.length-1].position.end=bV(a.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&b.canContainEols.includes(c.type)&&(j.call(this,a),k.call(this,a))},link:g(function(){let a=this.stack[this.stack.length-1];if(this.data.inReference){let b=this.data.referenceType||"shortcut";a.type+="Reference",a.referenceType=b,delete a.url,delete a.title}else delete a.identifier,delete a.label;this.data.referenceType=void 0}),listItem:g(),listOrdered:g(),listUnordered:g(),paragraph:g(),referenceString:function(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.label=b,c.identifier=bf(this.sliceSerialize(a)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let a=this.resume();this.stack[this.stack.length-1].url=a},resourceTitleString:function(){let a=this.resume();this.stack[this.stack.length-1].title=a},resource:function(){this.data.inReference=void 0},setextHeading:g(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(a){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(a).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:g(),thematicBreak:g()}};!function a(b,c){let d=-1;for(;++d<c.length;){let e=c[d];Array.isArray(e)?a(b,e):function(a,b){let c;for(c in b)if(bU.call(b,c))switch(c){case"canContainEols":{let d=b[c];d&&a[c].push(...d);break}case"transforms":{let d=b[c];d&&a[c].push(...d);break}case"enter":case"exit":{let d=b[c];d&&Object.assign(a[c],d)}}}(b,e)}}(b,(a||{}).mdastExtensions||[]);let c={};return function(a){let d={type:"root",children:[]},g={stack:[d],tokenStack:[],config:b,enter:f,exit:h,buffer:e,resume:i,data:c},j=[],k=-1;for(;++k<a.length;)("listOrdered"===a[k][1].type||"listUnordered"===a[k][1].type)&&("enter"===a[k][0]?j.push(k):k=function(a,b,c){let d,e,f,g,h=b-1,i=-1,j=!1;for(;++h<=c;){let b=a[h];switch(b[1].type){case"listUnordered":case"listOrdered":case"blockQuote":"enter"===b[0]?i++:i--,g=void 0;break;case"lineEndingBlank":"enter"===b[0]&&(!d||g||i||f||(f=h),g=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:g=void 0}if(!i&&"enter"===b[0]&&"listItemPrefix"===b[1].type||-1===i&&"exit"===b[0]&&("listUnordered"===b[1].type||"listOrdered"===b[1].type)){if(d){let g=h;for(e=void 0;g--;){let b=a[g];if("lineEnding"===b[1].type||"lineEndingBlank"===b[1].type){if("exit"===b[0])continue;e&&(a[e][1].type="lineEndingBlank",j=!0),b[1].type="lineEnding",e=g}else if("linePrefix"===b[1].type||"blockQuotePrefix"===b[1].type||"blockQuotePrefixWhitespace"===b[1].type||"blockQuoteMarker"===b[1].type||"listItemIndent"===b[1].type);else break}f&&(!e||f<e)&&(d._spread=!0),d.end=Object.assign({},e?a[e][1].start:b[1].end),a.splice(e||h,0,["exit",d,b[2]]),h++,c++}if("listItemPrefix"===b[1].type){let e={type:"listItem",_spread:!1,start:Object.assign({},b[1].start),end:void 0};d=e,a.splice(h,0,["enter",e,b[2]]),h++,c++,f=void 0,g=!0}}}return a[b][1]._spread=j,c}(a,j.pop(),k));for(k=-1;++k<a.length;){let c=b[a[k][0]];bU.call(c,a[k][1].type)&&c[a[k][1].type].call(Object.assign({sliceSerialize:a[k][2].sliceSerialize},g),a[k][1])}if(g.tokenStack.length>0){let a=g.tokenStack[g.tokenStack.length-1];(a[1]||bW).call(g,void 0,a[0])}for(d.position={start:bV(a.length>0?a[0][1].start:{line:1,column:1,offset:0}),end:bV(a.length>0?a[a.length-2][1].end:{line:1,column:1,offset:0})},k=-1;++k<b.transforms.length;)d=b.transforms[k](d)||d;return d};function d(a,b){return function(c){f.call(this,a(c),c),b&&b.call(this,c)}}function e(){this.stack.push({type:"fragment",children:[]})}function f(a,b,c){this.stack[this.stack.length-1].children.push(a),this.stack.push(a),this.tokenStack.push([b,c||void 0]),a.position={start:bV(b.start),end:void 0}}function g(a){return function(b){a&&a.call(this,b),h.call(this,b)}}function h(a,b){let c=this.stack.pop(),d=this.tokenStack.pop();if(d)d[0].type!==a.type&&(b?b.call(this,a,d[0]):(d[1]||bW).call(this,a,d[0]));else throw Error("Cannot close `"+a.type+"` ("+$({start:a.start,end:a.end})+"): it’s not open");c.position.end=bV(a.end)}function i(){return ax(this.stack.pop())}function j(a){let b=this.stack[this.stack.length-1].children,c=b[b.length-1];c&&"text"===c.type||((c={type:"text",value:""}).position={start:bV(a.start),end:void 0},b.push(c)),this.stack.push(c)}function k(a){let b=this.stack.pop();b.value+=this.sliceSerialize(a),b.position.end=bV(a.end)}function l(){this.data.atHardBreak=!0}function m(a){this.data.characterReferenceType=a.type}function n(){return{type:"code",lang:null,meta:null,value:""}}function o(){return{type:"heading",depth:0,children:[]}}function p(){return{type:"break"}}function q(){return{type:"html",value:""}}function r(){return{type:"link",title:null,url:"",children:[]}}function s(a){return{type:"list",ordered:"listOrdered"===a.type,start:null,spread:a._spread,children:[]}}})(f)(function(a){for(;!aE(a););return a}((function(a){let b={constructs:aG([d,...(a||{}).extensions||[]]),content:c(aV),defined:[],document:c(aW),flow:c(a_),lazy:{},string:c(a1),text:c(a2)};return b;function c(a){return function(c){return function(a,b,c){let d={_bufferIndex:-1,_index:0,line:c&&c.line||1,column:c&&c.column||1,offset:c&&c.offset||0},e={},f=[],g=[],h=[],i={attempt:o(function(a,b){p(a,b.from)}),check:o(n),consume:function(a){aO(a)?(d.line++,d.column=1,d.offset+=-3===a?2:1,q()):-1!==a&&(d.column++,d.offset++),d._bufferIndex<0?d._index++:(d._bufferIndex++,d._bufferIndex===g[d._index].length&&(d._bufferIndex=-1,d._index++)),j.previous=a},enter:function(a,b){let c=b||{};return c.type=a,c.start=m(),j.events.push(["enter",c,j]),h.push(c),c},exit:function(a){let b=h.pop();return b.end=m(),j.events.push(["exit",b,j]),b},interrupt:o(n,{interrupt:!0})},j={code:null,containerState:{},defineSkip:function(a){e[a.line]=a.column,q()},events:[],now:m,parser:a,previous:null,sliceSerialize:function(a,b){return function(a,b){let c,d=-1,e=[];for(;++d<a.length;){let f,g=a[d];if("string"==typeof g)f=g;else switch(g){case -5:f="\r";break;case -4:f="\n";break;case -3:f="\r\n";break;case -2:f=b?" ":" ";break;case -1:if(!b&&c)continue;f=" ";break;default:f=String.fromCharCode(g)}c=-2===g,e.push(f)}return e.join("")}(l(a),b)},sliceStream:l,write:function(a){return(g=aB(g,a),function(){let a;for(;d._index<g.length;){let c=g[d._index];if("string"==typeof c)for(a=d._index,d._bufferIndex<0&&(d._bufferIndex=0);d._index===a&&d._bufferIndex<c.length;){var b;b=c.charCodeAt(d._bufferIndex),k=k(b)}else k=k(c)}}(),null!==g[g.length-1])?[]:(p(b,0),j.events=bw(f,j.events,j),j.events)}},k=b.tokenize.call(j,i);return b.resolveAll&&f.push(b),j;function l(a){return function(a,b){let c,d=b.start._index,e=b.start._bufferIndex,f=b.end._index,g=b.end._bufferIndex;if(d===f)c=[a[d].slice(e,g)];else{if(c=a.slice(d,f),e>-1){let a=c[0];"string"==typeof a?c[0]=a.slice(e):c.shift()}g>0&&c.push(a[f].slice(0,g))}return c}(g,a)}function m(){let{_bufferIndex:a,_index:b,line:c,column:e,offset:f}=d;return{_bufferIndex:a,_index:b,line:c,column:e,offset:f}}function n(a,b){b.restore()}function o(a,b){return function(c,e,f){var g;let k,l,n,o;return Array.isArray(c)?p(c):"tokenize"in c?p([c]):(g=c,function(a){let b=null!==a&&g[a],c=null!==a&&g.null;return p([...Array.isArray(b)?b:b?[b]:[],...Array.isArray(c)?c:c?[c]:[]])(a)});function p(a){return(k=a,l=0,0===a.length)?f:r(a[l])}function r(a){return function(c){return(o=function(){let a=m(),b=j.previous,c=j.currentConstruct,e=j.events.length,f=Array.from(h);return{from:e,restore:function(){d=a,j.previous=b,j.currentConstruct=c,j.events.length=e,h=f,q()}}}(),n=a,a.partial||(j.currentConstruct=a),a.name&&j.parser.constructs.disable.null.includes(a.name))?t(c):a.tokenize.call(b?Object.assign(Object.create(j),b):j,i,s,t)(c)}}function s(b){return a(n,o),e}function t(a){return(o.restore(),++l<k.length)?r(k[l]):f}}}function p(a,b){a.resolveAll&&!f.includes(a)&&f.push(a),a.resolve&&aA(j.events,b,j.events.length-b,a.resolve(j.events.slice(b),j)),a.resolveTo&&(j.events=a.resolveTo(j.events,j))}function q(){d.line in e&&d.column<2&&(d.column=e[d.line],d.offset+=e[d.line]-1)}}(b,a,c)}}})(f).document().write((h=1,i="",j=!0,function(a,b,c){let d,e,f,k,l,m=[];for(a=i+("string"==typeof a?a.toString():new TextDecoder(b||void 0).decode(a)),f=0,i="",j&&(65279===a.charCodeAt(0)&&f++,j=void 0);f<a.length;){if(bP.lastIndex=f,k=(d=bP.exec(a))&&void 0!==d.index?d.index:a.length,l=a.charCodeAt(k),!d){i=a.slice(f);break}if(10===l&&f===k&&g)m.push(-3),g=void 0;else switch(g&&(m.push(-5),g=void 0),f<k&&(m.push(a.slice(f,k)),h+=k-f),l){case 0:m.push(65533),h++;break;case 9:for(e=4*Math.ceil(h/4),m.push(-2);h++<e;)m.push(-1);break;case 10:m.push(-4),h=1;break;default:g=!0,h=1}f=k+1}return c&&(g&&m.push(-5),i&&m.push(i),m.push(null)),m})(c,e,!0))))}}function bY(a,b){let c=String(a);if("string"!=typeof b)throw TypeError("Expected character");let d=0,e=c.indexOf(b);for(;-1!==e;)d++,e=c.indexOf(b,e+b.length);return d}let bZ=function(a){var b,c;if(null==a)return b_;if("function"==typeof a)return b$(a);if("object"==typeof a){return Array.isArray(a)?function(a){let b=[],c=-1;for(;++c<a.length;)b[c]=bZ(a[c]);return b$(function(...a){let c=-1;for(;++c<b.length;)if(b[c].apply(this,a))return!0;return!1})}(a):(b=a,b$(function(a){let c;for(c in b)if(a[c]!==b[c])return!1;return!0}))}if("string"==typeof a){return c=a,b$(function(a){return a&&a.type===c})}throw Error("Expected function, string, or object as test")};function b$(a){return function(b,c,d){return!!(function(a){return null!==a&&"object"==typeof a&&"type"in a}(b)&&a.call(this,b,"number"==typeof c?c:void 0,d||void 0))}}function b_(){return!0}let b0=[];function b1(a,b,c,d){let e;"function"==typeof b&&"function"!=typeof c?(d=c,c=b):e=b;let f=bZ(e),g=d?-1:1;(function a(e,h,i){let j=e&&"object"==typeof e?e:{};if("string"==typeof j.type){let a="string"==typeof j.tagName?j.tagName:"string"==typeof j.name?j.name:void 0;Object.defineProperty(k,"name",{value:"node (\x1b[33m"+e.type+(a?"<"+a+">":"")+"\x1b[39m)"})}return k;function k(){var j;let k,l,m,n=b0;if((!b||f(e,h,i[i.length-1]||void 0))&&!1===(n=Array.isArray(j=c(e,i))?j:"number"==typeof j?[!0,j]:null==j?b0:[j])[0])return n;if("children"in e&&e.children&&e.children&&"skip"!==n[0])for(l=(d?e.children.length:-1)+g,m=i.concat(e);l>-1&&l<e.children.length;){if(!1===(k=a(e.children[l],l,m)())[0])return k;l="number"==typeof k[1]?k[1]:l+g}return n}})(a,void 0,[])()}let b2="phrasing",b3=["autolink","link","image","label"];function b4(a){this.enter({type:"link",title:null,url:"",children:[]},a)}function b5(a){this.config.enter.autolinkProtocol.call(this,a)}function b6(a){this.config.exit.autolinkProtocol.call(this,a)}function b7(a){this.config.exit.data.call(this,a);let b=this.stack[this.stack.length-1];b.type,b.url="http://"+this.sliceSerialize(a)}function b8(a){this.config.exit.autolinkEmail.call(this,a)}function b9(a){this.exit(a)}function ca(a){!function(a,b,c){let d=bZ((c||{}).ignore||[]),e=function(a){let b=[];if(!Array.isArray(a))throw TypeError("Expected find and replace tuple or list of tuples");let c=!a[0]||Array.isArray(a[0])?a:[a],d=-1;for(;++d<c.length;){var e;let a=c[d];b.push(["string"==typeof(e=a[0])?RegExp(function(a){if("string"!=typeof a)throw TypeError("Expected a string");return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e),"g"):e,function(a){return"function"==typeof a?a:function(){return a}}(a[1])])}return b}(b),f=-1;for(;++f<e.length;)b1(a,"text",g);function g(a,b){let c,g=-1;for(;++g<b.length;){let a=b[g],e=c?c.children:void 0;if(d(a,e?e.indexOf(a):void 0,c))return;c=a}if(c)return function(a,b){let c=b[b.length-1],d=e[f][0],g=e[f][1],h=0,i=c.children.indexOf(a),j=!1,k=[];d.lastIndex=0;let l=d.exec(a.value);for(;l;){let c=l.index,e={index:l.index,input:l.input,stack:[...b,a]},f=g(...l,e);if("string"==typeof f&&(f=f.length>0?{type:"text",value:f}:void 0),!1===f?d.lastIndex=c+1:(h!==c&&k.push({type:"text",value:a.value.slice(h,c)}),Array.isArray(f)?k.push(...f):f&&k.push(f),h=c+l[0].length,j=!0),!d.global)break;l=d.exec(a.value)}return j?(h<a.value.length&&k.push({type:"text",value:a.value.slice(h)}),c.children.splice(i,1,...k)):k=[a],i+k.length}(a,b)}}(a,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,cb],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,cc]],{ignore:["link","linkReference"]})}function cb(a,b,c,d,e){let f="";if(!cd(e)||(/^w/i.test(b)&&(c=b+c,b="",f="http://"),!function(a){let b=a.split(".");return!(b.length<2||b[b.length-1]&&(/_/.test(b[b.length-1])||!/[a-zA-Z\d]/.test(b[b.length-1]))||b[b.length-2]&&(/_/.test(b[b.length-2])||!/[a-zA-Z\d]/.test(b[b.length-2])))}(c)))return!1;let g=function(a){let b=/[!"&'),.:;<>?\]}]+$/.exec(a);if(!b)return[a,void 0];a=a.slice(0,b.index);let c=b[0],d=c.indexOf(")"),e=bY(a,"("),f=bY(a,")");for(;-1!==d&&e>f;)a+=c.slice(0,d+1),d=(c=c.slice(d+1)).indexOf(")"),f++;return[a,c]}(c+d);if(!g[0])return!1;let h={type:"link",title:null,url:f+b+g[0],children:[{type:"text",value:b+g[0]}]};return g[1]?[h,{type:"text",value:g[1]}]:h}function cc(a,b,c,d){return!(!cd(d,!0)||/[-\d_]$/.test(c))&&{type:"link",title:null,url:"mailto:"+b+"@"+c,children:[{type:"text",value:b+"@"+c}]}}function cd(a,b){let c=a.input.charCodeAt(a.index-1);return(0===a.index||aS(c)||aR(c))&&(!b||47!==c)}function ce(){this.buffer()}function cf(a){this.enter({type:"footnoteReference",identifier:"",label:""},a)}function cg(){this.buffer()}function ch(a){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},a)}function ci(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.type,c.identifier=bf(this.sliceSerialize(a)).toLowerCase(),c.label=b}function cj(a){this.exit(a)}function ck(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.type,c.identifier=bf(this.sliceSerialize(a)).toLowerCase(),c.label=b}function cl(a){this.exit(a)}function cm(a,b,c,d){let e=c.createTracker(d),f=e.move("[^"),g=c.enter("footnoteReference"),h=c.enter("reference");return f+=e.move(c.safe(c.associationId(a),{after:"]",before:f})),h(),g(),f+=e.move("]")}function cn(a,b,c){return 0===b?a:co(a,b,c)}function co(a,b,c){return(c?"":" ")+a}cm.peek=function(){return"["};let cp=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];function cq(a){this.enter({type:"delete",children:[]},a)}function cr(a){this.exit(a)}function cs(a,b,c,d){let e=c.createTracker(d),f=c.enter("strikethrough"),g=e.move("~~");return g+=c.containerPhrasing(a,{...e.current(),before:g,after:"~"}),g+=e.move("~~"),f(),g}function ct(a){return a.length}function cu(a){let b="string"==typeof a?a.codePointAt(0):0;return 67===b||99===b?99:76===b||108===b?108:114*(82===b||114===b)}function cv(a,b,c){return">"+(c?"":" ")+a}function cw(a,b){return cx(a,b.inConstruct,!0)&&!cx(a,b.notInConstruct,!1)}function cx(a,b,c){if("string"==typeof b&&(b=[b]),!b||0===b.length)return c;let d=-1;for(;++d<b.length;)if(a.includes(b[d]))return!0;return!1}function cy(a,b,c,d){let e=-1;for(;++e<c.unsafe.length;)if("\n"===c.unsafe[e].character&&cw(c.stack,c.unsafe[e]))return/[ \t]/.test(d.before)?"":" ";return"\\\n"}function cz(a,b){return!!(!1===b.options.fences&&a.value&&!a.lang&&/[^ \r\n]/.test(a.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(a.value))}function cA(a,b,c){return(c?"":" ")+a}function cB(a){let b=a.options.quote||'"';if('"'!==b&&"'"!==b)throw Error("Cannot serialize title with `"+b+"` for `options.quote`, expected `\"`, or `'`");return b}function cC(a){return"&#x"+a.toString(16).toUpperCase()+";"}function cD(a,b,c){let d=bC(a),e=bC(b);return void 0===d?void 0===e?"_"===c?{inside:!0,outside:!0}:{inside:!1,outside:!1}:1===e?{inside:!0,outside:!0}:{inside:!1,outside:!0}:1===d?void 0===e?{inside:!1,outside:!1}:1===e?{inside:!0,outside:!0}:{inside:!1,outside:!1}:void 0===e?{inside:!1,outside:!1}:1===e?{inside:!0,outside:!1}:{inside:!1,outside:!1}}function cE(a,b,c,d){let e=function(a){let b=a.options.emphasis||"*";if("*"!==b&&"_"!==b)throw Error("Cannot serialize emphasis with `"+b+"` for `options.emphasis`, expected `*`, or `_`");return b}(c),f=c.enter("emphasis"),g=c.createTracker(d),h=g.move(e),i=g.move(c.containerPhrasing(a,{after:e,before:h,...g.current()})),j=i.charCodeAt(0),k=cD(d.before.charCodeAt(d.before.length-1),j,e);k.inside&&(i=cC(j)+i.slice(1));let l=i.charCodeAt(i.length-1),m=cD(d.after.charCodeAt(0),l,e);m.inside&&(i=i.slice(0,-1)+cC(l));let n=g.move(e);return f(),c.attentionEncodeSurroundingInfo={after:m.outside,before:k.outside},h+i+n}function cF(a,b,c,d){let e,f,g;"function"==typeof b&&"function"!=typeof c?(f=void 0,g=b,e=c):(f=b,g=c,e=d),b1(a,f,function(a,b){let c=b[b.length-1],d=c?c.children.indexOf(a):void 0;return g(a,d,c)},e)}function cG(a,b){let c=!1;return cF(a,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||"break"===a.type)return c=!0,!1}),!!((!a.depth||a.depth<3)&&ax(a)&&(b.options.setext||c))}function cH(a){return a.value||""}function cI(a,b,c,d){let e=cB(c),f='"'===e?"Quote":"Apostrophe",g=c.enter("image"),h=c.enter("label"),i=c.createTracker(d),j=i.move("![");return j+=i.move(c.safe(a.alt,{before:j,after:"]",...i.current()})),j+=i.move("]("),h(),!a.url&&a.title||/[\0- \u007F]/.test(a.url)?(h=c.enter("destinationLiteral"),j+=i.move("<"),j+=i.move(c.safe(a.url,{before:j,after:">",...i.current()})),j+=i.move(">")):(h=c.enter("destinationRaw"),j+=i.move(c.safe(a.url,{before:j,after:a.title?" ":")",...i.current()}))),h(),a.title&&(h=c.enter(`title${f}`),j+=i.move(" "+e),j+=i.move(c.safe(a.title,{before:j,after:e,...i.current()})),j+=i.move(e),h()),j+=i.move(")"),g(),j}function cJ(a,b,c,d){let e=a.referenceType,f=c.enter("imageReference"),g=c.enter("label"),h=c.createTracker(d),i=h.move("!["),j=c.safe(a.alt,{before:i,after:"]",...h.current()});i+=h.move(j+"]["),g();let k=c.stack;c.stack=[],g=c.enter("reference");let l=c.safe(c.associationId(a),{before:i,after:"]",...h.current()});return g(),c.stack=k,f(),"full"!==e&&j&&j===l?"shortcut"===e?i=i.slice(0,-1):i+=h.move("]"):i+=h.move(l+"]"),i}function cK(a,b,c){let d=a.value||"",e="`",f=-1;for(;RegExp("(^|[^`])"+e+"([^`]|$)").test(d);)e+="`";for(/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^`|`$/.test(d))&&(d=" "+d+" ");++f<c.unsafe.length;){let a,b=c.unsafe[f],e=c.compilePattern(b);if(b.atBreak)for(;a=e.exec(d);){let b=a.index;10===d.charCodeAt(b)&&13===d.charCodeAt(b-1)&&b--,d=d.slice(0,b)+" "+d.slice(a.index+1)}}return e+d+e}function cL(a,b){let c=ax(a);return!!(!b.options.resourceLink&&a.url&&!a.title&&a.children&&1===a.children.length&&"text"===a.children[0].type&&(c===a.url||"mailto:"+c===a.url)&&/^[a-z][a-z+.-]+:/i.test(a.url)&&!/[\0- <>\u007F]/.test(a.url))}function cM(a,b,c,d){let e,f,g=cB(c),h='"'===g?"Quote":"Apostrophe",i=c.createTracker(d);if(cL(a,c)){let b=c.stack;c.stack=[],e=c.enter("autolink");let d=i.move("<");return d+=i.move(c.containerPhrasing(a,{before:d,after:">",...i.current()})),d+=i.move(">"),e(),c.stack=b,d}e=c.enter("link"),f=c.enter("label");let j=i.move("[");return j+=i.move(c.containerPhrasing(a,{before:j,after:"](",...i.current()})),j+=i.move("]("),f(),!a.url&&a.title||/[\0- \u007F]/.test(a.url)?(f=c.enter("destinationLiteral"),j+=i.move("<"),j+=i.move(c.safe(a.url,{before:j,after:">",...i.current()})),j+=i.move(">")):(f=c.enter("destinationRaw"),j+=i.move(c.safe(a.url,{before:j,after:a.title?" ":")",...i.current()}))),f(),a.title&&(f=c.enter(`title${h}`),j+=i.move(" "+g),j+=i.move(c.safe(a.title,{before:j,after:g,...i.current()})),j+=i.move(g),f()),j+=i.move(")"),e(),j}function cN(a,b,c,d){let e=a.referenceType,f=c.enter("linkReference"),g=c.enter("label"),h=c.createTracker(d),i=h.move("["),j=c.containerPhrasing(a,{before:i,after:"]",...h.current()});i+=h.move(j+"]["),g();let k=c.stack;c.stack=[],g=c.enter("reference");let l=c.safe(c.associationId(a),{before:i,after:"]",...h.current()});return g(),c.stack=k,f(),"full"!==e&&j&&j===l?"shortcut"===e?i=i.slice(0,-1):i+=h.move("]"):i+=h.move(l+"]"),i}function cO(a){let b=a.options.bullet||"*";if("*"!==b&&"+"!==b&&"-"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.bullet`, expected `*`, `+`, or `-`");return b}function cP(a){let b=a.options.rule||"*";if("*"!==b&&"-"!==b&&"_"!==b)throw Error("Cannot serialize rules with `"+b+"` for `options.rule`, expected `*`, `-`, or `_`");return b}cs.peek=function(){return"~"},cE.peek=function(a,b,c){return c.options.emphasis||"*"},cH.peek=function(){return"<"},cI.peek=function(){return"!"},cJ.peek=function(){return"!"},cK.peek=function(){return"`"},cM.peek=function(a,b,c){return cL(a,c)?"<":"["},cN.peek=function(){return"["};let cQ=bZ(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function cR(a,b,c,d){let e=function(a){let b=a.options.strong||"*";if("*"!==b&&"_"!==b)throw Error("Cannot serialize strong with `"+b+"` for `options.strong`, expected `*`, or `_`");return b}(c),f=c.enter("strong"),g=c.createTracker(d),h=g.move(e+e),i=g.move(c.containerPhrasing(a,{after:e,before:h,...g.current()})),j=i.charCodeAt(0),k=cD(d.before.charCodeAt(d.before.length-1),j,e);k.inside&&(i=cC(j)+i.slice(1));let l=i.charCodeAt(i.length-1),m=cD(d.after.charCodeAt(0),l,e);m.inside&&(i=i.slice(0,-1)+cC(l));let n=g.move(e+e);return f(),c.attentionEncodeSurroundingInfo={after:m.outside,before:k.outside},h+i+n}cR.peek=function(a,b,c){return c.options.strong||"*"};let cS={blockquote:function(a,b,c,d){let e=c.enter("blockquote"),f=c.createTracker(d);f.move("> "),f.shift(2);let g=c.indentLines(c.containerFlow(a,f.current()),cv);return e(),g},break:cy,code:function(a,b,c,d){let e=function(a){let b=a.options.fence||"`";if("`"!==b&&"~"!==b)throw Error("Cannot serialize code with `"+b+"` for `options.fence`, expected `` ` `` or `~`");return b}(c),f=a.value||"",g="`"===e?"GraveAccent":"Tilde";if(cz(a,c)){let a=c.enter("codeIndented"),b=c.indentLines(f,cA);return a(),b}let h=c.createTracker(d),i=e.repeat(Math.max(function(a,b){let c=String(a),d=c.indexOf(b),e=d,f=0,g=0;if("string"!=typeof b)throw TypeError("Expected substring");for(;-1!==d;)d===e?++f>g&&(g=f):f=1,e=d+b.length,d=c.indexOf(b,e);return g}(f,e)+1,3)),j=c.enter("codeFenced"),k=h.move(i);if(a.lang){let b=c.enter(`codeFencedLang${g}`);k+=h.move(c.safe(a.lang,{before:k,after:" ",encode:["`"],...h.current()})),b()}if(a.lang&&a.meta){let b=c.enter(`codeFencedMeta${g}`);k+=h.move(" "),k+=h.move(c.safe(a.meta,{before:k,after:"\n",encode:["`"],...h.current()})),b()}return k+=h.move("\n"),f&&(k+=h.move(f+"\n")),k+=h.move(i),j(),k},definition:function(a,b,c,d){let e=cB(c),f='"'===e?"Quote":"Apostrophe",g=c.enter("definition"),h=c.enter("label"),i=c.createTracker(d),j=i.move("[");return j+=i.move(c.safe(c.associationId(a),{before:j,after:"]",...i.current()})),j+=i.move("]: "),h(),!a.url||/[\0- \u007F]/.test(a.url)?(h=c.enter("destinationLiteral"),j+=i.move("<"),j+=i.move(c.safe(a.url,{before:j,after:">",...i.current()})),j+=i.move(">")):(h=c.enter("destinationRaw"),j+=i.move(c.safe(a.url,{before:j,after:a.title?" ":"\n",...i.current()}))),h(),a.title&&(h=c.enter(`title${f}`),j+=i.move(" "+e),j+=i.move(c.safe(a.title,{before:j,after:e,...i.current()})),j+=i.move(e),h()),g(),j},emphasis:cE,hardBreak:cy,heading:function(a,b,c,d){let e=Math.max(Math.min(6,a.depth||1),1),f=c.createTracker(d);if(cG(a,c)){let b=c.enter("headingSetext"),d=c.enter("phrasing"),g=c.containerPhrasing(a,{...f.current(),before:"\n",after:"\n"});return d(),b(),g+"\n"+(1===e?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf("\n"))+1))}let g="#".repeat(e),h=c.enter("headingAtx"),i=c.enter("phrasing");f.move(g+" ");let j=c.containerPhrasing(a,{before:"# ",after:"\n",...f.current()});return/^[\t ]/.test(j)&&(j=cC(j.charCodeAt(0))+j.slice(1)),j=j?g+" "+j:g,c.options.closeAtx&&(j+=" "+g),i(),h(),j},html:cH,image:cI,imageReference:cJ,inlineCode:cK,link:cM,linkReference:cN,list:function(a,b,c,d){let e=c.enter("list"),f=c.bulletCurrent,g=a.ordered?function(a){let b=a.options.bulletOrdered||".";if("."!==b&&")"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.bulletOrdered`, expected `.` or `)`");return b}(c):cO(c),h=a.ordered?"."===g?")":".":function(a){let b=cO(a),c=a.options.bulletOther;if(!c)return"*"===b?"-":"*";if("*"!==c&&"+"!==c&&"-"!==c)throw Error("Cannot serialize items with `"+c+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(c===b)throw Error("Expected `bullet` (`"+b+"`) and `bulletOther` (`"+c+"`) to be different");return c}(c),i=!!b&&!!c.bulletLastUsed&&g===c.bulletLastUsed;if(!a.ordered){let b=a.children?a.children[0]:void 0;if("*"!==g&&"-"!==g||!b||b.children&&b.children[0]||"list"!==c.stack[c.stack.length-1]||"listItem"!==c.stack[c.stack.length-2]||"list"!==c.stack[c.stack.length-3]||"listItem"!==c.stack[c.stack.length-4]||0!==c.indexStack[c.indexStack.length-1]||0!==c.indexStack[c.indexStack.length-2]||0!==c.indexStack[c.indexStack.length-3]||(i=!0),cP(c)===g&&b){let b=-1;for(;++b<a.children.length;){let c=a.children[b];if(c&&"listItem"===c.type&&c.children&&c.children[0]&&"thematicBreak"===c.children[0].type){i=!0;break}}}}i&&(g=h),c.bulletCurrent=g;let j=c.containerFlow(a,d);return c.bulletLastUsed=g,c.bulletCurrent=f,e(),j},listItem:function(a,b,c,d){let e=function(a){let b=a.options.listItemIndent||"one";if("tab"!==b&&"one"!==b&&"mixed"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return b}(c),f=c.bulletCurrent||cO(c);b&&"list"===b.type&&b.ordered&&(f=("number"==typeof b.start&&b.start>-1?b.start:1)+(!1===c.options.incrementListMarker?0:b.children.indexOf(a))+f);let g=f.length+1;("tab"===e||"mixed"===e&&(b&&"list"===b.type&&b.spread||a.spread))&&(g=4*Math.ceil(g/4));let h=c.createTracker(d);h.move(f+" ".repeat(g-f.length)),h.shift(g);let i=c.enter("listItem"),j=c.indentLines(c.containerFlow(a,h.current()),function(a,b,c){return b?(c?"":" ".repeat(g))+a:(c?f:f+" ".repeat(g-f.length))+a});return i(),j},paragraph:function(a,b,c,d){let e=c.enter("paragraph"),f=c.enter("phrasing"),g=c.containerPhrasing(a,d);return f(),e(),g},root:function(a,b,c,d){return(a.children.some(function(a){return cQ(a)})?c.containerPhrasing:c.containerFlow).call(c,a,d)},strong:cR,text:function(a,b,c,d){return c.safe(a.value,d)},thematicBreak:function(a,b,c){let d=(cP(c)+(c.options.ruleSpaces?" ":"")).repeat(function(a){let b=a.options.ruleRepetition||3;if(b<3)throw Error("Cannot serialize rules with repetition `"+b+"` for `options.ruleRepetition`, expected `3` or more");return b}(c));return c.options.ruleSpaces?d.slice(0,-1):d}};function cT(a){let b=a._align;this.enter({type:"table",align:b.map(function(a){return"none"===a?null:a}),children:[]},a),this.data.inTable=!0}function cU(a){this.exit(a),this.data.inTable=void 0}function cV(a){this.enter({type:"tableRow",children:[]},a)}function cW(a){this.exit(a)}function cX(a){this.enter({type:"tableCell",children:[]},a)}function cY(a){let b=this.resume();this.data.inTable&&(b=b.replace(/\\([\\|])/g,cZ));let c=this.stack[this.stack.length-1];c.type,c.value=b,this.exit(a)}function cZ(a,b){return"|"===b?b:a}function c$(a){let b=this.stack[this.stack.length-2];b.type,b.checked="taskListCheckValueChecked"===a.type}function c_(a){let b=this.stack[this.stack.length-2];if(b&&"listItem"===b.type&&"boolean"==typeof b.checked){let a=this.stack[this.stack.length-1];a.type;let c=a.children[0];if(c&&"text"===c.type){let d,e=b.children,f=-1;for(;++f<e.length;){let a=e[f];if("paragraph"===a.type){d=a;break}}d===a&&(c.value=c.value.slice(1),0===c.value.length?a.children.shift():a.position&&c.position&&"number"==typeof c.position.start.offset&&(c.position.start.column++,c.position.start.offset++,a.position.start=Object.assign({},c.position.start)))}}this.exit(a)}function c0(a,b,c,d){let e=a.children[0],f="boolean"==typeof a.checked&&e&&"paragraph"===e.type,g="["+(a.checked?"x":" ")+"] ",h=c.createTracker(d);f&&h.move(g);let i=cS.listItem(a,b,c,{...d,...h.current()});return f&&(i=i.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,function(a){return a+g})),i}let c1={tokenize:function(a,b,c){let d=0;return function b(f){return(87===f||119===f)&&d<3?(d++,a.consume(f),b):46===f&&3===d?(a.consume(f),e):c(f)};function e(a){return null===a?c(a):b(a)}},partial:!0},c2={tokenize:function(a,b,c){let d,e,f;return g;function g(b){return 46===b||95===b?a.check(c4,i,h)(b):null===b||aP(b)||aS(b)||45!==b&&aR(b)?i(b):(f=!0,a.consume(b),g)}function h(b){return 95===b?d=!0:(e=d,d=void 0),a.consume(b),g}function i(a){return e||d||!f?c(a):b(a)}},partial:!0},c3={tokenize:function(a,b){let c=0,d=0;return e;function e(g){return 40===g?(c++,a.consume(g),e):41===g&&d<c?f(g):33===g||34===g||38===g||39===g||41===g||42===g||44===g||46===g||58===g||59===g||60===g||63===g||93===g||95===g||126===g?a.check(c4,b,f)(g):null===g||aP(g)||aS(g)?b(g):(a.consume(g),e)}function f(b){return 41===b&&d++,a.consume(b),e}},partial:!0},c4={tokenize:function(a,b,c){return d;function d(g){return 33===g||34===g||39===g||41===g||42===g||44===g||46===g||58===g||59===g||63===g||95===g||126===g?(a.consume(g),d):38===g?(a.consume(g),f):93===g?(a.consume(g),e):60===g||null===g||aP(g)||aS(g)?b(g):c(g)}function e(a){return null===a||40===a||91===a||aP(a)||aS(a)?b(a):d(a)}function f(b){return aH(b)?function b(e){return 59===e?(a.consume(e),d):aH(e)?(a.consume(e),b):c(e)}(b):c(b)}},partial:!0},c5={tokenize:function(a,b,c){return function(b){return a.consume(b),d};function d(a){return aI(a)?c(a):b(a)}},partial:!0},c6={name:"wwwAutolink",tokenize:function(a,b,c){let d=this;return function(b){return 87!==b&&119!==b||!db.call(d,d.previous)||df(d.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkWww"),a.check(c1,a.attempt(c2,a.attempt(c3,e),c),c)(b))};function e(c){return a.exit("literalAutolinkWww"),a.exit("literalAutolink"),b(c)}},previous:db},c7={name:"protocolAutolink",tokenize:function(a,b,c){let d=this,e="",f=!1;return function(b){return(72===b||104===b)&&dc.call(d,d.previous)&&!df(d.events)?(a.enter("literalAutolink"),a.enter("literalAutolinkHttp"),e+=String.fromCodePoint(b),a.consume(b),g):c(b)};function g(b){if(aH(b)&&e.length<5)return e+=String.fromCodePoint(b),a.consume(b),g;if(58===b){let c=e.toLowerCase();if("http"===c||"https"===c)return a.consume(b),h}return c(b)}function h(b){return 47===b?(a.consume(b),f)?i:(f=!0,h):c(b)}function i(b){return null===b||aK(b)||aP(b)||aS(b)||aR(b)?c(b):a.attempt(c2,a.attempt(c3,j),c)(b)}function j(c){return a.exit("literalAutolinkHttp"),a.exit("literalAutolink"),b(c)}},previous:dc},c8={name:"emailAutolink",tokenize:function(a,b,c){let d,e,f=this;return function(b){return!de(b)||!dd.call(f,f.previous)||df(f.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkEmail"),function b(d){return de(d)?(a.consume(d),b):64===d?(a.consume(d),g):c(d)}(b))};function g(b){return 46===b?a.check(c5,i,h)(b):45===b||95===b||aI(b)?(e=!0,a.consume(b),g):i(b)}function h(b){return a.consume(b),d=!0,g}function i(g){return e&&d&&aH(f.previous)?(a.exit("literalAutolinkEmail"),a.exit("literalAutolink"),b(g)):c(g)}},previous:dd},c9={},da=48;for(;da<123;)c9[da]=c8,58==++da?da=65:91===da&&(da=97);function db(a){return null===a||40===a||42===a||95===a||91===a||93===a||126===a||aP(a)}function dc(a){return!aH(a)}function dd(a){return!(47===a||de(a))}function de(a){return 43===a||45===a||46===a||95===a||aI(a)}function df(a){let b=a.length,c=!1;for(;b--;){let d=a[b][1];if(("labelLink"===d.type||"labelImage"===d.type)&&!d._balanced){c=!0;break}if(d._gfmAutolinkLiteralWalkedInto){c=!1;break}}return a.length>0&&!c&&(a[a.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),c}c9[43]=c8,c9[45]=c8,c9[46]=c8,c9[95]=c8,c9[72]=[c8,c7],c9[104]=[c8,c7],c9[87]=[c8,c6],c9[119]=[c8,c6];let dg={tokenize:function(a,b,c){let d=this;return aU(a,function(a){let e=d.events[d.events.length-1];return e&&"gfmFootnoteDefinitionIndent"===e[1].type&&4===e[2].sliceSerialize(e[1],!0).length?b(a):c(a)},"gfmFootnoteDefinitionIndent",5)},partial:!0};function dh(a,b,c){let d,e=this,f=e.events.length,g=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]);for(;f--;){let a=e.events[f][1];if("labelImage"===a.type){d=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(f){if(!d||!d._balanced)return c(f);let h=bf(e.sliceSerialize({start:d.end,end:e.now()}));return 94===h.codePointAt(0)&&g.includes(h.slice(1))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(f),a.exit("gfmFootnoteCallLabelMarker"),b(f)):c(f)}}function di(a,b){let c=a.length;for(;c--;)if("labelImage"===a[c][1].type&&"enter"===a[c][0]){a[c][1];break}a[c+1][1].type="data",a[c+3][1].type="gfmFootnoteCallLabelMarker";let d={type:"gfmFootnoteCall",start:Object.assign({},a[c+3][1].start),end:Object.assign({},a[a.length-1][1].end)},e={type:"gfmFootnoteCallMarker",start:Object.assign({},a[c+3][1].end),end:Object.assign({},a[c+3][1].end)};e.end.column++,e.end.offset++,e.end._bufferIndex++;let f={type:"gfmFootnoteCallString",start:Object.assign({},e.end),end:Object.assign({},a[a.length-1][1].start)},g={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},h=[a[c+1],a[c+2],["enter",d,b],a[c+3],a[c+4],["enter",e,b],["exit",e,b],["enter",f,b],["enter",g,b],["exit",g,b],["exit",f,b],a[a.length-2],a[a.length-1],["exit",d,b]];return a.splice(c,a.length-c+1,...h),a}function dj(a,b,c){let d,e=this,f=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]),g=0;return function(b){return a.enter("gfmFootnoteCall"),a.enter("gfmFootnoteCallLabelMarker"),a.consume(b),a.exit("gfmFootnoteCallLabelMarker"),h};function h(b){return 94!==b?c(b):(a.enter("gfmFootnoteCallMarker"),a.consume(b),a.exit("gfmFootnoteCallMarker"),a.enter("gfmFootnoteCallString"),a.enter("chunkString").contentType="string",i)}function i(h){if(g>999||93===h&&!d||null===h||91===h||aP(h))return c(h);if(93===h){a.exit("chunkString");let d=a.exit("gfmFootnoteCallString");return f.includes(bf(e.sliceSerialize(d)))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(h),a.exit("gfmFootnoteCallLabelMarker"),a.exit("gfmFootnoteCall"),b):c(h)}return aP(h)||(d=!0),g++,a.consume(h),92===h?j:i}function j(b){return 91===b||92===b||93===b?(a.consume(b),g++,i):i(b)}}function dk(a,b,c){let d,e,f=this,g=f.parser.gfmFootnotes||(f.parser.gfmFootnotes=[]),h=0;return function(b){return a.enter("gfmFootnoteDefinition")._container=!0,a.enter("gfmFootnoteDefinitionLabel"),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),i};function i(b){return 94===b?(a.enter("gfmFootnoteDefinitionMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionMarker"),a.enter("gfmFootnoteDefinitionLabelString"),a.enter("chunkString").contentType="string",j):c(b)}function j(b){if(h>999||93===b&&!e||null===b||91===b||aP(b))return c(b);if(93===b){a.exit("chunkString");let c=a.exit("gfmFootnoteDefinitionLabelString");return d=bf(f.sliceSerialize(c)),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),a.exit("gfmFootnoteDefinitionLabel"),l}return aP(b)||(e=!0),h++,a.consume(b),92===b?k:j}function k(b){return 91===b||92===b||93===b?(a.consume(b),h++,j):j(b)}function l(b){return 58===b?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),g.includes(d)||g.push(d),aU(a,m,"gfmFootnoteDefinitionWhitespace")):c(b)}function m(a){return b(a)}}function dl(a,b,c){return a.check(aY,b,a.attempt(dg,b,c))}function dm(a){a.exit("gfmFootnoteDefinition")}class dn{constructor(){this.map=[]}add(a,b,c){!function(a,b,c,d){let e=0;if(0!==c||0!==d.length){for(;e<a.map.length;){if(a.map[e][0]===b){a.map[e][1]+=c,a.map[e][2].push(...d);return}e+=1}a.map.push([b,c,d])}}(this,a,b,c)}consume(a){if(this.map.sort(function(a,b){return a[0]-b[0]}),0===this.map.length)return;let b=this.map.length,c=[];for(;b>0;)b-=1,c.push(a.slice(this.map[b][0]+this.map[b][1]),this.map[b][2]),a.length=this.map[b][0];c.push(a.slice()),a.length=0;let d=c.pop();for(;d;){for(let b of d)a.push(b);d=c.pop()}this.map.length=0}}function dp(a,b,c){let d,e=this,f=0,g=0;return function(a){let b=e.events.length-1;for(;b>-1;){let a=e.events[b][1].type;if("lineEnding"===a||"linePrefix"===a)b--;else break}let d=b>-1?e.events[b][1].type:null,f="tableHead"===d||"tableRow"===d?s:h;return f===s&&e.parser.lazy[e.now().line]?c(a):f(a)};function h(b){var c;return a.enter("tableHead"),a.enter("tableRow"),124===(c=b)||(d=!0,g+=1),i(c)}function i(b){return null===b?c(b):aO(b)?g>1?(g=0,e.interrupt=!0,a.exit("tableRow"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),l):c(b):aQ(b)?aU(a,i,"whitespace")(b):(g+=1,d&&(d=!1,f+=1),124===b)?(a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),d=!0,i):(a.enter("data"),j(b))}function j(b){return null===b||124===b||aP(b)?(a.exit("data"),i(b)):(a.consume(b),92===b?k:j)}function k(b){return 92===b||124===b?(a.consume(b),j):j(b)}function l(b){return(e.interrupt=!1,e.parser.lazy[e.now().line])?c(b):(a.enter("tableDelimiterRow"),d=!1,aQ(b))?aU(a,m,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):m(b)}function m(b){return 45===b||58===b?o(b):124===b?(d=!0,a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),n):c(b)}function n(b){return aQ(b)?aU(a,o,"whitespace")(b):o(b)}function o(b){return 58===b?(g+=1,d=!0,a.enter("tableDelimiterMarker"),a.consume(b),a.exit("tableDelimiterMarker"),p):45===b?(g+=1,p(b)):null===b||aO(b)?r(b):c(b)}function p(b){return 45===b?(a.enter("tableDelimiterFiller"),function b(c){return 45===c?(a.consume(c),b):58===c?(d=!0,a.exit("tableDelimiterFiller"),a.enter("tableDelimiterMarker"),a.consume(c),a.exit("tableDelimiterMarker"),q):(a.exit("tableDelimiterFiller"),q(c))}(b)):c(b)}function q(b){return aQ(b)?aU(a,r,"whitespace")(b):r(b)}function r(e){if(124===e)return m(e);if(null===e||aO(e))return d&&f===g?(a.exit("tableDelimiterRow"),a.exit("tableHead"),b(e)):c(e);return c(e)}function s(b){return a.enter("tableRow"),t(b)}function t(c){return 124===c?(a.enter("tableCellDivider"),a.consume(c),a.exit("tableCellDivider"),t):null===c||aO(c)?(a.exit("tableRow"),b(c)):aQ(c)?aU(a,t,"whitespace")(c):(a.enter("data"),u(c))}function u(b){return null===b||124===b||aP(b)?(a.exit("data"),t(b)):(a.consume(b),92===b?v:u)}function v(b){return 92===b||124===b?(a.consume(b),u):u(b)}}function dq(a,b){let c,d,e,f=-1,g=!0,h=0,i=[0,0,0,0],j=[0,0,0,0],k=!1,l=0,m=new dn;for(;++f<a.length;){let n=a[f],o=n[1];"enter"===n[0]?"tableHead"===o.type?(k=!1,0!==l&&(ds(m,b,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",c,b]])):"tableRow"===o.type||"tableDelimiterRow"===o.type?(g=!0,e=void 0,i=[0,0,0,0],j=[0,f+1,0,0],k&&(k=!1,d={type:"tableBody",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",d,b]])),h="tableDelimiterRow"===o.type?2:d?3:1):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)?(g=!1,0===j[2]&&(0!==i[1]&&(j[0]=j[1],e=dr(m,b,i,h,void 0,e),i=[0,0,0,0]),j[2]=f)):"tableCellDivider"===o.type&&(g?g=!1:(0!==i[1]&&(j[0]=j[1],e=dr(m,b,i,h,void 0,e)),j=[(i=j)[1],f,0,0])):"tableHead"===o.type?(k=!0,l=f):"tableRow"===o.type||"tableDelimiterRow"===o.type?(l=f,0!==i[1]?(j[0]=j[1],e=dr(m,b,i,h,f,e)):0!==j[1]&&(e=dr(m,b,j,h,f,e)),h=0):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)&&(j[3]=f)}for(0!==l&&ds(m,b,l,c,d),m.consume(b.events),f=-1;++f<b.events.length;){let a=b.events[f];"enter"===a[0]&&"table"===a[1].type&&(a[1]._align=function(a,b){let c=!1,d=[];for(;b<a.length;){let e=a[b];if(c){if("enter"===e[0])"tableContent"===e[1].type&&d.push("tableDelimiterMarker"===a[b+1][1].type?"left":"none");else if("tableContent"===e[1].type){if("tableDelimiterMarker"===a[b-1][1].type){let a=d.length-1;d[a]="left"===d[a]?"center":"right"}}else if("tableDelimiterRow"===e[1].type)break}else"enter"===e[0]&&"tableDelimiterRow"===e[1].type&&(c=!0);b+=1}return d}(b.events,f))}return a}function dr(a,b,c,d,e,f){0!==c[0]&&(f.end=Object.assign({},dt(b.events,c[0])),a.add(c[0],0,[["exit",f,b]]));let g=dt(b.events,c[1]);if(f={type:1===d?"tableHeader":2===d?"tableDelimiter":"tableData",start:Object.assign({},g),end:Object.assign({},g)},a.add(c[1],0,[["enter",f,b]]),0!==c[2]){let e=dt(b.events,c[2]),f=dt(b.events,c[3]),g={type:"tableContent",start:Object.assign({},e),end:Object.assign({},f)};if(a.add(c[2],0,[["enter",g,b]]),2!==d){let d=b.events[c[2]],e=b.events[c[3]];if(d[1].end=Object.assign({},e[1].end),d[1].type="chunkText",d[1].contentType="text",c[3]>c[2]+1){let b=c[2]+1,d=c[3]-c[2]-1;a.add(b,d,[])}}a.add(c[3]+1,0,[["exit",g,b]])}return void 0!==e&&(f.end=Object.assign({},dt(b.events,e)),a.add(e,0,[["exit",f,b]]),f=void 0),f}function ds(a,b,c,d,e){let f=[],g=dt(b.events,c);e&&(e.end=Object.assign({},g),f.push(["exit",e,b])),d.end=Object.assign({},g),f.push(["exit",d,b]),a.add(c+1,0,f)}function dt(a,b){let c=a[b],d="enter"===c[0]?"start":"end";return c[1][d]}let du={name:"tasklistCheck",tokenize:function(a,b,c){let d=this;return function(b){return null===d.previous&&d._gfmTasklistFirstContentOfListItem?(a.enter("taskListCheck"),a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),e):c(b)};function e(b){return aP(b)?(a.enter("taskListCheckValueUnchecked"),a.consume(b),a.exit("taskListCheckValueUnchecked"),f):88===b||120===b?(a.enter("taskListCheckValueChecked"),a.consume(b),a.exit("taskListCheckValueChecked"),f):c(b)}function f(b){return 93===b?(a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),a.exit("taskListCheck"),g):c(b)}function g(d){return aO(d)?b(d):aQ(d)?a.check({tokenize:dv},b,c)(d):c(d)}}};function dv(a,b,c){return aU(a,function(a){return null===a?c(a):b(a)},"whitespace")}let dw={};function dx(a){let b,c=a||dw,d=this.data(),e=d.micromarkExtensions||(d.micromarkExtensions=[]),f=d.fromMarkdownExtensions||(d.fromMarkdownExtensions=[]),g=d.toMarkdownExtensions||(d.toMarkdownExtensions=[]);e.push(aG([{text:c9},{document:{91:{name:"gfmFootnoteDefinition",tokenize:dk,continuation:{tokenize:dl},exit:dm}},text:{91:{name:"gfmFootnoteCall",tokenize:dj},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:dh,resolveTo:di}}},function(a){let b=(a||{}).singleTilde,c={name:"strikethrough",tokenize:function(a,c,d){let e=this.previous,f=this.events,g=0;return function(h){return 126===e&&"characterEscape"!==f[f.length-1][1].type?d(h):(a.enter("strikethroughSequenceTemporary"),function f(h){let i=bC(e);if(126===h)return g>1?d(h):(a.consume(h),g++,f);if(g<2&&!b)return d(h);let j=a.exit("strikethroughSequenceTemporary"),k=bC(h);return j._open=!k||2===k&&!!i,j._close=!i||2===i&&!!k,c(h)}(h))}},resolveAll:function(a,b){let c=-1;for(;++c<a.length;)if("enter"===a[c][0]&&"strikethroughSequenceTemporary"===a[c][1].type&&a[c][1]._close){let d=c;for(;d--;)if("exit"===a[d][0]&&"strikethroughSequenceTemporary"===a[d][1].type&&a[d][1]._open&&a[c][1].end.offset-a[c][1].start.offset==a[d][1].end.offset-a[d][1].start.offset){a[c][1].type="strikethroughSequence",a[d][1].type="strikethroughSequence";let e={type:"strikethrough",start:Object.assign({},a[d][1].start),end:Object.assign({},a[c][1].end)},f={type:"strikethroughText",start:Object.assign({},a[d][1].end),end:Object.assign({},a[c][1].start)},g=[["enter",e,b],["enter",a[d][1],b],["exit",a[d][1],b],["enter",f,b]],h=b.parser.constructs.insideSpan.null;h&&aA(g,g.length,0,bw(h,a.slice(d+1,c),b)),aA(g,g.length,0,[["exit",f,b],["enter",a[c][1],b],["exit",a[c][1],b],["exit",e,b]]),aA(a,d-1,c-d+3,g),c=d+g.length-2;break}}for(c=-1;++c<a.length;)"strikethroughSequenceTemporary"===a[c][1].type&&(a[c][1].type="data");return a}};return null==b&&(b=!0),{text:{126:c},insideSpan:{null:[c]},attentionMarkers:{null:[126]}}}(c),{flow:{null:{name:"table",tokenize:dp,resolveAll:dq}}},{text:{91:du}}])),f.push([{transforms:[ca],enter:{literalAutolink:b4,literalAutolinkEmail:b5,literalAutolinkHttp:b5,literalAutolinkWww:b5},exit:{literalAutolink:b9,literalAutolinkEmail:b8,literalAutolinkHttp:b6,literalAutolinkWww:b7}},{enter:{gfmFootnoteCallString:ce,gfmFootnoteCall:cf,gfmFootnoteDefinitionLabelString:cg,gfmFootnoteDefinition:ch},exit:{gfmFootnoteCallString:ci,gfmFootnoteCall:cj,gfmFootnoteDefinitionLabelString:ck,gfmFootnoteDefinition:cl}},{canContainEols:["delete"],enter:{strikethrough:cq},exit:{strikethrough:cr}},{enter:{table:cT,tableData:cX,tableHeader:cX,tableRow:cV},exit:{codeText:cY,table:cU,tableData:cW,tableHeader:cW,tableRow:cW}},{exit:{taskListCheckValueChecked:c$,taskListCheckValueUnchecked:c$,paragraph:c_}}]),g.push({extensions:[{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:b2,notInConstruct:b3},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:b2,notInConstruct:b3},{character:":",before:"[ps]",after:"\\/",inConstruct:b2,notInConstruct:b3}]},(b=!1,c&&c.firstLineBlank&&(b=!0),{handlers:{footnoteDefinition:function(a,c,d,e){let f=d.createTracker(e),g=f.move("[^"),h=d.enter("footnoteDefinition"),i=d.enter("label");return g+=f.move(d.safe(d.associationId(a),{before:g,after:"]"})),i(),g+=f.move("]:"),a.children&&a.children.length>0&&(f.shift(4),g+=f.move((b?"\n":" ")+d.indentLines(d.containerFlow(a,f.current()),b?co:cn))),h(),g},footnoteReference:cm},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]}),{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:cp}],handlers:{delete:cs}},function(a){let b=a||{},c=b.tableCellPadding,d=b.tablePipeAlign,e=b.stringLength,f=c?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:function(a,b,c){let d=cS.inlineCode(a,b,c);return c.stack.includes("tableCell")&&(d=d.replace(/\|/g,"\\$&")),d},table:function(a,b,c,d){return h(function(a,b,c){let d=a.children,e=-1,f=[],g=b.enter("table");for(;++e<d.length;)f[e]=i(d[e],b,c);return g(),f}(a,c,d),a.align)},tableCell:g,tableRow:function(a,b,c,d){let e=h([i(a,c,d)]);return e.slice(0,e.indexOf("\n"))}}};function g(a,b,c,d){let e=c.enter("tableCell"),g=c.enter("phrasing"),h=c.containerPhrasing(a,{...d,before:f,after:f});return g(),e(),h}function h(a,b){return function(a,b){let c=b||{},d=(c.align||[]).concat(),e=c.stringLength||ct,f=[],g=[],h=[],i=[],j=0,k=-1;for(;++k<a.length;){let b=[],d=[],f=-1;for(a[k].length>j&&(j=a[k].length);++f<a[k].length;){var l;let g=null==(l=a[k][f])?"":String(l);if(!1!==c.alignDelimiters){let a=e(g);d[f]=a,(void 0===i[f]||a>i[f])&&(i[f]=a)}b.push(g)}g[k]=b,h[k]=d}let m=-1;if("object"==typeof d&&"length"in d)for(;++m<j;)f[m]=cu(d[m]);else{let a=cu(d);for(;++m<j;)f[m]=a}m=-1;let n=[],o=[];for(;++m<j;){let a=f[m],b="",d="";99===a?(b=":",d=":"):108===a?b=":":114===a&&(d=":");let e=!1===c.alignDelimiters?1:Math.max(1,i[m]-b.length-d.length),g=b+"-".repeat(e)+d;!1!==c.alignDelimiters&&((e=b.length+e+d.length)>i[m]&&(i[m]=e),o[m]=e),n[m]=g}g.splice(1,0,n),h.splice(1,0,o),k=-1;let p=[];for(;++k<g.length;){let a=g[k],b=h[k];m=-1;let d=[];for(;++m<j;){let e=a[m]||"",g="",h="";if(!1!==c.alignDelimiters){let a=i[m]-(b[m]||0),c=f[m];114===c?g=" ".repeat(a):99===c?a%2?(g=" ".repeat(a/2+.5),h=" ".repeat(a/2-.5)):h=g=" ".repeat(a/2):h=" ".repeat(a)}!1===c.delimiterStart||m||d.push("|"),!1!==c.padding&&(!1!==c.alignDelimiters||""!==e)&&(!1!==c.delimiterStart||m)&&d.push(" "),!1!==c.alignDelimiters&&d.push(g),d.push(e),!1!==c.alignDelimiters&&d.push(h),!1!==c.padding&&d.push(" "),(!1!==c.delimiterEnd||m!==j-1)&&d.push("|")}p.push(!1===c.delimiterEnd?d.join("").replace(/ +$/,""):d.join(""))}return p.join("\n")}(a,{align:b,alignDelimiters:d,padding:c,stringLength:e})}function i(a,b,c){let d=a.children,e=-1,f=[],h=b.enter("tableRow");for(;++e<d.length;)f[e]=g(d[e],a,b,c);return h(),f}}(c),{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:c0}}]})}let dy={}.hasOwnProperty,dz={}.hasOwnProperty,dA=[function(a,b,c,d){if("code"===b.type&&cz(b,d)&&("list"===a.type||a.type===b.type&&cz(a,d)))return!1;if("spread"in c&&"boolean"==typeof c.spread){if("paragraph"===a.type&&(a.type===b.type||"definition"===b.type||"heading"===b.type&&cG(b,d)))return;return+!!c.spread}}],dB=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],dC=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:"\n",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:dB},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:"(?:[\r\n]|$)"},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:dB},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:"(?:[ \r\n*])"},{character:"*",inConstruct:"phrasing",notInConstruct:dB},{atBreak:!0,character:"+",after:"(?:[ \r\n])"},{atBreak:!0,character:"-",after:"(?:[ \r\n-])"},{atBreak:!0,before:"\\d+",character:".",after:"(?:[ \r\n]|$)"},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:dB},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:dB},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:dB},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:dB},{atBreak:!0,character:"~"}];function dD(a){return a.label||!a.identifier?a.label||"":bS(a.identifier)}function dE(a){if(!a._compiled){let b=(a.atBreak?"[\\r\\n][\\t ]*":"")+(a.before?"(?:"+a.before+")":"");a._compiled=RegExp((b?"("+b+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(a.character)?"\\":"")+a.character+(a.after?"(?:"+a.after+")":""),"g")}return a._compiled}let dF=/\r?\n|\r/g;function dG(a,b){let c,d=[],e=0,f=0;for(;c=dF.exec(a);)g(a.slice(e,c.index)),d.push(c[0]),e=c.index+c[0].length,f++;return g(a.slice(e)),d.join("");function g(a){d.push(b(a,f,!a))}}function dH(a,b){return a-b}function dI(a,b){let c,d=/\\(?=[!-/:-@[-`{-~])/g,e=[],f=[],g=a+b,h=-1,i=0;for(;c=d.exec(g);)e.push(c.index);for(;++h<e.length;)i!==e[h]&&f.push(a.slice(i,e[h])),f.push("\\"),i=e[h];return f.push(a.slice(i)),f.join("")}function dJ(a){let b=a||{},c=b.now||{},d=b.lineShift||0,e=c.line||1,f=c.column||1;return{move:function(a){let b=a||"",c=b.split(/\r?\n|\r/g),g=c[c.length-1];return e+=c.length-1,f=1===c.length?f+g.length:1+g.length+d,b},current:function(){return{now:{line:e,column:f},lineShift:d}},shift:function(a){d+=a}}}function dK(a){throw Error("Cannot handle value `"+a+"`, expected node")}function dL(a){throw Error("Cannot handle unknown node `"+a.type+"`")}function dM(a,b){if("definition"===a.type&&a.type===b.type)return 0}function dN(a,b){return function(a,b,c){let d,e=b.indexStack,f=a.children||[],g=[],h=-1,i=c.before;e.push(-1);let j=b.createTracker(c);for(;++h<f.length;){let k,l=f[h];if(e[e.length-1]=h,h+1<f.length){let c=b.handle.handlers[f[h+1].type];c&&c.peek&&(c=c.peek),k=c?c(f[h+1],a,b,{before:"",after:"",...j.current()}).charAt(0):""}else k=c.after;g.length>0&&("\r"===i||"\n"===i)&&"html"===l.type&&(g[g.length-1]=g[g.length-1].replace(/(\r?\n|\r)$/," "),i=" ",(j=b.createTracker(c)).move(g.join("")));let m=b.handle(l,a,b,{...j.current(),after:k,before:i});d&&d===m.slice(0,1)&&(m=cC(d.charCodeAt(0))+m.slice(1));let n=b.attentionEncodeSurroundingInfo;b.attentionEncodeSurroundingInfo=void 0,d=void 0,n&&(g.length>0&&n.before&&i===g[g.length-1].slice(-1)&&(g[g.length-1]=g[g.length-1].slice(0,-1)+cC(i.charCodeAt(0))),n.after&&(d=k)),j.move(m),g.push(m),i=m.slice(-1)}return e.pop(),g.join("")}(a,this,b)}function dO(a,b){return function(a,b,c){let d=b.indexStack,e=a.children||[],f=b.createTracker(c),g=[],h=-1;for(d.push(-1);++h<e.length;){let c=e[h];d[d.length-1]=h,g.push(f.move(b.handle(c,a,b,{before:"\n",after:"\n",...f.current()}))),"list"!==c.type&&(b.bulletLastUsed=void 0),h<e.length-1&&g.push(f.move(function(a,b,c,d){let e=d.join.length;for(;e--;){let f=d.join[e](a,b,c,d);if(!0===f||1===f)break;if("number"==typeof f)return"\n".repeat(1+f);if(!1===f)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}(c,e[h+1],a,b)))}return d.pop(),g.join("")}(a,this,b)}function dP(a,b){return function(a,b,c){let d=(c.before||"")+(b||"")+(c.after||""),e=[],f=[],g={},h=-1;for(;++h<a.unsafe.length;){let b,c=a.unsafe[h];if(!cw(a.stack,c))continue;let f=a.compilePattern(c);for(;b=f.exec(d);){let a="before"in c||!!c.atBreak,d="after"in c,f=b.index+(a?b[1].length:0);e.includes(f)?(g[f].before&&!a&&(g[f].before=!1),g[f].after&&!d&&(g[f].after=!1)):(e.push(f),g[f]={before:a,after:d})}}e.sort(dH);let i=c.before?c.before.length:0,j=d.length-(c.after?c.after.length:0);for(h=-1;++h<e.length;){let a=e[h];!(a<i)&&!(a>=j)&&(!(a+1<j)||e[h+1]!==a+1||!g[a].after||g[a+1].before||g[a+1].after)&&(e[h-1]!==a-1||!g[a].before||g[a-1].before||g[a-1].after)&&(i!==a&&f.push(dI(d.slice(i,a),"\\")),i=a,!/[!-/:-@[-`{-~]/.test(d.charAt(a))||c.encode&&c.encode.includes(d.charAt(a))?(f.push(cC(d.charCodeAt(a))),i++):f.push("\\"))}return f.push(dI(d.slice(i,j),c.after)),f.join("")}(this,a,b)}function dQ(a){let b=this;b.compiler=function(c){var d={...b.data("settings"),...a,extensions:b.data("toMarkdownExtensions")||[]};let e={associationId:dD,containerPhrasing:dN,containerFlow:dO,createTracker:dJ,compilePattern:dE,enter:function(a){return e.stack.push(a),function(){e.stack.pop()}},handlers:{...cS},handle:void 0,indentLines:dG,indexStack:[],join:[...dA],options:{},safe:dP,stack:[],unsafe:[...dC]};!function a(b,c){var d,e,f,g;let h,i=-1;if(c.extensions)for(;++i<c.extensions.length;)a(b,c.extensions[i]);for(h in c)if(dz.call(c,h))switch(h){case"extensions":break;case"unsafe":case"join":d=b[h],(e=c[h])&&d.push(...e);break;case"handlers":f=b[h],(g=c[h])&&Object.assign(f,g);break;default:b.options[h]=c[h]}return b}(e,d||{}),e.options.tightDefinitions&&e.join.push(dM),e.handle=function(a,b){let c=b||{};function d(b,...c){let e=d.invalid,f=d.handlers;if(b&&dy.call(b,a)){let c=String(b[a]);e=dy.call(f,c)?f[c]:d.unknown}if(e)return e.call(this,b,...c)}return d.handlers=c.handlers||{},d.invalid=c.invalid,d.unknown=c.unknown,d}("type",{invalid:dK,unknown:dL,handlers:e.handlers});let f=e.handle(c,void 0,e,{before:"\n",after:"\n",now:{line:1,column:1},lineShift:0});return f&&10!==f.charCodeAt(f.length-1)&&13!==f.charCodeAt(f.length-1)&&(f+="\n"),f}}let dR={blockquote:dX,break:function(){return{type:"text",value:"\n"}},code:dY,definition:dY,delete:dX,emphasis:dX,footnoteReference:dY,footnoteDefinition:dY,heading:function(a){return{type:"paragraph",children:a.children}},html:dY,image:dV,imageReference:dV,inlineCode:dW,list:dX,listItem:dX,link:dX,linkReference:dX,strong:dX,table:dY,tableCell:dY,text:dW,thematicBreak:dY,toml:dY,yaml:dY},dS={},dT=[];function dU(a){let b={...dR},c=a||dS,d=c.keep||dT,e=c.remove||dT,f=-1;for(;++f<e.length;){let a=e[f];"string"==typeof a?b[a]=dY:b[a[0]]=a[1]}let g={};if(0===d.length)g=b;else{let a;for(a in b)d.includes(a)||(g[a]=b[a]);for(f=-1;++f<d.length;)if(!Object.hasOwn(b,a=d[f]))throw Error("Unknown node type `"+a+"` in `keep`, use a replace tuple with a handle instead: `remove: [['"+a+"', handle]]`")}return function(a){return h(a)};function h(a){let b=a.type,c=a;if(Object.hasOwn(g,b)){let a=g[b];a&&(c=a(c)||void 0)}return(c=Array.isArray(c)?i(c):c)&&"children"in c&&(c.children=i(c.children)),c}function i(a){let b=-1,c=[];for(;++b<a.length;){let d=h(a[b]);Array.isArray(d)?c.push(...i(d)):d&&c.push(d)}var d=c;let e,f=-1,g=[];for(;++f<d.length;){let a=d[f];e&&a.type===e.type&&"value"in a&&"value"in e?e.value+=a.value:(g.push(a),e=a)}return g}}function dV(a){let b="title"in a?a.title:"",c=a.alt||b||"";return c?{type:"text",value:c}:void 0}function dW(a){return{type:"text",value:a.value}}function dX(a){return a.children}function dY(){}let dZ=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,d$=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,d_={};function d0(a,b){return((b||d_).jsx?d$:dZ).test(a)}let d1=/[ \t\n\f\r]/g;function d2(a){return""===a.replace(d1,"")}class d3{constructor(a,b,c){this.normal=b,this.property=a,c&&(this.space=c)}}function d4(a,b){let c={},d={};for(let b of a)Object.assign(c,b.property),Object.assign(d,b.normal);return new d3(c,d,b)}function d5(a){return a.toLowerCase()}d3.prototype.normal={},d3.prototype.property={},d3.prototype.space=void 0;class d6{constructor(a,b){this.attribute=b,this.property=a}}d6.prototype.attribute="",d6.prototype.booleanish=!1,d6.prototype.boolean=!1,d6.prototype.commaOrSpaceSeparated=!1,d6.prototype.commaSeparated=!1,d6.prototype.defined=!1,d6.prototype.mustUseProperty=!1,d6.prototype.number=!1,d6.prototype.overloadedBoolean=!1,d6.prototype.property="",d6.prototype.spaceSeparated=!1,d6.prototype.space=void 0;let d7=0,d8=ef(),d9=ef(),ea=ef(),eb=ef(),ec=ef(),ed=ef(),ee=ef();function ef(){return 2**++d7}let eg=Object.keys(e);class eh extends d6{constructor(a,b,c,d){let f=-1;if(super(a,b),function(a,b,c){c&&(a[b]=c)}(this,"space",d),"number"==typeof c)for(;++f<eg.length;){let a=eg[f];!function(a,b,c){c&&(a[b]=c)}(this,eg[f],(c&e[a])===e[a])}}}function ei(a){let b={},c={};for(let[d,e]of Object.entries(a.properties)){let f=new eh(d,a.transform(a.attributes||{},d),e,a.space);a.mustUseProperty&&a.mustUseProperty.includes(d)&&(f.mustUseProperty=!0),b[d]=f,c[d5(d)]=d,c[d5(f.attribute)]=d}return new d3(b,c,a.space)}eh.prototype.defined=!0;let ej=ei({properties:{ariaActiveDescendant:null,ariaAtomic:d9,ariaAutoComplete:null,ariaBusy:d9,ariaChecked:d9,ariaColCount:eb,ariaColIndex:eb,ariaColSpan:eb,ariaControls:ec,ariaCurrent:null,ariaDescribedBy:ec,ariaDetails:null,ariaDisabled:d9,ariaDropEffect:ec,ariaErrorMessage:null,ariaExpanded:d9,ariaFlowTo:ec,ariaGrabbed:d9,ariaHasPopup:null,ariaHidden:d9,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ec,ariaLevel:eb,ariaLive:null,ariaModal:d9,ariaMultiLine:d9,ariaMultiSelectable:d9,ariaOrientation:null,ariaOwns:ec,ariaPlaceholder:null,ariaPosInSet:eb,ariaPressed:d9,ariaReadOnly:d9,ariaRelevant:null,ariaRequired:d9,ariaRoleDescription:ec,ariaRowCount:eb,ariaRowIndex:eb,ariaRowSpan:eb,ariaSelected:d9,ariaSetSize:eb,ariaSort:null,ariaValueMax:eb,ariaValueMin:eb,ariaValueNow:eb,ariaValueText:null,role:null},transform:(a,b)=>"role"===b?b:"aria-"+b.slice(4).toLowerCase()});function ek(a,b){return b in a?a[b]:b}function el(a,b){return ek(a,b.toLowerCase())}let em=ei({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ed,acceptCharset:ec,accessKey:ec,action:null,allow:null,allowFullScreen:d8,allowPaymentRequest:d8,allowUserMedia:d8,alt:null,as:null,async:d8,autoCapitalize:null,autoComplete:ec,autoFocus:d8,autoPlay:d8,blocking:ec,capture:null,charSet:null,checked:d8,cite:null,className:ec,cols:eb,colSpan:null,content:null,contentEditable:d9,controls:d8,controlsList:ec,coords:eb|ed,crossOrigin:null,data:null,dateTime:null,decoding:null,default:d8,defer:d8,dir:null,dirName:null,disabled:d8,download:ea,draggable:d9,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:d8,formTarget:null,headers:ec,height:eb,hidden:ea,high:eb,href:null,hrefLang:null,htmlFor:ec,httpEquiv:ec,id:null,imageSizes:null,imageSrcSet:null,inert:d8,inputMode:null,integrity:null,is:null,isMap:d8,itemId:null,itemProp:ec,itemRef:ec,itemScope:d8,itemType:ec,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:d8,low:eb,manifest:null,max:null,maxLength:eb,media:null,method:null,min:null,minLength:eb,multiple:d8,muted:d8,name:null,nonce:null,noModule:d8,noValidate:d8,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:d8,optimum:eb,pattern:null,ping:ec,placeholder:null,playsInline:d8,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:d8,referrerPolicy:null,rel:ec,required:d8,reversed:d8,rows:eb,rowSpan:eb,sandbox:ec,scope:null,scoped:d8,seamless:d8,selected:d8,shadowRootClonable:d8,shadowRootDelegatesFocus:d8,shadowRootMode:null,shape:null,size:eb,sizes:null,slot:null,span:eb,spellCheck:d9,src:null,srcDoc:null,srcLang:null,srcSet:null,start:eb,step:null,style:null,tabIndex:eb,target:null,title:null,translate:null,type:null,typeMustMatch:d8,useMap:null,value:d9,width:eb,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ec,axis:null,background:null,bgColor:null,border:eb,borderColor:null,bottomMargin:eb,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:d8,declare:d8,event:null,face:null,frame:null,frameBorder:null,hSpace:eb,leftMargin:eb,link:null,longDesc:null,lowSrc:null,marginHeight:eb,marginWidth:eb,noResize:d8,noHref:d8,noShade:d8,noWrap:d8,object:null,profile:null,prompt:null,rev:null,rightMargin:eb,rules:null,scheme:null,scrolling:d9,standby:null,summary:null,text:null,topMargin:eb,valueType:null,version:null,vAlign:null,vLink:null,vSpace:eb,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:d8,disableRemotePlayback:d8,prefix:null,property:null,results:eb,security:null,unselectable:null},space:"html",transform:el}),en=ei({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ee,accentHeight:eb,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:eb,amplitude:eb,arabicForm:null,ascent:eb,attributeName:null,attributeType:null,azimuth:eb,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:eb,by:null,calcMode:null,capHeight:eb,className:ec,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:eb,diffuseConstant:eb,direction:null,display:null,dur:null,divisor:eb,dominantBaseline:null,download:d8,dx:null,dy:null,edgeMode:null,editable:null,elevation:eb,enableBackground:null,end:null,event:null,exponent:eb,externalResourcesRequired:null,fill:null,fillOpacity:eb,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ed,g2:ed,glyphName:ed,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:eb,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:eb,horizOriginX:eb,horizOriginY:eb,id:null,ideographic:eb,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:eb,k:eb,k1:eb,k2:eb,k3:eb,k4:eb,kernelMatrix:ee,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:eb,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:eb,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:eb,overlineThickness:eb,paintOrder:null,panose1:null,path:null,pathLength:eb,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ec,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:eb,pointsAtY:eb,pointsAtZ:eb,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ee,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ee,rev:ee,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ee,requiredFeatures:ee,requiredFonts:ee,requiredFormats:ee,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:eb,specularExponent:eb,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:eb,strikethroughThickness:eb,string:null,stroke:null,strokeDashArray:ee,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:eb,strokeOpacity:eb,strokeWidth:null,style:null,surfaceScale:eb,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ee,tabIndex:eb,tableValues:null,target:null,targetX:eb,targetY:eb,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ee,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:eb,underlineThickness:eb,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:eb,values:null,vAlphabetic:eb,vMathematical:eb,vectorEffect:null,vHanging:eb,vIdeographic:eb,version:null,vertAdvY:eb,vertOriginX:eb,vertOriginY:eb,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:eb,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:ek}),eo=ei({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(a,b)=>"xlink:"+b.slice(5).toLowerCase()}),ep=ei({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:el}),eq=ei({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(a,b)=>"xml:"+b.slice(3).toLowerCase()}),er=d4([ej,em,eo,ep,eq],"html"),es=d4([ej,en,eo,ep,eq],"svg"),et=/[A-Z]/g,eu=/-[a-z]/g,ev=/^data[-\w.:]+$/i;function ew(a){return"-"+a.toLowerCase()}function ex(a){return a.charAt(1).toUpperCase()}let ey={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var ez=c(16184);let eA=eC("end"),eB=eC("start");function eC(a){return function(b){let c=b&&b.position&&b.position[a]||{};if("number"==typeof c.line&&c.line>0&&"number"==typeof c.column&&c.column>0)return{line:c.line,column:c.column,offset:"number"==typeof c.offset&&c.offset>-1?c.offset:void 0}}}let eD={}.hasOwnProperty,eE=new Map,eF=/[A-Z]/g,eG=new Set(["table","tbody","thead","tfoot","tr"]),eH=new Set(["td","th"]),eI="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function eJ(a,b,c){return"element"===b.type?function(a,b,c){let d=a.schema;"svg"===b.tagName.toLowerCase()&&"html"===d.space&&(a.schema=es),a.ancestors.push(b);let e=eN(a,b.tagName,!1),f=function(a,b){let c,d,e={};for(d in b.properties)if("children"!==d&&eD.call(b.properties,d)){let f=function(a,b,c){let d=function(a,b){let c=d5(b),d=b,e=d6;if(c in a.normal)return a.property[a.normal[c]];if(c.length>4&&"data"===c.slice(0,4)&&ev.test(b)){if("-"===b.charAt(4)){let a=b.slice(5).replace(eu,ex);d="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=b.slice(4);if(!eu.test(a)){let c=a.replace(et,ew);"-"!==c.charAt(0)&&(c="-"+c),b="data"+c}}e=eh}return new e(d,b)}(a.schema,b);if(!(null==c||"number"==typeof c&&Number.isNaN(c))){if(Array.isArray(c)&&(c=d.commaSeparated?function(a,b){let c={};return(""===a[a.length-1]?[...a,""]:a).join((c.padRight?" ":"")+","+(!1===c.padLeft?"":" ")).trim()}(c):c.join(" ").trim()),"style"===d.property){let b="object"==typeof c?c:function(a,b){try{return ez(b,{reactCompat:!0})}catch(c){if(a.ignoreInvalidStyle)return{};let b=new ac("Cannot parse `style` attribute",{ancestors:a.ancestors,cause:c,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw b.file=a.filePath||void 0,b.url=eI+"#cannot-parse-style-attribute",b}}(a,String(c));return"css"===a.stylePropertyNameCase&&(b=function(a){let b,c={};for(b in a)eD.call(a,b)&&(c[function(a){let b=a.replace(eF,eP);return"ms-"===b.slice(0,3)&&(b="-"+b),b}(b)]=a[b]);return c}(b)),["style",b]}return["react"===a.elementAttributeNameCase&&d.space?ey[d.property]||d.property:d.attribute,c]}}(a,d,b.properties[d]);if(f){let[d,g]=f;a.tableCellAlignToStyle&&"align"===d&&"string"==typeof g&&eH.has(b.tagName)?c=g:e[d]=g}}return c&&((e.style||(e.style={}))["css"===a.stylePropertyNameCase?"text-align":"textAlign"]=c),e}(a,b),g=eM(a,b);return eG.has(b.tagName)&&(g=g.filter(function(a){return"string"!=typeof a||!("object"==typeof a?"text"===a.type&&d2(a.value):d2(a))})),eK(a,f,e,b),eL(f,g),a.ancestors.pop(),a.schema=d,a.create(b,e,f,c)}(a,b,c):"mdxFlowExpression"===b.type||"mdxTextExpression"===b.type?function(a,b){if(b.data&&b.data.estree&&a.evaluater){let c=b.data.estree.body[0];return c.type,a.evaluater.evaluateExpression(c.expression)}eO(a,b.position)}(a,b):"mdxJsxFlowElement"===b.type||"mdxJsxTextElement"===b.type?function(a,b,c){let d=a.schema;"svg"===b.name&&"html"===d.space&&(a.schema=es),a.ancestors.push(b);let e=null===b.name?a.Fragment:eN(a,b.name,!0),f=function(a,b){let c={};for(let d of b.attributes)if("mdxJsxExpressionAttribute"===d.type)if(d.data&&d.data.estree&&a.evaluater){let b=d.data.estree.body[0];b.type;let e=b.expression;e.type;let f=e.properties[0];f.type,Object.assign(c,a.evaluater.evaluateExpression(f.argument))}else eO(a,b.position);else{let e,f=d.name;if(d.value&&"object"==typeof d.value)if(d.value.data&&d.value.data.estree&&a.evaluater){let b=d.value.data.estree.body[0];b.type,e=a.evaluater.evaluateExpression(b.expression)}else eO(a,b.position);else e=null===d.value||d.value;c[f]=e}return c}(a,b),g=eM(a,b);return eK(a,f,e,b),eL(f,g),a.ancestors.pop(),a.schema=d,a.create(b,e,f,c)}(a,b,c):"mdxjsEsm"===b.type?function(a,b){if(b.data&&b.data.estree&&a.evaluater)return a.evaluater.evaluateProgram(b.data.estree);eO(a,b.position)}(a,b):"root"===b.type?function(a,b,c){let d={};return eL(d,eM(a,b)),a.create(b,a.Fragment,d,c)}(a,b,c):"text"===b.type?b.value:void 0}function eK(a,b,c,d){"string"!=typeof c&&c!==a.Fragment&&a.passNode&&(b.node=d)}function eL(a,b){if(b.length>0){let c=b.length>1?b:b[0];c&&(a.children=c)}}function eM(a,b){let c=[],d=-1,e=a.passKeys?new Map:eE;for(;++d<b.children.length;){let f,g=b.children[d];if(a.passKeys){let a="element"===g.type?g.tagName:"mdxJsxFlowElement"===g.type||"mdxJsxTextElement"===g.type?g.name:void 0;if(a){let b=e.get(a)||0;f=a+"-"+b,e.set(a,b+1)}}let h=eJ(a,g,f);void 0!==h&&c.push(h)}return c}function eN(a,b,c){let d;if(c)if(b.includes(".")){let a,c=b.split("."),e=-1;for(;++e<c.length;){let b=d0(c[e])?{type:"Identifier",name:c[e]}:{type:"Literal",value:c[e]};a=a?{type:"MemberExpression",object:a,property:b,computed:!!(e&&"Literal"===b.type),optional:!1}:b}d=a}else d=d0(b)&&!/^[a-z]/.test(b)?{type:"Identifier",name:b}:{type:"Literal",value:b};else d={type:"Literal",value:b};if("Literal"===d.type){let b=d.value;return eD.call(a.components,b)?a.components[b]:b}if(a.evaluater)return a.evaluater.evaluateExpression(d);eO(a)}function eO(a,b){let c=new ac("Cannot handle MDX estrees without `createEvaluater`",{ancestors:a.ancestors,place:b,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw c.file=a.filePath||void 0,c.url=eI+"#cannot-handle-mdx-estrees-without-createevaluater",c}function eP(a){return"-"+a.toLowerCase()}let eQ={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},eR="object"==typeof self?self:globalThis,eS=(a,b)=>{switch(a){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw TypeError("unable to deserialize "+a)}return new eR[a](b)},eT=a=>((a,b)=>{let c=(b,c)=>(a.set(c,b),b),d=e=>{if(a.has(e))return a.get(e);let[f,g]=b[e];switch(f){case 0:case -1:return c(g,e);case 1:{let a=c([],e);for(let b of g)a.push(d(b));return a}case 2:{let a=c({},e);for(let[b,c]of g)a[d(b)]=d(c);return a}case 3:return c(new Date(g),e);case 4:{let{source:a,flags:b}=g;return c(new RegExp(a,b),e)}case 5:{let a=c(new Map,e);for(let[b,c]of g)a.set(d(b),d(c));return a}case 6:{let a=c(new Set,e);for(let b of g)a.add(d(b));return a}case 7:{let{name:a,message:b}=g;return c(eS(a,b),e)}case 8:return c(BigInt(g),e);case"BigInt":return c(Object(BigInt(g)),e);case"ArrayBuffer":return c(new Uint8Array(g).buffer,g);case"DataView":{let{buffer:a}=new Uint8Array(g);return c(new DataView(a),g)}}return c(eS(f,g),e)};return d})(new Map,a)(0),{toString:eU}={},{keys:eV}=Object,eW=a=>{let b=typeof a;if("object"!==b||!a)return[0,b];let c=eU.call(a).slice(8,-1);switch(c){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,c]}return c.includes("Array")?[1,c]:c.includes("Error")?[7,c]:[2,c]},eX=([a,b])=>0===a&&("function"===b||"symbol"===b),eY=(a,{json:b,lossy:c}={})=>{let d=[];return((a,b,c,d)=>{let e=(a,b)=>{let e=d.push(a)-1;return c.set(b,e),e},f=d=>{if(c.has(d))return c.get(d);let[g,h]=eW(d);switch(g){case 0:{let b=d;switch(h){case"bigint":g=8,b=d.toString();break;case"function":case"symbol":if(a)throw TypeError("unable to serialize "+h);b=null;break;case"undefined":return e([-1],d)}return e([g,b],d)}case 1:{if(h){let a=d;return"DataView"===h?a=new Uint8Array(d.buffer):"ArrayBuffer"===h&&(a=new Uint8Array(d)),e([h,[...a]],d)}let a=[],b=e([g,a],d);for(let b of d)a.push(f(b));return b}case 2:{if(h)switch(h){case"BigInt":return e([h,d.toString()],d);case"Boolean":case"Number":case"String":return e([h,d.valueOf()],d)}if(b&&"toJSON"in d)return f(d.toJSON());let c=[],i=e([g,c],d);for(let b of eV(d))(a||!eX(eW(d[b])))&&c.push([f(b),f(d[b])]);return i}case 3:return e([g,d.toISOString()],d);case 4:{let{source:a,flags:b}=d;return e([g,{source:a,flags:b}],d)}case 5:{let b=[],c=e([g,b],d);for(let[c,e]of d)(a||!(eX(eW(c))||eX(eW(e))))&&b.push([f(c),f(e)]);return c}case 6:{let b=[],c=e([g,b],d);for(let c of d)(a||!eX(eW(c)))&&b.push(f(c));return c}}let{message:i}=d;return e([g,{name:h,message:i}],d)};return f})(!(b||c),!!b,new Map,d)(a),d},eZ="function"==typeof structuredClone?(a,b)=>b&&("json"in b||"lossy"in b)?eT(eY(a,b)):structuredClone(a):(a,b)=>eT(eY(a,b));function e$(a){let b=[],c=-1,d=0,e=0;for(;++c<a.length;){let f=a.charCodeAt(c),g="";if(37===f&&aI(a.charCodeAt(c+1))&&aI(a.charCodeAt(c+2)))e=2;else if(f<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(f))||(g=String.fromCharCode(f));else if(f>55295&&f<57344){let b=a.charCodeAt(c+1);f<56320&&b>56319&&b<57344?(g=String.fromCharCode(f,b),e=1):g="�"}else g=String.fromCharCode(f);g&&(b.push(a.slice(d,c),encodeURIComponent(g)),d=c+e+1,g=""),e&&(c+=e,e=0)}return b.join("")+a.slice(d)}function e_(a,b){let c=[{type:"text",value:"↩"}];return b>1&&c.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(b)}]}),c}function e0(a,b){return"Back to reference "+(a+1)+(b>1?"-"+b:"")}function e1(a,b){let c=b.referenceType,d="]";if("collapsed"===c?d+="[]":"full"===c&&(d+="["+(b.label||b.identifier)+"]"),"imageReference"===b.type)return[{type:"text",value:"!["+b.alt+d}];let e=a.all(b),f=e[0];f&&"text"===f.type?f.value="["+f.value:e.unshift({type:"text",value:"["});let g=e[e.length-1];return g&&"text"===g.type?g.value+=d:e.push({type:"text",value:d}),e}function e2(a){let b=a.spread;return null==b?a.children.length>1:b}function e3(a,b,c){let d=0,e=a.length;if(b){let b=a.codePointAt(d);for(;9===b||32===b;)d++,b=a.codePointAt(d)}if(c){let b=a.codePointAt(e-1);for(;9===b||32===b;)e--,b=a.codePointAt(e-1)}return e>d?a.slice(d,e):""}let e4={blockquote:function(a,b){let c={type:"element",tagName:"blockquote",properties:{},children:a.wrap(a.all(b),!0)};return a.patch(b,c),a.applyData(b,c)},break:function(a,b){let c={type:"element",tagName:"br",properties:{},children:[]};return a.patch(b,c),[a.applyData(b,c),{type:"text",value:"\n"}]},code:function(a,b){let c=b.value?b.value+"\n":"",d={},e=b.lang?b.lang.split(/\s+/):[];e.length>0&&(d.className=["language-"+e[0]]);let f={type:"element",tagName:"code",properties:d,children:[{type:"text",value:c}]};return b.meta&&(f.data={meta:b.meta}),a.patch(b,f),f={type:"element",tagName:"pre",properties:{},children:[f=a.applyData(b,f)]},a.patch(b,f),f},delete:function(a,b){let c={type:"element",tagName:"del",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},emphasis:function(a,b){let c={type:"element",tagName:"em",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},footnoteReference:function(a,b){let c,d="string"==typeof a.options.clobberPrefix?a.options.clobberPrefix:"user-content-",e=String(b.identifier).toUpperCase(),f=e$(e.toLowerCase()),g=a.footnoteOrder.indexOf(e),h=a.footnoteCounts.get(e);void 0===h?(h=0,a.footnoteOrder.push(e),c=a.footnoteOrder.length):c=g+1,h+=1,a.footnoteCounts.set(e,h);let i={type:"element",tagName:"a",properties:{href:"#"+d+"fn-"+f,id:d+"fnref-"+f+(h>1?"-"+h:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(c)}]};a.patch(b,i);let j={type:"element",tagName:"sup",properties:{},children:[i]};return a.patch(b,j),a.applyData(b,j)},heading:function(a,b){let c={type:"element",tagName:"h"+b.depth,properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},html:function(a,b){if(a.options.allowDangerousHtml){let c={type:"raw",value:b.value};return a.patch(b,c),a.applyData(b,c)}},imageReference:function(a,b){let c=String(b.identifier).toUpperCase(),d=a.definitionById.get(c);if(!d)return e1(a,b);let e={src:e$(d.url||""),alt:b.alt};null!==d.title&&void 0!==d.title&&(e.title=d.title);let f={type:"element",tagName:"img",properties:e,children:[]};return a.patch(b,f),a.applyData(b,f)},image:function(a,b){let c={src:e$(b.url)};null!==b.alt&&void 0!==b.alt&&(c.alt=b.alt),null!==b.title&&void 0!==b.title&&(c.title=b.title);let d={type:"element",tagName:"img",properties:c,children:[]};return a.patch(b,d),a.applyData(b,d)},inlineCode:function(a,b){let c={type:"text",value:b.value.replace(/\r?\n|\r/g," ")};a.patch(b,c);let d={type:"element",tagName:"code",properties:{},children:[c]};return a.patch(b,d),a.applyData(b,d)},linkReference:function(a,b){let c=String(b.identifier).toUpperCase(),d=a.definitionById.get(c);if(!d)return e1(a,b);let e={href:e$(d.url||"")};null!==d.title&&void 0!==d.title&&(e.title=d.title);let f={type:"element",tagName:"a",properties:e,children:a.all(b)};return a.patch(b,f),a.applyData(b,f)},link:function(a,b){let c={href:e$(b.url)};null!==b.title&&void 0!==b.title&&(c.title=b.title);let d={type:"element",tagName:"a",properties:c,children:a.all(b)};return a.patch(b,d),a.applyData(b,d)},listItem:function(a,b,c){let d=a.all(b),e=c?function(a){let b=!1;if("list"===a.type){b=a.spread||!1;let c=a.children,d=-1;for(;!b&&++d<c.length;)b=e2(c[d])}return b}(c):e2(b),f={},g=[];if("boolean"==typeof b.checked){let a,c=d[0];c&&"element"===c.type&&"p"===c.tagName?a=c:(a={type:"element",tagName:"p",properties:{},children:[]},d.unshift(a)),a.children.length>0&&a.children.unshift({type:"text",value:" "}),a.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:b.checked,disabled:!0},children:[]}),f.className=["task-list-item"]}let h=-1;for(;++h<d.length;){let a=d[h];(e||0!==h||"element"!==a.type||"p"!==a.tagName)&&g.push({type:"text",value:"\n"}),"element"!==a.type||"p"!==a.tagName||e?g.push(a):g.push(...a.children)}let i=d[d.length-1];i&&(e||"element"!==i.type||"p"!==i.tagName)&&g.push({type:"text",value:"\n"});let j={type:"element",tagName:"li",properties:f,children:g};return a.patch(b,j),a.applyData(b,j)},list:function(a,b){let c={},d=a.all(b),e=-1;for("number"==typeof b.start&&1!==b.start&&(c.start=b.start);++e<d.length;){let a=d[e];if("element"===a.type&&"li"===a.tagName&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){c.className=["contains-task-list"];break}}let f={type:"element",tagName:b.ordered?"ol":"ul",properties:c,children:a.wrap(d,!0)};return a.patch(b,f),a.applyData(b,f)},paragraph:function(a,b){let c={type:"element",tagName:"p",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},root:function(a,b){let c={type:"root",children:a.wrap(a.all(b))};return a.patch(b,c),a.applyData(b,c)},strong:function(a,b){let c={type:"element",tagName:"strong",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},table:function(a,b){let c=a.all(b),d=c.shift(),e=[];if(d){let c={type:"element",tagName:"thead",properties:{},children:a.wrap([d],!0)};a.patch(b.children[0],c),e.push(c)}if(c.length>0){let d={type:"element",tagName:"tbody",properties:{},children:a.wrap(c,!0)},f=eB(b.children[1]),g=eA(b.children[b.children.length-1]);f&&g&&(d.position={start:f,end:g}),e.push(d)}let f={type:"element",tagName:"table",properties:{},children:a.wrap(e,!0)};return a.patch(b,f),a.applyData(b,f)},tableCell:function(a,b){let c={type:"element",tagName:"td",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},tableRow:function(a,b,c){let d=c?c.children:void 0,e=0===(d?d.indexOf(b):1)?"th":"td",f=c&&"table"===c.type?c.align:void 0,g=f?f.length:b.children.length,h=-1,i=[];for(;++h<g;){let c=b.children[h],d={},g=f?f[h]:void 0;g&&(d.align=g);let j={type:"element",tagName:e,properties:d,children:[]};c&&(j.children=a.all(c),a.patch(c,j),j=a.applyData(c,j)),i.push(j)}let j={type:"element",tagName:"tr",properties:{},children:a.wrap(i,!0)};return a.patch(b,j),a.applyData(b,j)},text:function(a,b){let c={type:"text",value:function(a){let b=String(a),c=/\r?\n|\r/g,d=c.exec(b),e=0,f=[];for(;d;)f.push(e3(b.slice(e,d.index),e>0,!0),d[0]),e=d.index+d[0].length,d=c.exec(b);return f.push(e3(b.slice(e),e>0,!1)),f.join("")}(String(b.value))};return a.patch(b,c),a.applyData(b,c)},thematicBreak:function(a,b){let c={type:"element",tagName:"hr",properties:{},children:[]};return a.patch(b,c),a.applyData(b,c)},toml:e5,yaml:e5,definition:e5,footnoteDefinition:e5};function e5(){}let e6={}.hasOwnProperty,e7={};function e8(a,b){a.position&&(b.position=function(a){let b=eB(a),c=eA(a);if(b&&c)return{start:b,end:c}}(a))}function e9(a,b){let c=b;if(a&&a.data){let b=a.data.hName,d=a.data.hChildren,e=a.data.hProperties;"string"==typeof b&&("element"===c.type?c.tagName=b:c={type:"element",tagName:b,properties:{},children:"children"in c?c.children:[c]}),"element"===c.type&&e&&Object.assign(c.properties,eZ(e)),"children"in c&&c.children&&null!=d&&(c.children=d)}return c}function fa(a,b){let c=[],d=-1;for(b&&c.push({type:"text",value:"\n"});++d<a.length;)d&&c.push({type:"text",value:"\n"}),c.push(a[d]);return b&&a.length>0&&c.push({type:"text",value:"\n"}),c}function fb(a){let b=0,c=a.charCodeAt(b);for(;9===c||32===c;)b++,c=a.charCodeAt(b);return a.slice(b)}function fc(a,b){let c=function(a,b){let c=b||e7,d=new Map,e=new Map,f={all:function(a){let b=[];if("children"in a){let c=a.children,d=-1;for(;++d<c.length;){let e=f.one(c[d],a);if(e){if(d&&"break"===c[d-1].type&&(Array.isArray(e)||"text"!==e.type||(e.value=fb(e.value)),!Array.isArray(e)&&"element"===e.type)){let a=e.children[0];a&&"text"===a.type&&(a.value=fb(a.value))}Array.isArray(e)?b.push(...e):b.push(e)}}}return b},applyData:e9,definitionById:d,footnoteById:e,footnoteCounts:new Map,footnoteOrder:[],handlers:{...e4,...c.handlers},one:function(a,b){let c=a.type,d=f.handlers[c];if(e6.call(f.handlers,c)&&d)return d(f,a,b);if(f.options.passThrough&&f.options.passThrough.includes(c)){if("children"in a){let{children:b,...c}=a,d=eZ(c);return d.children=f.all(a),d}return eZ(a)}return(f.options.unknownHandler||function(a,b){let c=b.data||{},d="value"in b&&!(e6.call(c,"hProperties")||e6.call(c,"hChildren"))?{type:"text",value:b.value}:{type:"element",tagName:"div",properties:{},children:a.all(b)};return a.patch(b,d),a.applyData(b,d)})(f,a,b)},options:c,patch:e8,wrap:fa};return cF(a,function(a){if("definition"===a.type||"footnoteDefinition"===a.type){let b="definition"===a.type?d:e,c=String(a.identifier).toUpperCase();b.has(c)||b.set(c,a)}}),f}(a,b),d=c.one(a,void 0),e=function(a){let b="string"==typeof a.options.clobberPrefix?a.options.clobberPrefix:"user-content-",c=a.options.footnoteBackContent||e_,d=a.options.footnoteBackLabel||e0,e=a.options.footnoteLabel||"Footnotes",f=a.options.footnoteLabelTagName||"h2",g=a.options.footnoteLabelProperties||{className:["sr-only"]},h=[],i=-1;for(;++i<a.footnoteOrder.length;){let e=a.footnoteById.get(a.footnoteOrder[i]);if(!e)continue;let f=a.all(e),g=String(e.identifier).toUpperCase(),j=e$(g.toLowerCase()),k=0,l=[],m=a.footnoteCounts.get(g);for(;void 0!==m&&++k<=m;){l.length>0&&l.push({type:"text",value:" "});let a="string"==typeof c?c:c(i,k);"string"==typeof a&&(a={type:"text",value:a}),l.push({type:"element",tagName:"a",properties:{href:"#"+b+"fnref-"+j+(k>1?"-"+k:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof d?d:d(i,k),className:["data-footnote-backref"]},children:Array.isArray(a)?a:[a]})}let n=f[f.length-1];if(n&&"element"===n.type&&"p"===n.tagName){let a=n.children[n.children.length-1];a&&"text"===a.type?a.value+=" ":n.children.push({type:"text",value:" "}),n.children.push(...l)}else f.push(...l);let o={type:"element",tagName:"li",properties:{id:b+"fn-"+j},children:a.wrap(f,!0)};a.patch(e,o),h.push(o)}if(0!==h.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:f,properties:{...eZ(g),id:"footnote-label"},children:[{type:"text",value:e}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:a.wrap(h,!0)},{type:"text",value:"\n"}]}}(c),f=Array.isArray(d)?{type:"root",children:d}:d||{type:"root",children:[]};return e&&f.children.push({type:"text",value:"\n"},e),f}function fd(a,b){return a&&"run"in a?async function(c,d){let e=fc(c,{file:d,...b});await a.run(e,d)}:function(c,d){return fc(c,{file:d,...a||b})}}let fe=[],ff={allowDangerousHtml:!0},fg=/^(https?|ircs?|mailto|xmpp)$/i,fh=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function fi(a){let b=function(a){let b=a.rehypePlugins||fe,c=a.remarkPlugins||fe,d=a.remarkRehypeOptions?{...a.remarkRehypeOptions,...ff}:ff;return ap().use(bX).use(c).use(fd,d).use(b)}(a),c=function(a){let b=a.children||"",c=new ai;return"string"==typeof b&&(c.value=b),c}(a);return function(a,b){let c=b.allowedElements,d=b.allowElement,e=b.components,g=b.disallowedElements,h=b.skipHtml,i=b.unwrapDisallowed,j=b.urlTransform||fj;for(let a of fh)Object.hasOwn(b,a.from)&&(a.from,a.to&&a.to,a.id);return b.className&&(a={type:"element",tagName:"div",properties:{className:b.className},children:"root"===a.type?a.children:[a]}),cF(a,function(a,b,e){if("raw"===a.type&&e&&"number"==typeof b)return h?e.children.splice(b,1):e.children[b]={type:"text",value:a.value},b;if("element"===a.type){let b;for(b in eQ)if(Object.hasOwn(eQ,b)&&Object.hasOwn(a.properties,b)){let c=a.properties[b],d=eQ[b];(null===d||d.includes(a.tagName))&&(a.properties[b]=j(String(c||""),b,a))}}if("element"===a.type){let f=c?!c.includes(a.tagName):!!g&&g.includes(a.tagName);if(!f&&d&&"number"==typeof b&&(f=!d(a,b,e)),f&&e&&"number"==typeof b)return i&&a.children?e.children.splice(b,1,...a.children):e.children.splice(b,1),b}}),function(a,b){var c,d,e,f;let g;if(!b||void 0===b.Fragment)throw TypeError("Expected `Fragment` in options");let h=b.filePath||void 0;if(b.development){if("function"!=typeof b.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");c=h,d=b.jsxDEV,g=function(a,b,e,f){let g=Array.isArray(e.children),h=eB(a);return d(b,e,f,g,{columnNumber:h?h.column-1:void 0,fileName:c,lineNumber:h?h.line:void 0},void 0)}}else{if("function"!=typeof b.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof b.jsxs)throw TypeError("Expected `jsxs` in production options");e=b.jsx,f=b.jsxs,g=function(a,b,c,d){let g=Array.isArray(c.children)?f:e;return d?g(b,c,d):g(b,c)}}let i={Fragment:b.Fragment,ancestors:[],components:b.components||{},create:g,elementAttributeNameCase:b.elementAttributeNameCase||"react",evaluater:b.createEvaluater?b.createEvaluater():void 0,filePath:h,ignoreInvalidStyle:b.ignoreInvalidStyle||!1,passKeys:!1!==b.passKeys,passNode:b.passNode||!1,schema:"svg"===b.space?es:er,stylePropertyNameCase:b.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==b.tableCellAlignToStyle},j=eJ(i,a,void 0);return j&&"string"!=typeof j?j:i.create(a,i.Fragment,{children:j||void 0},void 0)}(a,{Fragment:f.Fragment,components:e,ignoreInvalidStyle:!0,jsx:f.jsx,jsxs:f.jsxs,passKeys:!0,passNode:!0})}(b.runSync(b.parse(c),c),a)}function fj(a){let b=a.indexOf(":"),c=a.indexOf("?"),d=a.indexOf("#"),e=a.indexOf("/");return -1===b||-1!==e&&b>e||-1!==c&&b>c||-1!==d&&b>d||fg.test(a.slice(0,b))?a:""}function fk({source:a,className:b,filename:c}){let d=(0,g.useRef)(null),[e,h]=(0,g.useState)(null),[i,k]=(0,g.useState)(null),{resolvedTheme:l}=(0,j.D)(),m=c&&(c.split(/[\\/]/).pop()?.trim()??"").replace(/\.(mmd|md|markdown)$/i,"").trim()||"diagram",n=!!i&&!e;return(0,f.jsxs)("div",{className:b,children:[n&&(0,f.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,f.jsx)("button",{type:"button",onClick:()=>{if(!i)return;let a=d.current?.querySelector("svg");if(!a)return void h("SVG export failed: rendered SVG not found");let b=a.cloneNode(!0);b.setAttribute("xmlns","http://www.w3.org/2000/svg"),b.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink");let c=new XMLSerializer().serializeToString(b),e=new Blob([c.startsWith("<?xml")?c:`<?xml version="1.0" encoding="UTF-8"?>
6
- ${c}`],{type:"image/svg+xml;charset=utf-8"}),f=URL.createObjectURL(e),g=document.createElement("a");g.href=f,g.download=`${m}.svg`,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(f)},className:"btn btn-sm","aria-label":"Export diagram as SVG",title:"Export as SVG",children:"SVG"}),(0,f.jsx)("button",{type:"button",onClick:()=>{if(!i)return;let a=d.current?.querySelector("svg");if(!a)return void h("PNG export failed: rendered SVG not found");let b=800,c=600,e=a.viewBox?.baseVal;if(e&&e.width>0&&e.height>0)b=e.width,c=e.height;else try{let d=a.getBBox();d.width>0&&d.height>0&&(b=d.width,c=d.height)}catch{}let f=a.cloneNode(!0);f.setAttribute("xmlns","http://www.w3.org/2000/svg"),f.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),f.setAttribute("width",String(b)),f.setAttribute("height",String(c));let g=new XMLSerializer().serializeToString(f),j=new TextEncoder().encode(g),k="";for(let a=0;a<j.length;a++)k+=String.fromCharCode(j[a]);let n=`data:image/svg+xml;base64,${btoa(k)}`,o=document.createElement("canvas");o.width=Math.max(1,Math.round(2*b)),o.height=Math.max(1,Math.round(2*c));let p=o.getContext("2d");if(!p)return void h("PNG export failed: 2D canvas context unavailable");let q=new Image;q.onload=()=>{p.fillStyle="light"===l?"#ffffff":"#1f2937",p.fillRect(0,0,o.width,o.height),p.drawImage(q,0,0,o.width,o.height);try{o.toBlob(a=>{if(!a)return void h("PNG export failed: canvas returned empty blob");let b=URL.createObjectURL(a),c=document.createElement("a");c.href=b,c.download=`${m}.png`,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(b)},"image/png")}catch(b){let a=b instanceof Error?b.message:String(b);h(`PNG export failed: ${a}`)}},q.onerror=()=>{h("PNG export failed: SVG could not be loaded as an image (it may reference external resources or unsupported features)")},q.src=n},className:"btn btn-sm","aria-label":"Export diagram as PNG",title:"Export as PNG (2x)",children:"PNG"})]}),e&&(0,f.jsxs)("pre",{className:"text-[var(--danger)] whitespace-pre-wrap mb-2 text-sm",children:["Mermaid render error: ",e]}),(0,f.jsx)("div",{ref:d}),e&&(0,f.jsx)("pre",{className:"mt-2 p-3 bg-zinc-900 text-zinc-100 text-xs overflow-x-auto",children:a})]})}function fl({content:a,className:b}){return(0,f.jsx)("div",{className:`prose dark:prose-invert max-w-none text-[var(--text-primary)] ${b||""}`,children:(0,f.jsx)(fi,{remarkPlugins:[dx],components:{h1:({children:a})=>(0,f.jsx)("h1",{className:"text-3xl font-black mb-6 bg-gradient-to-r from-[var(--accent)] via-amber-accent-light to-[var(--accent)] bg-clip-text text-transparent drop-shadow-[0_0_15px_color-mix(in_srgb,var(--accent)_20%,transparent)] font-title tracking-tight",children:a}),h2:({children:a})=>(0,f.jsx)("h2",{className:"text-amber-accent-light text-2xl font-bold mb-4 mt-8 border-b border-amber-accent/10 pb-2",children:a}),h3:({children:a})=>(0,f.jsx)("h3",{className:"text-amber-accent-light text-xl font-bold mb-3 mt-6",children:a}),h4:({children:a})=>(0,f.jsx)("h4",{className:"text-amber-accent-light text-lg font-semibold mb-2 mt-4",children:a}),h5:({children:a})=>(0,f.jsx)("h5",{className:"text-amber-accent-light text-base font-semibold mb-2",children:a}),h6:({children:a})=>(0,f.jsx)("h6",{className:"text-amber-accent-light text-sm font-semibold mb-2",children:a}),blockquote:({children:a})=>(0,f.jsx)("blockquote",{className:"border-l-4 border-amber-accent/30 bg-amber-accent/5 px-6 py-3 rounded-r-lg my-8 text-[var(--text-secondary)] italic leading-relaxed",children:a}),strong:({children:a})=>(0,f.jsx)("strong",{className:"font-bold text-amber-accent-light",children:a}),code:({className:a,children:b,...c})=>"language-mermaid"===a?(0,f.jsx)(fk,{source:String(b).replace(/\n$/,""),className:"my-4"}):(0,f.jsx)("code",{className:a,...c,children:b})},children:a})})}function fm({html:a}){let b=(0,g.useMemo)(()=>`<!doctype html><html><head><meta charset="utf-8"><base href="/api/reports/"><style>body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;margin:16px;color:#111}img{max-width:100%}</style></head><body>${a}</body></html>`,[a]);return(0,f.jsx)("iframe",{title:"report",sandbox:"allow-same-origin",srcDoc:b,style:{width:"100%",height:"100%",border:"0",background:"white"}})}function fn({fileId:a,initial:b,expectedUpdatedAt:c,onClose:d,onSaved:e,onDirtyChange:h}){let[j,k]=(0,g.useState)(b),[l,m]=(0,g.useState)(!1),n=j!==b;function o(){(!n||window.confirm("You have unsaved changes. Discard them?"))&&d()}async function p(){m(!0);try{let b=await fetch(`/api/files/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:j,expected_updated_at:c})});if(409===b.status)return void i.o.error("This file changed elsewhere since you opened it — reload before saving to avoid overwriting the newer version.");if(!b.ok){let a=await b.text().catch(()=>"");i.o.error(`Save failed${a?`: ${a}`:""}`);return}let f=await b.json();e(f),d()}catch(a){i.o.error(`Save failed: ${a?.message??String(a)}`)}finally{m(!1)}}return(0,f.jsx)(R.l,{open:!0,onClose:o,title:"Edit HTML source",widthClass:"max-w-4xl",children:(0,f.jsxs)("div",{className:"flex flex-col gap-4",style:{height:"min(70vh, 600px)"},children:[(0,f.jsx)("textarea",{value:j,onChange:a=>{let c=a.target.value;k(c),h?.(c!==b)},className:"flex-1 font-mono text-sm p-3 border border-[var(--border)] rounded resize-none bg-[var(--bg-secondary)] text-[var(--text-primary)]",spellCheck:!1}),(0,f.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,f.jsx)("button",{type:"button",onClick:o,disabled:l,className:"btn btn-md",children:"Cancel"}),(0,f.jsx)("button",{type:"button",onClick:p,disabled:l,className:"btn btn-md",children:l?"Saving...":"Save"})]})]})})}function fo({content:a,onChange:b}){let c=(0,g.useRef)(null);return(0,f.jsx)("div",{className:"flex flex-col h-full bg-[var(--bg-primary)]",children:(0,f.jsx)("textarea",{ref:c,value:a,onChange:a=>b(a.target.value),className:"flex-1 w-full p-8 bg-transparent border-none outline-none resize-none font-mono text-[14px] text-[var(--text-primary)] leading-relaxed scrollbar-thin",placeholder:"Start typing your markdown...",spellCheck:!1})})}function fp({open:a,title:b,onClose:c,onConfirm:d,loading:e}){return(0,f.jsx)(U.T,{open:a,onClose:c,onConfirm:d,title:"Delete file",message:(0,f.jsxs)(f.Fragment,{children:['Delete "',(0,f.jsx)("span",{className:"font-bold text-[var(--text-primary)]",children:b}),'"? Knowledge Base files are recoverable from git history (Time Travel). Project files are only removed from the index — the file on disk is untouched.']}),confirmLabel:"Delete",destructive:!0,loading:e})}function fq({open:a,onClose:b,title:c,body:d,detail:e}){return(0,f.jsxs)(R.l,{open:a,onClose:b,title:c,children:[(0,f.jsx)("p",{className:"text-sm text-[var(--text-primary)] mb-4 leading-relaxed",children:d}),e&&(0,f.jsxs)("div",{className:"bg-[var(--danger-soft)] border border-[var(--danger)]/20 rounded-lg p-4 mb-6",children:[(0,f.jsx)("p",{className:"text-[11px] text-[var(--danger)] uppercase tracking-tighter font-bold mb-2 opacity-70",children:"Detail:"}),(0,f.jsx)("pre",{className:"text-[12px] font-mono text-[var(--danger)] whitespace-pre-wrap break-words leading-tight overflow-x-auto max-h-48 custom-scrollbar",children:e})]}),(0,f.jsx)("div",{className:"flex justify-end",children:(0,f.jsx)("button",{onClick:b,className:"btn btn-md btn-destructive",children:"Got it"})})]})}let fr=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M3 6h18"}),(0,f.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,f.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]}),fs=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,f.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,f.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]});function ft(a,b,c){let d=new Blob([a],{type:c}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=b,document.body.appendChild(f),f.click(),f.remove(),URL.revokeObjectURL(e)}let fu=({filled:a,className:b})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",fill:a?"currentColor":"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:b,children:(0,f.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})});function fv({fileId:a,onDelete:b,onChanged:c,onDirtyChange:d}){var e;let[h,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(null),[m,n]=(0,g.useState)(!1),[o,p]=(0,g.useState)(!1),[q,s]=(0,g.useState)([]),[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(""),[y,z]=(0,g.useState)(!1),[A,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(!1),[F,G]=(0,g.useState)(!1),[H,J]=(0,g.useState)(!1),[K,L]=(0,g.useState)(""),[M,N]=(0,g.useState)(""),[O,P]=(0,g.useState)(void 0),[Q,R]=(0,g.useState)(!1),[S,T]=(0,g.useState)(!1),[U,V]=(0,g.useState)(!1),X=()=>(h?.title||"untitled").replace(/\.(md|mmd|html)$/i,""),Y=async()=>{h&&(ft(String(await ap().use(bX).use(dx).use(dU,{keep:["code","inlineCode","table","tableCell"]}).use(dQ).process(h.content)),`${X()}.txt`,"text/plain"),i.o.success("Exported text"))},[Z,$]=(0,g.useState)(!1),[_,aa]=(0,g.useState)(!1),ab=!!h?.path.endsWith(".html"),ac=async(a,b,c,d)=>{d(!0);let e=i.o.loading(`Generating ${c}…`);try{let d=await fetch(a);if(!d.ok){let a=await d.text(),b=`Failed to export ${c} (HTTP ${d.status})`;try{let c=JSON.parse(a);c?.error&&(b=c.error)}catch{console.error(`[export-${c}] non-JSON error response:`,a)}i.o.error(b,{id:e});return}let f=d.headers.get("content-disposition")||"",g=/filename="([^"]+)"/.exec(f),h=g?.[1]??b,j=await d.blob(),k=URL.createObjectURL(j),l=document.createElement("a");l.href=k,l.download=h,document.body.appendChild(l),l.click(),l.remove(),URL.revokeObjectURL(k),i.o.success(`Exported ${c}`,{id:e})}catch(a){console.error(`[export-${c}] request failed:`,a),i.o.error(`Failed to export ${c} — check the browser console for details.`,{id:e})}finally{d(!1)}},ad=()=>{h&&ac(ab?`/api/files/${h.id}/export-html?format=pdf`:`/api/files/${h.id}/export-pdf`,`${X()}.pdf`,"PDF",$)},ae=async()=>{if(a){R(!0);try{let b=await fetch(`/api/files/${a}`);if(b.ok){let a=await b.json();j(a),w(a.content)}else i.o.error(`Failed to refresh file (HTTP ${b.status})`)}catch(a){i.o.error(`Failed to refresh file: ${a?.message??"Network error"}`)}finally{R(!1)}}},af=(0,g.useRef)(a);(0,g.useRef)(d);let[ag,ah]=(0,g.useState)(!1),ai=async()=>{if(null!=a){T(!0);try{let d=await fetch(`/api/files/${a}`,{method:"DELETE"});if(d.ok)l(null),j(null),b(a).catch(a=>console.error("onDelete after orphan remove failed:",a)),c?.();else{let a=await d.json().catch(()=>({}));l({kind:"http",message:a?.error??`Remove failed: HTTP ${d.status}`,status:d.status})}}catch(a){l({kind:"network",message:a?.message??"Network error while removing orphan row"})}finally{T(!1)}}},aj=async()=>{if(a){u(!0);try{let b=await fetch(`/api/files/${a}/history`);if(b.ok){let c=await b.json();if(af.current!==a)return;s(c)}}catch(a){console.error("Failed to fetch history:",a)}finally{af.current===a&&u(!1)}}},ak=async b=>{if(a)try{let c=await fetch(`/api/files/${a}/history/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({hash:b})});if(c.ok){let b=await c.json();if(af.current!==a)return;j(c=>c&&c.id===a?{...c,content:b.content}:c),w(b.content),p(!1),i.o.success("Restored from history")}else{let a=await c.json().catch(()=>({}));i.o.error(a?.error||"Failed to restore version")}}catch(a){i.o.error(`Failed to restore version: ${a?.message??"Network error"}`)}},al=()=>{n(!1),w(h?.content||"")},am=async()=>{if(!h)return;let a=h.id;try{C(!0);let b=await fetch(`/api/files/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:v,expected_updated_at:h.updated_at})});if(b.ok){let c=await b.json();if(af.current!==a){c.git_warning&&console.warn(`[kontexta] git_warning for stale file ${a}:`,c.git_warning);return}j(c),n(!1),i.o.success("Saved"),c.git_warning&&(L("Git commit failed"),N("Your changes were saved to the database, but Kontexta could not create a Git history entry for this file."),P(c.git_warning),J(!0))}else if(409===b.status){let c,d;try{let a=await b.json();c=a?.current?.content,d=a?.current?.updated_at}catch{}af.current===a&&(void 0!==c&&void 0!==d&&j(a=>a?{...a,content:c,updated_at:d}:a),L("File changed on disk"),N("This file was NOT saved — it was modified elsewhere since you opened it. Disk content has been reloaded below; your edits are still in the editor. Click Save again to overwrite with your edits."),P(void 0),J(!0))}else{let c=`Save failed (${b.status})`;try{let a=await b.json();a?.error&&(c=a.error)}catch{}af.current===a&&(L("Save failed"),N("Your changes were NOT saved."),P(c),J(!0))}}catch(b){console.error("Failed to save file:",b),af.current===a&&(L("Save failed"),N("Your changes were NOT saved — a network error occurred."),P(b?.message??"Network error while saving"),J(!0))}finally{af.current===a&&C(!1)}},an=async()=>{if(h){G(!0);try{await b(h.id),j(null),E(!1)}finally{G(!1)}}};if(!a)return(0,f.jsx)("div",{className:"h-full flex flex-col items-center justify-center animate-fade-in",children:(0,f.jsx)(B,{icon:(0,f.jsx)(x,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),title:"Select a file to preview",hint:"Choose a file from the list on the left"})});if(y)return(0,f.jsxs)("div",{className:"h-full flex flex-col animate-fade-in",children:[(0,f.jsxs)("div",{className:"border-b border-[var(--border)] px-6 py-4",children:[(0,f.jsx)("div",{className:"skeleton h-6 w-48 mb-2"}),(0,f.jsx)("div",{className:"skeleton h-4 w-32"})]}),(0,f.jsxs)("div",{className:"flex-1 p-6 space-y-4",children:[(0,f.jsx)("div",{className:"skeleton h-4 w-full"}),(0,f.jsx)("div",{className:"skeleton h-4 w-5/6"}),(0,f.jsx)("div",{className:"skeleton h-4 w-4/6"}),(0,f.jsx)("div",{className:"skeleton h-4 w-full"}),(0,f.jsx)("div",{className:"skeleton h-4 w-3/4"})]})]});if(!h)return k?.kind==="disk_missing"?(0,f.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-[var(--text-secondary)] gap-4 animate-fade-in p-8",children:[(0,f.jsx)(W,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),(0,f.jsxs)("div",{className:"text-center max-w-lg",children:[(0,f.jsx)("p",{className:"text-lg font-bold text-[var(--text-primary)]",children:"File is missing on disk"}),(0,f.jsx)("p",{className:"text-sm font-medium text-[var(--text-secondary)] mt-2",children:"The index still has a row for this file, but the file at the path below no longer exists. This usually happens when the file was deleted while the watcher wasn't running."}),k.path&&(0,f.jsx)("pre",{className:"mt-3 p-2 bg-[var(--bg-tertiary)] text-[var(--text-primary)] text-xs overflow-x-auto rounded",children:k.path}),(0,f.jsx)("button",{type:"button",className:"btn btn-sm mt-4",onClick:ai,disabled:S,children:S?"Removing…":"Remove from index"})]})]}):k?(0,f.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-[var(--text-secondary)] gap-3 animate-fade-in p-8",children:[(0,f.jsx)(W,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),(0,f.jsxs)("div",{className:"text-center max-w-lg",children:[(0,f.jsxs)("p",{className:"text-lg font-bold text-[var(--text-primary)]",children:["Failed to load file",k.status?` (HTTP ${k.status})`:""]}),(0,f.jsx)("p",{className:"text-sm font-medium text-[var(--text-secondary)] mt-2 break-words",children:k.message})]})]}):(0,f.jsx)("div",{className:"h-full flex flex-col items-center justify-center animate-fade-in",children:(0,f.jsx)(B,{icon:(0,f.jsx)(I,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),title:"File not found",hint:"This file may have been moved or deleted"})});let ao=h.path.replace(/\\/g,"/").includes("/publish/");return(0,f.jsxs)("div",{className:"h-full flex flex-col animate-fade-in",children:[(0,f.jsxs)("div",{className:"h-10 px-4 border-b border-[var(--border)] flex items-center gap-4 text-[14px] sticky top-0 bg-[var(--bg-primary)] z-10",children:[["view","edit","history"].filter(a=>"edit"!==a||!h.path.endsWith(".html")&&!ao).map(a=>{let b="view"===a&&!m&&!o||"edit"===a&&m||"history"===a&&o;return(0,f.jsx)("button",{onClick:()=>{if("edit"===a){m||(n(!0),w(h?.content||""));return}m&&al(),p("history"===a),"history"===a&&aj()},className:`btn btn-sm -mb-px py-2 border-b-2 transition-colors ${b?"border-[var(--accent)]":""}`,children:a[0].toUpperCase()+a.slice(1)},a)}),ao&&(0,f.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded bg-amber-accent/10 border border-amber-accent/30 text-[10px] text-[var(--text-primary)] uppercase tracking-wider font-bold",title:"Regenerated on publish",children:"Read-only"}),(0,f.jsx)("div",{className:"ml-auto flex items-center gap-3 text-[12px] text-[var(--text-secondary)] font-mono",children:m?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("button",{onClick:am,disabled:A,className:"btn btn-md",children:A?"Saving...":"Save"}),(0,f.jsx)("button",{onClick:al,disabled:A,className:"btn btn-md",children:"Cancel"})]}):(0,f.jsxs)(f.Fragment,{children:[h?.updated_at&&(0,f.jsxs)("span",{children:["edited ",function(a){if(!a)return"";let b=new Date(a).getTime();if(!isFinite(b))return a;let c=Math.floor((Date.now()-b)/1e3);return c<60?`${c}s ago`:c<3600?`${Math.floor(c/60)}m ago`:c<86400?`${Math.floor(c/3600)}h ago`:`${Math.floor(c/86400)}d ago`}(h.updated_at)]}),h?.content&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"text-[var(--border)]",children:"\xb7"}),(0,f.jsxs)("span",{title:`~${Math.max(1,Math.ceil(h.content.length/4)).toLocaleString()} tokens (heuristic: chars/4)`,children:["~",(e=Math.max(1,Math.ceil(h.content.length/4)))<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:e<1e6?`${Math.round(e/1e3)}k`:`${(e/1e6).toFixed(1)}M`," tok"]})]}),(0,f.jsx)("button",{onClick:ae,disabled:Q,className:"btn btn-md","aria-label":"Refresh file",title:"Refresh file content",children:(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`w-4 h-4 opacity-70 ${Q?"animate-spin":""}`,children:[(0,f.jsx)("path",{d:"M21 2v6h-6"}),(0,f.jsx)("path",{d:"M3 12a9 9 0 0 1 15-6.7L21 8"}),(0,f.jsx)("path",{d:"M3 22v-6h6"}),(0,f.jsx)("path",{d:"M21 12a9 9 0 0 1-15 6.7L3 16"})]})}),h.path.endsWith(".html")&&!ao&&(0,f.jsx)("button",{type:"button",onClick:()=>V(!0),className:"btn btn-md","aria-label":"Edit HTML source",title:"Edit HTML source",children:(0,f.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"w-4 h-4 opacity-70",children:(0,f.jsx)("path",{d:"M17 3a2.83 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}),(0,f.jsx)("button",{onClick:async()=>{if(!h)return;let a=!h.favorite;j({...h,favorite:a});try{if(!(await fetch(`/api/files/${h.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({favorite:a})})).ok)throw Error("PATCH failed");c?.()}catch(b){j({...h,favorite:!a}),i.o.error(`Failed to update favorite: ${b?.message??"Network error"}`)}},className:"btn btn-md","aria-label":h?.favorite?"Unfavorite":"Favorite",title:h?.favorite?"Remove from favorites":"Add to favorites",children:(0,f.jsx)(fu,{filled:!!h?.favorite,className:`w-4 h-4 ${h?.favorite?"text-amber-accent":"opacity-60"}`})}),(0,f.jsx)(r,{trigger:(0,f.jsx)("button",{disabled:Z||_,className:"btn btn-md","aria-label":"Export file",title:Z?"Generating PDF…":_?"Generating PNG…":"Export file",children:(0,f.jsx)(fs,{className:`w-4 h-4 opacity-70 ${Z||_?"animate-pulse":""}`})}),items:ab?[{label:"PDF",onSelect:ad},{label:"PNG",onSelect:()=>{h&&ac(`/api/files/${h.id}/export-html?format=png`,`${X()}.png`,"PNG",aa)}}]:[{label:"Markdown (.md)",onSelect:()=>{h&&(ft(h.content,`${X()}.md`,"text/markdown"),i.o.success("Exported Markdown"))}},{label:"Text (.txt)",onSelect:()=>{Y()}},{label:"PDF",onSelect:ad}]}),(0,f.jsx)("button",{onClick:()=>E(!0),className:"btn btn-md btn-destructive","aria-label":"Delete file",title:"Delete file",children:(0,f.jsx)(fr,{className:"w-4 h-4 opacity-70"})})]})})]}),!m&&!o&&(0,f.jsxs)("div",{className:"px-4 py-2 border-b border-[var(--border)] flex flex-wrap items-center gap-2 text-[12px]",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] uppercase tracking-wider text-[10px] font-bold",children:"Tags"}),(h?.tags??[]).map(a=>(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded bg-amber-accent/10 border border-amber-accent/30 text-[var(--text-primary)]",children:[a,(0,f.jsx)("button",{"aria-label":`Remove tag ${a}`,title:`Remove tag ${a}`,onClick:async()=>{if(!h)return;let b=h.id,d=h.tags,e=d.filter(b=>b!==a);j(a=>a&&a.id===b?{...a,tags:e}:a);try{if(!(await fetch(`/api/files/${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:e})})).ok)throw Error("PATCH failed");c?.()}catch(a){j(a=>a&&a.id===b?{...a,tags:d}:a),i.o.error(`Failed to remove tag: ${a?.message??"Network error"}`)}},className:"text-[var(--text-secondary)] hover:text-[var(--danger)]",children:"\xd7"})]},a)),(0,f.jsx)("input",{type:"text",placeholder:"add tag…",className:"bg-transparent border-b border-transparent focus:border-amber-accent/40 outline-none px-1 py-0.5 w-24",onKeyDown:async a=>{if("Enter"!==a.key||!h)return;let b=(a.currentTarget.value||"").trim();if(!b)return;let d=b.toLowerCase().replace(/\s+/g,"-");if(h.tags.includes(d)){a.currentTarget.value="";return}let e=h.id,f=h.tags,g=[...f,d];j(a=>a&&a.id===e?{...a,tags:g}:a),a.currentTarget.value="";try{if(!(await fetch(`/api/files/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:g})})).ok)throw Error("PATCH failed");c?.()}catch(a){j(a=>a&&a.id===e?{...a,tags:f}:a),i.o.error(`Failed to add tag: ${a?.message??"Network error"}`)}}})]}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden",children:m?(0,f.jsx)(fo,{content:v,onChange:w}):o?(0,f.jsx)("div",{className:"h-full overflow-auto bg-[var(--bg-secondary)] p-6",children:(0,f.jsxs)("div",{className:"max-w-2xl mx-auto space-y-4",children:[(0,f.jsx)("h3",{className:"text-sm font-bold text-[var(--text-secondary)] uppercase tracking-widest mb-6",children:"Version History (Time Travel)"}),t?(0,f.jsx)("div",{className:"space-y-4",children:[1,2,3].map(a=>(0,f.jsx)("div",{className:"skeleton h-20 w-full rounded-lg"},a))}):0===q.length?(0,f.jsx)("div",{className:"text-center py-12",children:(0,f.jsx)("p",{className:"text-[var(--muted)]",children:"No version history found for this file."})}):(0,f.jsx)("div",{className:"space-y-3",children:q.map(a=>(0,f.jsxs)("div",{className:"bg-white dark:bg-[#1a1a1a] border border-[var(--border)] rounded-lg p-4 flex items-center justify-between hover:border-amber-accent/50 transition-colors shadow-sm",children:[(0,f.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,f.jsx)("p",{className:"text-sm font-bold text-[var(--text-primary)] truncate",children:a.message}),(0,f.jsxs)("div",{className:"flex items-center gap-3 mt-1 text-[10px] text-[var(--text-secondary)] uppercase tracking-tighter font-bold",children:[(0,f.jsx)("span",{children:new Date(a.date).toLocaleString()}),(0,f.jsx)("span",{className:"opacity-30",children:"•"}),(0,f.jsx)("span",{className:"font-mono text-amber-accent",children:a.hash.substring(0,7)})]})]}),(0,f.jsx)("button",{onClick:()=>ak(a.hash),className:"ml-4 btn btn-md",children:"RESTORE"})]},a.hash))})]})}):(0,f.jsx)("div",{className:"h-full overflow-auto",children:h.path.endsWith(".mmd")?(0,f.jsx)(fk,{source:h.content,className:"p-8",filename:h.title}):h.path.endsWith(".html")?(0,f.jsx)(fm,{html:h.content}):(0,f.jsx)(fl,{content:h.content,className:"p-8"})})}),(0,f.jsx)(fp,{open:D,title:h.title,onClose:()=>E(!1),onConfirm:an,loading:F}),(0,f.jsx)(fq,{open:H,onClose:()=>J(!1),title:K,body:M,detail:O}),U&&h&&(0,f.jsx)(fn,{fileId:h.id,initial:h.content,expectedUpdatedAt:h.updated_at,onClose:()=>{V(!1),ah(!1)},onDirtyChange:ah,onSaved:a=>{let b=h.id;if(ah(!1),af.current!==b){a.git_warning&&console.warn(`[kontexta] git_warning for stale file ${b}:`,a.git_warning);return}j(a),a.git_warning&&(L("Git commit failed"),N("Your changes were saved to the database, but Kontexta could not create a Git history entry for this file."),P(a.git_warning),J(!0))}})]},a)}function fw({open:a,onClose:b,onSelectFile:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)([]),[j,k]=(0,g.useState)(0),[l,m]=(0,g.useState)(!1),n=(0,g.useRef)(null);return(0,g.useRef)(void 0),(0,f.jsx)(R.l,{open:a,onClose:b,title:"Search",hideHeader:!0,widthClass:"max-w-[560px]",positionClass:"left-1/2 top-[20vh] -translate-x-1/2",children:(0,f.jsxs)("div",{className:"-m-5 overflow-hidden rounded-xl",children:[(0,f.jsx)("div",{className:"relative",children:(0,f.jsx)("input",{ref:n,type:"text",value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Escape"===a.key?b():"ArrowDown"===a.key?(a.preventDefault(),k(a=>Math.min(a+1,h.length-1))):"ArrowUp"===a.key?(a.preventDefault(),k(a=>Math.max(a-1,0))):"Enter"===a.key&&h.length>0&&(a.preventDefault(),c(h[j]))},placeholder:"Search context files...",className:"w-full px-6 py-5 text-base bg-transparent border-b border-[var(--border)] outline-none text-[var(--text-primary)] placeholder:text-[var(--text-secondary)] focus:ring-1 focus:ring-amber-accent/30 transition-all"})}),(0,f.jsxs)("div",{className:"max-h-[400px] overflow-y-auto scrollbar-thin",children:[l&&(0,f.jsx)("div",{className:"p-6 space-y-4",children:[1,2,3].map(a=>(0,f.jsxs)("div",{className:"flex flex-col gap-2 px-1",children:[(0,f.jsx)("div",{className:"skeleton h-4 w-3/4 opacity-20"}),(0,f.jsx)("div",{className:"skeleton h-3 w-1/4 opacity-10"})]},a))}),!l&&d&&0===h.length&&(0,f.jsxs)("div",{className:"flex flex-col items-center py-12 text-[var(--text-secondary)] gap-3",children:[(0,f.jsx)(I,{className:"w-8 h-8 opacity-30","aria-hidden":!0}),(0,f.jsx)("p",{className:"text-sm font-medium",children:"No results found"}),(0,f.jsx)("p",{className:"text-xs opacity-60 italic",children:"Try a different search term"})]}),!l&&h.length>0&&(0,f.jsx)("div",{className:"p-1",children:h.map((a,b)=>(0,f.jsxs)("button",{onClick:()=>{c(a)},onMouseEnter:()=>k(b),className:`w-full px-5 py-4 text-left rounded-lg transition-all duration-200 flex flex-col gap-1 ${b===j?"bg-[var(--accent-soft)]":"hover:bg-[var(--accent-soft)]/60"}`,children:[(0,f.jsx)("div",{className:"text-sm font-semibold transition-colors text-[var(--text-primary)]",children:a.title}),(0,f.jsxs)("div",{className:"text-xs transition-colors text-[var(--text-secondary)]",children:[a.storage_type," \xb7 ",a.path]})]},a.id))})]})]})})}function fx({open:a,onClose:b}){let[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)(!1);return(0,f.jsx)(R.l,{open:a,onClose:b,title:"About Kontexta",widthClass:"max-w-xl",hideHeader:!0,children:(0,f.jsxs)("div",{className:"-m-5 flex flex-col max-h-[75vh] overflow-hidden",children:[(0,f.jsxs)("div",{className:"p-6 text-center border-b border-[var(--border)] shrink-0",children:[(0,f.jsx)("div",{className:"flex justify-center -mb-3",children:(0,f.jsx)(o.H,{size:"lg"})}),(0,f.jsx)("h1",{className:"text-3xl font-extrabold tracking-[4px] font-[family-name:var(--font-title)] text-[var(--accent)] dark:text-[var(--text-primary)] drop-shadow-[0_0_14px_color-mix(in_srgb,var(--accent)_55%,transparent)] dark:drop-shadow-none",children:"KONTEXTA"}),(0,f.jsxs)("p",{className:"text-sm font-medium text-[var(--text-secondary)] mt-2",children:["by ",c?.author||"Safiyu"," • v",c?.version||"0.1.0"]}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)] mt-2",children:"A modern context management system for AI-assisted development"})]}),(0,f.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto prose-sm",children:[e&&(0,f.jsxs)("div",{className:"p-6 space-y-3",children:[(0,f.jsx)("div",{className:"skeleton h-4 w-full"}),(0,f.jsx)("div",{className:"skeleton h-4 w-5/6"}),(0,f.jsx)("div",{className:"skeleton h-4 w-4/6"})]}),!e&&c?.changelog&&(0,f.jsx)(fl,{content:c.changelog,className:"p-6 prose-sm text-[var(--accent)] marker:text-[var(--accent)] [&_*]:!text-[var(--accent)]"}),!e&&!c?.changelog&&(0,f.jsx)("div",{className:"p-6 text-center text-[var(--text-secondary)]",children:"No changelog available"})]}),(0,f.jsx)("div",{className:"p-3 border-t border-[var(--border)] text-center shrink-0",children:(0,f.jsx)("button",{onClick:b,className:"btn btn-md",children:"Close"})})]})})}function fy({open:a,onClose:b,onCreate:c,currentProjectId:d,availableFolders:e}){let[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(""),[l,m]=(0,g.useState)(""),[n,o]=(0,g.useState)(d?"project":"knowledge"),[p,q]=(0,g.useState)(!1),r=async a=>{if(a.preventDefault(),h.trim()){q(!0);try{await c(h,j,n,l||void 0)&&(i(""),k(""),m(""),b())}catch(a){console.error("Failed to create file:",a)}finally{q(!1)}}};return(0,f.jsx)(R.l,{open:a,onClose:b,title:"New file",widthClass:"max-w-lg",children:(0,f.jsxs)("form",{onSubmit:r,children:[(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"TITLE"}),(0,f.jsx)("input",{type:"text",value:h,onChange:a=>i(a.target.value),placeholder:"e.g. Architecture Overview",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50",required:!0,autoFocus:!0})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FOLDER"}),e.length>0?(0,f.jsxs)("select",{value:l,onChange:a=>m(a.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:[(0,f.jsx)("option",{value:"",children:"— Root level —"}),e.map(a=>(0,f.jsx)("option",{value:a,children:a},a))]}):(0,f.jsx)("input",{type:"text",value:l,onChange:a=>m(a.target.value),placeholder:"No folders yet — type to create",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"DESTINATION"}),(0,f.jsxs)("div",{className:"flex gap-3",children:[(0,f.jsx)("button",{type:"button",onClick:()=>o("knowledge"),className:`btn btn-sm flex-1 ${"knowledge"===n?"border-[var(--accent)]":""}`,children:"KNOWLEDGE BASE"}),d&&(0,f.jsx)("button",{type:"button",onClick:()=>o("project"),className:`btn btn-sm flex-1 ${"project"===n?"border-[var(--accent)]":""}`,children:"PROJECT ROOT"})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"CONTENT (MARKDOWN)"}),(0,f.jsx)("textarea",{value:j,onChange:a=>k(a.target.value),placeholder:"# Introduction\nStart typing here...",rows:8,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 font-mono resize-none"})]})]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3 mt-5",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"CANCEL"}),(0,f.jsx)("button",{type:"submit",disabled:p||!h.trim(),className:"btn btn-md",children:p?"CREATING...":"CREATE FILE"})]})]})})}function fz({open:a,onClose:b,onCreate:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(!1),j=async a=>{if(a.preventDefault(),d.trim()){i(!0);try{await c(d)&&(e(""),b())}catch(a){console.error("Failed to create folder:",a)}finally{i(!1)}}};return(0,f.jsx)(R.l,{open:a,onClose:b,title:"New folder",children:(0,f.jsxs)("form",{onSubmit:j,children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FOLDER NAME"}),(0,f.jsx)("input",{type:"text",value:d,onChange:a=>e(a.target.value),placeholder:"e.g. documentation",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50",autoFocus:!0,required:!0}),(0,f.jsx)("p",{className:"text-[10px] text-[var(--text-secondary)] mt-2 italic",children:"Folder will be created in the Knowledge Base."}),(0,f.jsxs)("div",{className:"flex justify-end gap-3 mt-5",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"CANCEL"}),(0,f.jsx)("button",{type:"submit",disabled:h||!d.trim(),className:"btn btn-md",children:h?"CREATING...":"CREATE FOLDER"})]})]})})}function fA({open:a,folderName:b,onClose:c,onConfirm:d,loading:e}){return(0,f.jsx)(U.T,{open:a,onClose:c,onConfirm:d,title:"Delete folder",message:(0,f.jsxs)(f.Fragment,{children:["Are you sure you want to delete the folder"," ",(0,f.jsxs)("span",{className:"font-bold text-[var(--text-primary)]",children:['"',b,'"']}),"? This will permanently remove the directory from your disk."]}),confirmLabel:"Delete folder",destructive:!0,loading:e})}function fB({isOpen:a,onClose:b,onConfirm:c,projectName:d}){return(0,f.jsx)(U.T,{open:a,onClose:b,onConfirm:c,title:"Unregister project",message:(0,f.jsxs)(f.Fragment,{children:["Are you sure you want to remove ",(0,f.jsxs)("span",{className:"font-bold text-[var(--text-primary)]",children:['"',d,'"']})," from Kontexta?",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),"This will remove all associated context files from your AI's memory, but your"," ",(0,f.jsx)("span",{className:"text-amber-accent font-bold",children:"actual source code will remain safe"})," on your disk.",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),(0,f.jsx)("span",{className:"text-[10px] uppercase tracking-widest font-bold",children:"This action is permanent for Kontexta metadata."})]}),confirmLabel:"Unregister",destructive:!0})}function fC({schema:a}){let b=a.properties??{},c=new Set(a.required??[]),d=Object.entries(b);return 0===d.length?(0,f.jsx)("div",{className:"text-sm text-[var(--text-secondary)] italic",children:"No parameters."}):(0,f.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,f.jsx)("thead",{children:(0,f.jsxs)("tr",{className:"border-b border-[var(--border)] text-left text-xs uppercase text-[var(--text-secondary)]",children:[(0,f.jsx)("th",{className:"py-1 pr-3",children:"Param"}),(0,f.jsx)("th",{className:"py-1 pr-3",children:"Type"}),(0,f.jsx)("th",{className:"py-1 pr-3",children:"Required"}),(0,f.jsx)("th",{className:"py-1",children:"Notes"})]})}),(0,f.jsx)("tbody",{children:d.map(([a,b])=>(0,f.jsxs)("tr",{className:"border-b border-[var(--border)]",children:[(0,f.jsx)("td",{className:"py-1 pr-3 font-mono",children:a}),(0,f.jsx)("td",{className:"py-1 pr-3",children:b.enum?"enum":"array"===b.type&&b.items?.type?`${b.items.type}[]`:b.type??"any"}),(0,f.jsx)("td",{className:"py-1 pr-3",children:c.has(a)?"required":"optional"}),(0,f.jsx)("td",{className:"py-1",children:function(a){let b=[];return a.enum&&b.push(a.enum.map(a=>String(a)).join(" | ")),void 0!==a.default&&b.push(`default: ${JSON.stringify(a.default)}`),void 0!==a.minimum&&b.push(`min: ${a.minimum}`),void 0!==a.maximum&&b.push(`max: ${a.maximum}`),a.description&&b.push(a.description),b.join(" — ")}(b)})]},a))})]})}function fD({tool:a}){return(0,f.jsxs)("div",{id:a.name,className:"border border-[var(--border)] rounded-md p-4 mb-3 bg-[var(--bg-secondary)]",children:[(0,f.jsxs)("div",{className:"flex items-baseline justify-between gap-3 mb-2",children:[(0,f.jsx)("h3",{className:"font-mono text-base font-semibold",children:a.name}),(0,f.jsx)("a",{href:`#${a.name}`,className:"text-xs text-[var(--text-secondary)]",title:"permalink",children:"\xa7"})]}),(0,f.jsx)("p",{className:"text-sm whitespace-pre-wrap mb-3",children:a.description}),(0,f.jsx)(fC,{schema:a.inputSchema})]})}function fE(){let[a,b]=(0,g.useState)(null),[c,d]=(0,g.useState)(""),e=(0,g.useMemo)(()=>{if(!a)return[];let b=c.trim().toLowerCase();return a.tools.filter(a=>!b||a.name.toLowerCase().includes(b)||a.description.toLowerCase().includes(b))},[a,c]),h=(0,g.useMemo)(()=>{if(!a)return new Map;let b=new Map;for(let c of a.categoryOrder)b.set(c,[]);for(let a of e){let c=b.get(a.category)??[];c.push(a),b.set(a.category,c)}return b},[a,e]);return a?(0,f.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,f.jsx)("input",{type:"search",value:c,onChange:a=>d(a.target.value),placeholder:"Search tools…",className:"w-full px-3 py-2 mb-4 bg-[var(--bg-secondary)] border border-[var(--border)] rounded sticky top-0 z-10"}),[...h.entries()].map(([a,b])=>0===b.length?null:(0,f.jsxs)("section",{className:"mb-6",children:[(0,f.jsx)("h2",{className:"text-xs uppercase tracking-wider text-[var(--text-secondary)] mb-2",children:a}),b.map(a=>(0,f.jsx)(fD,{tool:a},a.name))]},a))]}):(0,f.jsx)("div",{className:"text-sm",children:"Loading…"})}function fF({body:a,configPath:b,notes:c}){let[d,e]=(0,g.useState)(!1),h=async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(a);else{let b=document.createElement("textarea");b.value=a,b.style.position="fixed",b.style.left="-9999px",document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b)}}catch{}e(!0),setTimeout(()=>e(!1),1500)};return(0,f.jsxs)("div",{className:"flex flex-col gap-3",children:[b&&(0,f.jsxs)("div",{className:"p-3 bg-[var(--bg-secondary)] border border-[var(--accent-soft)] rounded text-xs",children:[(0,f.jsx)("div",{className:"text-[var(--text-secondary)] mb-1 uppercase tracking-wider font-bold",children:"Configuration Path"}),(0,f.jsx)("div",{className:"font-mono break-all",children:b})]}),(0,f.jsxs)("div",{className:"relative",children:[(0,f.jsx)("pre",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded p-3 text-xs overflow-x-auto whitespace-pre",children:a}),(0,f.jsx)("button",{onClick:h,className:"absolute top-2 right-2 px-2 py-1 text-xs bg-[var(--bg-primary)] border border-[var(--border)] rounded hover:border-[var(--accent)] transition-colors",children:d?"Copied":"Copy"})]}),c&&c.length>0&&(0,f.jsx)("div",{className:"text-xs text-[var(--text-secondary)] px-1",children:(0,f.jsx)("ul",{className:"list-disc list-inside space-y-1",children:c.map((a,b)=>(0,f.jsx)("li",{children:a},b))})})]})}let fG=[{id:"claude-code",label:"Claude Code"},{id:"claude-desktop",label:"Claude Desktop"},{id:"cursor",label:"Cursor"},{id:"codex",label:"Codex"},{id:"gemini",label:"Gemini"},{id:"antigravity",label:"Antigravity"},{id:"continue",label:"Continue"},{id:"aider",label:"Aider"},{id:"cline",label:"Cline"},{id:"copilot",label:"GitHub Copilot (VS Code Insider)"},{id:"generic",label:"Generic JSON"}],fH=[{id:"docker",label:"Docker"},{id:"npm",label:"npm (npx)"},{id:"source",label:"Source build"}];function fI(){let[a,b]=(0,g.useState)("claude-code"),[c,d]=(0,g.useState)("docker"),[e,h]=(0,g.useState)(null),[i,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(null);return(0,f.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,f.jsxs)("div",{className:"flex gap-3 mb-4",children:[(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"mb-1 text-[var(--text-secondary)]",children:"AI client"}),(0,f.jsx)("select",{"aria-label":"AI client",value:a,onChange:a=>b(a.target.value),className:"px-2 py-1 bg-[var(--bg-secondary)] border border-[var(--border)] rounded",children:fG.map(a=>(0,f.jsx)("option",{value:a.id,children:a.label},a.id))})]}),(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"mb-1 text-[var(--text-secondary)]",children:"Install method"}),(0,f.jsx)("select",{"aria-label":"Install method",value:c,onChange:a=>d(a.target.value),className:"px-2 py-1 bg-[var(--bg-secondary)] border border-[var(--border)] rounded",children:fH.map(a=>(0,f.jsxs)("option",{value:a.id,children:[a.label,i===a.id?" (current)":""]},a.id))})]})]}),k&&(0,f.jsxs)("div",{className:"mb-3 text-xs text-[var(--text-secondary)] flex items-center gap-1.5",children:[(0,f.jsx)(w,{className:"w-3.5 h-3.5 opacity-60","aria-hidden":!0}),(0,f.jsxs)("span",{children:["Data directory:"," ",(0,f.jsx)("code",{className:"text-[var(--text-primary)] font-mono",children:k.isDefaultDir?k.defaultDirDisplay:k.dataDir}),k.isDefaultDir&&(0,f.jsx)("span",{className:"ml-1 opacity-60",children:"(OS default)"})]})]}),e&&(0,f.jsx)(fF,{body:e.body,configPath:e.configPath,notes:e.notes})]})}let fJ=/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g;function fK({value:a,onChange:b,declaredParams:c}){let[d,e]=(0,g.useState)(""),h=new Set(c);return(0,f.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[a.map((c,d)=>{let e=(a=>{let b;for(fJ.lastIndex=0;b=fJ.exec(a);)if(!h.has(b[1]))return!1;return!0})(c);return(0,f.jsxs)("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-mono border ${e?"border-[var(--border)] bg-[var(--bg-secondary)]":"border-[var(--danger)] text-[var(--danger)]"}`,children:[c,(0,f.jsx)("button",{"aria-label":`remove ${c}`,onClick:()=>b(a.filter((a,b)=>b!==d)),className:"text-[var(--text-secondary)] hover:text-[var(--danger)]",children:"\xd7"})]},d)}),(0,f.jsx)("input",{value:d,onChange:a=>e(a.target.value),onKeyDown:c=>{("Enter"===c.key||"Tab"===c.key||","===c.key||" "===c.key&&d.trim().length>0)&&d.trim().length>0&&(c.preventDefault(),b([...a,d.trim()]),e(""))},onBlur:()=>{d.trim().length>0&&(b([...a,d.trim()]),e(""))},placeholder:"+ arg (Enter)",className:"px-2 py-0.5 text-xs bg-transparent border border-dashed border-[var(--border)] rounded font-mono w-32"})]})}function fL({pattern:a}){let[b,c]=(0,g.useState)(""),[d,e]=(0,g.useState)(null);return(0,f.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,f.jsx)("input",{value:b,onChange:a=>c(a.target.value),placeholder:"sample value",className:"px-2 py-0.5 text-xs bg-[var(--bg-primary)] border border-[var(--border)] rounded font-mono"}),d?.error&&(0,f.jsx)("span",{className:"text-xs text-[var(--danger)]",children:"invalid pattern"}),d?.matches===!0&&(0,f.jsx)("span",{className:"text-xs text-[var(--success)]",children:"✓ matches"}),d?.matches===!1&&(0,f.jsx)("span",{className:"text-xs text-[var(--text-secondary)]",children:"no match"})]})}function fM({name:a,def:b,onChange:c,onRename:d,onDelete:e}){return(0,f.jsxs)("div",{className:"border border-[var(--border)] rounded p-2 mb-2 text-xs space-y-1",children:[(0,f.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,f.jsx)("input",{value:a,onChange:b=>d(a,b.target.value),className:"px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded font-mono",title:"Param name. Reference in command argv as {{name}}."}),(0,f.jsxs)("select",{value:b.type,onChange:d=>c(a,{...b,type:d.target.value}),className:"px-1 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded",title:"JSON type the agent must supply.",children:[(0,f.jsx)("option",{value:"string",children:"string"}),(0,f.jsx)("option",{value:"number",children:"number"}),(0,f.jsx)("option",{value:"boolean",children:"boolean"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-1",title:"If unchecked, default is used (or empty/0/false).",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!b.required,onChange:d=>c(a,{...b,required:d.target.checked})})," required"]}),(0,f.jsx)("button",{onClick:e,className:"ml-auto text-[var(--text-secondary)] hover:text-[var(--danger)]","aria-label":`delete param ${a}`,children:"\xd7"})]}),"string"===b.type&&(0,f.jsxs)("div",{children:[(0,f.jsx)("input",{value:b.pattern??"",onChange:d=>c(a,{...b,pattern:d.target.value||void 0}),placeholder:"^[a-zA-Z0-9_-]+$",className:"w-full px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded font-mono"}),(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-0.5",children:["re2 regex (linear-time, ReDoS-proof). Empty values always pass. Without an explicit pattern, strings get the default ",(0,f.jsx)("code",{children:"^[^-].*"})," which blocks values starting with a dash (argv-injection guard)."]}),b.pattern&&(0,f.jsx)(fL,{pattern:b.pattern})]}),"number"===b.type&&(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"flex gap-2",children:[(0,f.jsx)("input",{type:"number",placeholder:"min",value:b.min??"",onChange:d=>c(a,{...b,min:""===d.target.value?void 0:Number(d.target.value)}),className:"px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded w-24"}),(0,f.jsx)("input",{type:"number",placeholder:"max",value:b.max??"",onChange:d=>c(a,{...b,max:""===d.target.value?void 0:Number(d.target.value)}),className:"px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded w-24"})]}),(0,f.jsx)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-0.5",children:"Inclusive bounds. NaN, Infinity, and values outside JS safe-integer range are rejected automatically."})]}),"boolean"===b.type&&(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-0.5",children:["Strict ",(0,f.jsx)("code",{children:"true"})," / ",(0,f.jsx)("code",{children:"false"})," only. No truthy coercion."]})]})}let fN=/^[a-z][a-z0-9-]*$/;function fO({initial:a,projectName:b,onSave:c,onCancel:d,inline:e}){let[h,i]=(0,g.useState)(a?.name??""),[j,k]=(0,g.useState)(()=>{let b=a?.def??{description:"",command:[]};return Array.isArray(b.command)||(b.command=[]),b}),l=Object.keys(j.params??{}),m=fN.test(h)&&j.description.trim().length>0&&j.command.length>0&&!j.command[0].includes("{{"),n=a=>k({...j,params:a({...j.params??{}})});return(0,f.jsxs)("div",{className:e?"space-y-6":"space-y-4",children:[!e&&(0,f.jsx)("h2",{className:"text-lg font-semibold",children:a?"Edit tool":"Add tool"}),(0,f.jsxs)("div",{className:"grid gap-6",children:[(0,f.jsxs)("section",{className:"space-y-4",children:[(0,f.jsxs)("label",{className:"block text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Tool name"}),(0,f.jsx)("input",{"aria-label":"name",value:h,onChange:a=>i(a.target.value),placeholder:"e.g. run-tests",className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg font-mono focus:border-[var(--accent)] outline-none transition"}),(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-1.5 leading-relaxed",children:["Lowercase letters, digits, hyphens. Kontexta namespaces it automatically — the agent sees"," ",(0,f.jsxs)("code",{className:"text-[var(--accent)]",children:[b??"<project>","__",h||"<name>"]})]}),h&&!fN.test(h)&&(0,f.jsx)("span",{className:"text-[var(--danger)] text-[10px]",children:"must match ^[a-z][a-z0-9-]*$"})]}),(0,f.jsxs)("label",{className:"block text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Description"}),(0,f.jsx)("input",{"aria-label":"description",value:j.description,onChange:a=>k({...j,description:a.target.value}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition",placeholder:"Describe what this tool does..."}),(0,f.jsx)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-1.5 leading-relaxed",children:"What the agent sees when deciding whether to call this tool. Be specific."})]})]}),(0,f.jsxs)("section",{className:"space-y-3",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] text-xs font-bold uppercase tracking-wider",children:"Command argv"}),(0,f.jsx)("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-3",children:(0,f.jsx)(fK,{value:j.command,onChange:a=>k({...j,command:a}),declaredParams:l})}),(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] leading-relaxed",children:["argv passed to ",(0,f.jsx)("code",{children:"spawn"})," (no shell). argv[0] is the executable. Subsequent items can use ",(0,f.jsx)("code",{children:"{{paramName}}"}),"."]})]}),(0,f.jsxs)("section",{className:"grid grid-cols-3 gap-4",children:[(0,f.jsxs)("label",{className:"text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Timeout (ms)"}),(0,f.jsx)("input",{type:"number",value:j.timeout??"",onChange:a=>k({...j,timeout:""===a.target.value?void 0:Number(a.target.value)}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition",placeholder:"60000"})]}),(0,f.jsxs)("label",{className:"text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Max output"}),(0,f.jsx)("input",{type:"number",value:j.maxOutputBytes??"",onChange:a=>k({...j,maxOutputBytes:""===a.target.value?void 0:Number(a.target.value)}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition",placeholder:"100000"})]}),(0,f.jsxs)("label",{className:"text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Danger"}),(0,f.jsxs)("select",{value:j.danger??"safe",onChange:a=>k({...j,danger:a.target.value}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition cursor-pointer",children:[(0,f.jsx)("option",{children:"safe"}),(0,f.jsx)("option",{children:"moderate"}),(0,f.jsx)("option",{children:"high"})]})]})]}),(0,f.jsxs)("section",{className:"bg-[var(--bg-secondary)]/50 border border-[var(--border)] rounded-xl p-4",children:[(0,f.jsxs)("div",{className:"flex gap-6 text-xs mb-3",children:[(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer group",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!j.confirm,onChange:a=>k({...j,confirm:a.target.checked}),className:"rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)]"}),(0,f.jsx)("span",{className:"group-hover:text-[var(--text-primary)] transition",children:"Confirm"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer group",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!j.disabled,onChange:a=>k({...j,disabled:a.target.checked}),className:"rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)]"}),(0,f.jsx)("span",{className:"group-hover:text-[var(--text-primary)] transition",children:"Disabled"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer group",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!j.argSeparator,onChange:a=>k({...j,argSeparator:a.target.checked}),className:"rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)]"}),(0,f.jsx)("span",{className:"group-hover:text-[var(--text-primary)] transition",children:"ArgSeparator"})]})]}),(0,f.jsxs)("ul",{className:"text-[10px] text-[var(--text-secondary)] space-y-1 opacity-80",children:[(0,f.jsxs)("li",{children:["• ",(0,f.jsx)("b",{children:"confirm"})," — Pause for human approval before execution."]}),(0,f.jsxs)("li",{children:["• ",(0,f.jsx)("b",{children:"disabled"})," — Validated but hidden from the agent."]}),(0,f.jsxs)("li",{children:["• ",(0,f.jsx)("b",{children:"argSeparator"})," — Insert ",(0,f.jsx)("code",{children:"--"})," before the first substituted element."]})]})]}),(0,f.jsxs)("section",{className:"space-y-4",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] text-xs font-bold uppercase tracking-wider",children:"Parameters"}),(0,f.jsx)("button",{onClick:()=>n(a=>({...a,[`param${Object.keys(a).length+1}`]:{type:"string"}})),className:"text-[10px] font-bold uppercase tracking-widest px-3 py-1.5 rounded-lg border border-[var(--border)] bg-[var(--bg-secondary)] hover:bg-[var(--accent)] hover:text-black transition-all",children:"+ Add Parameter"})]}),(0,f.jsxs)("div",{className:"space-y-3",children:[Object.entries(j.params??{}).map(([a,b])=>(0,f.jsx)(fM,{name:a,def:b,onChange:(a,b)=>n(c=>({...c,[a]:b})),onRename:(a,b)=>n(c=>{let{[a]:d,...e}=c;return{...e,[b]:d}}),onDelete:()=>n(b=>{let{[a]:c,...d}=b;return d})},a)),0===Object.keys(j.params??{}).length&&(0,f.jsx)("div",{className:"text-center py-8 border border-dashed border-[var(--border)] rounded-xl text-[var(--text-secondary)] text-xs italic",children:"No parameters defined for this tool."})]})]})]}),(0,f.jsxs)("div",{className:`flex justify-end gap-3 pt-6 border-t border-[var(--border)] ${e?"sticky bottom-0 bg-[var(--bg-primary)] py-4 mt-8 z-10":""}`,children:[d&&(0,f.jsx)("button",{onClick:d,className:"btn btn-md",children:"Cancel"}),(0,f.jsx)("button",{disabled:!m,onClick:()=>c(h,j),className:"btn btn-md btn-primary",children:a?.name?"Update Tool":"Create Tool"})]})]})}let fP=[{name:"list-files",oneLiner:"Lists every git-tracked file. Read-only, no params.",def:{description:"List files in the repo (no params, completely safe)",command:["git","ls-files"]}},{name:"run-tests",oneLiner:"Run vitest with an optional regex-validated filter.",def:{description:"Run vitest with optional filter (regex-validated)",command:["npx","vitest","--reporter=verbose","{{filter}}"],timeout:12e4,params:{filter:{type:"string",required:!1,default:"",pattern:"^[a-zA-Z0-9 _/-]*$"}}}},{name:"deploy-staging",oneLiner:"Deploy to staging Cloud Run. Requires human approval.",def:{description:"Deploy to staging Cloud Run (requires human approval)",command:["gcloud","run","deploy","my-service","--region","us-central1"],danger:"moderate",confirm:!0,timeout:18e4}},{name:"remove-temp",oneLiner:"Delete a file under tmp/scratch. Strict pattern + argSeparator.",def:{description:"Delete a temp file under /tmp/scratch (argSeparator guards path)",command:["rm","{{name}}"],argSeparator:!0,workingDir:"tmp/scratch",params:{name:{type:"string",required:!0,pattern:"^[a-zA-Z0-9._-]+$"}}}},{name:"npm-install",oneLiner:"Safely install a new npm package. Restricted to safe package names.",def:{description:"Install a new dependency via npm",command:["npm","install","{{pkg}}"],danger:"moderate",params:{pkg:{type:"string",required:!0,pattern:"^@?[a-z0-9][a-z0-9-._]*$"}}}},{name:"type-check",oneLiner:"Run the TypeScript compiler to catch type errors project-wide.",def:{description:"Run tsc without emitting files to check for type errors.",command:["npx","tsc","--noEmit"],timeout:6e4}},{name:"lint-fix",oneLiner:"Run ESLint to automatically correct code style and auto-fixable errors.",def:{description:"Auto-fix linting and formatting issues.",command:["npx","eslint",".","--fix"],danger:"moderate",timeout:12e4}},{name:"comprehensive-example",oneLiner:"Showcase: params, env, workingDir, confirm, danger, and argSeparator.",def:{description:"A comprehensive example showing off every kontexta.json capability. Use this to understand how to build complex, secure tools.",command:["bash","./scripts/deploy.sh","--target","{{targetEnv}}","--dry-run={{isDryRun}}","--retries={{retries}}"],workingDir:"backend",timeout:3e5,danger:"high",confirm:!0,argSeparator:!0,maxOutputBytes:1048576,env:{FORCE_COLOR:"1",DEBUG:"true"},params:{targetEnv:{type:"string",required:!0,pattern:"^(staging|production|qa)$"},isDryRun:{type:"boolean",required:!1,default:!0},retries:{type:"number",required:!1,default:3,min:0,max:10}}}}];function fQ({onSelectTemplate:a,onBlank:b,heading:c}){return(0,f.jsxs)("div",{className:"flex flex-col gap-6 py-2",children:[c&&(0,f.jsx)("p",{className:"text-[10px] font-bold uppercase tracking-widest text-[var(--text-secondary)]",children:c}),(0,f.jsxs)("button",{onClick:b,className:"w-full px-4 py-3 text-xs font-bold uppercase tracking-widest border border-dashed border-[var(--border)] rounded-xl text-[var(--text-secondary)] hover:bg-[var(--accent)]/10 hover:text-[var(--accent)] hover:border-[var(--accent)] transition-all flex items-center justify-center gap-2",children:[(0,f.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Start from scratch"]}),(0,f.jsx)("div",{className:"flex flex-col gap-3",children:fP.map(b=>(0,f.jsxs)("button",{onClick:()=>a(b.name,b.def),className:"text-left p-4 border border-[var(--border)] rounded-xl bg-[var(--bg-secondary)]/50 hover:bg-[var(--accent-soft)] hover:border-[var(--accent)] transition-all group shadow-sm hover:shadow-lg active:scale-[0.98]",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,f.jsx)("div",{className:"font-mono font-bold text-[13px] tracking-tight",children:b.name}),(0,f.jsx)("div",{className:"flex gap-1",children:(function(a){let b=[];b.push(a.danger??"safe");let c=Object.keys(a.params??{}).length;return c>0&&b.push(`${c}p`),a.confirm&&b.push("confirm"),a.argSeparator&&b.push("argSep"),a.disabled&&b.push("disabled"),b})(b.def).slice(0,2).map(a=>(0,f.jsx)("span",{className:"text-[9px] font-bold uppercase px-1.5 py-0.5 rounded-md bg-[var(--bg-primary)] text-[var(--text-secondary)] group-hover:text-[var(--text-primary)] border border-[var(--border)]",children:a},a))})]}),(0,f.jsx)("p",{className:"text-xs text-[var(--text-secondary)] group-hover:text-[var(--text-primary)] leading-relaxed line-clamp-2",children:b.oneLiner})]},b.name))})]})}function fR({count:a,errorCount:b,onDiscard:c,onSave:d,inline:e}){let[h,i]=(0,g.useState)("idle"),[j,k]=(0,g.useState)(!1),l=(0,g.useRef)(null),m=a>0||"saved"===h,n=!e&&0===a&&"saved"!==h,o=b>0||"idle"!==h||0===a,p="saving"===h?"Saving...":"saved"===h?"Saved ✓":b>0?`Fix ${b} error(s)`:"Save Changes",q="saved"===h?"All changes saved":1===a?"1 change":`${a} changes`,r=async()=>{if(!o){i("saving");try{await d(),i("saved"),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>i("idle"),2e3)}catch{i("idle")}}},s=()=>k(!0),t=(0,f.jsx)(U.T,{open:j,onClose:()=>k(!1),onConfirm:()=>{k(!1),c()},title:"Discard unsaved changes?",message:1===a?"Your 1 unsaved change will be lost. This action cannot be undone.":`Your ${a} unsaved changes will be lost. This action cannot be undone.`,confirmLabel:"Discard",destructive:!0});return e?(0,f.jsxs)("div",{className:"flex items-center gap-4",children:[m&&(0,f.jsxs)("div",{className:"flex items-center gap-3 animate-fade-in",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg bg-[var(--accent)]/10 border border-[var(--accent)]/20",children:[(0,f.jsx)("span",{className:`w-1.5 h-1.5 rounded-full bp-keep-round ${"saved"===h?"bg-[var(--success)]":"bg-[var(--accent)] animate-pulse"}`}),(0,f.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-[var(--text-primary)]",children:q})]}),(0,f.jsx)("button",{onClick:s,disabled:"idle"!==h||0===a,className:"btn btn-sm btn-destructive",children:"Discard"})]}),(0,f.jsx)("button",{onClick:r,disabled:o,className:"btn btn-sm btn-primary",children:p}),t]}):(0,f.jsxs)("div",{role:"region","aria-label":"Unsaved changes",className:`sticky bottom-0 left-0 right-0 z-30 bg-[var(--bg-secondary)] border-t border-[var(--border)] shadow-[0_-4px_12px_rgba(0,0,0,0.08)] px-4 py-2 flex items-center gap-3 transition-transform duration-200 ${n?"translate-y-full":"translate-y-0"}`,children:[(0,f.jsx)("span",{"aria-hidden":!0,className:"saved"===h?"text-[var(--success)]":"text-[var(--accent)]",children:"saved"===h?"✓":"⚠"}),(0,f.jsx)("span",{className:"text-sm","aria-live":"polite",children:q}),(0,f.jsx)("div",{className:"flex-1"}),(0,f.jsx)("button",{onClick:s,disabled:"idle"!==h||0===a,className:"btn btn-sm btn-destructive",children:"Discard"}),(0,f.jsx)("button",{onClick:r,disabled:o,className:"btn btn-sm btn-primary",children:p}),t]})}function fS(){(0,h.useSearchParams)();let[a,b]=(0,g.useState)([]),[c,d]=(0,g.useState)(null),[e,i]=(0,g.useState)({}),[j,k]=(0,g.useState)(null),[l,m]=(0,g.useState)(null),[n,o]=(0,g.useState)(null),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(null),[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(null),[x,y]=(0,g.useState)(null),[z,A]=(0,g.useState)(!1);(0,g.useRef)(null);let[B,C]=(0,g.useState)(!0),[D,E]=(0,g.useState)({}),F=(0,g.useMemo)(()=>{let a=new Set(Object.keys(D)),b=new Set(Object.keys(e)),c=0;for(let d of b){if(!a.has(d)){c++;continue}JSON.stringify(e[d])!==JSON.stringify(D[d])&&c++}for(let d of a)!b.has(d)&&c++;return c},[e,D]),G=(0,g.useMemo)(()=>{let a=new Map;if(!n)return a;for(let b of[...n.warnings,...n.errors]){let c=b.match(/tool '([^']+)'/);c&&a.set(c[1],b)}return a},[n]),H=(n?.errors.length??0)+G.size,I=async()=>{if(null===c)return;u(!1),s(null);let a=await fetch(`/api/projects/${c}/hands-config`,{method:"DELETE"});if(!a.ok)return void s((await a.json().catch(()=>({}))).error||`Delete failed: HTTP ${a.status}`);i({}),E({}),k(null),m(null),C(!1)},K=async()=>{if(null===c)return;s(null);let a=await fetch(`/api/projects/${c}/hands-config`,{method:"PUT",body:JSON.stringify({config:{version:"1",tools:e},ifMtimeMs:j})});if(409===a.status)return void y({currentMtimeMs:(await a.json()).currentMtimeMs});if(a.ok){k((await a.json()).mtimeMs),E({...e});return}let b=await a.json().catch(()=>({}));s(b.error||(b.errors??[]).join("; ")||`Save failed: HTTP ${a.status}`)},L=async()=>{if(null!==c&&x){A(!0);try{let a=await fetch(`/api/projects/${c}/hands-config`,{method:"PUT",body:JSON.stringify({config:{version:"1",tools:e},ifMtimeMs:x.currentMtimeMs})});if(a.ok){let b=await a.json();k(b.mtimeMs),E({...e})}else{let b=await a.json().catch(()=>({}));s(`Retry failed: ${b.error||(b.errors??[]).join("; ")||`HTTP ${a.status}`}`)}}finally{A(!1),y(null)}}};if(0===a.length)return(0,f.jsxs)("div",{className:"max-w-2xl mx-auto text-sm",children:["No projects registered. ",(0,f.jsx)("a",{href:"/",className:"underline",children:"Register one first"}),"."]});let M=Object.keys(e).length>0;return p||Object.keys(e).length>0&&(Object.keys(e)[0],e[Object.keys(e)[0]]),(0,f.jsxs)("div",{className:"flex flex-col h-full -m-6 overflow-hidden bg-[var(--bg-primary)]",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between px-6 py-3 bg-[var(--bg-secondary)] border-b border-[var(--border)] shadow-sm z-10",children:[(0,f.jsxs)("div",{className:"flex items-center gap-6",children:[(0,f.jsxs)("label",{className:"flex items-center gap-3 text-xs font-bold uppercase tracking-widest text-[var(--text-secondary)]",children:["Project",(0,f.jsx)("select",{value:c??"",onChange:a=>d(Number(a.target.value)),"aria-label":"project",className:"px-3 py-1.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded-lg font-mono text-[var(--accent)] outline-none focus:border-[var(--accent)] transition-all cursor-pointer min-w-[220px]",children:a.map(a=>(0,f.jsx)("option",{value:a.id,children:a.name},a.id))})]}),null!==j&&(0,f.jsx)("button",{onClick:()=>u(!0),className:"btn btn-md btn-destructive",title:"Remove kontexta.json from this project",children:"Delete Config"})]}),(0,f.jsx)(fR,{inline:!0,count:F,errorCount:H,onDiscard:()=>{i({...D}),s(null)},onSave:K})]}),(0,f.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,f.jsxs)("div",{className:"w-[300px] flex flex-col border-r border-[var(--border)] bg-[var(--bg-secondary)]/30",children:[(0,f.jsxs)("div",{className:"p-4 border-b border-[var(--border)] flex items-center justify-between bg-[var(--bg-secondary)]/50",children:[(0,f.jsx)("h4",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-[var(--text-secondary)]",children:"Registry"}),(0,f.jsx)("button",{onClick:()=>{q({name:"",def:{description:"",command:[],params:{},danger:"safe"}})},className:"p-1 rounded hover:bg-[var(--accent)] hover:text-black transition-colors",title:"Add tool from scratch",children:(0,f.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto p-2 space-y-1 custom-scrollbar",children:[Object.entries(e).map(([a,b])=>(0,f.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>q({name:a,def:b}),onKeyDown:c=>{("Enter"===c.key||" "===c.key)&&(c.preventDefault(),q({name:a,def:b}))},className:`w-full group flex items-center justify-between px-3 py-2 rounded-lg transition-all border cursor-pointer outline-none focus:ring-1 focus:ring-[var(--accent)] ${p?.name===a?"bg-[var(--accent)] text-black border-transparent shadow-lg":"border-transparent text-[var(--text-secondary)] hover:bg-[var(--accent)]/10 hover:text-[var(--text-primary)]"}`,children:[(0,f.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[(0,f.jsx)("div",{className:`w-1.5 h-1.5 rounded-full bp-keep-round flex-shrink-0 ${p?.name===a?"bg-black":"bg-[var(--accent)]"}`}),(0,f.jsx)("span",{className:"font-mono text-[13px] truncate",children:a})]}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[G.has(a)&&(0,f.jsx)("span",{className:"w-2 h-2 rounded-full bp-keep-round bg-[var(--danger)] animate-pulse",title:G.get(a)}),(0,f.jsx)("button",{onClick:b=>{b.stopPropagation(),w(a)},className:`opacity-0 group-hover:opacity-100 p-1 rounded hover:bg-[var(--danger)] hover:text-white transition-all ${p?.name===a?"text-black hover:bg-black/20":""}`,title:"Delete tool",children:(0,f.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]},a)),!M&&(0,f.jsx)("div",{className:"text-center py-8 px-4 text-xs text-[var(--text-secondary)] italic border border-dashed border-[var(--border)] rounded-xl m-2",children:"No tools defined yet."})]})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto bg-[var(--bg-primary)] custom-scrollbar relative border-r border-[var(--border)]",children:[l&&(0,f.jsxs)("div",{className:"m-6 p-4 bg-[var(--danger-soft)] border border-[var(--danger)]/50 rounded-xl text-sm text-[var(--danger)] animate-fade-in",children:[(0,f.jsx)("span",{className:"font-bold block mb-1",children:"Configuration Error"}),"kontexta.json failed to parse: ",l,". Fix the file manually before continuing."]}),r&&(0,f.jsxs)("div",{className:"m-6 p-4 bg-[var(--danger-soft)] border border-[var(--danger)]/50 rounded-xl text-sm text-[var(--danger)] animate-fade-in",children:[r,(0,f.jsx)("button",{onClick:()=>s(null),className:"ml-2 text-[var(--danger)] hover:opacity-80","aria-label":"Dismiss error",children:(0,f.jsx)(J.A,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsx)("div",{className:"p-8 max-w-4xl mx-auto",children:p?(0,f.jsxs)("div",{className:"animate-fade-in",children:[(0,f.jsxs)("header",{className:"mb-8 border-b border-[var(--border)] pb-6",children:[(0,f.jsx)("div",{className:"inline-flex items-center px-2 py-0.5 rounded bg-[var(--accent)]/10 border border-[var(--accent)]/20 text-[var(--accent)] text-[10px] font-bold uppercase tracking-wider mb-3",children:p.name?"Editor":"New Tool"}),(0,f.jsx)("h3",{className:"text-3xl font-title font-extrabold text-[var(--text-primary)] tracking-tight",children:p.name||"Untitled Tool"})]}),(0,f.jsx)(fO,{inline:!0,initial:p,projectName:a.find(a=>a.id===c)?.name,onSave:(a,b)=>{i(c=>{let d={};for(let[e,f]of Object.entries(c))p&&e===p.name?d[a]=b:d[e]=f;return p&&p.name in c||(d[a]=b),d}),q(null)}})]},p.name||"new-tool"):(0,f.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-center py-20 animate-fade-in",children:[(0,f.jsx)("div",{className:"w-16 h-16 rounded-full bp-keep-round bg-[var(--bg-secondary)] flex items-center justify-center mb-6 border border-[var(--border)]",children:(0,f.jsx)("svg",{className:"w-8 h-8 text-[var(--text-secondary)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})})}),(0,f.jsx)("h3",{className:"text-xl font-bold text-[var(--text-primary)] mb-2",children:"Configure Your Tools"}),(0,f.jsxs)("p",{className:"text-sm text-[var(--text-secondary)] max-w-xs mx-auto",children:["Select an existing tool to edit, or use the ",(0,f.jsx)("strong",{children:"Start from scratch"})," button on the right to create a new one."]})]})})]}),(0,f.jsxs)("div",{className:`bg-[var(--bg-secondary)]/30 border-l border-[var(--border)] transition-all duration-300 flex flex-col ${B?"w-[48px]":"w-[350px]"}`,children:[(0,f.jsx)("button",{onClick:()=>C(!B),className:"p-4 border-b border-[var(--border)] flex items-center justify-center hover:bg-[var(--accent)] hover:text-black transition-colors group",title:B?"Expand Template Gallery":"Collapse Template Gallery",children:B?(0,f.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16m-7 6h7"})}):(0,f.jsxs)("div",{className:"flex items-center gap-3 w-full",children:[(0,f.jsx)("svg",{className:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),(0,f.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-widest truncate",children:"Template Gallery"})]})}),!B&&(0,f.jsx)("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:(0,f.jsx)(fQ,{heading:M?"Add from template:":"Start with a template:",onSelectTemplate:(a,b)=>{q({name:a,def:b})},onBlank:()=>{q({name:"",def:{description:"",command:[],params:{},danger:"safe"}})}})})]})]}),(0,f.jsx)(U.T,{open:null!==v,onClose:()=>w(null),onConfirm:()=>{v&&(i(a=>{let{[v]:b,...c}=a;return c}),w(null))},title:`Delete tool "${v}"?`,message:"This removes the tool from the draft. Click Save in the top bar to apply.",confirmLabel:"Delete tool",destructive:!0}),(0,f.jsx)(U.T,{open:t,onClose:()=>u(!1),onConfirm:I,title:"Delete kontexta.json?",message:"This removes the configuration file from this project. All Hands tools will be unregistered immediately.",confirmLabel:"Delete file",destructive:!0}),(0,f.jsx)(U.T,{open:null!==x,onClose:()=>y(null),onConfirm:L,title:"Config changed on disk",message:"kontexta.json changed on disk since you loaded it. Overwriting will replace those changes with the version you're editing here.",confirmLabel:"Overwrite",destructive:!0,loading:z})]})}function fT({projectId:a}){let[b,c]=(0,g.useState)(null),[d,e]=(0,g.useState)(null);return d?(0,f.jsxs)("div",{className:"text-sm text-[var(--danger)]",children:["Status error: ",d]}):b?(0,f.jsxs)("section",{className:"border border-[var(--border)] rounded p-3 bg-[var(--bg-secondary)] text-sm",children:[(0,f.jsx)("h3",{className:"font-medium mb-2",children:"Journal status"}),(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("div",{children:["Project: ",(0,f.jsx)("span",{className:"font-mono",children:b.slug})]}),(0,f.jsxs)("div",{children:["Last distilled event:"," ",(0,f.jsx)("span",{className:"font-mono",children:b.high_water?.last_event_ts??"never"})]}),(0,f.jsxs)("div",{children:["Events processed (cumulative): ",b.high_water?.events_processed??0]}),(0,f.jsxs)("div",{children:["Open tasks: ",b.open_tasks_count]}),b.open_tasks.length>0&&(0,f.jsx)("ul",{className:"ml-4 list-disc mt-2",children:b.open_tasks.map(a=>(0,f.jsxs)("li",{children:[(0,f.jsx)("span",{className:"font-mono",children:a.task_slug})," — ",a.status_latest??"(no status)"," —"," ",(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:a.last_active_at})]},a.task_slug))})]})]}):(0,f.jsx)("div",{className:"text-sm text-[var(--muted)]",children:"Loading status…"})}let fU={mode:"lenient",retention:{raw_days:90,mechanical_only_days:365,narrative_days:0,archive_cold_after_days:365,purge_archived_after_days:0},ticket_pattern:"[A-Z]+-\\d+",redact:{extra_keys:[],max_arg_size_bytes:1024},webui_scheduler:{enabled:!0,mechanical_distill_interval_minutes:15,housekeep_interval_hours:24}},fV={raw_days:"How long to keep raw JSONL events. Cost of high retention: Increased disk space usage. Low retention saves space but prevents deep auditing of past agent decisions.",mechanical_only_days:"How long to keep basic markdown summaries. Cost of high retention: Increased agent token usage and slower search times as the active index grows. Low retention keeps the index fast but risks losing older context.",narrative_days:"How long to keep rich LLM-generated summaries. Cost of high retention: Significant increase in agent token usage when searching or reading context. Low retention saves token budget but limits human-readable history.",archive_cold_after_days:"When to archive inactive topics. Cost of high retention: Agents will waste tokens reading stale context that clutters search results. Lower values keep the working context sharp.",purge_archived_after_days:"When to permanently delete archived items. Cost of high retention: Increased long-term disk storage. Low retention reclaims space but irreversibly destroys project history. (0 = never delete)."};function fW(){let[a,b]=(0,g.useState)([]),[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)(fU),[i,j]=(0,g.useState)(null),k=(0,g.useRef)(null),l=(0,g.useMemo)(()=>{var a;return a=k.current??fU,Object.keys(e).reduce((b,c)=>b+ +(JSON.stringify(e[c])!==JSON.stringify(a[c])),0)},[e]);function m(a,b){h({...e,[a]:b})}async function n(){if(null!==c)try{let a=await fetch(`/api/projects/${c}/journal-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({journal:e})});if(!a.ok)throw Error(`save failed: ${a.status}`);k.current=e,h({...e})}catch(a){j(a instanceof Error?a.message:String(a))}}return(0,f.jsxs)("div",{className:"space-y-8 max-w-3xl mx-auto",children:[i&&(0,f.jsx)("div",{className:"border border-[var(--danger)]/30 bg-[var(--danger-soft)] text-[var(--danger)] rounded p-2 text-sm",children:i}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Project"}),(0,f.jsxs)("select",{value:c??"",onChange:a=>d(Number(a.target.value)),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 min-w-[200px] text-xs",children:[(0,f.jsx)("option",{value:"",children:"Select project…"}),a.map(a=>(0,f.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),null!==c&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(fT,{projectId:c}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Mode"}),(0,f.jsxs)("select",{value:e.mode,onChange:a=>m("mode",a.target.value),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs",children:[(0,f.jsx)("option",{value:"lenient",children:"Lenient (recommended)"}),(0,f.jsx)("option",{value:"strict",children:"Strict — block reads when backlog exists"}),(0,f.jsx)("option",{value:"mechanical-only",children:"Mechanical-only — no LLM upgrade"})]}),(0,f.jsxs)("div",{className:"mt-2 p-3 bg-amber-500/5 border border-amber-500/20 rounded text-xs text-[var(--text-secondary)] leading-normal",children:["lenient"===e.mode&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("strong",{children:"Lenient mode"})," is unobtrusive. If undistilled events accumulate, the MCP server automatically runs a fast, background distillation to maintain memory without blocking the agent."]}),"strict"===e.mode&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("strong",{children:"Strict mode"})," enforces memory hygiene. It blocks read tools (like ",(0,f.jsx)("code",{children:"search"})," or ",(0,f.jsx)("code",{children:"read_file"}),") with a ",(0,f.jsx)("code",{children:"JOURNAL_BACKLOG"})," error if undistilled events exist, forcing the agent to summarize its work first. Pass ",(0,f.jsx)("code",{children:"journal_bypass: true"})," to override."]}),"mechanical-only"===e.mode&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("strong",{children:"Mechanical-only mode"})," functions like lenient mode but disables LLM processing. It prevents subagents from upgrading basic markdown logs into richer narratives, saving token costs on large projects."]})]})]}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Retention (days; 0 = forever)"}),(0,f.jsx)("div",{className:"grid grid-cols-2 gap-3 max-w-md",children:["raw_days","mechanical_only_days","narrative_days","archive_cold_after_days","purge_archived_after_days"].map(a=>(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsxs)("span",{className:"text-[var(--text-secondary)] flex items-center gap-1 mb-0.5",children:[a,(0,f.jsx)("span",{title:fV[a],className:"cursor-help text-[9px] font-bold text-[var(--muted)] border border-[var(--muted)] rounded-full bp-keep-round w-3.5 h-3.5 inline-flex items-center justify-center opacity-60 hover:opacity-100 transition-opacity",children:"?"})]}),(0,f.jsx)("input",{type:"number",min:0,value:e.retention[a],onChange:b=>m("retention",{...e.retention,[a]:Number(b.target.value)}),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs"})]},a))})]}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Ticket pattern (regex)"}),(0,f.jsx)("input",{value:e.ticket_pattern,onChange:a=>m("ticket_pattern",a.target.value),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 w-full max-w-md font-mono text-xs",placeholder:"[A-Z]+-\\d+"})]}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"WebUI scheduler"}),(0,f.jsxs)("label",{className:"flex items-center gap-2 text-xs",children:[(0,f.jsx)("input",{type:"checkbox",checked:e.webui_scheduler.enabled,onChange:a=>m("webui_scheduler",{...e.webui_scheduler,enabled:a.target.checked})}),"Enable scheduled mechanical distillation"]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-w-md mt-2",children:[(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:"mechanical_distill_interval_minutes"}),(0,f.jsx)("input",{type:"number",min:1,value:e.webui_scheduler.mechanical_distill_interval_minutes,onChange:a=>m("webui_scheduler",{...e.webui_scheduler,mechanical_distill_interval_minutes:Number(a.target.value)}),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs"})]}),(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:"housekeep_interval_hours"}),(0,f.jsx)("input",{type:"number",min:1,value:e.webui_scheduler.housekeep_interval_hours,onChange:a=>m("webui_scheduler",{...e.webui_scheduler,housekeep_interval_hours:Number(a.target.value)}),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs"})]})]})]}),(0,f.jsx)(fR,{count:l,errorCount:0,onSave:n,onDiscard:function(){h(k.current??fU)}})]})]})}let fX=[{id:"install",label:"MCP SERVER CONFIG"},{id:"journal",label:"JOURNAL CONFIG"},{id:"builder",label:"HANDS TOOLS"},{id:"tools",label:"MCP DOCUMENTATION"}];function fY({open:a,onClose:b}){let[c,d]=(0,g.useState)("install");return(0,f.jsx)(R.l,{open:a,onClose:b,title:"Kontexta configuration",widthClass:"max-w-6xl",hideHeader:!0,children:(0,f.jsxs)("div",{className:"-m-5 flex flex-col h-[85vh] overflow-hidden text-[var(--text-secondary)]",children:[(0,f.jsx)("div",{className:"flex items-center border-b border-[var(--border)] pl-4 pr-12 bg-[var(--bg-secondary)] flex-shrink-0",children:(0,f.jsx)("div",{role:"tablist",className:"flex gap-1 flex-1 overflow-x-auto hide-scrollbar",children:fX.map(a=>(0,f.jsx)("button",{role:"tab","aria-selected":c===a.id,onClick:()=>d(a.id),className:`px-4 py-3 transition font-mono font-bold uppercase tracking-wider whitespace-nowrap border-b-2 ${c===a.id?"bg-[var(--accent)] text-black border-transparent":"border-transparent text-[var(--text-secondary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] focus:bg-[var(--accent-soft)] focus:text-[var(--text-primary)]"}`,children:a.label},a.id))})}),(0,f.jsxs)("div",{className:"flex-1 overflow-auto p-6 bg-[var(--bg-primary)] animate-fade-in",children:["tools"===c&&(0,f.jsx)(fE,{}),"install"===c&&(0,f.jsx)(fI,{}),"builder"===c&&(0,f.jsx)(fS,{}),"journal"===c&&(0,f.jsx)(fW,{})]},c)]})})}let fZ=[{key:"default",label:"Default",swatches:["#B4781E","#1a1a1a","#e5e5e5","#252525"]},{key:"minimal",label:"Minimal",swatches:["#2563eb","#ffffff","#1a1a1a","#e0e0e0"]},{key:"api-ref",label:"API Ref",swatches:["#0ea5e9","#0c1222","#e2e8f0","#1e293b"]},{key:"flat",label:"Flat",swatches:["#e91e63","#00bcd4","#ff9800","#9c27b0"]},{key:"terminal",label:"Terminal",swatches:["#00ff41","#000000","#33cc33","#1a3a1a"]},{key:"paper",label:"Paper",swatches:["#8b4513","#faf6f1","#2b2620","#d9cdb8"]},{key:"solarized",label:"Solarized",swatches:["#b58900","#268bd2","#2aa198","#dc322f"]},{key:"brutalist",label:"Brutalist",swatches:["#000000","#ffff00","#ffffff","#555555"]},{key:"ocean",label:"Ocean",swatches:["#5eead4","#c4b5fd","#fda4af","#0b1220"]}];function f$({isOpen:a,onClose:b,mode:c="publish",onSwitchToPublish:d,onPublishSuccess:e}){let[h,i]=(0,g.useState)([]),[j,k]=(0,g.useState)([]),[l,m]=(0,g.useState)({folders:[],title:"Kontexta Docs",brand:"Kontexta",tagline:"",hero:!0,theme:"default",llmsTxt:!0,seo:!0}),[n,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(null),[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),[x,y]=(0,g.useState)(null),[z,A]=(0,g.useState)([]),[B,C]=(0,g.useState)(null),D=async()=>{if(0===j.length)return void s("Please select at least one folder to publish.");o(!0),s(null),q(null);try{let a=await fetch("/api/publish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({folders:j,title:l.title,brand:l.brand,tagline:l.tagline,hero:l.hero,theme:l.theme,llmsTxt:l.llmsTxt,seo:l.seo,projectId:B})}),c=await a.json();c.success?(e?.(c),b()):(q(c),s(c.error||"Publish failed"))}catch(a){s(a instanceof Error?a.message:"Publish failed")}finally{o(!1)}},E=null!==B,F=z.find(a=>a.id===B),G="view"===c;return(0,f.jsx)(R.l,{open:a,onClose:b,title:G?"View published site":"Publish documentation",widthClass:G?"max-w-[1400px]":"max-w-2xl",hideHeader:!0,children:(0,f.jsxs)("div",{className:"-m-5 flex flex-col max-h-[80vh] overflow-hidden",children:[(0,f.jsx)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--border)] shrink-0",children:(0,f.jsxs)("div",{className:"flex items-center gap-3",children:[(0,f.jsxs)("svg",{className:"w-5 h-5 text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M9 9h6v6H9z"}),(0,f.jsx)("path",{d:"M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3"})]}),(0,f.jsx)("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:G?"View published site":"Publish documentation"})]})}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:G?(0,f.jsx)("div",{className:"flex-1 flex flex-col",children:t?(0,f.jsx)("div",{className:"flex items-center justify-center h-full p-8",children:(0,f.jsxs)("div",{className:"text-center space-y-3",children:[(0,f.jsxs)("svg",{className:"w-8 h-8 animate-spin mx-auto text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",children:[(0,f.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,f.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)]",children:"Checking for published site..."})]})}):v?(0,f.jsx)("iframe",{src:"/api/publish/html",title:"Published Site",className:"w-full h-full border-0 bg-white",sandbox:"allow-same-origin allow-scripts allow-popups"}):(0,f.jsx)("div",{className:"flex items-center justify-center h-full p-8",children:(0,f.jsxs)("div",{className:"text-center space-y-4 max-w-md",children:[(0,f.jsxs)("svg",{className:"w-12 h-12 mx-auto text-[var(--text-tertiary)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M9 9h6v6H9z"}),(0,f.jsx)("path",{d:"M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3"})]}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)]",children:"No published site found. Publish some content first to generate a static site."}),(0,f.jsx)("button",{onClick:()=>d?.(),className:"px-4 py-2 rounded-xl text-sm font-medium bg-[var(--accent)] text-white hover:bg-[color-mix(in_srgb,var(--accent)_85%,black)] transition-colors",children:"Create a Publish"})]})})}):(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Source Scope"}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)("button",{onClick:()=>C(null),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-all ${!E?"bg-[var(--accent)]/10 text-[var(--accent)] border border-[var(--accent)]/30":"bg-[var(--bg-tertiary)] text-[var(--text-secondary)] border border-[var(--border)] hover:border-[var(--border)]"}`,children:"Knowledge Base"}),(0,f.jsxs)("button",{onClick:()=>C(z[0]?.id??null),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-all ${E?"bg-[var(--accent)]/10 text-[var(--accent)] border border-[var(--accent)]/30":"bg-[var(--bg-tertiary)] text-[var(--text-secondary)] border border-[var(--border)] hover:border-[var(--border)]"}`,children:["Project",F&&(0,f.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",F.name,")"]})]})]})]}),E&&(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Select Project"}),(0,f.jsx)("select",{value:B??"",onChange:a=>C(a.target.value?Number(a.target.value):null),className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50",children:z.map(a=>(0,f.jsxs)("option",{value:a.id,children:[a.name," (",a.slug,")"]},a.id))})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-3",children:"Folders to Publish"}),(0,f.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,f.jsx)("button",{onClick:()=>{k([...h])},className:"text-xs text-[var(--accent)] hover:underline",children:"Select All"}),(0,f.jsx)("span",{className:"text-[var(--text-tertiary)]",children:"•"}),(0,f.jsx)("button",{onClick:()=>{k([])},className:"text-xs text-[var(--text-tertiary)] hover:underline",children:"Clear All"})]}),(0,f.jsx)("div",{className:"space-y-2 max-h-48 overflow-y-auto rounded-xl border border-[var(--border)] p-3 bg-[var(--bg-tertiary)]/30",children:0===h.length?(0,f.jsx)("p",{className:"text-sm text-[var(--text-tertiary)] text-center py-4",children:E?`No folders found in ${F?.name??"this project"}`:"No folders found in your vault"}):h.map(a=>{var b;return(0,f.jsxs)("label",{className:"flex items-center gap-3 p-2 rounded-lg hover:bg-[var(--bg-secondary)] cursor-pointer transition-colors",children:[(0,f.jsx)("input",{type:"checkbox",checked:j.includes(a),onChange:()=>{k(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm text-[var(--text-primary)]",children:(b=E?F?.slug??null:null)?`${b}/${a}`:a})]},a)})}),j.length>0&&(0,f.jsxs)("p",{className:"text-xs text-[var(--text-tertiary)] mt-2",children:[j.length," folder",1!==j.length?"s":""," selected"]})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Site Title"}),(0,f.jsx)("input",{type:"text",value:l.title,onChange:a=>m(b=>({...b,title:a.target.value})),className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Brand Name"}),(0,f.jsx)("input",{type:"text",value:l.brand,onChange:a=>m(b=>({...b,brand:a.target.value})),className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50"})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer mb-2",children:[(0,f.jsx)("input",{type:"checkbox",checked:l.hero,onChange:a=>m(b=>({...b,hero:a.target.checked})),className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm font-medium text-[var(--text-secondary)]",children:"Show hero on landing page"})]}),l.hero&&(0,f.jsx)("input",{type:"text",value:l.tagline,onChange:a=>m(b=>({...b,tagline:a.target.value})),placeholder:"Optional tagline shown under the title",className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-3",children:"Theme"}),(0,f.jsx)("div",{className:"grid grid-cols-3 gap-3",children:fZ.map(({key:a,label:b,swatches:c})=>(0,f.jsxs)("button",{onClick:()=>m(b=>({...b,theme:a})),className:`px-3 py-3 rounded-xl border-2 text-sm font-medium transition-all flex flex-col items-start gap-2 ${l.theme===a?"border-[var(--accent)] bg-[var(--accent)]/10 text-[var(--accent)]":"border-[var(--border)] bg-[var(--bg-tertiary)]/30 text-[var(--text-secondary)] hover:border-[var(--border)]"}`,children:[(0,f.jsx)("span",{children:b}),(0,f.jsx)("span",{className:"flex gap-1",children:c.map((a,b)=>(0,f.jsx)("span",{className:"w-3 h-3 rounded-full bp-keep-round border border-black/10",style:{background:a}},b))})]},a))})]}),(0,f.jsxs)("div",{className:"flex items-center gap-6",children:[(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,f.jsx)("input",{type:"checkbox",checked:l.llmsTxt,onChange:a=>m(b=>({...b,llmsTxt:a.target.checked})),className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm text-[var(--text-primary)]",children:"Generate llms.txt"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,f.jsx)("input",{type:"checkbox",checked:l.seo,onChange:a=>m(b=>({...b,seo:a.target.checked})),className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm text-[var(--text-primary)]",children:"SEO Meta Tags"})]})]}),r&&(0,f.jsx)("div",{className:"p-4 rounded-xl bg-[var(--danger-soft)] border border-[var(--danger)]/20",children:(0,f.jsx)("p",{className:"text-sm text-[var(--danger)]",children:r})})]})}),(0,f.jsxs)("div",{className:"flex items-center justify-between gap-3 px-6 py-4 border-t border-[var(--border)] bg-[var(--bg-tertiary)]/30",children:[(0,f.jsx)("div",{className:"text-xs text-[var(--text-secondary)] flex-1",children:!G&&x&&(0,f.jsxs)("span",{title:new Date(x).toLocaleString(),children:["Last built ",function(a){if(!a)return null;let b=new Date(a).getTime();if(!Number.isFinite(b))return null;let c=Date.now()-b;return c<6e4?"just now":c<36e5?`${Math.floor(c/6e4)}m ago`:c<864e5?`${Math.floor(c/36e5)}h ago`:c<6048e5?`${Math.floor(c/864e5)}d ago`:new Date(a).toLocaleDateString()}(x)]})}),(0,f.jsx)("button",{onClick:b,disabled:n,className:"px-4 py-2 rounded-xl text-sm font-medium text-[var(--text-secondary)] hover:bg-[var(--bg-tertiary)] transition-colors disabled:opacity-50",children:"Close"}),!G&&0===j.length&&(0,f.jsx)("span",{className:"text-xs text-[var(--text-secondary)] italic",title:"The orange Publish button is disabled until at least one folder is selected",children:"Select at least one folder to enable Publish"}),!G&&(0,f.jsx)("button",{onClick:D,disabled:n||0===j.length,className:"px-6 py-2 rounded-xl text-sm font-medium bg-[var(--accent)] text-white hover:bg-[color-mix(in_srgb,var(--accent)_85%,black)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:n?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("svg",{className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[(0,f.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,f.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),"Publishing..."]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M12 8v8M8 12h8"})]}),"Publish"]})})]})]})})}function f_(a,b=0){let[c,d]=(0,g.useState)([]),[e,f]=(0,g.useState)(""),[h,i]=(0,g.useState)(!1);return{folders:c,basePath:e,loading:h}}function f0({segments:a}){return 0===a.length?null:(0,f.jsx)("nav",{"aria-label":"Breadcrumb",className:"h-8 px-4 flex items-center gap-1.5 text-[13px] border-b border-[var(--border)] bg-[var(--bg-tertiary)] text-[var(--text-secondary)] select-none",children:a.map((b,c)=>{let d=c===a.length-1;return(0,f.jsxs)("span",{className:"flex items-center gap-1.5",children:[c>0&&(0,f.jsx)(y.A,{className:"w-3.5 h-3.5 opacity-40","aria-hidden":!0}),d||!b.onClick?(0,f.jsx)("span",{className:d?"font-bold text-[var(--text-primary)]":"",children:b.label}):(0,f.jsx)("button",{onClick:b.onClick,className:"hover:text-[var(--accent)] transition-colors",children:b.label})]},`${c}-${b.label}`)})})}function f1({globalRemoteUrl:a,status:b,lastDoneAt:c,stage:d,onOpenConfigure:e}){let[,h]=(0,g.useState)(0),[i,j]=(0,g.useState)(null),k="syncing"===b?"syncing...":"error"===b?"sync failed":"no-remote"===b?"no remote configured":"ok"===b||c?`synced ${function(a){if(!a)return"never";let b=Math.floor((Date.now()-a)/1e3);return b<60?`${b}s ago`:b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}(c)}`:"ready",l=a?a.replace(/^https?:\/\//,"").replace(/\.git$/,""):null;return(0,f.jsxs)("footer",{className:"relative h-7 border-t border-[var(--border)] bg-[var(--bg-secondary)] px-4 flex items-center gap-2.5 text-[13px] text-[var(--text-secondary)] font-mono",children:[(0,f.jsx)("span",{style:{color:"ok"===b?"var(--success)":"syncing"===b?"var(--warning)":"error"===b?"var(--danger)":"var(--text-secondary)"},className:"syncing"===b?"animate-pulse":"",children:"●"}),(0,f.jsx)("span",{children:k}),(0,f.jsx)("span",{className:"text-[var(--border)]",children:"\xb7"}),(0,f.jsxs)("span",{className:`font-medium ${"syncing"===b?"text-[var(--warning)]":""}`,children:["git: ","syncing"===b?d||"working":"clean"]}),l&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"text-[var(--border)]",children:"\xb7"}),(0,f.jsx)("span",{className:"truncate max-w-[260px] opacity-70",children:l})]}),i?.updateAvailable&&(0,f.jsxs)("button",{onClick:e,className:"ml-auto text-[var(--accent)] hover:underline",title:`You're on v${i.currentVersion} — open Configure for update instructions`,children:["⬆ v",i.latestVersion," available"]})]})}function f2({items:a,footer:b}){let[c,d]=(0,g.useState)(null),e=[...a,...b?[b]:[]].find(a=>a.id===c)??null;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"w-14 shrink-0 bg-[var(--bg-secondary)] border-r border-[var(--border)] flex flex-col items-center py-4 gap-4 z-50",children:[(0,f.jsx)("div",{className:"flex flex-col items-center gap-3 w-full",children:a.map(a=>(0,f.jsx)(f3,{item:a,onPeek:()=>d(a.id)},a.id))}),(0,f.jsx)("div",{className:"flex-1"}),b&&(0,f.jsx)("div",{className:"pt-4 border-t border-[var(--border)] w-full flex flex-col items-center",children:(0,f.jsx)(f3,{item:b,onPeek:()=>d(b.id)})})]}),e?.peek&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 backdrop-blur-sm transition-all",onClick:()=>d(null)}),(0,f.jsxs)("div",{className:"absolute z-50 left-16 top-16 w-64 max-h-[80vh] overflow-auto bg-[var(--bg-secondary)]/90 backdrop-blur-xl border border-amber-accent/20 rounded-xl shadow-2xl p-4 animate-fade-in",children:[(0,f.jsx)("div",{className:"text-[10px] font-black uppercase tracking-[0.2em] text-amber-accent/70 mb-4",children:e.label}),(0,f.jsx)("div",{className:"scrollbar-thin",children:e.peek})]})]})]})}function f3({item:a,onPeek:b}){let c=a.label.charAt(0).toUpperCase(),d="kb"===a.id;return(0,f.jsxs)("button",{title:a.label,onClick:()=>{a.onClick(),a.peek&&b()},className:`
5
+ `,children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[h?(0,f.jsx)("input",{type:"checkbox",checked:!!j,onChange:()=>k?.(),onClick:a=>a.stopPropagation(),className:"mt-1 cursor-pointer accent-amber-accent"}):(0,f.jsx)(N,{className:"w-4 h-4 mt-1 text-amber-accent shrink-0"}),(0,f.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,f.jsxs)("div",{className:`text-sm font-semibold truncate transition-colors flex items-center gap-1.5 ${d?"text-[var(--text-primary)]":"text-[var(--text-primary)] group-hover:text-[var(--accent)]"}`,children:[l&&(0,f.jsx)("span",{className:"text-amber-accent shrink-0",title:"Favorite","aria-label":"Favorite",children:(0,f.jsx)(M,{className:"w-3.5 h-3.5 fill-current","aria-hidden":!0})}),(0,f.jsx)("span",{className:"truncate",children:b})]}),(0,f.jsxs)("div",{className:"text-[11px] mt-1 flex flex-wrap items-center gap-1.5 transition-colors text-[var(--text-secondary)]",children:[(0,f.jsx)("span",{children:function(a){let b=new Date(a),c=new Date().getTime()-b.getTime(),d=Math.floor(c/6e4),e=Math.floor(c/36e5),f=Math.floor(c/864e5);return d<1?"just now":1===d?"1 min ago":d<60?`${d} mins ago`:1===e?"1 hour ago":e<24?`${e} hours ago`:1===f?"1 day ago":f<30?`${f} days ago`:b.toLocaleDateString()}(c)}),"number"==typeof g&&g>0&&(0,f.jsxs)("span",{children:["\xb7 ~",g<1e3?String(g):g<1e4?(g/1e3).toFixed(1)+"k":Math.round(g/1e3)+"k"," tok"]}),m&&m.length>0&&(0,f.jsxs)("span",{className:"flex flex-wrap gap-1",children:[m.slice(0,3).map(a=>(0,f.jsx)("span",{className:"px-1.5 rounded bg-amber-accent/10 border border-amber-accent/20 text-[10px]",children:a},a)),m.length>3&&(0,f.jsxs)("span",{className:"text-[10px] opacity-60",children:["+",m.length-3]})]})]})]}),!h&&(0,f.jsx)("button",{type:"button",onClick:async c=>{c.stopPropagation();try{let c=await fetch(`/api/files/${a}/download`);if(!c.ok){let a=`HTTP ${c.status}`;try{let b=await c.json();b?.error&&(a=b.error)}catch{}i.o.error(`Download failed: ${a}`);return}let d=c.headers.get("content-disposition")||"",e=/filename="([^"]+)"/.exec(d),f=e?.[1]??`${b}.md`,g=await c.blob(),h=URL.createObjectURL(g),j=document.createElement("a");j.href=h,j.download=f,document.body.appendChild(j),j.click(),j.remove(),URL.revokeObjectURL(h)}catch(a){i.o.error(`Download failed: ${a?.message??String(a)}`)}},title:"Download .md","aria-label":"Download file",className:"btn btn-icon-sm opacity-0 group-hover:opacity-100",children:(0,f.jsx)(O,{className:"w-4 h-4"})})]})})}function Q({open:a,onClose:b,projects:c,defaultProjectId:d,defaultFolder:e,onUploaded:h}){let[i,j]=(0,g.useState)([]),[k,l]=(0,g.useState)(d??""),[m,n]=(0,g.useState)(e),[o,p]=(0,g.useState)([]),[q,r]=(0,g.useState)(""),[s,t]=(0,g.useState)(!1),[u,v]=(0,g.useState)(null),[w,x]=(0,g.useState)(null),y=async a=>{if(a.preventDefault(),0!==i.length){t(!0),x(null),v(null);try{let a=new FormData;a.append("project_id",""===k?"":String(k)),a.append("folder",m);let b=q.split(",").map(a=>a.trim()).filter(Boolean);for(let c of(b.length&&a.append("tags",JSON.stringify(b)),i))a.append("files",c);let c=await fetch("/api/files/upload",{method:"POST",body:a}),d=await c.json();c.ok?(v(d),h()):x(d.error??`HTTP ${c.status}`)}catch(a){x(a?.message??String(a))}finally{t(!1)}}};return a?(0,f.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",children:(0,f.jsx)("div",{className:"w-[600px] bg-[var(--bg-primary)] border border-[var(--border-color)] rounded-lg shadow-2xl overflow-hidden",children:(0,f.jsxs)("form",{onSubmit:y,children:[(0,f.jsxs)("div",{className:"px-6 py-4 border-b border-[var(--border-color)] flex items-center justify-between",children:[(0,f.jsx)("h3",{className:"text-lg font-bold text-amber-accent",children:"UPLOAD MARKDOWN FILES"}),(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-icon-md","aria-label":"Close dialog",children:(0,f.jsx)(K.A,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsxs)("div",{className:"p-6 space-y-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FILES"}),(0,f.jsx)("input",{type:"file",multiple:!0,accept:".md,.markdown,.mmd",onChange:a=>j(Array.from(a.target.files??[])),className:"w-full text-sm text-[var(--text-primary)]"}),i.length>0&&(0,f.jsx)("ul",{className:"mt-2 text-xs text-[var(--text-secondary)] max-h-32 overflow-auto",children:i.map((a,b)=>(0,f.jsxs)("li",{className:"flex items-center justify-between py-0.5",children:[(0,f.jsx)("span",{className:"truncate",children:a.name}),(0,f.jsx)("button",{type:"button",className:"btn btn-icon-sm btn-destructive","aria-label":`Remove ${a.name}`,onClick:()=>j(a=>a.filter((a,c)=>c!==b)),children:(0,f.jsx)(K.A,{className:"w-3.5 h-3.5","aria-hidden":!0})})]},b))})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"PROJECT"}),(0,f.jsxs)("select",{value:""===k?"":String(k),onChange:a=>l(""===a.target.value?"":Number(a.target.value)),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:[(0,f.jsx)("option",{value:"",children:"— Knowledge Base —"}),c.map(a=>(0,f.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FOLDER"}),(0,f.jsxs)("select",{value:m,onChange:a=>n(a.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:[(0,f.jsx)("option",{value:"",children:"— Root level —"}),o.map(a=>(0,f.jsx)("option",{value:a,children:a},a))]})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"TAGS"}),(0,f.jsx)("input",{type:"text",value:q,onChange:a=>r(a.target.value),placeholder:"comma, separated, tags",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]}),w&&(0,f.jsx)("div",{className:"text-sm text-[var(--danger)]",children:w}),u&&(0,f.jsxs)("div",{className:"text-sm text-[var(--text-secondary)]",children:["Uploaded ",u.uploaded.length," \xb7 renamed ",u.uploaded.filter(a=>a.final_name!==a.original_name).length," \xb7 rejected ",u.rejected.length,(u.uploaded.some(a=>a.final_name!==a.original_name)||u.rejected.length>0)&&(0,f.jsxs)("details",{className:"mt-2",children:[(0,f.jsx)("summary",{className:"cursor-pointer",children:"Details"}),(0,f.jsxs)("ul",{className:"mt-1 text-xs",children:[u.uploaded.filter(a=>a.final_name!==a.original_name).map((a,b)=>(0,f.jsxs)("li",{children:["renamed: ",a.original_name," → ",a.final_name]},`r${b}`)),u.rejected.map((a,b)=>(0,f.jsxs)("li",{children:["rejected: ",a.name," (",a.reason,")"]},`x${b}`))]})]})]})]}),(0,f.jsxs)("div",{className:"px-6 py-4 border-t border-[var(--border-color)] flex justify-end gap-2",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"Close"}),(0,f.jsx)("button",{type:"submit",disabled:s||0===i.length,className:"btn btn-md",children:s?"Uploading…":"Upload"})]})]})})}):null}function R({open:a,onClose:b,onClipped:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(!1),[l,m]=(0,g.useState)(null),n=async a=>{if(a.preventDefault(),d.trim()){k(!0),m(null);try{let a=await fetch("/api/clip",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:d.trim(),title:h.trim()||void 0})}),e=await a.json();if(!a.ok)return void m(e?.error??`HTTP ${a.status}`);c(),b()}catch(a){m(a?.message??String(a))}finally{k(!1)}}};return a?(0,f.jsx)("div",{className:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",children:(0,f.jsx)("div",{className:"w-[600px] bg-[var(--bg-primary)] border border-[var(--border-color)] rounded-lg shadow-2xl overflow-hidden",children:(0,f.jsxs)("form",{onSubmit:n,children:[(0,f.jsxs)("div",{className:"px-6 py-4 border-b border-[var(--border-color)] flex items-center justify-between",children:[(0,f.jsx)("h3",{className:"text-lg font-bold text-amber-accent",children:"CLIP URL"}),(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-icon-md","aria-label":"Close dialog",children:(0,f.jsx)(K.A,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsxs)("div",{className:"p-6 space-y-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"URL"}),(0,f.jsx)("input",{type:"url",required:!0,value:d,onChange:a=>e(a.target.value),placeholder:"https://example.com/article",disabled:j,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"TITLE (OPTIONAL)"}),(0,f.jsx)("input",{type:"text",value:h,onChange:a=>i(a.target.value),placeholder:"Defaults to page title",disabled:j,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]}),l&&(0,f.jsx)("div",{className:"text-sm text-[var(--danger)]",children:l})]}),(0,f.jsxs)("div",{className:"px-6 py-4 border-t border-[var(--border-color)] flex justify-end gap-2",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"Close"}),(0,f.jsx)("button",{type:"submit",disabled:j||!d.trim(),className:"btn btn-md",children:j?"Clipping…":"Clip"})]})]})})}):null}var S=c(42052);let T=[{id:"claude-code",label:"Claude Code"},{id:"cursor",label:"Cursor"},{id:"aider",label:"Aider"},{id:"continue",label:"Continue"},{id:"gemini",label:"Gemini / Antigravity"},{id:"copilot",label:"GitHub Copilot"},{id:"codex",label:"Codex"},{id:"generic",label:"Generic JSON"}];function U({isOpen:a,onClose:b,projectId:c,projectName:d,onOnboarded:e}){let[h,j]=(0,g.useState)("aider"),[k,l]=(0,g.useState)(!1),m=async()=>{l(!0);try{let a=await fetch(`/api/projects/${c}/onboard`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetAgent:h})});if(a.ok)i.o.success(`Onboarded ${d}`),e(),b();else{let b=await a.json().catch(()=>({}));i.o.error(b.error||`Onboarding failed: HTTP ${a.status}`)}}catch(a){i.o.error("Failed to connect to server")}finally{l(!1)}};return(0,f.jsx)(S.l,{open:a,onClose:b,title:"Onboard agent",widthClass:"max-w-[500px]",children:(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsxs)("div",{className:"text-sm text-[var(--text-secondary)] leading-relaxed",children:["Scaffold workflow rules for ",(0,f.jsx)("strong",{children:d}),". This writes a context file (like ",(0,f.jsx)("code",{children:".aider/kontexta.md"}),") to the project root."]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest uppercase",children:"Target agent"}),(0,f.jsx)("select",{value:h,onChange:a=>j(a.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:T.map(a=>(0,f.jsx)("option",{value:a.id,children:a.label},a.id))})]}),"aider"===h&&(0,f.jsxs)("div",{className:"p-3 bg-amber-500/5 border border-amber-500/20 rounded text-[11px] text-amber-600 dark:text-amber-400 leading-normal",children:[(0,f.jsx)("strong",{children:"Aider note:"})," Integration is file-based. After onboarding, ensure your ",(0,f.jsx)("code",{children:".aider.conf.yml"})," reads the new file."]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",disabled:k,children:"Cancel"}),(0,f.jsx)("button",{type:"button",onClick:m,disabled:k,className:"btn btn-md min-w-[140px]",children:k?"Onboarding…":"Onboard agent"})]})]})})}var V=c(361);function W({files:a,selectedFileId:b,onSelectFile:c,sortBy:d,onSortChange:e,selectedFolder:h,selectedProject:j,selectedSection:k,basePath:l,onSync:m,onUnregisterProject:n,onDeleteFolder:o,loading:p,projects:q,onUploaded:s,onRefresh:t,refreshing:u,onNewFile:v}){let[w,y]=(0,g.useState)(""),[z,A]=(0,g.useState)(!1),[B,D]=(0,g.useState)(!1),[E,F]=(0,g.useState)(!1),[G,M]=(0,g.useState)(!1),[N,O]=(0,g.useState)(new Set),[S,T]=(0,g.useState)(!1),[W,X]=(0,g.useState)(!1),Y=(0,g.useMemo)(()=>{let b=[...a],c=a=>(a||"").replace(/\\/g,"/").replace(/\/+$/,""),e=(a,b)=>{if(!a||!b)return!1;let d=c(a),e=c(b)+"/";return d.startsWith(e)};if("projects"===k)if(j){let a=l||j.path;if(a){let d=c(a)+"/";if(h){let a=d+c(h);b=b.filter(b=>e(b.path,a))}else b=b.filter(a=>a.project_id===j.id)}else b=b.filter(a=>a.project_id===j.id)}else b=[];else if("favorites"===k)b=[...a];else if("knowledge"===k){if(b=b.filter(a=>!a.project_id),l){let a=c(l)+"/";if(h){let d=a+c(h);b=b.filter(a=>e(a.path,d))}}}else b=[];switch(d){case"name":b.sort((a,b)=>a.title.localeCompare(b.title));break;case"updated_at":b.sort((a,b)=>new Date(b.updated_at).getTime()-new Date(a.updated_at).getTime());break;case"created_at":b.sort((a,b)=>new Date(b.created_at).getTime()-new Date(a.created_at).getTime())}if(w){let a=w.toLowerCase();b=b.filter(b=>b.title.toLowerCase().includes(a))}return b},[a,d,h,j,k,l,w]);return(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsxs)("div",{className:"flex items-center gap-1.5 px-1.5 py-1.5 border-b border-[var(--border)]",children:[(0,f.jsx)("div",{className:"flex-1",children:(0,f.jsx)(r,{align:"start",trigger:(0,f.jsxs)("button",{type:"button",className:"btn btn-sm w-full",title:"Add content to the knowledge base",children:["New ",(0,f.jsx)("span",{className:"opacity-60 text-xs",children:"▾"})]}),items:[{label:"New File",icon:(0,f.jsx)("span",{children:"+"}),onSelect:v},{label:"Upload Files",icon:(0,f.jsx)("span",{children:"↑"}),onSelect:()=>A(!0)},{label:"Clip URL",icon:(0,f.jsx)(H,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:()=>T(!0)}]})}),"projects"===k&&j&&(0,f.jsx)("div",{className:"flex-1",children:(0,f.jsx)(r,{align:"start",trigger:(0,f.jsxs)("button",{type:"button",className:"btn btn-sm w-full",title:"Project actions",children:["Project ",(0,f.jsx)("span",{className:"opacity-60 text-xs",children:"▾"})]}),items:[{label:"Export ZIP",icon:(0,f.jsx)("span",{children:"↓"}),onSelect:()=>{let a=h?`/api/export/zip?project_id=${j.id}&folder=${encodeURIComponent(h)}`:`/api/export/zip?project_id=${j.id}`,b=document.createElement("a");b.href=a,b.download="",document.body.appendChild(b),b.click(),b.remove()}},{label:"Sync Project",icon:(0,f.jsx)(I,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:m},{label:"Scan for New Files",icon:(0,f.jsx)(J,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:t},{label:"Onboard Agent",icon:(0,f.jsx)("span",{children:"✨"}),onSelect:()=>X(!0)},...!h&&n?[{label:"Unregister",icon:(0,f.jsx)(K.A,{className:"w-3.5 h-3.5","aria-hidden":!0}),onSelect:n,destructive:!0}]:[]]})}),(0,f.jsx)("button",{type:"button",onClick:()=>{D(a=>!a),O(new Set)},className:"btn btn-sm flex-1",title:"Toggle multi-select",children:B?"Selected":"Select"}),(0,f.jsx)("button",{type:"button",onClick:t,disabled:u,className:`btn btn-sm ${u?"opacity-50":""}`,title:"Refresh (scan disk for changes)","aria-label":"Refresh",children:u?"...":(0,f.jsx)(I,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsxs)("div",{className:"bp-annotation bp-dashed px-3 py-2 flex items-center justify-between text-[11px] uppercase tracking-wider text-[var(--text-secondary)] border-b border-[var(--border)]",children:[(0,f.jsxs)("span",{children:[Y.length," ",1===Y.length?"file":"files",(()=>{var a;let b=Y.reduce((a,b)=>a+(b.est_tokens??0),0);return b>0?` \xb7 ~${(a=b)<1e3?String(a):a<1e4?`${(a/1e3).toFixed(1)}k`:a<1e6?`${Math.round(a/1e3)}k`:`${(a/1e6).toFixed(1)}M`} tok`:""})()]}),(0,f.jsx)("div",{className:"flex items-center gap-2",children:(0,f.jsxs)("select",{value:d,onChange:a=>e(a.target.value),className:"bg-transparent text-[11px] uppercase tracking-wider focus:outline-none cursor-pointer",children:[(0,f.jsx)("option",{value:"updated_at",className:"bg-[var(--bg-primary)] text-[var(--text-primary)]",children:"updated"}),(0,f.jsx)("option",{value:"created_at",className:"bg-[var(--bg-primary)] text-[var(--text-primary)]",children:"created"}),(0,f.jsx)("option",{value:"name",className:"bg-[var(--bg-primary)] text-[var(--text-primary)]",children:"name"})]})})]}),(a.length>10||""!==w.trim())&&(0,f.jsx)(L,{value:w,onChange:y}),(()=>{let a=new Set(Y.map(a=>a.id)),d=[...N].filter(b=>a.has(b)),e=j?String(j.id):"kb",g=async()=>{if(0===d.length||E)return;F(!0);let a=[];for(let b of d)try{let c=await fetch(`/api/files/${b}`,{method:"DELETE"});if(!c.ok){let d=await c.json().catch(()=>({}));a.push({id:b,error:d?.error??`HTTP ${c.status}`})}}catch(c){a.push({id:b,error:c?.message??"Network error"})}F(!1),M(!1),O(new Set),t();let b=d.length-a.length;a.length>0?(console.error("[bulk-delete] failures:",a),b>0&&i.o.success(`Deleted ${b} file(s)`),i.o.error(`${a.length} file(s) failed to delete: `+a.slice(0,5).map(a=>`#${a.id} (${a.error})`).join(", ")+(a.length>5?`, …and ${a.length-5} more (see console)`:""))):i.o.success(`Deleted ${b} file(s)`)};return(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[B&&d.length>0&&(0,f.jsxs)("div",{className:"sticky top-0 z-10 px-3 py-2 bg-[var(--bg-secondary)] border-b border-amber-accent/40 flex items-center justify-between gap-2 text-[11px]",children:[(0,f.jsxs)("span",{className:"whitespace-nowrap shrink-0",children:[d.length," selected"]}),(0,f.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,f.jsx)("a",{href:`/api/export/zip?file_ids=${d.join(",")}&scope=${e}`,download:!0,className:"px-2 py-1 bg-amber-accent text-black font-bold rounded whitespace-nowrap leading-none",title:"Download selected files as ZIP",children:"ZIP"}),(0,f.jsx)("button",{type:"button",onClick:()=>M(!0),disabled:E,className:`px-2 py-1 bg-[var(--danger)] text-white font-bold rounded whitespace-nowrap leading-none ${E?"opacity-50":"hover:bg-[color-mix(in_srgb,var(--danger)_85%,black)]"}`,title:`Delete ${d.length} selected file(s)`,children:E?"…":"Delete"}),(0,f.jsx)("button",{type:"button",onClick:()=>O(new Set),className:"px-2 py-1 border border-[var(--border)] rounded whitespace-nowrap leading-none hover:bg-[var(--bg-tertiary)]",title:"Clear selection",children:"Clear"})]})]}),(0,f.jsx)(V.T,{open:G,onClose:()=>M(!1),onConfirm:g,title:`Delete ${d.length} file${1===d.length?"":"s"}?`,message:"Knowledge Base files will be removed from disk and the deletion will be committed to git (recoverable via Time Travel). Project files are only un-indexed; the source file on disk is left intact.",confirmLabel:`Delete ${d.length} file${1===d.length?"":"s"}`,destructive:!0,loading:E}),Y.length>0?Y.map(a=>(0,f.jsx)(P,{id:a.id,title:a.title,updatedAt:a.updated_at,active:a.id===b,onClick:()=>c(a.id),estTokens:a.est_tokens,favorite:a.favorite,tags:a.tags??void 0,selectMode:B,selected:N.has(a.id),onToggleSelect:()=>{O(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})}},a.id)):p||"projects"===k&&!j?(0,f.jsx)("div",{"aria-label":"Loading files",role:"status",children:[0,1,2,3].map(a=>(0,f.jsxs)("div",{className:"px-3 py-2 border-b border-[var(--bg-tertiary)]",children:[(0,f.jsx)("div",{className:"skeleton h-3.5",style:{width:`${60+13*a%30}%`}}),(0,f.jsx)("div",{className:"skeleton h-2.5 mt-2",style:{width:`${30+7*a%20}%`}})]},a))}):k?(0,f.jsx)(C,{icon:(0,f.jsx)(x,{className:"w-16 h-16 opacity-30 dark-icon","aria-hidden":!0}),title:"Folder is empty",hint:"This folder doesn't contain any indexed context files.",action:"knowledge"===k&&h&&o?(0,f.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,f.jsx)("div",{className:"h-px w-16 bg-[var(--border)]"}),(0,f.jsx)("button",{onClick:o,className:"px-6 py-2.5 bg-[var(--danger-soft)] text-[var(--danger)] border border-[var(--danger)]/30 rounded-lg text-sm font-bold hover:bg-[var(--danger)]/20 transition-all btn-press shadow-sm",children:"DELETE THIS FOLDER"}),(0,f.jsx)("p",{className:"text-[11px] text-[var(--muted)] uppercase tracking-widest font-bold",children:"Permanent Action"})]}):void 0}):(0,f.jsx)(C,{icon:(0,f.jsx)(x,{className:"w-16 h-16 opacity-30 dark-icon","aria-hidden":!0}),title:"No Selection",hint:"Please select a project or the Knowledge Base from the sidebar to view files."})]})})(),(0,f.jsx)(Q,{open:z,onClose:()=>A(!1),projects:q??[],defaultProjectId:"projects"===k&&j?j.id:null,defaultFolder:h??"",onUploaded:()=>{A(!1),s?.()}}),(0,f.jsx)(R,{open:S,onClose:()=>T(!1),onClipped:()=>{t()}}),j&&(0,f.jsx)(U,{isOpen:W,onClose:()=>X(!1),projectId:j.id,projectName:j.name,onOnboarded:()=>{t()}})]})}let X=(0,k.A)("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"}]]);function Y(a){if(a)throw a}var Z=c(80981);function $(a){if("object"!=typeof a||null===a)return!1;let b=Object.getPrototypeOf(a);return(null===b||b===Object.prototype||null===Object.getPrototypeOf(b))&&!(Symbol.toStringTag in a)&&!(Symbol.iterator in a)}function _(a){return a&&"object"==typeof a?"position"in a||"type"in a?ab(a.position):"start"in a||"end"in a?ab(a):"line"in a||"column"in a?aa(a):"":""}function aa(a){return ac(a&&a.line)+":"+ac(a&&a.column)}function ab(a){return aa(a&&a.start)+"-"+aa(a&&a.end)}function ac(a){return a&&"number"==typeof a?a:1}class ad extends Error{constructor(a,b,c){super(),"string"==typeof b&&(c=b,b=void 0);let d="",e={},f=!1;if(b&&(e="line"in b&&"column"in b||"start"in b&&"end"in b?{place:b}:"type"in b?{ancestors:[b],place:b.position}:{...b}),"string"==typeof a?d=a:!e.cause&&a&&(f=!0,d=a.message,e.cause=a),!e.ruleId&&!e.source&&"string"==typeof c){let a=c.indexOf(":");-1===a?e.ruleId=c:(e.source=c.slice(0,a),e.ruleId=c.slice(a+1))}if(!e.place&&e.ancestors&&e.ancestors){let a=e.ancestors[e.ancestors.length-1];a&&(e.place=a.position)}let g=e.place&&"start"in e.place?e.place.start:e.place;this.ancestors=e.ancestors||void 0,this.cause=e.cause||void 0,this.column=g?g.column:void 0,this.fatal=void 0,this.file="",this.message=d,this.line=g?g.line:void 0,this.name=_(e.place)||"1:1",this.place=e.place||void 0,this.reason=this.message,this.ruleId=e.ruleId||void 0,this.source=e.source||void 0,this.stack=f&&e.cause&&"string"==typeof e.cause.stack?e.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}ad.prototype.file="",ad.prototype.name="",ad.prototype.reason="",ad.prototype.message="",ad.prototype.stack="",ad.prototype.column=void 0,ad.prototype.line=void 0,ad.prototype.ancestors=void 0,ad.prototype.cause=void 0,ad.prototype.fatal=void 0,ad.prototype.place=void 0,ad.prototype.ruleId=void 0,ad.prototype.source=void 0;var ae=c(76760);let af=require("node:process");function ag(a){return!!(null!==a&&"object"==typeof a&&"href"in a&&a.href&&"protocol"in a&&a.protocol&&void 0===a.auth)}var ah=c(73136);let ai=["history","path","basename","stem","extname","dirname"];class aj{constructor(a){let b,c;b=a?ag(a)?{path:a}:"string"==typeof a||function(a){return!!(a&&"object"==typeof a&&"byteLength"in a&&"byteOffset"in a)}(a)?{value:a}:a:{},this.cwd="cwd"in b?"":af.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let d=-1;for(;++d<ai.length;){let a=ai[d];a in b&&void 0!==b[a]&&null!==b[a]&&(this[a]="history"===a?[...b[a]]:b[a])}for(c in b)ai.includes(c)||(this[c]=b[c])}get basename(){return"string"==typeof this.path?ae.basename(this.path):void 0}set basename(a){al(a,"basename"),ak(a,"basename"),this.path=ae.join(this.dirname||"",a)}get dirname(){return"string"==typeof this.path?ae.dirname(this.path):void 0}set dirname(a){am(this.basename,"dirname"),this.path=ae.join(a||"",this.basename)}get extname(){return"string"==typeof this.path?ae.extname(this.path):void 0}set extname(a){if(ak(a,"extname"),am(this.dirname,"extname"),a){if(46!==a.codePointAt(0))throw Error("`extname` must start with `.`");if(a.includes(".",1))throw Error("`extname` cannot contain multiple dots")}this.path=ae.join(this.dirname,this.stem+(a||""))}get path(){return this.history[this.history.length-1]}set path(a){ag(a)&&(a=(0,ah.fileURLToPath)(a)),al(a,"path"),this.path!==a&&this.history.push(a)}get stem(){return"string"==typeof this.path?ae.basename(this.path,this.extname):void 0}set stem(a){al(a,"stem"),ak(a,"stem"),this.path=ae.join(this.dirname||"",a+(this.extname||""))}fail(a,b,c){let d=this.message(a,b,c);throw d.fatal=!0,d}info(a,b,c){let d=this.message(a,b,c);return d.fatal=void 0,d}message(a,b,c){let d=new ad(a,b,c);return this.path&&(d.name=this.path+":"+d.name,d.file=this.path),d.fatal=!1,this.messages.push(d),d}toString(a){return void 0===this.value?"":"string"==typeof this.value?this.value:new TextDecoder(a||void 0).decode(this.value)}}function ak(a,b){if(a&&a.includes(ae.sep))throw Error("`"+b+"` cannot be a path: did not expect `"+ae.sep+"`")}function al(a,b){if(!a)throw Error("`"+b+"` cannot be empty")}function am(a,b){if(!a)throw Error("Setting `"+b+"` requires `path` to be set too")}let an=function(a){let b=this.constructor.prototype,c=b[a],d=function(){return c.apply(d,arguments)};return Object.setPrototypeOf(d,b),d},ao={}.hasOwnProperty;class ap extends an{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=function(){let a=[],b={run:function(...b){let c=-1,d=b.pop();if("function"!=typeof d)throw TypeError("Expected function as last argument, not "+d);!function e(f,...g){let h=a[++c],i=-1;if(f)return void d(f);for(;++i<b.length;)(null===g[i]||void 0===g[i])&&(g[i]=b[i]);b=g,h?(function(a,b){let c;return function(...b){let f,g=a.length>b.length;g&&b.push(d);try{f=a.apply(this,b)}catch(a){if(g&&c)throw a;return d(a)}g||(f&&f.then&&"function"==typeof f.then?f.then(e,d):f instanceof Error?d(f):e(f))};function d(a,...e){c||(c=!0,b(a,...e))}function e(a){d(null,a)}})(h,e)(...g):d(null,...g)}(null,...b)},use:function(c){if("function"!=typeof c)throw TypeError("Expected `middelware` to be a function, not "+c);return a.push(c),b}};return b}()}copy(){let a=new ap,b=-1;for(;++b<this.attachers.length;){let c=this.attachers[b];a.use(...c)}return a.data(Z(!0,{},this.namespace)),a}data(a,b){return"string"==typeof a?2==arguments.length?(at("data",this.frozen),this.namespace[a]=b,this):ao.call(this.namespace,a)&&this.namespace[a]||void 0:a?(at("data",this.frozen),this.namespace=a,this):this.namespace}freeze(){if(this.frozen)return this;for(;++this.freezeIndex<this.attachers.length;){let[a,...b]=this.attachers[this.freezeIndex];if(!1===b[0])continue;!0===b[0]&&(b[0]=void 0);let c=a.call(this,...b);"function"==typeof c&&this.transformers.use(c)}return this.frozen=!0,this.freezeIndex=1/0,this}parse(a){this.freeze();let b=aw(a),c=this.parser||this.Parser;return ar("parse",c),c(String(b),b)}process(a,b){let c=this;return this.freeze(),ar("process",this.parser||this.Parser),as("process",this.compiler||this.Compiler),b?d(void 0,b):new Promise(d);function d(d,e){let f=aw(a),g=c.parse(f);function h(a,c){a||!c?e(a):d?d(c):b(void 0,c)}c.run(g,f,function(a,b,d){var e,f;if(a||!b||!d)return h(a);let g=c.stringify(b,d);"string"==typeof(e=g)||(f=e)&&"object"==typeof f&&"byteLength"in f&&"byteOffset"in f?d.value=g:d.result=g,h(a,d)})}}processSync(a){let b,c=!1;return this.freeze(),ar("processSync",this.parser||this.Parser),as("processSync",this.compiler||this.Compiler),this.process(a,function(a,d){c=!0,Y(a),b=d}),av("processSync","process",c),b}run(a,b,c){au(a),this.freeze();let d=this.transformers;return c||"function"!=typeof b||(c=b,b=void 0),c?e(void 0,c):new Promise(e);function e(e,f){let g=aw(b);d.run(a,g,function(b,d,g){let h=d||a;b?f(b):e?e(h):c(void 0,h,g)})}}runSync(a,b){let c,d=!1;return this.run(a,b,function(a,b){Y(a),c=b,d=!0}),av("runSync","run",d),c}stringify(a,b){this.freeze();let c=aw(b),d=this.compiler||this.Compiler;return as("stringify",d),au(a),d(a,c)}use(a,...b){let c=this.attachers,d=this.namespace;if(at("use",this.frozen),null==a);else if("function"==typeof a)g(a,b);else if("object"==typeof a)Array.isArray(a)?f(a):e(a);else throw TypeError("Expected usable value, not `"+a+"`");return this;function e(a){if(!("plugins"in a)&&!("settings"in a))throw Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");f(a.plugins),a.settings&&(d.settings=Z(!0,d.settings,a.settings))}function f(a){let b=-1;if(null==a);else if(Array.isArray(a))for(;++b<a.length;){var c=a[b];if("function"==typeof c)g(c,[]);else if("object"==typeof c)if(Array.isArray(c)){let[a,...b]=c;g(a,b)}else e(c);else throw TypeError("Expected usable value, not `"+c+"`")}else throw TypeError("Expected a list of plugins, not `"+a+"`")}function g(a,b){let d=-1,e=-1;for(;++d<c.length;)if(c[d][0]===a){e=d;break}if(-1===e)c.push([a,...b]);else if(b.length>0){let[d,...f]=b,g=c[e][1];$(g)&&$(d)&&(d=Z(!0,g,d)),c[e]=[a,d,...f]}}}}let aq=new ap().freeze();function ar(a,b){if("function"!=typeof b)throw TypeError("Cannot `"+a+"` without `parser`")}function as(a,b){if("function"!=typeof b)throw TypeError("Cannot `"+a+"` without `compiler`")}function at(a,b){if(b)throw Error("Cannot call `"+a+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function au(a){if(!$(a)||"string"!=typeof a.type)throw TypeError("Expected node, got `"+a+"`")}function av(a,b,c){if(!c)throw Error("`"+a+"` finished async. Use `"+b+"` instead")}function aw(a){var b;return(b=a)&&"object"==typeof b&&"message"in b&&"messages"in b?a:new aj(a)}let ax={};function ay(a,b){let c=b||ax;return az(a,"boolean"!=typeof c.includeImageAlt||c.includeImageAlt,"boolean"!=typeof c.includeHtml||c.includeHtml)}function az(a,b,c){var d;if((d=a)&&"object"==typeof d){if("value"in a)return"html"!==a.type||c?a.value:"";if(b&&"alt"in a&&a.alt)return a.alt;if("children"in a)return aA(a.children,b,c)}return Array.isArray(a)?aA(a,b,c):""}function aA(a,b,c){let d=[],e=-1;for(;++e<a.length;)d[e]=az(a[e],b,c);return d.join("")}function aB(a,b,c,d){let e,f=a.length,g=0;if(b=b<0?-b>f?0:f+b:b>f?f:b,c=c>0?c:0,d.length<1e4)(e=Array.from(d)).unshift(b,c),a.splice(...e);else for(c&&a.splice(b,c);g<d.length;)(e=d.slice(g,g+1e4)).unshift(b,0),a.splice(...e),g+=1e4,b+=1e4}function aC(a,b){return a.length>0?(aB(a,a.length,0,b),a):b}class aD{constructor(a){this.left=a?[...a]:[],this.right=[]}get(a){if(a<0||a>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+a+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return a<this.left.length?this.left[a]:this.right[this.right.length-a+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(a,b){let c=null==b?1/0:b;return c<this.left.length?this.left.slice(a,c):a>this.left.length?this.right.slice(this.right.length-c+this.left.length,this.right.length-a+this.left.length).reverse():this.left.slice(a).concat(this.right.slice(this.right.length-c+this.left.length).reverse())}splice(a,b,c){this.setCursor(Math.trunc(a));let d=this.right.splice(this.right.length-(b||0),1/0);return c&&aE(this.left,c),d.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(a){this.setCursor(1/0),this.left.push(a)}pushMany(a){this.setCursor(1/0),aE(this.left,a)}unshift(a){this.setCursor(0),this.right.push(a)}unshiftMany(a){this.setCursor(0),aE(this.right,a.reverse())}setCursor(a){if(a!==this.left.length&&(!(a>this.left.length)||0!==this.right.length)&&(!(a<0)||0!==this.left.length))if(a<this.left.length){let b=this.left.splice(a,1/0);aE(this.right,b.reverse())}else{let b=this.right.splice(this.left.length+this.right.length-a,1/0);aE(this.left,b.reverse())}}}function aE(a,b){let c=0;if(b.length<1e4)a.push(...b);else for(;c<b.length;)a.push(...b.slice(c,c+1e4)),c+=1e4}function aF(a){let b,c,d,e,f,g,h,i={},j=-1,k=new aD(a);for(;++j<k.length;){for(;j in i;)j=i[j];if(b=k.get(j),j&&"chunkFlow"===b[1].type&&"listItemPrefix"===k.get(j-1)[1].type&&((d=0)<(g=b[1]._tokenizer.events).length&&"lineEndingBlank"===g[d][1].type&&(d+=2),d<g.length&&"content"===g[d][1].type))for(;++d<g.length&&"content"!==g[d][1].type;)"chunkText"===g[d][1].type&&(g[d][1]._isInFirstContentOfListItem=!0,d++);if("enter"===b[0])b[1].contentType&&(Object.assign(i,function(a,b){let c,d,e=a.get(b)[1],f=a.get(b)[2],g=b-1,h=[],i=e._tokenizer;!i&&(i=f.parser[e.contentType](e.start),e._contentTypeTextTrailing&&(i._contentTypeTextTrailing=!0));let j=i.events,k=[],l={},m=-1,n=e,o=0,p=0,q=[0];for(;n;){for(;a.get(++g)[1]!==n;);h.push(g),!n._tokenizer&&(c=f.sliceStream(n),n.next||c.push(null),d&&i.defineSkip(n.start),n._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=!0),i.write(c),n._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=void 0)),d=n,n=n.next}for(n=e;++m<j.length;)"exit"===j[m][0]&&"enter"===j[m-1][0]&&j[m][1].type===j[m-1][1].type&&j[m][1].start.line!==j[m][1].end.line&&(p=m+1,q.push(p),n._tokenizer=void 0,n.previous=void 0,n=n.next);for(i.events=[],n?(n._tokenizer=void 0,n.previous=void 0):q.pop(),m=q.length;m--;){let b=j.slice(q[m],q[m+1]),c=h.pop();k.push([c,c+b.length-1]),a.splice(c,2,b)}for(k.reverse(),m=-1;++m<k.length;)l[o+k[m][0]]=o+k[m][1],o+=k[m][1]-k[m][0]-1;return l}(k,j)),j=i[j],h=!0);else if(b[1]._container){for(d=j,c=void 0;d--;)if("lineEnding"===(e=k.get(d))[1].type||"lineEndingBlank"===e[1].type)"enter"===e[0]&&(c&&(k.get(c)[1].type="lineEndingBlank"),e[1].type="lineEnding",c=d);else if("linePrefix"===e[1].type||"listItemIndent"===e[1].type);else break;c&&(b[1].end={...k.get(c)[1].start},(f=k.slice(c,j)).unshift(b),k.splice(c,j-c+1,f))}}return aB(a,0,1/0,k.slice(0)),!h}let aG={}.hasOwnProperty;function aH(a){let b={},c=-1;for(;++c<a.length;)!function(a,b){let c;for(c in b){let d,e=(aG.call(a,c)?a[c]:void 0)||(a[c]={}),f=b[c];if(f)for(d in f){aG.call(e,d)||(e[d]=[]);let a=f[d];!function(a,b){let c=-1,d=[];for(;++c<b.length;)("after"===b[c].add?a:d).push(b[c]);aB(a,0,0,d)}(e[d],Array.isArray(a)?a:a?[a]:[])}}}(b,a[c]);return b}let aI=aU(/[A-Za-z]/),aJ=aU(/[\dA-Za-z]/),aK=aU(/[#-'*+\--9=?A-Z^-~]/);function aL(a){return null!==a&&(a<32||127===a)}let aM=aU(/\d/),aN=aU(/[\dA-Fa-f]/),aO=aU(/[!-/:-@[-`{-~]/);function aP(a){return null!==a&&a<-2}function aQ(a){return null!==a&&(a<0||32===a)}function aR(a){return -2===a||-1===a||32===a}let aS=aU(/\p{P}|\p{S}/u),aT=aU(/\s/);function aU(a){return function(b){return null!==b&&b>-1&&a.test(String.fromCharCode(b))}}function aV(a,b,c,d){let e=d?d-1:1/0,f=0;return function(d){return aR(d)?(a.enter(c),function d(g){return aR(g)&&f++<e?(a.consume(g),d):(a.exit(c),b(g))}(d)):b(d)}}let aW={tokenize:function(a){let b,c=a.attempt(this.parser.constructs.contentInitial,function(b){return null===b?void a.consume(b):(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),aV(a,c,"linePrefix"))},function(c){return a.enter("paragraph"),function c(d){let e=a.enter("chunkText",{contentType:"text",previous:b});return b&&(b.next=e),b=e,function b(d){if(null===d){a.exit("chunkText"),a.exit("paragraph"),a.consume(d);return}return aP(d)?(a.consume(d),a.exit("chunkText"),c):(a.consume(d),b)}(d)}(c)});return c}},aX={tokenize:function(a){let b,c,d,e=this,f=[],g=0;return h;function h(b){if(g<f.length){let c=f[g];return e.containerState=c[1],a.attempt(c[0].continuation,i,j)(b)}return j(b)}function i(a){if(g++,e.containerState._closeFlow){let c;e.containerState._closeFlow=void 0,b&&r();let d=e.events.length,f=d;for(;f--;)if("exit"===e.events[f][0]&&"chunkFlow"===e.events[f][1].type){c=e.events[f][1].end;break}q(g);let h=d;for(;h<e.events.length;)e.events[h][1].end={...c},h++;return aB(e.events,f+1,0,e.events.slice(d)),e.events.length=h,j(a)}return h(a)}function j(c){if(g===f.length){if(!b)return m(c);if(b.currentConstruct&&b.currentConstruct.concrete)return o(c);e.interrupt=!!(b.currentConstruct&&!b._gfmTableDynamicInterruptHack)}return e.containerState={},a.check(aY,k,l)(c)}function k(a){return b&&r(),q(g),m(a)}function l(a){return e.parser.lazy[e.now().line]=g!==f.length,d=e.now().offset,o(a)}function m(b){return e.containerState={},a.attempt(aY,n,o)(b)}function n(a){return g++,f.push([e.currentConstruct,e.containerState]),m(a)}function o(d){if(null===d){b&&r(),q(0),a.consume(d);return}return b=b||e.parser.flow(e.now()),a.enter("chunkFlow",{_tokenizer:b,contentType:"flow",previous:c}),function b(c){if(null===c){p(a.exit("chunkFlow"),!0),q(0),a.consume(c);return}return aP(c)?(a.consume(c),p(a.exit("chunkFlow")),g=0,e.interrupt=void 0,h):(a.consume(c),b)}(d)}function p(a,f){let h=e.sliceStream(a);if(f&&h.push(null),a.previous=c,c&&(c.next=a),c=a,b.defineSkip(a.start),b.write(h),e.parser.lazy[a.start.line]){let a,c,f=b.events.length;for(;f--;)if(b.events[f][1].start.offset<d&&(!b.events[f][1].end||b.events[f][1].end.offset>d))return;let h=e.events.length,i=h;for(;i--;)if("exit"===e.events[i][0]&&"chunkFlow"===e.events[i][1].type){if(a){c=e.events[i][1].end;break}a=!0}for(q(g),f=h;f<e.events.length;)e.events[f][1].end={...c},f++;aB(e.events,i+1,0,e.events.slice(h)),e.events.length=f}}function q(b){let c=f.length;for(;c-- >b;){let b=f[c];e.containerState=b[1],b[0].exit.call(e,a)}f.length=b}function r(){b.write([null]),c=void 0,b=void 0,e.containerState._closeFlow=void 0}}},aY={tokenize:function(a,b,c){return aV(a,a.attempt(this.parser.constructs.document,b,c),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},aZ={partial:!0,tokenize:function(a,b,c){return function(b){return aR(b)?aV(a,d,"linePrefix")(b):d(b)};function d(a){return null===a||aP(a)?b(a):c(a)}}},a$={resolve:function(a){return aF(a),a},tokenize:function(a,b){let c;return function(b){return a.enter("content"),c=a.enter("chunkContent",{contentType:"content"}),d(b)};function d(b){return null===b?e(b):aP(b)?a.check(a_,f,e)(b):(a.consume(b),d)}function e(c){return a.exit("chunkContent"),a.exit("content"),b(c)}function f(b){return a.consume(b),a.exit("chunkContent"),c.next=a.enter("chunkContent",{contentType:"content",previous:c}),c=c.next,d}}},a_={partial:!0,tokenize:function(a,b,c){let d=this;return function(b){return a.exit("chunkContent"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),aV(a,e,"linePrefix")};function e(e){if(null===e||aP(e))return c(e);let f=d.events[d.events.length-1];return!d.parser.constructs.disable.null.includes("codeIndented")&&f&&"linePrefix"===f[1].type&&f[2].sliceSerialize(f[1],!0).length>=4?b(e):a.interrupt(d.parser.constructs.flow,c,b)(e)}}},a0={tokenize:function(a){let b=this,c=a.attempt(aZ,function(d){return null===d?void a.consume(d):(a.enter("lineEndingBlank"),a.consume(d),a.exit("lineEndingBlank"),b.currentConstruct=void 0,c)},a.attempt(this.parser.constructs.flowInitial,d,aV(a,a.attempt(this.parser.constructs.flow,d,a.attempt(a$,d)),"linePrefix")));return c;function d(d){return null===d?void a.consume(d):(a.enter("lineEnding"),a.consume(d),a.exit("lineEnding"),b.currentConstruct=void 0,c)}}},a1={resolveAll:a5()},a2=a4("string"),a3=a4("text");function a4(a){return{resolveAll:a5("text"===a?a6:void 0),tokenize:function(b){let c=this,d=this.parser.constructs[a],e=b.attempt(d,f,g);return f;function f(a){return i(a)?e(a):g(a)}function g(a){return null===a?void b.consume(a):(b.enter("data"),b.consume(a),h)}function h(a){return i(a)?(b.exit("data"),e(a)):(b.consume(a),h)}function i(a){if(null===a)return!0;let b=d[a],e=-1;if(b)for(;++e<b.length;){let a=b[e];if(!a.previous||a.previous.call(c,c.previous))return!0}return!1}}}}function a5(a){return function(b,c){let d,e=-1;for(;++e<=b.length;)void 0===d?b[e]&&"data"===b[e][1].type&&(d=e,e++):b[e]&&"data"===b[e][1].type||(e!==d+2&&(b[d][1].end=b[e-1][1].end,b.splice(d+2,e-d-2),e=d+2),d=void 0);return a?a(b,c):b}}function a6(a,b){let c=0;for(;++c<=a.length;)if((c===a.length||"lineEnding"===a[c][1].type)&&"data"===a[c-1][1].type){let d,e=a[c-1][1],f=b.sliceStream(e),g=f.length,h=-1,i=0;for(;g--;){let a=f[g];if("string"==typeof a){for(h=a.length;32===a.charCodeAt(h-1);)i++,h--;if(h)break;h=-1}else if(-2===a)d=!0,i++;else if(-1===a);else{g++;break}}if(b._contentTypeTextTrailing&&c===a.length&&(i=0),i){let f={type:c===a.length||d||i<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:g?h:e.start._bufferIndex+h,_index:e.start._index+g,line:e.end.line,column:e.end.column-i,offset:e.end.offset-i},end:{...e.end}};e.end={...f.start},e.start.offset===e.end.offset?Object.assign(e,f):(a.splice(c,0,["enter",f,b],["exit",f,b]),c+=2)}c++}return a}let a7={name:"thematicBreak",tokenize:function(a,b,c){let d,e=0;return function(f){var g;return a.enter("thematicBreak"),d=g=f,function f(g){return g===d?(a.enter("thematicBreakSequence"),function b(c){return c===d?(a.consume(c),e++,b):(a.exit("thematicBreakSequence"),aR(c)?aV(a,f,"whitespace")(c):f(c))}(g)):e>=3&&(null===g||aP(g))?(a.exit("thematicBreak"),b(g)):c(g)}(g)}}},a8={continuation:{tokenize:function(a,b,c){let d=this;return d.containerState._closeFlow=void 0,a.check(aZ,function(c){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,aV(a,b,"listItemIndent",d.containerState.size+1)(c)},function(c){return d.containerState.furtherBlankLines||!aR(c)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,e(c)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,a.attempt(ba,b,e)(c))});function e(e){return d.containerState._closeFlow=!0,d.interrupt=void 0,aV(a,a.attempt(a8,b,c),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(e)}}},exit:function(a){a.exit(this.containerState.type)},name:"list",tokenize:function(a,b,c){let d=this,e=d.events[d.events.length-1],f=e&&"linePrefix"===e[1].type?e[2].sliceSerialize(e[1],!0).length:0,g=0;return function(b){let e=d.containerState.type||(42===b||43===b||45===b?"listUnordered":"listOrdered");if("listUnordered"===e?!d.containerState.marker||b===d.containerState.marker:aM(b)){if(d.containerState.type||(d.containerState.type=e,a.enter(e,{_container:!0})),"listUnordered"===e)return a.enter("listItemPrefix"),42===b||45===b?a.check(a7,c,h)(b):h(b);if(!d.interrupt||49===b)return a.enter("listItemPrefix"),a.enter("listItemValue"),function b(e){return aM(e)&&++g<10?(a.consume(e),b):(!d.interrupt||g<2)&&(d.containerState.marker?e===d.containerState.marker:41===e||46===e)?(a.exit("listItemValue"),h(e)):c(e)}(b)}return c(b)};function h(b){return a.enter("listItemMarker"),a.consume(b),a.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||b,a.check(aZ,d.interrupt?c:i,a.attempt(a9,k,j))}function i(a){return d.containerState.initialBlankLine=!0,f++,k(a)}function j(b){return aR(b)?(a.enter("listItemPrefixWhitespace"),a.consume(b),a.exit("listItemPrefixWhitespace"),k):c(b)}function k(c){return d.containerState.size=f+d.sliceSerialize(a.exit("listItemPrefix"),!0).length,b(c)}}},a9={partial:!0,tokenize:function(a,b,c){let d=this;return aV(a,function(a){let e=d.events[d.events.length-1];return!aR(a)&&e&&"listItemPrefixWhitespace"===e[1].type?b(a):c(a)},"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},ba={partial:!0,tokenize:function(a,b,c){let d=this;return aV(a,function(a){let e=d.events[d.events.length-1];return e&&"listItemIndent"===e[1].type&&e[2].sliceSerialize(e[1],!0).length===d.containerState.size?b(a):c(a)},"listItemIndent",d.containerState.size+1)}},bb={continuation:{tokenize:function(a,b,c){let d=this;return function(b){return aR(b)?aV(a,e,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):e(b)};function e(d){return a.attempt(bb,b,c)(d)}}},exit:function(a){a.exit("blockQuote")},name:"blockQuote",tokenize:function(a,b,c){let d=this;return function(b){if(62===b){let c=d.containerState;return c.open||(a.enter("blockQuote",{_container:!0}),c.open=!0),a.enter("blockQuotePrefix"),a.enter("blockQuoteMarker"),a.consume(b),a.exit("blockQuoteMarker"),e}return c(b)};function e(c){return aR(c)?(a.enter("blockQuotePrefixWhitespace"),a.consume(c),a.exit("blockQuotePrefixWhitespace"),a.exit("blockQuotePrefix"),b):(a.exit("blockQuotePrefix"),b(c))}}};function bc(a,b,c,d,e,f,g,h,i){let j=i||1/0,k=0;return function(b){return 60===b?(a.enter(d),a.enter(e),a.enter(f),a.consume(b),a.exit(f),l):null===b||32===b||41===b||aL(b)?c(b):(a.enter(d),a.enter(g),a.enter(h),a.enter("chunkString",{contentType:"string"}),o(b))};function l(c){return 62===c?(a.enter(f),a.consume(c),a.exit(f),a.exit(e),a.exit(d),b):(a.enter(h),a.enter("chunkString",{contentType:"string"}),m(c))}function m(b){return 62===b?(a.exit("chunkString"),a.exit(h),l(b)):null===b||60===b||aP(b)?c(b):(a.consume(b),92===b?n:m)}function n(b){return 60===b||62===b||92===b?(a.consume(b),m):m(b)}function o(e){return!k&&(null===e||41===e||aQ(e))?(a.exit("chunkString"),a.exit(h),a.exit(g),a.exit(d),b(e)):k<j&&40===e?(a.consume(e),k++,o):41===e?(a.consume(e),k--,o):null===e||32===e||40===e||aL(e)?c(e):(a.consume(e),92===e?p:o)}function p(b){return 40===b||41===b||92===b?(a.consume(b),o):o(b)}}function bd(a,b,c,d,e,f){let g,h=this,i=0;return function(b){return a.enter(d),a.enter(e),a.consume(b),a.exit(e),a.enter(f),j};function j(l){return i>999||null===l||91===l||93===l&&!g||94===l&&!i&&"_hiddenFootnoteSupport"in h.parser.constructs?c(l):93===l?(a.exit(f),a.enter(e),a.consume(l),a.exit(e),a.exit(d),b):aP(l)?(a.enter("lineEnding"),a.consume(l),a.exit("lineEnding"),j):(a.enter("chunkString",{contentType:"string"}),k(l))}function k(b){return null===b||91===b||93===b||aP(b)||i++>999?(a.exit("chunkString"),j(b)):(a.consume(b),g||(g=!aR(b)),92===b?l:k)}function l(b){return 91===b||92===b||93===b?(a.consume(b),i++,k):k(b)}}function be(a,b,c,d,e,f){let g;return function(b){return 34===b||39===b||40===b?(a.enter(d),a.enter(e),a.consume(b),a.exit(e),g=40===b?41:b,h):c(b)};function h(c){return c===g?(a.enter(e),a.consume(c),a.exit(e),a.exit(d),b):(a.enter(f),i(c))}function i(b){return b===g?(a.exit(f),h(g)):null===b?c(b):aP(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),aV(a,i,"linePrefix")):(a.enter("chunkString",{contentType:"string"}),j(b))}function j(b){return b===g||null===b||aP(b)?(a.exit("chunkString"),i(b)):(a.consume(b),92===b?k:j)}function k(b){return b===g||92===b?(a.consume(b),j):j(b)}}function bf(a,b){let c;return function d(e){return aP(e)?(a.enter("lineEnding"),a.consume(e),a.exit("lineEnding"),c=!0,d):aR(e)?aV(a,d,c?"linePrefix":"lineSuffix")(e):b(e)}}function bg(a){return a.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}let bh={partial:!0,tokenize:function(a,b,c){return function(b){return aQ(b)?bf(a,d)(b):c(b)};function d(b){return be(a,e,c,"definitionTitle","definitionTitleMarker","definitionTitleString")(b)}function e(b){return aR(b)?aV(a,f,"whitespace")(b):f(b)}function f(a){return null===a||aP(a)?b(a):c(a)}}},bi={name:"codeIndented",tokenize:function(a,b,c){let d=this;return function(b){return a.enter("codeIndented"),aV(a,e,"linePrefix",5)(b)};function e(b){let e=d.events[d.events.length-1];return e&&"linePrefix"===e[1].type&&e[2].sliceSerialize(e[1],!0).length>=4?function b(c){return null===c?f(c):aP(c)?a.attempt(bj,b,f)(c):(a.enter("codeFlowValue"),function c(d){return null===d||aP(d)?(a.exit("codeFlowValue"),b(d)):(a.consume(d),c)}(c))}(b):c(b)}function f(c){return a.exit("codeIndented"),b(c)}}},bj={partial:!0,tokenize:function(a,b,c){let d=this;return e;function e(b){return d.parser.lazy[d.now().line]?c(b):aP(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),e):aV(a,f,"linePrefix",5)(b)}function f(a){let f=d.events[d.events.length-1];return f&&"linePrefix"===f[1].type&&f[2].sliceSerialize(f[1],!0).length>=4?b(a):aP(a)?e(a):c(a)}}},bk={name:"setextUnderline",resolveTo:function(a,b){let c,d,e,f=a.length;for(;f--;)if("enter"===a[f][0]){if("content"===a[f][1].type){c=f;break}"paragraph"===a[f][1].type&&(d=f)}else"content"===a[f][1].type&&a.splice(f,1),e||"definition"!==a[f][1].type||(e=f);let g={type:"setextHeading",start:{...a[c][1].start},end:{...a[a.length-1][1].end}};return a[d][1].type="setextHeadingText",e?(a.splice(d,0,["enter",g,b]),a.splice(e+1,0,["exit",a[c][1],b]),a[c][1].end={...a[e][1].end}):a[c][1]=g,a.push(["exit",g,b]),a},tokenize:function(a,b,c){let d,e=this;return function(b){var g;let h,i=e.events.length;for(;i--;)if("lineEnding"!==e.events[i][1].type&&"linePrefix"!==e.events[i][1].type&&"content"!==e.events[i][1].type){h="paragraph"===e.events[i][1].type;break}return!e.parser.lazy[e.now().line]&&(e.interrupt||h)?(a.enter("setextHeadingLine"),d=b,g=b,a.enter("setextHeadingLineSequence"),function b(c){return c===d?(a.consume(c),b):(a.exit("setextHeadingLineSequence"),aR(c)?aV(a,f,"lineSuffix")(c):f(c))}(g)):c(b)};function f(d){return null===d||aP(d)?(a.exit("setextHeadingLine"),b(d)):c(d)}}},bl=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],bm=["pre","script","style","textarea"],bn={partial:!0,tokenize:function(a,b,c){return function(d){return a.enter("lineEnding"),a.consume(d),a.exit("lineEnding"),a.attempt(aZ,b,c)}}},bo={partial:!0,tokenize:function(a,b,c){let d=this;return function(b){return aP(b)?(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),e):c(b)};function e(a){return d.parser.lazy[d.now().line]?c(a):b(a)}}},bp={partial:!0,tokenize:function(a,b,c){let d=this;return function(b){return null===b?c(b):(a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),e)};function e(a){return d.parser.lazy[d.now().line]?c(a):b(a)}}},bq={concrete:!0,name:"codeFenced",tokenize:function(a,b,c){let d,e=this,f={partial:!0,tokenize:function(a,b,c){let f=0;return function(b){return a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),g};function g(b){return a.enter("codeFencedFence"),aR(b)?aV(a,i,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):i(b)}function i(b){return b===d?(a.enter("codeFencedFenceSequence"),function b(e){return e===d?(f++,a.consume(e),b):f>=h?(a.exit("codeFencedFenceSequence"),aR(e)?aV(a,j,"whitespace")(e):j(e)):c(e)}(b)):c(b)}function j(d){return null===d||aP(d)?(a.exit("codeFencedFence"),b(d)):c(d)}}},g=0,h=0;return function(b){var f=b;let j=e.events[e.events.length-1];return g=j&&"linePrefix"===j[1].type?j[2].sliceSerialize(j[1],!0).length:0,d=f,a.enter("codeFenced"),a.enter("codeFencedFence"),a.enter("codeFencedFenceSequence"),function b(e){return e===d?(h++,a.consume(e),b):h<3?c(e):(a.exit("codeFencedFenceSequence"),aR(e)?aV(a,i,"whitespace")(e):i(e))}(f)};function i(f){return null===f||aP(f)?(a.exit("codeFencedFence"),e.interrupt?b(f):a.check(bp,k,o)(f)):(a.enter("codeFencedFenceInfo"),a.enter("chunkString",{contentType:"string"}),function b(e){return null===e||aP(e)?(a.exit("chunkString"),a.exit("codeFencedFenceInfo"),i(e)):aR(e)?(a.exit("chunkString"),a.exit("codeFencedFenceInfo"),aV(a,j,"whitespace")(e)):96===e&&e===d?c(e):(a.consume(e),b)}(f))}function j(b){return null===b||aP(b)?i(b):(a.enter("codeFencedFenceMeta"),a.enter("chunkString",{contentType:"string"}),function b(e){return null===e||aP(e)?(a.exit("chunkString"),a.exit("codeFencedFenceMeta"),i(e)):96===e&&e===d?c(e):(a.consume(e),b)}(b))}function k(b){return a.attempt(f,o,l)(b)}function l(b){return a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),m}function m(b){return g>0&&aR(b)?aV(a,n,"linePrefix",g+1)(b):n(b)}function n(b){return null===b||aP(b)?a.check(bp,k,o)(b):(a.enter("codeFlowValue"),function b(c){return null===c||aP(c)?(a.exit("codeFlowValue"),n(c)):(a.consume(c),b)}(b))}function o(c){return a.exit("codeFenced"),b(c)}}},br={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"Ă",Acirc:"\xc2",Acy:"А",Afr:"\uD835\uDD04",Agrave:"\xc0",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"\uD835\uDD38",ApplyFunction:"⁡",Aring:"\xc5",Ascr:"\uD835\uDC9C",Assign:"≔",Atilde:"\xc3",Auml:"\xc4",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"\xa9",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"\xc7",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"\uD835\uDC9E",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xb4",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"\uD835\uDD3B",Dot:"\xa8",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"\xa8",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"\uD835\uDC9F",Dstrok:"Đ",ENG:"Ŋ",ETH:"\xd0",Eacute:"\xc9",Ecaron:"Ě",Ecirc:"\xca",Ecy:"Э",Edot:"Ė",Efr:"\uD835\uDD08",Egrave:"\xc8",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"\uD835\uDD3C",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"\xcb",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"\uD835\uDD09",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"\uD835\uDD3D",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"\uD835\uDD0A",Gg:"⋙",Gopf:"\uD835\uDD3E",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"\uD835\uDCA2",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"\xcd",Icirc:"\xce",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"\xcc",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"\uD835\uDD40",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"\xcf",Jcirc:"Ĵ",Jcy:"Й",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"\uD835\uDD0F",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"\uD835\uDD43",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"\uD835\uDD10",MinusPlus:"∓",Mopf:"\uD835\uDD44",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"\uD835\uDD11",NoBreak:"⁠",NonBreakingSpace:"\xa0",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"\uD835\uDCA9",Ntilde:"\xd1",Nu:"Ν",OElig:"Œ",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"О",Odblac:"Ő",Ofr:"\uD835\uDD12",Ograve:"\xd2",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"\uD835\uDD46",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"\uD835\uDCAA",Oslash:"\xd8",Otilde:"\xd5",Otimes:"⨷",Ouml:"\xd6",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"\uD835\uDD13",Phi:"Φ",Pi:"Π",PlusMinus:"\xb1",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"\uD835\uDCAB",Psi:"Ψ",QUOT:'"',Qfr:"\uD835\uDD14",Qopf:"ℚ",Qscr:"\uD835\uDCAC",RBarr:"⤐",REG:"\xae",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"\uD835\uDD16",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"\uD835\uDD4A",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"\uD835\uDCAE",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"\xde",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"\uD835\uDD17",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"\uD835\uDD4B",TripleDot:"⃛",Tscr:"\uD835\uDCAF",Tstrok:"Ŧ",Uacute:"\xda",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"\xdb",Ucy:"У",Udblac:"Ű",Ufr:"\uD835\uDD18",Ugrave:"\xd9",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"\uD835\uDD4C",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"\uD835\uDCB0",Utilde:"Ũ",Uuml:"\xdc",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"\uD835\uDD19",Vopf:"\uD835\uDD4D",Vscr:"\uD835\uDCB1",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"\uD835\uDD1A",Wopf:"\uD835\uDD4E",Wscr:"\uD835\uDCB2",Xfr:"\uD835\uDD1B",Xi:"Ξ",Xopf:"\uD835\uDD4F",Xscr:"\uD835\uDCB3",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"\xdd",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"\uD835\uDD1C",Yopf:"\uD835\uDD50",Yscr:"\uD835\uDCB4",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"\uD835\uDCB5",aacute:"\xe1",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"\xe2",acute:"\xb4",acy:"а",aelig:"\xe6",af:"⁡",afr:"\uD835\uDD1E",agrave:"\xe0",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"\xc5",angzarr:"⍼",aogon:"ą",aopf:"\uD835\uDD52",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"\xe5",ascr:"\uD835\uDCB6",ast:"*",asymp:"≈",asympeq:"≍",atilde:"\xe3",auml:"\xe4",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"\uD835\uDD1F",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"\uD835\uDD53",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"\xa6",bscr:"\uD835\uDCB7",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"\xe7",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"\xb8",cemptyv:"⦲",cent:"\xa2",centerdot:"\xb7",cfr:"\uD835\uDD20",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"\xae",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"\uD835\uDD54",coprod:"∐",copy:"\xa9",copysr:"℗",crarr:"↵",cross:"✗",cscr:"\uD835\uDCB8",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"\xa4",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"\xb0",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"\uD835\uDD21",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"\xa8",digamma:"ϝ",disin:"⋲",div:"\xf7",divide:"\xf7",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"\uD835\uDD55",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"\uD835\uDCB9",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"\xe9",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"\xea",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"\uD835\uDD22",eg:"⪚",egrave:"\xe8",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"\uD835\uDD56",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"\xf0",euml:"\xeb",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"\uD835\uDD23",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"\uD835\uDD57",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"\xbd",frac13:"⅓",frac14:"\xbc",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"\xbe",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"\uD835\uDCBB",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"\uD835\uDD24",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"\uD835\uDD58",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"\xbd",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"\uD835\uDD25",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"\uD835\uDD59",horbar:"―",hscr:"\uD835\uDCBD",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"\xed",ic:"⁣",icirc:"\xee",icy:"и",iecy:"е",iexcl:"\xa1",iff:"⇔",ifr:"\uD835\uDD26",igrave:"\xec",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"\uD835\uDD5A",iota:"ι",iprod:"⨼",iquest:"\xbf",iscr:"\uD835\uDCBE",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"\xef",jcirc:"ĵ",jcy:"й",jfr:"\uD835\uDD27",jmath:"ȷ",jopf:"\uD835\uDD5B",jscr:"\uD835\uDCBF",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"\uD835\uDD28",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"\uD835\uDD5C",kscr:"\uD835\uDCC0",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"\xab",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"\uD835\uDD29",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"\uD835\uDD5D",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"\uD835\uDCC1",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"\xaf",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"\uD835\uDD2A",mho:"℧",micro:"\xb5",mid:"∣",midast:"*",midcir:"⫰",middot:"\xb7",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"\uD835\uDD5E",mp:"∓",mscr:"\uD835\uDCC2",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:"\xa0",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"\uD835\uDD2B",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"\uD835\uDD5F",not:"\xac",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"\uD835\uDCC3",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"\xf1",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"\xf3",oast:"⊛",ocir:"⊚",ocirc:"\xf4",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"\uD835\uDD2C",ogon:"˛",ograve:"\xf2",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"\uD835\uDD60",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"\xaa",ordm:"\xba",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"\xf8",osol:"⊘",otilde:"\xf5",otimes:"⊗",otimesas:"⨶",ouml:"\xf6",ovbar:"⌽",par:"∥",para:"\xb6",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"\uD835\uDD2D",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"\xb1",plussim:"⨦",plustwo:"⨧",pm:"\xb1",pointint:"⨕",popf:"\uD835\uDD61",pound:"\xa3",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"\uD835\uDCC5",psi:"ψ",puncsp:" ",qfr:"\uD835\uDD2E",qint:"⨌",qopf:"\uD835\uDD62",qprime:"⁗",qscr:"\uD835\uDCC6",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"\xbb",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"\xae",rfisht:"⥽",rfloor:"⌋",rfr:"\uD835\uDD2F",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"\uD835\uDD63",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"\uD835\uDCC7",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"\xa7",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"\uD835\uDD30",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"\xad",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"\uD835\uDD64",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"\uD835\uDCC8",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"\xaf",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"\xdf",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"\uD835\uDD31",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"\xfe",tilde:"˜",times:"\xd7",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"\uD835\uDD65",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"\uD835\uDCC9",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"\xfa",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"\xfb",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"\uD835\uDD32",ugrave:"\xf9",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"\xa8",uogon:"ų",uopf:"\uD835\uDD66",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"\uD835\uDCCA",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"\xfc",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"\uD835\uDD33",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"\uD835\uDD67",vprop:"∝",vrtri:"⊳",vscr:"\uD835\uDCCB",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"\uD835\uDD34",wopf:"\uD835\uDD68",wp:"℘",wr:"≀",wreath:"≀",wscr:"\uD835\uDCCC",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"\uD835\uDD35",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"\uD835\uDD69",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"\uD835\uDCCD",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"\xfd",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"\xa5",yfr:"\uD835\uDD36",yicy:"ї",yopf:"\uD835\uDD6A",yscr:"\uD835\uDCCE",yucy:"ю",yuml:"\xff",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"\uD835\uDD37",zhcy:"ж",zigrarr:"⇝",zopf:"\uD835\uDD6B",zscr:"\uD835\uDCCF",zwj:"‍",zwnj:"‌"},bs={}.hasOwnProperty;function bt(a){return!!bs.call(br,a)&&br[a]}let bu={name:"characterReference",tokenize:function(a,b,c){let d,e,f=this,g=0;return function(b){return a.enter("characterReference"),a.enter("characterReferenceMarker"),a.consume(b),a.exit("characterReferenceMarker"),h};function h(b){return 35===b?(a.enter("characterReferenceMarkerNumeric"),a.consume(b),a.exit("characterReferenceMarkerNumeric"),i):(a.enter("characterReferenceValue"),d=31,e=aJ,j(b))}function i(b){return 88===b||120===b?(a.enter("characterReferenceMarkerHexadecimal"),a.consume(b),a.exit("characterReferenceMarkerHexadecimal"),a.enter("characterReferenceValue"),d=6,e=aN,j):(a.enter("characterReferenceValue"),d=7,e=aM,j(b))}function j(h){if(59===h&&g){let d=a.exit("characterReferenceValue");return e!==aJ||bt(f.sliceSerialize(d))?(a.enter("characterReferenceMarker"),a.consume(h),a.exit("characterReferenceMarker"),a.exit("characterReference"),b):c(h)}return e(h)&&g++<d?(a.consume(h),j):c(h)}}},bv={name:"characterEscape",tokenize:function(a,b,c){return function(b){return a.enter("characterEscape"),a.enter("escapeMarker"),a.consume(b),a.exit("escapeMarker"),d};function d(d){return aO(d)?(a.enter("characterEscapeValue"),a.consume(d),a.exit("characterEscapeValue"),a.exit("characterEscape"),b):c(d)}}},bw={name:"lineEnding",tokenize:function(a,b){return function(c){return a.enter("lineEnding"),a.consume(c),a.exit("lineEnding"),aV(a,b,"linePrefix")}}};function bx(a,b,c){let d=[],e=-1;for(;++e<a.length;){let f=a[e].resolveAll;f&&!d.includes(f)&&(b=f(b,c),d.push(f))}return b}let by={name:"labelEnd",resolveAll:function(a){let b=-1,c=[];for(;++b<a.length;){let d=a[b][1];if(c.push(a[b]),"labelImage"===d.type||"labelLink"===d.type||"labelEnd"===d.type){let a="labelImage"===d.type?4:2;d.type="data",b+=a}}return a.length!==c.length&&aB(a,0,a.length,c),a},resolveTo:function(a,b){let c,d,e,f,g=a.length,h=0;for(;g--;)if(c=a[g][1],d){if("link"===c.type||"labelLink"===c.type&&c._inactive)break;"enter"===a[g][0]&&"labelLink"===c.type&&(c._inactive=!0)}else if(e){if("enter"===a[g][0]&&("labelImage"===c.type||"labelLink"===c.type)&&!c._balanced&&(d=g,"labelLink"!==c.type)){h=2;break}}else"labelEnd"===c.type&&(e=g);let i={type:"labelLink"===a[d][1].type?"link":"image",start:{...a[d][1].start},end:{...a[a.length-1][1].end}},j={type:"label",start:{...a[d][1].start},end:{...a[e][1].end}},k={type:"labelText",start:{...a[d+h+2][1].end},end:{...a[e-2][1].start}};return f=aC(f=[["enter",i,b],["enter",j,b]],a.slice(d+1,d+h+3)),f=aC(f,[["enter",k,b]]),f=aC(f,bx(b.parser.constructs.insideSpan.null,a.slice(d+h+4,e-3),b)),f=aC(f,[["exit",k,b],a[e-2],a[e-1],["exit",j,b]]),f=aC(f,a.slice(e+1)),f=aC(f,[["exit",i,b]]),aB(a,d,a.length,f),a},tokenize:function(a,b,c){let d,e,f=this,g=f.events.length;for(;g--;)if(("labelImage"===f.events[g][1].type||"labelLink"===f.events[g][1].type)&&!f.events[g][1]._balanced){d=f.events[g][1];break}return function(b){return d?d._inactive?k(b):(e=f.parser.defined.includes(bg(f.sliceSerialize({start:d.end,end:f.now()}))),a.enter("labelEnd"),a.enter("labelMarker"),a.consume(b),a.exit("labelMarker"),a.exit("labelEnd"),h):c(b)};function h(b){return 40===b?a.attempt(bz,j,e?j:k)(b):91===b?a.attempt(bA,j,e?i:k)(b):e?j(b):k(b)}function i(b){return a.attempt(bB,j,k)(b)}function j(a){return b(a)}function k(a){return d._balanced=!0,c(a)}}},bz={tokenize:function(a,b,c){return function(b){return a.enter("resource"),a.enter("resourceMarker"),a.consume(b),a.exit("resourceMarker"),d};function d(b){return aQ(b)?bf(a,e)(b):e(b)}function e(b){return 41===b?j(b):bc(a,f,g,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(b)}function f(b){return aQ(b)?bf(a,h)(b):j(b)}function g(a){return c(a)}function h(b){return 34===b||39===b||40===b?be(a,i,c,"resourceTitle","resourceTitleMarker","resourceTitleString")(b):j(b)}function i(b){return aQ(b)?bf(a,j)(b):j(b)}function j(d){return 41===d?(a.enter("resourceMarker"),a.consume(d),a.exit("resourceMarker"),a.exit("resource"),b):c(d)}}},bA={tokenize:function(a,b,c){let d=this;return function(b){return bd.call(d,a,e,f,"reference","referenceMarker","referenceString")(b)};function e(a){return d.parser.defined.includes(bg(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)))?b(a):c(a)}function f(a){return c(a)}}},bB={tokenize:function(a,b,c){return function(b){return a.enter("reference"),a.enter("referenceMarker"),a.consume(b),a.exit("referenceMarker"),d};function d(d){return 93===d?(a.enter("referenceMarker"),a.consume(d),a.exit("referenceMarker"),a.exit("reference"),b):c(d)}}},bC={name:"labelStartImage",resolveAll:by.resolveAll,tokenize:function(a,b,c){let d=this;return function(b){return a.enter("labelImage"),a.enter("labelImageMarker"),a.consume(b),a.exit("labelImageMarker"),e};function e(b){return 91===b?(a.enter("labelMarker"),a.consume(b),a.exit("labelMarker"),a.exit("labelImage"),f):c(b)}function f(a){return 94===a&&"_hiddenFootnoteSupport"in d.parser.constructs?c(a):b(a)}}};function bD(a){return null===a||aQ(a)||aT(a)?1:aS(a)?2:void 0}let bE={name:"attention",resolveAll:function(a,b){let c,d,e,f,g,h,i,j,k=-1;for(;++k<a.length;)if("enter"===a[k][0]&&"attentionSequence"===a[k][1].type&&a[k][1]._close){for(c=k;c--;)if("exit"===a[c][0]&&"attentionSequence"===a[c][1].type&&a[c][1]._open&&b.sliceSerialize(a[c][1]).charCodeAt(0)===b.sliceSerialize(a[k][1]).charCodeAt(0)){if((a[c][1]._close||a[k][1]._open)&&(a[k][1].end.offset-a[k][1].start.offset)%3&&!((a[c][1].end.offset-a[c][1].start.offset+a[k][1].end.offset-a[k][1].start.offset)%3))continue;h=a[c][1].end.offset-a[c][1].start.offset>1&&a[k][1].end.offset-a[k][1].start.offset>1?2:1;let l={...a[c][1].end},m={...a[k][1].start};bF(l,-h),bF(m,h),f={type:h>1?"strongSequence":"emphasisSequence",start:l,end:{...a[c][1].end}},g={type:h>1?"strongSequence":"emphasisSequence",start:{...a[k][1].start},end:m},e={type:h>1?"strongText":"emphasisText",start:{...a[c][1].end},end:{...a[k][1].start}},d={type:h>1?"strong":"emphasis",start:{...f.start},end:{...g.end}},a[c][1].end={...f.start},a[k][1].start={...g.end},i=[],a[c][1].end.offset-a[c][1].start.offset&&(i=aC(i,[["enter",a[c][1],b],["exit",a[c][1],b]])),i=aC(i,[["enter",d,b],["enter",f,b],["exit",f,b],["enter",e,b]]),i=aC(i,bx(b.parser.constructs.insideSpan.null,a.slice(c+1,k),b)),i=aC(i,[["exit",e,b],["enter",g,b],["exit",g,b],["exit",d,b]]),a[k][1].end.offset-a[k][1].start.offset?(j=2,i=aC(i,[["enter",a[k][1],b],["exit",a[k][1],b]])):j=0,aB(a,c-1,k-c+3,i),k=c+i.length-j-2;break}}for(k=-1;++k<a.length;)"attentionSequence"===a[k][1].type&&(a[k][1].type="data");return a},tokenize:function(a,b){let c,d=this.parser.constructs.attentionMarkers.null,e=this.previous,f=bD(e);return function(g){return c=g,a.enter("attentionSequence"),function g(h){if(h===c)return a.consume(h),g;let i=a.exit("attentionSequence"),j=bD(h),k=!j||2===j&&f||d.includes(h),l=!f||2===f&&j||d.includes(e);return i._open=!!(42===c?k:k&&(f||!l)),i._close=!!(42===c?l:l&&(j||!k)),b(h)}(g)}}};function bF(a,b){a.column+=b,a.offset+=b,a._bufferIndex+=b}let bG={name:"labelStartLink",resolveAll:by.resolveAll,tokenize:function(a,b,c){let d=this;return function(b){return a.enter("labelLink"),a.enter("labelMarker"),a.consume(b),a.exit("labelMarker"),a.exit("labelLink"),e};function e(a){return 94===a&&"_hiddenFootnoteSupport"in d.parser.constructs?c(a):b(a)}}},bH={42:a8,43:a8,45:a8,48:a8,49:a8,50:a8,51:a8,52:a8,53:a8,54:a8,55:a8,56:a8,57:a8,62:bb},bI={91:{name:"definition",tokenize:function(a,b,c){let d,e=this;return function(b){var d;return a.enter("definition"),d=b,bd.call(e,a,f,c,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)};function f(b){return(d=bg(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),58===b)?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),g):c(b)}function g(b){return aQ(b)?bf(a,h)(b):h(b)}function h(b){return bc(a,i,c,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(b)}function i(b){return a.attempt(bh,j,j)(b)}function j(b){return aR(b)?aV(a,k,"whitespace")(b):k(b)}function k(f){return null===f||aP(f)?(a.exit("definition"),e.parser.defined.push(d),b(f)):c(f)}}}},bJ={[-2]:bi,[-1]:bi,32:bi},bK={35:{name:"headingAtx",resolve:function(a,b){let c,d,e=a.length-2,f=3;return"whitespace"===a[3][1].type&&(f+=2),e-2>f&&"whitespace"===a[e][1].type&&(e-=2),"atxHeadingSequence"===a[e][1].type&&(f===e-1||e-4>f&&"whitespace"===a[e-2][1].type)&&(e-=f+1===e?2:4),e>f&&(c={type:"atxHeadingText",start:a[f][1].start,end:a[e][1].end},d={type:"chunkText",start:a[f][1].start,end:a[e][1].end,contentType:"text"},aB(a,f,e-f+1,[["enter",c,b],["enter",d,b],["exit",d,b],["exit",c,b]])),a},tokenize:function(a,b,c){let d=0;return function(e){var f;return a.enter("atxHeading"),f=e,a.enter("atxHeadingSequence"),function e(f){return 35===f&&d++<6?(a.consume(f),e):null===f||aQ(f)?(a.exit("atxHeadingSequence"),function c(d){return 35===d?(a.enter("atxHeadingSequence"),function b(d){return 35===d?(a.consume(d),b):(a.exit("atxHeadingSequence"),c(d))}(d)):null===d||aP(d)?(a.exit("atxHeading"),b(d)):aR(d)?aV(a,c,"whitespace")(d):(a.enter("atxHeadingText"),function b(d){return null===d||35===d||aQ(d)?(a.exit("atxHeadingText"),c(d)):(a.consume(d),b)}(d))}(f)):c(f)}(f)}}},42:a7,45:[bk,a7],60:{concrete:!0,name:"htmlFlow",resolveTo:function(a){let b=a.length;for(;b--&&("enter"!==a[b][0]||"htmlFlow"!==a[b][1].type););return b>1&&"linePrefix"===a[b-2][1].type&&(a[b][1].start=a[b-2][1].start,a[b+1][1].start=a[b-2][1].start,a.splice(b-2,2)),a},tokenize:function(a,b,c){let d,e,f,g,h,i=this;return function(b){var c;return c=b,a.enter("htmlFlow"),a.enter("htmlFlowData"),a.consume(c),j};function j(g){return 33===g?(a.consume(g),k):47===g?(a.consume(g),e=!0,n):63===g?(a.consume(g),d=3,i.interrupt?b:G):aI(g)?(a.consume(g),f=String.fromCharCode(g),o):c(g)}function k(e){return 45===e?(a.consume(e),d=2,l):91===e?(a.consume(e),d=5,g=0,m):aI(e)?(a.consume(e),d=4,i.interrupt?b:G):c(e)}function l(d){return 45===d?(a.consume(d),i.interrupt?b:G):c(d)}function m(d){let e="CDATA[";return d===e.charCodeAt(g++)?(a.consume(d),g===e.length)?i.interrupt?b:y:m:c(d)}function n(b){return aI(b)?(a.consume(b),f=String.fromCharCode(b),o):c(b)}function o(g){if(null===g||47===g||62===g||aQ(g)){let h=47===g,j=f.toLowerCase();return!h&&!e&&bm.includes(j)?(d=1,i.interrupt?b(g):y(g)):bl.includes(f.toLowerCase())?(d=6,h)?(a.consume(g),p):i.interrupt?b(g):y(g):(d=7,i.interrupt&&!i.parser.lazy[i.now().line]?c(g):e?function b(c){return aR(c)?(a.consume(c),b):w(c)}(g):q(g))}return 45===g||aJ(g)?(a.consume(g),f+=String.fromCharCode(g),o):c(g)}function p(d){return 62===d?(a.consume(d),i.interrupt?b:y):c(d)}function q(b){return 47===b?(a.consume(b),w):58===b||95===b||aI(b)?(a.consume(b),r):aR(b)?(a.consume(b),q):w(b)}function r(b){return 45===b||46===b||58===b||95===b||aJ(b)?(a.consume(b),r):s(b)}function s(b){return 61===b?(a.consume(b),t):aR(b)?(a.consume(b),s):q(b)}function t(b){return null===b||60===b||61===b||62===b||96===b?c(b):34===b||39===b?(a.consume(b),h=b,u):aR(b)?(a.consume(b),t):function b(c){return null===c||34===c||39===c||47===c||60===c||61===c||62===c||96===c||aQ(c)?s(c):(a.consume(c),b)}(b)}function u(b){return b===h?(a.consume(b),h=null,v):null===b||aP(b)?c(b):(a.consume(b),u)}function v(a){return 47===a||62===a||aR(a)?q(a):c(a)}function w(b){return 62===b?(a.consume(b),x):c(b)}function x(b){return null===b||aP(b)?y(b):aR(b)?(a.consume(b),x):c(b)}function y(b){return 45===b&&2===d?(a.consume(b),C):60===b&&1===d?(a.consume(b),D):62===b&&4===d?(a.consume(b),H):63===b&&3===d?(a.consume(b),G):93===b&&5===d?(a.consume(b),F):aP(b)&&(6===d||7===d)?(a.exit("htmlFlowData"),a.check(bn,I,z)(b)):null===b||aP(b)?(a.exit("htmlFlowData"),z(b)):(a.consume(b),y)}function z(b){return a.check(bo,A,I)(b)}function A(b){return a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),B}function B(b){return null===b||aP(b)?z(b):(a.enter("htmlFlowData"),y(b))}function C(b){return 45===b?(a.consume(b),G):y(b)}function D(b){return 47===b?(a.consume(b),f="",E):y(b)}function E(b){if(62===b){let c=f.toLowerCase();return bm.includes(c)?(a.consume(b),H):y(b)}return aI(b)&&f.length<8?(a.consume(b),f+=String.fromCharCode(b),E):y(b)}function F(b){return 93===b?(a.consume(b),G):y(b)}function G(b){return 62===b?(a.consume(b),H):45===b&&2===d?(a.consume(b),G):y(b)}function H(b){return null===b||aP(b)?(a.exit("htmlFlowData"),I(b)):(a.consume(b),H)}function I(c){return a.exit("htmlFlow"),b(c)}}},61:bk,95:a7,96:bq,126:bq},bL={38:bu,92:bv},bM={[-5]:bw,[-4]:bw,[-3]:bw,33:bC,38:bu,42:bE,60:[{name:"autolink",tokenize:function(a,b,c){let d=0;return function(b){return a.enter("autolink"),a.enter("autolinkMarker"),a.consume(b),a.exit("autolinkMarker"),a.enter("autolinkProtocol"),e};function e(b){return aI(b)?(a.consume(b),f):64===b?c(b):h(b)}function f(b){return 43===b||45===b||46===b||aJ(b)?(d=1,function b(c){return 58===c?(a.consume(c),d=0,g):(43===c||45===c||46===c||aJ(c))&&d++<32?(a.consume(c),b):(d=0,h(c))}(b)):h(b)}function g(d){return 62===d?(a.exit("autolinkProtocol"),a.enter("autolinkMarker"),a.consume(d),a.exit("autolinkMarker"),a.exit("autolink"),b):null===d||32===d||60===d||aL(d)?c(d):(a.consume(d),g)}function h(b){return 64===b?(a.consume(b),i):aK(b)?(a.consume(b),h):c(b)}function i(e){return aJ(e)?function e(f){return 46===f?(a.consume(f),d=0,i):62===f?(a.exit("autolinkProtocol").type="autolinkEmail",a.enter("autolinkMarker"),a.consume(f),a.exit("autolinkMarker"),a.exit("autolink"),b):function b(f){if((45===f||aJ(f))&&d++<63){let c=45===f?b:e;return a.consume(f),c}return c(f)}(f)}(e):c(e)}}},{name:"htmlText",tokenize:function(a,b,c){let d,e,f,g=this;return function(b){return a.enter("htmlText"),a.enter("htmlTextData"),a.consume(b),h};function h(b){return 33===b?(a.consume(b),i):47===b?(a.consume(b),u):63===b?(a.consume(b),s):aI(b)?(a.consume(b),w):c(b)}function i(b){return 45===b?(a.consume(b),j):91===b?(a.consume(b),e=0,n):aI(b)?(a.consume(b),r):c(b)}function j(b){return 45===b?(a.consume(b),m):c(b)}function k(b){return null===b?c(b):45===b?(a.consume(b),l):aP(b)?(f=k,E(b)):(a.consume(b),k)}function l(b){return 45===b?(a.consume(b),m):k(b)}function m(a){return 62===a?D(a):45===a?l(a):k(a)}function n(b){let d="CDATA[";return b===d.charCodeAt(e++)?(a.consume(b),e===d.length?o:n):c(b)}function o(b){return null===b?c(b):93===b?(a.consume(b),p):aP(b)?(f=o,E(b)):(a.consume(b),o)}function p(b){return 93===b?(a.consume(b),q):o(b)}function q(b){return 62===b?D(b):93===b?(a.consume(b),q):o(b)}function r(b){return null===b||62===b?D(b):aP(b)?(f=r,E(b)):(a.consume(b),r)}function s(b){return null===b?c(b):63===b?(a.consume(b),t):aP(b)?(f=s,E(b)):(a.consume(b),s)}function t(a){return 62===a?D(a):s(a)}function u(b){return aI(b)?(a.consume(b),v):c(b)}function v(b){return 45===b||aJ(b)?(a.consume(b),v):function b(c){return aP(c)?(f=b,E(c)):aR(c)?(a.consume(c),b):D(c)}(b)}function w(b){return 45===b||aJ(b)?(a.consume(b),w):47===b||62===b||aQ(b)?x(b):c(b)}function x(b){return 47===b?(a.consume(b),D):58===b||95===b||aI(b)?(a.consume(b),y):aP(b)?(f=x,E(b)):aR(b)?(a.consume(b),x):D(b)}function y(b){return 45===b||46===b||58===b||95===b||aJ(b)?(a.consume(b),y):function b(c){return 61===c?(a.consume(c),z):aP(c)?(f=b,E(c)):aR(c)?(a.consume(c),b):x(c)}(b)}function z(b){return null===b||60===b||61===b||62===b||96===b?c(b):34===b||39===b?(a.consume(b),d=b,A):aP(b)?(f=z,E(b)):aR(b)?(a.consume(b),z):(a.consume(b),B)}function A(b){return b===d?(a.consume(b),d=void 0,C):null===b?c(b):aP(b)?(f=A,E(b)):(a.consume(b),A)}function B(b){return null===b||34===b||39===b||60===b||61===b||96===b?c(b):47===b||62===b||aQ(b)?x(b):(a.consume(b),B)}function C(a){return 47===a||62===a||aQ(a)?x(a):c(a)}function D(d){return 62===d?(a.consume(d),a.exit("htmlTextData"),a.exit("htmlText"),b):c(d)}function E(b){return a.exit("htmlTextData"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),F}function F(b){return aR(b)?aV(a,G,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):G(b)}function G(b){return a.enter("htmlTextData"),f(b)}}}],91:bG,92:[{name:"hardBreakEscape",tokenize:function(a,b,c){return function(b){return a.enter("hardBreakEscape"),a.consume(b),d};function d(d){return aP(d)?(a.exit("hardBreakEscape"),b(d)):c(d)}}},bv],93:by,95:bE,96:{name:"codeText",previous:function(a){return 96!==a||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(a){let b,c,d=a.length-4,e=3;if(("lineEnding"===a[3][1].type||"space"===a[e][1].type)&&("lineEnding"===a[d][1].type||"space"===a[d][1].type)){for(b=e;++b<d;)if("codeTextData"===a[b][1].type){a[e][1].type="codeTextPadding",a[d][1].type="codeTextPadding",e+=2,d-=2;break}}for(b=e-1,d++;++b<=d;)void 0===c?b!==d&&"lineEnding"!==a[b][1].type&&(c=b):(b===d||"lineEnding"===a[b][1].type)&&(a[c][1].type="codeTextData",b!==c+2&&(a[c][1].end=a[b-1][1].end,a.splice(c+2,b-c-2),d-=b-c-2,b=c+2),c=void 0);return a},tokenize:function(a,b,c){let d,e,f=0;return function(b){return a.enter("codeText"),a.enter("codeTextSequence"),function b(c){return 96===c?(a.consume(c),f++,b):(a.exit("codeTextSequence"),g(c))}(b)};function g(i){return null===i?c(i):32===i?(a.enter("space"),a.consume(i),a.exit("space"),g):96===i?(e=a.enter("codeTextSequence"),d=0,function c(g){return 96===g?(a.consume(g),d++,c):d===f?(a.exit("codeTextSequence"),a.exit("codeText"),b(g)):(e.type="codeTextData",h(g))}(i)):aP(i)?(a.enter("lineEnding"),a.consume(i),a.exit("lineEnding"),g):(a.enter("codeTextData"),h(i))}function h(b){return null===b||32===b||96===b||aP(b)?(a.exit("codeTextData"),g(b)):(a.consume(b),h)}}}},bN={null:[bE,a1]},bO={null:[42,95]},bP={null:[]},bQ=/[\0\t\n\r]/g;function bR(a,b){let c=Number.parseInt(a,b);return c<9||11===c||c>13&&c<32||c>126&&c<160||c>55295&&c<57344||c>64975&&c<65008||(65535&c)==65535||(65535&c)==65534||c>1114111?"�":String.fromCodePoint(c)}let bS=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function bT(a){return a.replace(bS,bU)}function bU(a,b,c){if(b)return b;if(35===c.charCodeAt(0)){let a=c.charCodeAt(1),b=120===a||88===a;return bR(c.slice(b?2:1),b?16:10)}return bt(c)||a}let bV={}.hasOwnProperty;function bW(a){return{line:a.line,column:a.column,offset:a.offset}}function bX(a,b){if(a)throw Error("Cannot close `"+a.type+"` ("+_({start:a.start,end:a.end})+"): a different token (`"+b.type+"`, "+_({start:b.start,end:b.end})+") is open");throw Error("Cannot close document, a token (`"+b.type+"`, "+_({start:b.start,end:b.end})+") is still open")}function bY(a){let b=this;b.parser=function(c){var e,f;let g,h,i,j;return"object"==typeof(e={...b.data("settings"),...a,extensions:b.data("micromarkExtensions")||[],mdastExtensions:b.data("fromMarkdownExtensions")||[]})&&(f=e,e=void 0),(function(a){let b={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:d(r),autolinkProtocol:j,autolinkEmail:j,atxHeading:d(o),blockQuote:d(function(){return{type:"blockquote",children:[]}}),characterEscape:j,characterReference:j,codeFenced:d(n),codeFencedFenceInfo:e,codeFencedFenceMeta:e,codeIndented:d(n,e),codeText:d(function(){return{type:"inlineCode",value:""}},e),codeTextData:j,data:j,codeFlowValue:j,definition:d(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:e,definitionLabelString:e,definitionTitleString:e,emphasis:d(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:d(p),hardBreakTrailing:d(p),htmlFlow:d(q,e),htmlFlowData:j,htmlText:d(q,e),htmlTextData:j,image:d(function(){return{type:"image",title:null,url:"",alt:null}}),label:e,link:d(r),listItem:d(function(a){return{type:"listItem",spread:a._spread,checked:null,children:[]}}),listItemValue:function(a){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(a),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:d(s,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:d(s),paragraph:d(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:e,resourceDestinationString:e,resourceTitleString:e,setextHeading:d(o),strong:d(function(){return{type:"strong",children:[]}}),thematicBreak:d(function(){return{type:"thematicBreak"}})},exit:{atxHeading:g(),atxHeadingSequence:function(a){let b=this.stack[this.stack.length-1];b.depth||(b.depth=this.sliceSerialize(a).length)},autolink:g(),autolinkEmail:function(a){k.call(this,a),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(a)},autolinkProtocol:function(a){k.call(this,a),this.stack[this.stack.length-1].url=this.sliceSerialize(a)},blockQuote:g(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:m,characterReferenceMarkerNumeric:m,characterReferenceValue:function(a){let b,c=this.sliceSerialize(a),d=this.data.characterReferenceType;d?(b=bR(c,"characterReferenceMarkerNumeric"===d?10:16),this.data.characterReferenceType=void 0):b=bt(c);let e=this.stack[this.stack.length-1];e.value+=b},characterReference:function(a){this.stack.pop().position.end=bW(a.end)},codeFenced:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let a=this.resume();this.stack[this.stack.length-1].lang=a},codeFencedFenceMeta:function(){let a=this.resume();this.stack[this.stack.length-1].meta=a},codeFlowValue:k,codeIndented:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a.replace(/(\r?\n|\r)$/g,"")}),codeText:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a}),codeTextData:k,data:k,definition:g(),definitionDestinationString:function(){let a=this.resume();this.stack[this.stack.length-1].url=a},definitionLabelString:function(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.label=b,c.identifier=bg(this.sliceSerialize(a)).toLowerCase()},definitionTitleString:function(){let a=this.resume();this.stack[this.stack.length-1].title=a},emphasis:g(),hardBreakEscape:g(l),hardBreakTrailing:g(l),htmlFlow:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a}),htmlFlowData:k,htmlText:g(function(){let a=this.resume();this.stack[this.stack.length-1].value=a}),htmlTextData:k,image:g(function(){let a=this.stack[this.stack.length-1];if(this.data.inReference){let b=this.data.referenceType||"shortcut";a.type+="Reference",a.referenceType=b,delete a.url,delete a.title}else delete a.identifier,delete a.label;this.data.referenceType=void 0}),label:function(){let a=this.stack[this.stack.length-1],b=this.resume(),c=this.stack[this.stack.length-1];this.data.inReference=!0,"link"===c.type?c.children=a.children:c.alt=b},labelText:function(a){let b=this.sliceSerialize(a),c=this.stack[this.stack.length-2];c.label=bT(b),c.identifier=bg(b).toLowerCase()},lineEnding:function(a){let c=this.stack[this.stack.length-1];if(this.data.atHardBreak){c.children[c.children.length-1].position.end=bW(a.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&b.canContainEols.includes(c.type)&&(j.call(this,a),k.call(this,a))},link:g(function(){let a=this.stack[this.stack.length-1];if(this.data.inReference){let b=this.data.referenceType||"shortcut";a.type+="Reference",a.referenceType=b,delete a.url,delete a.title}else delete a.identifier,delete a.label;this.data.referenceType=void 0}),listItem:g(),listOrdered:g(),listUnordered:g(),paragraph:g(),referenceString:function(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.label=b,c.identifier=bg(this.sliceSerialize(a)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let a=this.resume();this.stack[this.stack.length-1].url=a},resourceTitleString:function(){let a=this.resume();this.stack[this.stack.length-1].title=a},resource:function(){this.data.inReference=void 0},setextHeading:g(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(a){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(a).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:g(),thematicBreak:g()}};!function a(b,c){let d=-1;for(;++d<c.length;){let e=c[d];Array.isArray(e)?a(b,e):function(a,b){let c;for(c in b)if(bV.call(b,c))switch(c){case"canContainEols":{let d=b[c];d&&a[c].push(...d);break}case"transforms":{let d=b[c];d&&a[c].push(...d);break}case"enter":case"exit":{let d=b[c];d&&Object.assign(a[c],d)}}}(b,e)}}(b,(a||{}).mdastExtensions||[]);let c={};return function(a){let d={type:"root",children:[]},g={stack:[d],tokenStack:[],config:b,enter:f,exit:h,buffer:e,resume:i,data:c},j=[],k=-1;for(;++k<a.length;)("listOrdered"===a[k][1].type||"listUnordered"===a[k][1].type)&&("enter"===a[k][0]?j.push(k):k=function(a,b,c){let d,e,f,g,h=b-1,i=-1,j=!1;for(;++h<=c;){let b=a[h];switch(b[1].type){case"listUnordered":case"listOrdered":case"blockQuote":"enter"===b[0]?i++:i--,g=void 0;break;case"lineEndingBlank":"enter"===b[0]&&(!d||g||i||f||(f=h),g=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:g=void 0}if(!i&&"enter"===b[0]&&"listItemPrefix"===b[1].type||-1===i&&"exit"===b[0]&&("listUnordered"===b[1].type||"listOrdered"===b[1].type)){if(d){let g=h;for(e=void 0;g--;){let b=a[g];if("lineEnding"===b[1].type||"lineEndingBlank"===b[1].type){if("exit"===b[0])continue;e&&(a[e][1].type="lineEndingBlank",j=!0),b[1].type="lineEnding",e=g}else if("linePrefix"===b[1].type||"blockQuotePrefix"===b[1].type||"blockQuotePrefixWhitespace"===b[1].type||"blockQuoteMarker"===b[1].type||"listItemIndent"===b[1].type);else break}f&&(!e||f<e)&&(d._spread=!0),d.end=Object.assign({},e?a[e][1].start:b[1].end),a.splice(e||h,0,["exit",d,b[2]]),h++,c++}if("listItemPrefix"===b[1].type){let e={type:"listItem",_spread:!1,start:Object.assign({},b[1].start),end:void 0};d=e,a.splice(h,0,["enter",e,b[2]]),h++,c++,f=void 0,g=!0}}}return a[b][1]._spread=j,c}(a,j.pop(),k));for(k=-1;++k<a.length;){let c=b[a[k][0]];bV.call(c,a[k][1].type)&&c[a[k][1].type].call(Object.assign({sliceSerialize:a[k][2].sliceSerialize},g),a[k][1])}if(g.tokenStack.length>0){let a=g.tokenStack[g.tokenStack.length-1];(a[1]||bX).call(g,void 0,a[0])}for(d.position={start:bW(a.length>0?a[0][1].start:{line:1,column:1,offset:0}),end:bW(a.length>0?a[a.length-2][1].end:{line:1,column:1,offset:0})},k=-1;++k<b.transforms.length;)d=b.transforms[k](d)||d;return d};function d(a,b){return function(c){f.call(this,a(c),c),b&&b.call(this,c)}}function e(){this.stack.push({type:"fragment",children:[]})}function f(a,b,c){this.stack[this.stack.length-1].children.push(a),this.stack.push(a),this.tokenStack.push([b,c||void 0]),a.position={start:bW(b.start),end:void 0}}function g(a){return function(b){a&&a.call(this,b),h.call(this,b)}}function h(a,b){let c=this.stack.pop(),d=this.tokenStack.pop();if(d)d[0].type!==a.type&&(b?b.call(this,a,d[0]):(d[1]||bX).call(this,a,d[0]));else throw Error("Cannot close `"+a.type+"` ("+_({start:a.start,end:a.end})+"): it’s not open");c.position.end=bW(a.end)}function i(){return ay(this.stack.pop())}function j(a){let b=this.stack[this.stack.length-1].children,c=b[b.length-1];c&&"text"===c.type||((c={type:"text",value:""}).position={start:bW(a.start),end:void 0},b.push(c)),this.stack.push(c)}function k(a){let b=this.stack.pop();b.value+=this.sliceSerialize(a),b.position.end=bW(a.end)}function l(){this.data.atHardBreak=!0}function m(a){this.data.characterReferenceType=a.type}function n(){return{type:"code",lang:null,meta:null,value:""}}function o(){return{type:"heading",depth:0,children:[]}}function p(){return{type:"break"}}function q(){return{type:"html",value:""}}function r(){return{type:"link",title:null,url:"",children:[]}}function s(a){return{type:"list",ordered:"listOrdered"===a.type,start:null,spread:a._spread,children:[]}}})(f)(function(a){for(;!aF(a););return a}((function(a){let b={constructs:aH([d,...(a||{}).extensions||[]]),content:c(aW),defined:[],document:c(aX),flow:c(a0),lazy:{},string:c(a2),text:c(a3)};return b;function c(a){return function(c){return function(a,b,c){let d={_bufferIndex:-1,_index:0,line:c&&c.line||1,column:c&&c.column||1,offset:c&&c.offset||0},e={},f=[],g=[],h=[],i={attempt:o(function(a,b){p(a,b.from)}),check:o(n),consume:function(a){aP(a)?(d.line++,d.column=1,d.offset+=-3===a?2:1,q()):-1!==a&&(d.column++,d.offset++),d._bufferIndex<0?d._index++:(d._bufferIndex++,d._bufferIndex===g[d._index].length&&(d._bufferIndex=-1,d._index++)),j.previous=a},enter:function(a,b){let c=b||{};return c.type=a,c.start=m(),j.events.push(["enter",c,j]),h.push(c),c},exit:function(a){let b=h.pop();return b.end=m(),j.events.push(["exit",b,j]),b},interrupt:o(n,{interrupt:!0})},j={code:null,containerState:{},defineSkip:function(a){e[a.line]=a.column,q()},events:[],now:m,parser:a,previous:null,sliceSerialize:function(a,b){return function(a,b){let c,d=-1,e=[];for(;++d<a.length;){let f,g=a[d];if("string"==typeof g)f=g;else switch(g){case -5:f="\r";break;case -4:f="\n";break;case -3:f="\r\n";break;case -2:f=b?" ":" ";break;case -1:if(!b&&c)continue;f=" ";break;default:f=String.fromCharCode(g)}c=-2===g,e.push(f)}return e.join("")}(l(a),b)},sliceStream:l,write:function(a){return(g=aC(g,a),function(){let a;for(;d._index<g.length;){let c=g[d._index];if("string"==typeof c)for(a=d._index,d._bufferIndex<0&&(d._bufferIndex=0);d._index===a&&d._bufferIndex<c.length;){var b;b=c.charCodeAt(d._bufferIndex),k=k(b)}else k=k(c)}}(),null!==g[g.length-1])?[]:(p(b,0),j.events=bx(f,j.events,j),j.events)}},k=b.tokenize.call(j,i);return b.resolveAll&&f.push(b),j;function l(a){return function(a,b){let c,d=b.start._index,e=b.start._bufferIndex,f=b.end._index,g=b.end._bufferIndex;if(d===f)c=[a[d].slice(e,g)];else{if(c=a.slice(d,f),e>-1){let a=c[0];"string"==typeof a?c[0]=a.slice(e):c.shift()}g>0&&c.push(a[f].slice(0,g))}return c}(g,a)}function m(){let{_bufferIndex:a,_index:b,line:c,column:e,offset:f}=d;return{_bufferIndex:a,_index:b,line:c,column:e,offset:f}}function n(a,b){b.restore()}function o(a,b){return function(c,e,f){var g;let k,l,n,o;return Array.isArray(c)?p(c):"tokenize"in c?p([c]):(g=c,function(a){let b=null!==a&&g[a],c=null!==a&&g.null;return p([...Array.isArray(b)?b:b?[b]:[],...Array.isArray(c)?c:c?[c]:[]])(a)});function p(a){return(k=a,l=0,0===a.length)?f:r(a[l])}function r(a){return function(c){return(o=function(){let a=m(),b=j.previous,c=j.currentConstruct,e=j.events.length,f=Array.from(h);return{from:e,restore:function(){d=a,j.previous=b,j.currentConstruct=c,j.events.length=e,h=f,q()}}}(),n=a,a.partial||(j.currentConstruct=a),a.name&&j.parser.constructs.disable.null.includes(a.name))?t(c):a.tokenize.call(b?Object.assign(Object.create(j),b):j,i,s,t)(c)}}function s(b){return a(n,o),e}function t(a){return(o.restore(),++l<k.length)?r(k[l]):f}}}function p(a,b){a.resolveAll&&!f.includes(a)&&f.push(a),a.resolve&&aB(j.events,b,j.events.length-b,a.resolve(j.events.slice(b),j)),a.resolveTo&&(j.events=a.resolveTo(j.events,j))}function q(){d.line in e&&d.column<2&&(d.column=e[d.line],d.offset+=e[d.line]-1)}}(b,a,c)}}})(f).document().write((h=1,i="",j=!0,function(a,b,c){let d,e,f,k,l,m=[];for(a=i+("string"==typeof a?a.toString():new TextDecoder(b||void 0).decode(a)),f=0,i="",j&&(65279===a.charCodeAt(0)&&f++,j=void 0);f<a.length;){if(bQ.lastIndex=f,k=(d=bQ.exec(a))&&void 0!==d.index?d.index:a.length,l=a.charCodeAt(k),!d){i=a.slice(f);break}if(10===l&&f===k&&g)m.push(-3),g=void 0;else switch(g&&(m.push(-5),g=void 0),f<k&&(m.push(a.slice(f,k)),h+=k-f),l){case 0:m.push(65533),h++;break;case 9:for(e=4*Math.ceil(h/4),m.push(-2);h++<e;)m.push(-1);break;case 10:m.push(-4),h=1;break;default:g=!0,h=1}f=k+1}return c&&(g&&m.push(-5),i&&m.push(i),m.push(null)),m})(c,e,!0))))}}function bZ(a,b){let c=String(a);if("string"!=typeof b)throw TypeError("Expected character");let d=0,e=c.indexOf(b);for(;-1!==e;)d++,e=c.indexOf(b,e+b.length);return d}let b$=function(a){var b,c;if(null==a)return b0;if("function"==typeof a)return b_(a);if("object"==typeof a){return Array.isArray(a)?function(a){let b=[],c=-1;for(;++c<a.length;)b[c]=b$(a[c]);return b_(function(...a){let c=-1;for(;++c<b.length;)if(b[c].apply(this,a))return!0;return!1})}(a):(b=a,b_(function(a){let c;for(c in b)if(a[c]!==b[c])return!1;return!0}))}if("string"==typeof a){return c=a,b_(function(a){return a&&a.type===c})}throw Error("Expected function, string, or object as test")};function b_(a){return function(b,c,d){return!!(function(a){return null!==a&&"object"==typeof a&&"type"in a}(b)&&a.call(this,b,"number"==typeof c?c:void 0,d||void 0))}}function b0(){return!0}let b1=[];function b2(a,b,c,d){let e;"function"==typeof b&&"function"!=typeof c?(d=c,c=b):e=b;let f=b$(e),g=d?-1:1;(function a(e,h,i){let j=e&&"object"==typeof e?e:{};if("string"==typeof j.type){let a="string"==typeof j.tagName?j.tagName:"string"==typeof j.name?j.name:void 0;Object.defineProperty(k,"name",{value:"node (\x1b[33m"+e.type+(a?"<"+a+">":"")+"\x1b[39m)"})}return k;function k(){var j;let k,l,m,n=b1;if((!b||f(e,h,i[i.length-1]||void 0))&&!1===(n=Array.isArray(j=c(e,i))?j:"number"==typeof j?[!0,j]:null==j?b1:[j])[0])return n;if("children"in e&&e.children&&e.children&&"skip"!==n[0])for(l=(d?e.children.length:-1)+g,m=i.concat(e);l>-1&&l<e.children.length;){if(!1===(k=a(e.children[l],l,m)())[0])return k;l="number"==typeof k[1]?k[1]:l+g}return n}})(a,void 0,[])()}let b3="phrasing",b4=["autolink","link","image","label"];function b5(a){this.enter({type:"link",title:null,url:"",children:[]},a)}function b6(a){this.config.enter.autolinkProtocol.call(this,a)}function b7(a){this.config.exit.autolinkProtocol.call(this,a)}function b8(a){this.config.exit.data.call(this,a);let b=this.stack[this.stack.length-1];b.type,b.url="http://"+this.sliceSerialize(a)}function b9(a){this.config.exit.autolinkEmail.call(this,a)}function ca(a){this.exit(a)}function cb(a){!function(a,b,c){let d=b$((c||{}).ignore||[]),e=function(a){let b=[];if(!Array.isArray(a))throw TypeError("Expected find and replace tuple or list of tuples");let c=!a[0]||Array.isArray(a[0])?a:[a],d=-1;for(;++d<c.length;){var e;let a=c[d];b.push(["string"==typeof(e=a[0])?RegExp(function(a){if("string"!=typeof a)throw TypeError("Expected a string");return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e),"g"):e,function(a){return"function"==typeof a?a:function(){return a}}(a[1])])}return b}(b),f=-1;for(;++f<e.length;)b2(a,"text",g);function g(a,b){let c,g=-1;for(;++g<b.length;){let a=b[g],e=c?c.children:void 0;if(d(a,e?e.indexOf(a):void 0,c))return;c=a}if(c)return function(a,b){let c=b[b.length-1],d=e[f][0],g=e[f][1],h=0,i=c.children.indexOf(a),j=!1,k=[];d.lastIndex=0;let l=d.exec(a.value);for(;l;){let c=l.index,e={index:l.index,input:l.input,stack:[...b,a]},f=g(...l,e);if("string"==typeof f&&(f=f.length>0?{type:"text",value:f}:void 0),!1===f?d.lastIndex=c+1:(h!==c&&k.push({type:"text",value:a.value.slice(h,c)}),Array.isArray(f)?k.push(...f):f&&k.push(f),h=c+l[0].length,j=!0),!d.global)break;l=d.exec(a.value)}return j?(h<a.value.length&&k.push({type:"text",value:a.value.slice(h)}),c.children.splice(i,1,...k)):k=[a],i+k.length}(a,b)}}(a,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,cc],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,cd]],{ignore:["link","linkReference"]})}function cc(a,b,c,d,e){let f="";if(!ce(e)||(/^w/i.test(b)&&(c=b+c,b="",f="http://"),!function(a){let b=a.split(".");return!(b.length<2||b[b.length-1]&&(/_/.test(b[b.length-1])||!/[a-zA-Z\d]/.test(b[b.length-1]))||b[b.length-2]&&(/_/.test(b[b.length-2])||!/[a-zA-Z\d]/.test(b[b.length-2])))}(c)))return!1;let g=function(a){let b=/[!"&'),.:;<>?\]}]+$/.exec(a);if(!b)return[a,void 0];a=a.slice(0,b.index);let c=b[0],d=c.indexOf(")"),e=bZ(a,"("),f=bZ(a,")");for(;-1!==d&&e>f;)a+=c.slice(0,d+1),d=(c=c.slice(d+1)).indexOf(")"),f++;return[a,c]}(c+d);if(!g[0])return!1;let h={type:"link",title:null,url:f+b+g[0],children:[{type:"text",value:b+g[0]}]};return g[1]?[h,{type:"text",value:g[1]}]:h}function cd(a,b,c,d){return!(!ce(d,!0)||/[-\d_]$/.test(c))&&{type:"link",title:null,url:"mailto:"+b+"@"+c,children:[{type:"text",value:b+"@"+c}]}}function ce(a,b){let c=a.input.charCodeAt(a.index-1);return(0===a.index||aT(c)||aS(c))&&(!b||47!==c)}function cf(){this.buffer()}function cg(a){this.enter({type:"footnoteReference",identifier:"",label:""},a)}function ch(){this.buffer()}function ci(a){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},a)}function cj(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.type,c.identifier=bg(this.sliceSerialize(a)).toLowerCase(),c.label=b}function ck(a){this.exit(a)}function cl(a){let b=this.resume(),c=this.stack[this.stack.length-1];c.type,c.identifier=bg(this.sliceSerialize(a)).toLowerCase(),c.label=b}function cm(a){this.exit(a)}function cn(a,b,c,d){let e=c.createTracker(d),f=e.move("[^"),g=c.enter("footnoteReference"),h=c.enter("reference");return f+=e.move(c.safe(c.associationId(a),{after:"]",before:f})),h(),g(),f+=e.move("]")}function co(a,b,c){return 0===b?a:cp(a,b,c)}function cp(a,b,c){return(c?"":" ")+a}cn.peek=function(){return"["};let cq=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];function cr(a){this.enter({type:"delete",children:[]},a)}function cs(a){this.exit(a)}function ct(a,b,c,d){let e=c.createTracker(d),f=c.enter("strikethrough"),g=e.move("~~");return g+=c.containerPhrasing(a,{...e.current(),before:g,after:"~"}),g+=e.move("~~"),f(),g}function cu(a){return a.length}function cv(a){let b="string"==typeof a?a.codePointAt(0):0;return 67===b||99===b?99:76===b||108===b?108:114*(82===b||114===b)}function cw(a,b,c){return">"+(c?"":" ")+a}function cx(a,b){return cy(a,b.inConstruct,!0)&&!cy(a,b.notInConstruct,!1)}function cy(a,b,c){if("string"==typeof b&&(b=[b]),!b||0===b.length)return c;let d=-1;for(;++d<b.length;)if(a.includes(b[d]))return!0;return!1}function cz(a,b,c,d){let e=-1;for(;++e<c.unsafe.length;)if("\n"===c.unsafe[e].character&&cx(c.stack,c.unsafe[e]))return/[ \t]/.test(d.before)?"":" ";return"\\\n"}function cA(a,b){return!!(!1===b.options.fences&&a.value&&!a.lang&&/[^ \r\n]/.test(a.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(a.value))}function cB(a,b,c){return(c?"":" ")+a}function cC(a){let b=a.options.quote||'"';if('"'!==b&&"'"!==b)throw Error("Cannot serialize title with `"+b+"` for `options.quote`, expected `\"`, or `'`");return b}function cD(a){return"&#x"+a.toString(16).toUpperCase()+";"}function cE(a,b,c){let d=bD(a),e=bD(b);return void 0===d?void 0===e?"_"===c?{inside:!0,outside:!0}:{inside:!1,outside:!1}:1===e?{inside:!0,outside:!0}:{inside:!1,outside:!0}:1===d?void 0===e?{inside:!1,outside:!1}:1===e?{inside:!0,outside:!0}:{inside:!1,outside:!1}:void 0===e?{inside:!1,outside:!1}:1===e?{inside:!0,outside:!1}:{inside:!1,outside:!1}}function cF(a,b,c,d){let e=function(a){let b=a.options.emphasis||"*";if("*"!==b&&"_"!==b)throw Error("Cannot serialize emphasis with `"+b+"` for `options.emphasis`, expected `*`, or `_`");return b}(c),f=c.enter("emphasis"),g=c.createTracker(d),h=g.move(e),i=g.move(c.containerPhrasing(a,{after:e,before:h,...g.current()})),j=i.charCodeAt(0),k=cE(d.before.charCodeAt(d.before.length-1),j,e);k.inside&&(i=cD(j)+i.slice(1));let l=i.charCodeAt(i.length-1),m=cE(d.after.charCodeAt(0),l,e);m.inside&&(i=i.slice(0,-1)+cD(l));let n=g.move(e);return f(),c.attentionEncodeSurroundingInfo={after:m.outside,before:k.outside},h+i+n}function cG(a,b,c,d){let e,f,g;"function"==typeof b&&"function"!=typeof c?(f=void 0,g=b,e=c):(f=b,g=c,e=d),b2(a,f,function(a,b){let c=b[b.length-1],d=c?c.children.indexOf(a):void 0;return g(a,d,c)},e)}function cH(a,b){let c=!1;return cG(a,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||"break"===a.type)return c=!0,!1}),!!((!a.depth||a.depth<3)&&ay(a)&&(b.options.setext||c))}function cI(a){return a.value||""}function cJ(a,b,c,d){let e=cC(c),f='"'===e?"Quote":"Apostrophe",g=c.enter("image"),h=c.enter("label"),i=c.createTracker(d),j=i.move("![");return j+=i.move(c.safe(a.alt,{before:j,after:"]",...i.current()})),j+=i.move("]("),h(),!a.url&&a.title||/[\0- \u007F]/.test(a.url)?(h=c.enter("destinationLiteral"),j+=i.move("<"),j+=i.move(c.safe(a.url,{before:j,after:">",...i.current()})),j+=i.move(">")):(h=c.enter("destinationRaw"),j+=i.move(c.safe(a.url,{before:j,after:a.title?" ":")",...i.current()}))),h(),a.title&&(h=c.enter(`title${f}`),j+=i.move(" "+e),j+=i.move(c.safe(a.title,{before:j,after:e,...i.current()})),j+=i.move(e),h()),j+=i.move(")"),g(),j}function cK(a,b,c,d){let e=a.referenceType,f=c.enter("imageReference"),g=c.enter("label"),h=c.createTracker(d),i=h.move("!["),j=c.safe(a.alt,{before:i,after:"]",...h.current()});i+=h.move(j+"]["),g();let k=c.stack;c.stack=[],g=c.enter("reference");let l=c.safe(c.associationId(a),{before:i,after:"]",...h.current()});return g(),c.stack=k,f(),"full"!==e&&j&&j===l?"shortcut"===e?i=i.slice(0,-1):i+=h.move("]"):i+=h.move(l+"]"),i}function cL(a,b,c){let d=a.value||"",e="`",f=-1;for(;RegExp("(^|[^`])"+e+"([^`]|$)").test(d);)e+="`";for(/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^`|`$/.test(d))&&(d=" "+d+" ");++f<c.unsafe.length;){let a,b=c.unsafe[f],e=c.compilePattern(b);if(b.atBreak)for(;a=e.exec(d);){let b=a.index;10===d.charCodeAt(b)&&13===d.charCodeAt(b-1)&&b--,d=d.slice(0,b)+" "+d.slice(a.index+1)}}return e+d+e}function cM(a,b){let c=ay(a);return!!(!b.options.resourceLink&&a.url&&!a.title&&a.children&&1===a.children.length&&"text"===a.children[0].type&&(c===a.url||"mailto:"+c===a.url)&&/^[a-z][a-z+.-]+:/i.test(a.url)&&!/[\0- <>\u007F]/.test(a.url))}function cN(a,b,c,d){let e,f,g=cC(c),h='"'===g?"Quote":"Apostrophe",i=c.createTracker(d);if(cM(a,c)){let b=c.stack;c.stack=[],e=c.enter("autolink");let d=i.move("<");return d+=i.move(c.containerPhrasing(a,{before:d,after:">",...i.current()})),d+=i.move(">"),e(),c.stack=b,d}e=c.enter("link"),f=c.enter("label");let j=i.move("[");return j+=i.move(c.containerPhrasing(a,{before:j,after:"](",...i.current()})),j+=i.move("]("),f(),!a.url&&a.title||/[\0- \u007F]/.test(a.url)?(f=c.enter("destinationLiteral"),j+=i.move("<"),j+=i.move(c.safe(a.url,{before:j,after:">",...i.current()})),j+=i.move(">")):(f=c.enter("destinationRaw"),j+=i.move(c.safe(a.url,{before:j,after:a.title?" ":")",...i.current()}))),f(),a.title&&(f=c.enter(`title${h}`),j+=i.move(" "+g),j+=i.move(c.safe(a.title,{before:j,after:g,...i.current()})),j+=i.move(g),f()),j+=i.move(")"),e(),j}function cO(a,b,c,d){let e=a.referenceType,f=c.enter("linkReference"),g=c.enter("label"),h=c.createTracker(d),i=h.move("["),j=c.containerPhrasing(a,{before:i,after:"]",...h.current()});i+=h.move(j+"]["),g();let k=c.stack;c.stack=[],g=c.enter("reference");let l=c.safe(c.associationId(a),{before:i,after:"]",...h.current()});return g(),c.stack=k,f(),"full"!==e&&j&&j===l?"shortcut"===e?i=i.slice(0,-1):i+=h.move("]"):i+=h.move(l+"]"),i}function cP(a){let b=a.options.bullet||"*";if("*"!==b&&"+"!==b&&"-"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.bullet`, expected `*`, `+`, or `-`");return b}function cQ(a){let b=a.options.rule||"*";if("*"!==b&&"-"!==b&&"_"!==b)throw Error("Cannot serialize rules with `"+b+"` for `options.rule`, expected `*`, `-`, or `_`");return b}ct.peek=function(){return"~"},cF.peek=function(a,b,c){return c.options.emphasis||"*"},cI.peek=function(){return"<"},cJ.peek=function(){return"!"},cK.peek=function(){return"!"},cL.peek=function(){return"`"},cN.peek=function(a,b,c){return cM(a,c)?"<":"["},cO.peek=function(){return"["};let cR=b$(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function cS(a,b,c,d){let e=function(a){let b=a.options.strong||"*";if("*"!==b&&"_"!==b)throw Error("Cannot serialize strong with `"+b+"` for `options.strong`, expected `*`, or `_`");return b}(c),f=c.enter("strong"),g=c.createTracker(d),h=g.move(e+e),i=g.move(c.containerPhrasing(a,{after:e,before:h,...g.current()})),j=i.charCodeAt(0),k=cE(d.before.charCodeAt(d.before.length-1),j,e);k.inside&&(i=cD(j)+i.slice(1));let l=i.charCodeAt(i.length-1),m=cE(d.after.charCodeAt(0),l,e);m.inside&&(i=i.slice(0,-1)+cD(l));let n=g.move(e+e);return f(),c.attentionEncodeSurroundingInfo={after:m.outside,before:k.outside},h+i+n}cS.peek=function(a,b,c){return c.options.strong||"*"};let cT={blockquote:function(a,b,c,d){let e=c.enter("blockquote"),f=c.createTracker(d);f.move("> "),f.shift(2);let g=c.indentLines(c.containerFlow(a,f.current()),cw);return e(),g},break:cz,code:function(a,b,c,d){let e=function(a){let b=a.options.fence||"`";if("`"!==b&&"~"!==b)throw Error("Cannot serialize code with `"+b+"` for `options.fence`, expected `` ` `` or `~`");return b}(c),f=a.value||"",g="`"===e?"GraveAccent":"Tilde";if(cA(a,c)){let a=c.enter("codeIndented"),b=c.indentLines(f,cB);return a(),b}let h=c.createTracker(d),i=e.repeat(Math.max(function(a,b){let c=String(a),d=c.indexOf(b),e=d,f=0,g=0;if("string"!=typeof b)throw TypeError("Expected substring");for(;-1!==d;)d===e?++f>g&&(g=f):f=1,e=d+b.length,d=c.indexOf(b,e);return g}(f,e)+1,3)),j=c.enter("codeFenced"),k=h.move(i);if(a.lang){let b=c.enter(`codeFencedLang${g}`);k+=h.move(c.safe(a.lang,{before:k,after:" ",encode:["`"],...h.current()})),b()}if(a.lang&&a.meta){let b=c.enter(`codeFencedMeta${g}`);k+=h.move(" "),k+=h.move(c.safe(a.meta,{before:k,after:"\n",encode:["`"],...h.current()})),b()}return k+=h.move("\n"),f&&(k+=h.move(f+"\n")),k+=h.move(i),j(),k},definition:function(a,b,c,d){let e=cC(c),f='"'===e?"Quote":"Apostrophe",g=c.enter("definition"),h=c.enter("label"),i=c.createTracker(d),j=i.move("[");return j+=i.move(c.safe(c.associationId(a),{before:j,after:"]",...i.current()})),j+=i.move("]: "),h(),!a.url||/[\0- \u007F]/.test(a.url)?(h=c.enter("destinationLiteral"),j+=i.move("<"),j+=i.move(c.safe(a.url,{before:j,after:">",...i.current()})),j+=i.move(">")):(h=c.enter("destinationRaw"),j+=i.move(c.safe(a.url,{before:j,after:a.title?" ":"\n",...i.current()}))),h(),a.title&&(h=c.enter(`title${f}`),j+=i.move(" "+e),j+=i.move(c.safe(a.title,{before:j,after:e,...i.current()})),j+=i.move(e),h()),g(),j},emphasis:cF,hardBreak:cz,heading:function(a,b,c,d){let e=Math.max(Math.min(6,a.depth||1),1),f=c.createTracker(d);if(cH(a,c)){let b=c.enter("headingSetext"),d=c.enter("phrasing"),g=c.containerPhrasing(a,{...f.current(),before:"\n",after:"\n"});return d(),b(),g+"\n"+(1===e?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf("\n"))+1))}let g="#".repeat(e),h=c.enter("headingAtx"),i=c.enter("phrasing");f.move(g+" ");let j=c.containerPhrasing(a,{before:"# ",after:"\n",...f.current()});return/^[\t ]/.test(j)&&(j=cD(j.charCodeAt(0))+j.slice(1)),j=j?g+" "+j:g,c.options.closeAtx&&(j+=" "+g),i(),h(),j},html:cI,image:cJ,imageReference:cK,inlineCode:cL,link:cN,linkReference:cO,list:function(a,b,c,d){let e=c.enter("list"),f=c.bulletCurrent,g=a.ordered?function(a){let b=a.options.bulletOrdered||".";if("."!==b&&")"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.bulletOrdered`, expected `.` or `)`");return b}(c):cP(c),h=a.ordered?"."===g?")":".":function(a){let b=cP(a),c=a.options.bulletOther;if(!c)return"*"===b?"-":"*";if("*"!==c&&"+"!==c&&"-"!==c)throw Error("Cannot serialize items with `"+c+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(c===b)throw Error("Expected `bullet` (`"+b+"`) and `bulletOther` (`"+c+"`) to be different");return c}(c),i=!!b&&!!c.bulletLastUsed&&g===c.bulletLastUsed;if(!a.ordered){let b=a.children?a.children[0]:void 0;if("*"!==g&&"-"!==g||!b||b.children&&b.children[0]||"list"!==c.stack[c.stack.length-1]||"listItem"!==c.stack[c.stack.length-2]||"list"!==c.stack[c.stack.length-3]||"listItem"!==c.stack[c.stack.length-4]||0!==c.indexStack[c.indexStack.length-1]||0!==c.indexStack[c.indexStack.length-2]||0!==c.indexStack[c.indexStack.length-3]||(i=!0),cQ(c)===g&&b){let b=-1;for(;++b<a.children.length;){let c=a.children[b];if(c&&"listItem"===c.type&&c.children&&c.children[0]&&"thematicBreak"===c.children[0].type){i=!0;break}}}}i&&(g=h),c.bulletCurrent=g;let j=c.containerFlow(a,d);return c.bulletLastUsed=g,c.bulletCurrent=f,e(),j},listItem:function(a,b,c,d){let e=function(a){let b=a.options.listItemIndent||"one";if("tab"!==b&&"one"!==b&&"mixed"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return b}(c),f=c.bulletCurrent||cP(c);b&&"list"===b.type&&b.ordered&&(f=("number"==typeof b.start&&b.start>-1?b.start:1)+(!1===c.options.incrementListMarker?0:b.children.indexOf(a))+f);let g=f.length+1;("tab"===e||"mixed"===e&&(b&&"list"===b.type&&b.spread||a.spread))&&(g=4*Math.ceil(g/4));let h=c.createTracker(d);h.move(f+" ".repeat(g-f.length)),h.shift(g);let i=c.enter("listItem"),j=c.indentLines(c.containerFlow(a,h.current()),function(a,b,c){return b?(c?"":" ".repeat(g))+a:(c?f:f+" ".repeat(g-f.length))+a});return i(),j},paragraph:function(a,b,c,d){let e=c.enter("paragraph"),f=c.enter("phrasing"),g=c.containerPhrasing(a,d);return f(),e(),g},root:function(a,b,c,d){return(a.children.some(function(a){return cR(a)})?c.containerPhrasing:c.containerFlow).call(c,a,d)},strong:cS,text:function(a,b,c,d){return c.safe(a.value,d)},thematicBreak:function(a,b,c){let d=(cQ(c)+(c.options.ruleSpaces?" ":"")).repeat(function(a){let b=a.options.ruleRepetition||3;if(b<3)throw Error("Cannot serialize rules with repetition `"+b+"` for `options.ruleRepetition`, expected `3` or more");return b}(c));return c.options.ruleSpaces?d.slice(0,-1):d}};function cU(a){let b=a._align;this.enter({type:"table",align:b.map(function(a){return"none"===a?null:a}),children:[]},a),this.data.inTable=!0}function cV(a){this.exit(a),this.data.inTable=void 0}function cW(a){this.enter({type:"tableRow",children:[]},a)}function cX(a){this.exit(a)}function cY(a){this.enter({type:"tableCell",children:[]},a)}function cZ(a){let b=this.resume();this.data.inTable&&(b=b.replace(/\\([\\|])/g,c$));let c=this.stack[this.stack.length-1];c.type,c.value=b,this.exit(a)}function c$(a,b){return"|"===b?b:a}function c_(a){let b=this.stack[this.stack.length-2];b.type,b.checked="taskListCheckValueChecked"===a.type}function c0(a){let b=this.stack[this.stack.length-2];if(b&&"listItem"===b.type&&"boolean"==typeof b.checked){let a=this.stack[this.stack.length-1];a.type;let c=a.children[0];if(c&&"text"===c.type){let d,e=b.children,f=-1;for(;++f<e.length;){let a=e[f];if("paragraph"===a.type){d=a;break}}d===a&&(c.value=c.value.slice(1),0===c.value.length?a.children.shift():a.position&&c.position&&"number"==typeof c.position.start.offset&&(c.position.start.column++,c.position.start.offset++,a.position.start=Object.assign({},c.position.start)))}}this.exit(a)}function c1(a,b,c,d){let e=a.children[0],f="boolean"==typeof a.checked&&e&&"paragraph"===e.type,g="["+(a.checked?"x":" ")+"] ",h=c.createTracker(d);f&&h.move(g);let i=cT.listItem(a,b,c,{...d,...h.current()});return f&&(i=i.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,function(a){return a+g})),i}let c2={tokenize:function(a,b,c){let d=0;return function b(f){return(87===f||119===f)&&d<3?(d++,a.consume(f),b):46===f&&3===d?(a.consume(f),e):c(f)};function e(a){return null===a?c(a):b(a)}},partial:!0},c3={tokenize:function(a,b,c){let d,e,f;return g;function g(b){return 46===b||95===b?a.check(c5,i,h)(b):null===b||aQ(b)||aT(b)||45!==b&&aS(b)?i(b):(f=!0,a.consume(b),g)}function h(b){return 95===b?d=!0:(e=d,d=void 0),a.consume(b),g}function i(a){return e||d||!f?c(a):b(a)}},partial:!0},c4={tokenize:function(a,b){let c=0,d=0;return e;function e(g){return 40===g?(c++,a.consume(g),e):41===g&&d<c?f(g):33===g||34===g||38===g||39===g||41===g||42===g||44===g||46===g||58===g||59===g||60===g||63===g||93===g||95===g||126===g?a.check(c5,b,f)(g):null===g||aQ(g)||aT(g)?b(g):(a.consume(g),e)}function f(b){return 41===b&&d++,a.consume(b),e}},partial:!0},c5={tokenize:function(a,b,c){return d;function d(g){return 33===g||34===g||39===g||41===g||42===g||44===g||46===g||58===g||59===g||63===g||95===g||126===g?(a.consume(g),d):38===g?(a.consume(g),f):93===g?(a.consume(g),e):60===g||null===g||aQ(g)||aT(g)?b(g):c(g)}function e(a){return null===a||40===a||91===a||aQ(a)||aT(a)?b(a):d(a)}function f(b){return aI(b)?function b(e){return 59===e?(a.consume(e),d):aI(e)?(a.consume(e),b):c(e)}(b):c(b)}},partial:!0},c6={tokenize:function(a,b,c){return function(b){return a.consume(b),d};function d(a){return aJ(a)?c(a):b(a)}},partial:!0},c7={name:"wwwAutolink",tokenize:function(a,b,c){let d=this;return function(b){return 87!==b&&119!==b||!dc.call(d,d.previous)||dg(d.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkWww"),a.check(c2,a.attempt(c3,a.attempt(c4,e),c),c)(b))};function e(c){return a.exit("literalAutolinkWww"),a.exit("literalAutolink"),b(c)}},previous:dc},c8={name:"protocolAutolink",tokenize:function(a,b,c){let d=this,e="",f=!1;return function(b){return(72===b||104===b)&&dd.call(d,d.previous)&&!dg(d.events)?(a.enter("literalAutolink"),a.enter("literalAutolinkHttp"),e+=String.fromCodePoint(b),a.consume(b),g):c(b)};function g(b){if(aI(b)&&e.length<5)return e+=String.fromCodePoint(b),a.consume(b),g;if(58===b){let c=e.toLowerCase();if("http"===c||"https"===c)return a.consume(b),h}return c(b)}function h(b){return 47===b?(a.consume(b),f)?i:(f=!0,h):c(b)}function i(b){return null===b||aL(b)||aQ(b)||aT(b)||aS(b)?c(b):a.attempt(c3,a.attempt(c4,j),c)(b)}function j(c){return a.exit("literalAutolinkHttp"),a.exit("literalAutolink"),b(c)}},previous:dd},c9={name:"emailAutolink",tokenize:function(a,b,c){let d,e,f=this;return function(b){return!df(b)||!de.call(f,f.previous)||dg(f.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkEmail"),function b(d){return df(d)?(a.consume(d),b):64===d?(a.consume(d),g):c(d)}(b))};function g(b){return 46===b?a.check(c6,i,h)(b):45===b||95===b||aJ(b)?(e=!0,a.consume(b),g):i(b)}function h(b){return a.consume(b),d=!0,g}function i(g){return e&&d&&aI(f.previous)?(a.exit("literalAutolinkEmail"),a.exit("literalAutolink"),b(g)):c(g)}},previous:de},da={},db=48;for(;db<123;)da[db]=c9,58==++db?db=65:91===db&&(db=97);function dc(a){return null===a||40===a||42===a||95===a||91===a||93===a||126===a||aQ(a)}function dd(a){return!aI(a)}function de(a){return!(47===a||df(a))}function df(a){return 43===a||45===a||46===a||95===a||aJ(a)}function dg(a){let b=a.length,c=!1;for(;b--;){let d=a[b][1];if(("labelLink"===d.type||"labelImage"===d.type)&&!d._balanced){c=!0;break}if(d._gfmAutolinkLiteralWalkedInto){c=!1;break}}return a.length>0&&!c&&(a[a.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),c}da[43]=c9,da[45]=c9,da[46]=c9,da[95]=c9,da[72]=[c9,c8],da[104]=[c9,c8],da[87]=[c9,c7],da[119]=[c9,c7];let dh={tokenize:function(a,b,c){let d=this;return aV(a,function(a){let e=d.events[d.events.length-1];return e&&"gfmFootnoteDefinitionIndent"===e[1].type&&4===e[2].sliceSerialize(e[1],!0).length?b(a):c(a)},"gfmFootnoteDefinitionIndent",5)},partial:!0};function di(a,b,c){let d,e=this,f=e.events.length,g=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]);for(;f--;){let a=e.events[f][1];if("labelImage"===a.type){d=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(f){if(!d||!d._balanced)return c(f);let h=bg(e.sliceSerialize({start:d.end,end:e.now()}));return 94===h.codePointAt(0)&&g.includes(h.slice(1))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(f),a.exit("gfmFootnoteCallLabelMarker"),b(f)):c(f)}}function dj(a,b){let c=a.length;for(;c--;)if("labelImage"===a[c][1].type&&"enter"===a[c][0]){a[c][1];break}a[c+1][1].type="data",a[c+3][1].type="gfmFootnoteCallLabelMarker";let d={type:"gfmFootnoteCall",start:Object.assign({},a[c+3][1].start),end:Object.assign({},a[a.length-1][1].end)},e={type:"gfmFootnoteCallMarker",start:Object.assign({},a[c+3][1].end),end:Object.assign({},a[c+3][1].end)};e.end.column++,e.end.offset++,e.end._bufferIndex++;let f={type:"gfmFootnoteCallString",start:Object.assign({},e.end),end:Object.assign({},a[a.length-1][1].start)},g={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},h=[a[c+1],a[c+2],["enter",d,b],a[c+3],a[c+4],["enter",e,b],["exit",e,b],["enter",f,b],["enter",g,b],["exit",g,b],["exit",f,b],a[a.length-2],a[a.length-1],["exit",d,b]];return a.splice(c,a.length-c+1,...h),a}function dk(a,b,c){let d,e=this,f=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]),g=0;return function(b){return a.enter("gfmFootnoteCall"),a.enter("gfmFootnoteCallLabelMarker"),a.consume(b),a.exit("gfmFootnoteCallLabelMarker"),h};function h(b){return 94!==b?c(b):(a.enter("gfmFootnoteCallMarker"),a.consume(b),a.exit("gfmFootnoteCallMarker"),a.enter("gfmFootnoteCallString"),a.enter("chunkString").contentType="string",i)}function i(h){if(g>999||93===h&&!d||null===h||91===h||aQ(h))return c(h);if(93===h){a.exit("chunkString");let d=a.exit("gfmFootnoteCallString");return f.includes(bg(e.sliceSerialize(d)))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(h),a.exit("gfmFootnoteCallLabelMarker"),a.exit("gfmFootnoteCall"),b):c(h)}return aQ(h)||(d=!0),g++,a.consume(h),92===h?j:i}function j(b){return 91===b||92===b||93===b?(a.consume(b),g++,i):i(b)}}function dl(a,b,c){let d,e,f=this,g=f.parser.gfmFootnotes||(f.parser.gfmFootnotes=[]),h=0;return function(b){return a.enter("gfmFootnoteDefinition")._container=!0,a.enter("gfmFootnoteDefinitionLabel"),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),i};function i(b){return 94===b?(a.enter("gfmFootnoteDefinitionMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionMarker"),a.enter("gfmFootnoteDefinitionLabelString"),a.enter("chunkString").contentType="string",j):c(b)}function j(b){if(h>999||93===b&&!e||null===b||91===b||aQ(b))return c(b);if(93===b){a.exit("chunkString");let c=a.exit("gfmFootnoteDefinitionLabelString");return d=bg(f.sliceSerialize(c)),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),a.exit("gfmFootnoteDefinitionLabel"),l}return aQ(b)||(e=!0),h++,a.consume(b),92===b?k:j}function k(b){return 91===b||92===b||93===b?(a.consume(b),h++,j):j(b)}function l(b){return 58===b?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),g.includes(d)||g.push(d),aV(a,m,"gfmFootnoteDefinitionWhitespace")):c(b)}function m(a){return b(a)}}function dm(a,b,c){return a.check(aZ,b,a.attempt(dh,b,c))}function dn(a){a.exit("gfmFootnoteDefinition")}class dp{constructor(){this.map=[]}add(a,b,c){!function(a,b,c,d){let e=0;if(0!==c||0!==d.length){for(;e<a.map.length;){if(a.map[e][0]===b){a.map[e][1]+=c,a.map[e][2].push(...d);return}e+=1}a.map.push([b,c,d])}}(this,a,b,c)}consume(a){if(this.map.sort(function(a,b){return a[0]-b[0]}),0===this.map.length)return;let b=this.map.length,c=[];for(;b>0;)b-=1,c.push(a.slice(this.map[b][0]+this.map[b][1]),this.map[b][2]),a.length=this.map[b][0];c.push(a.slice()),a.length=0;let d=c.pop();for(;d;){for(let b of d)a.push(b);d=c.pop()}this.map.length=0}}function dq(a,b,c){let d,e=this,f=0,g=0;return function(a){let b=e.events.length-1;for(;b>-1;){let a=e.events[b][1].type;if("lineEnding"===a||"linePrefix"===a)b--;else break}let d=b>-1?e.events[b][1].type:null,f="tableHead"===d||"tableRow"===d?s:h;return f===s&&e.parser.lazy[e.now().line]?c(a):f(a)};function h(b){var c;return a.enter("tableHead"),a.enter("tableRow"),124===(c=b)||(d=!0,g+=1),i(c)}function i(b){return null===b?c(b):aP(b)?g>1?(g=0,e.interrupt=!0,a.exit("tableRow"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),l):c(b):aR(b)?aV(a,i,"whitespace")(b):(g+=1,d&&(d=!1,f+=1),124===b)?(a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),d=!0,i):(a.enter("data"),j(b))}function j(b){return null===b||124===b||aQ(b)?(a.exit("data"),i(b)):(a.consume(b),92===b?k:j)}function k(b){return 92===b||124===b?(a.consume(b),j):j(b)}function l(b){return(e.interrupt=!1,e.parser.lazy[e.now().line])?c(b):(a.enter("tableDelimiterRow"),d=!1,aR(b))?aV(a,m,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):m(b)}function m(b){return 45===b||58===b?o(b):124===b?(d=!0,a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),n):c(b)}function n(b){return aR(b)?aV(a,o,"whitespace")(b):o(b)}function o(b){return 58===b?(g+=1,d=!0,a.enter("tableDelimiterMarker"),a.consume(b),a.exit("tableDelimiterMarker"),p):45===b?(g+=1,p(b)):null===b||aP(b)?r(b):c(b)}function p(b){return 45===b?(a.enter("tableDelimiterFiller"),function b(c){return 45===c?(a.consume(c),b):58===c?(d=!0,a.exit("tableDelimiterFiller"),a.enter("tableDelimiterMarker"),a.consume(c),a.exit("tableDelimiterMarker"),q):(a.exit("tableDelimiterFiller"),q(c))}(b)):c(b)}function q(b){return aR(b)?aV(a,r,"whitespace")(b):r(b)}function r(e){if(124===e)return m(e);if(null===e||aP(e))return d&&f===g?(a.exit("tableDelimiterRow"),a.exit("tableHead"),b(e)):c(e);return c(e)}function s(b){return a.enter("tableRow"),t(b)}function t(c){return 124===c?(a.enter("tableCellDivider"),a.consume(c),a.exit("tableCellDivider"),t):null===c||aP(c)?(a.exit("tableRow"),b(c)):aR(c)?aV(a,t,"whitespace")(c):(a.enter("data"),u(c))}function u(b){return null===b||124===b||aQ(b)?(a.exit("data"),t(b)):(a.consume(b),92===b?v:u)}function v(b){return 92===b||124===b?(a.consume(b),u):u(b)}}function dr(a,b){let c,d,e,f=-1,g=!0,h=0,i=[0,0,0,0],j=[0,0,0,0],k=!1,l=0,m=new dp;for(;++f<a.length;){let n=a[f],o=n[1];"enter"===n[0]?"tableHead"===o.type?(k=!1,0!==l&&(dt(m,b,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",c,b]])):"tableRow"===o.type||"tableDelimiterRow"===o.type?(g=!0,e=void 0,i=[0,0,0,0],j=[0,f+1,0,0],k&&(k=!1,d={type:"tableBody",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",d,b]])),h="tableDelimiterRow"===o.type?2:d?3:1):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)?(g=!1,0===j[2]&&(0!==i[1]&&(j[0]=j[1],e=ds(m,b,i,h,void 0,e),i=[0,0,0,0]),j[2]=f)):"tableCellDivider"===o.type&&(g?g=!1:(0!==i[1]&&(j[0]=j[1],e=ds(m,b,i,h,void 0,e)),j=[(i=j)[1],f,0,0])):"tableHead"===o.type?(k=!0,l=f):"tableRow"===o.type||"tableDelimiterRow"===o.type?(l=f,0!==i[1]?(j[0]=j[1],e=ds(m,b,i,h,f,e)):0!==j[1]&&(e=ds(m,b,j,h,f,e)),h=0):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)&&(j[3]=f)}for(0!==l&&dt(m,b,l,c,d),m.consume(b.events),f=-1;++f<b.events.length;){let a=b.events[f];"enter"===a[0]&&"table"===a[1].type&&(a[1]._align=function(a,b){let c=!1,d=[];for(;b<a.length;){let e=a[b];if(c){if("enter"===e[0])"tableContent"===e[1].type&&d.push("tableDelimiterMarker"===a[b+1][1].type?"left":"none");else if("tableContent"===e[1].type){if("tableDelimiterMarker"===a[b-1][1].type){let a=d.length-1;d[a]="left"===d[a]?"center":"right"}}else if("tableDelimiterRow"===e[1].type)break}else"enter"===e[0]&&"tableDelimiterRow"===e[1].type&&(c=!0);b+=1}return d}(b.events,f))}return a}function ds(a,b,c,d,e,f){0!==c[0]&&(f.end=Object.assign({},du(b.events,c[0])),a.add(c[0],0,[["exit",f,b]]));let g=du(b.events,c[1]);if(f={type:1===d?"tableHeader":2===d?"tableDelimiter":"tableData",start:Object.assign({},g),end:Object.assign({},g)},a.add(c[1],0,[["enter",f,b]]),0!==c[2]){let e=du(b.events,c[2]),f=du(b.events,c[3]),g={type:"tableContent",start:Object.assign({},e),end:Object.assign({},f)};if(a.add(c[2],0,[["enter",g,b]]),2!==d){let d=b.events[c[2]],e=b.events[c[3]];if(d[1].end=Object.assign({},e[1].end),d[1].type="chunkText",d[1].contentType="text",c[3]>c[2]+1){let b=c[2]+1,d=c[3]-c[2]-1;a.add(b,d,[])}}a.add(c[3]+1,0,[["exit",g,b]])}return void 0!==e&&(f.end=Object.assign({},du(b.events,e)),a.add(e,0,[["exit",f,b]]),f=void 0),f}function dt(a,b,c,d,e){let f=[],g=du(b.events,c);e&&(e.end=Object.assign({},g),f.push(["exit",e,b])),d.end=Object.assign({},g),f.push(["exit",d,b]),a.add(c+1,0,f)}function du(a,b){let c=a[b],d="enter"===c[0]?"start":"end";return c[1][d]}let dv={name:"tasklistCheck",tokenize:function(a,b,c){let d=this;return function(b){return null===d.previous&&d._gfmTasklistFirstContentOfListItem?(a.enter("taskListCheck"),a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),e):c(b)};function e(b){return aQ(b)?(a.enter("taskListCheckValueUnchecked"),a.consume(b),a.exit("taskListCheckValueUnchecked"),f):88===b||120===b?(a.enter("taskListCheckValueChecked"),a.consume(b),a.exit("taskListCheckValueChecked"),f):c(b)}function f(b){return 93===b?(a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),a.exit("taskListCheck"),g):c(b)}function g(d){return aP(d)?b(d):aR(d)?a.check({tokenize:dw},b,c)(d):c(d)}}};function dw(a,b,c){return aV(a,function(a){return null===a?c(a):b(a)},"whitespace")}let dx={};function dy(a){let b,c=a||dx,d=this.data(),e=d.micromarkExtensions||(d.micromarkExtensions=[]),f=d.fromMarkdownExtensions||(d.fromMarkdownExtensions=[]),g=d.toMarkdownExtensions||(d.toMarkdownExtensions=[]);e.push(aH([{text:da},{document:{91:{name:"gfmFootnoteDefinition",tokenize:dl,continuation:{tokenize:dm},exit:dn}},text:{91:{name:"gfmFootnoteCall",tokenize:dk},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:di,resolveTo:dj}}},function(a){let b=(a||{}).singleTilde,c={name:"strikethrough",tokenize:function(a,c,d){let e=this.previous,f=this.events,g=0;return function(h){return 126===e&&"characterEscape"!==f[f.length-1][1].type?d(h):(a.enter("strikethroughSequenceTemporary"),function f(h){let i=bD(e);if(126===h)return g>1?d(h):(a.consume(h),g++,f);if(g<2&&!b)return d(h);let j=a.exit("strikethroughSequenceTemporary"),k=bD(h);return j._open=!k||2===k&&!!i,j._close=!i||2===i&&!!k,c(h)}(h))}},resolveAll:function(a,b){let c=-1;for(;++c<a.length;)if("enter"===a[c][0]&&"strikethroughSequenceTemporary"===a[c][1].type&&a[c][1]._close){let d=c;for(;d--;)if("exit"===a[d][0]&&"strikethroughSequenceTemporary"===a[d][1].type&&a[d][1]._open&&a[c][1].end.offset-a[c][1].start.offset==a[d][1].end.offset-a[d][1].start.offset){a[c][1].type="strikethroughSequence",a[d][1].type="strikethroughSequence";let e={type:"strikethrough",start:Object.assign({},a[d][1].start),end:Object.assign({},a[c][1].end)},f={type:"strikethroughText",start:Object.assign({},a[d][1].end),end:Object.assign({},a[c][1].start)},g=[["enter",e,b],["enter",a[d][1],b],["exit",a[d][1],b],["enter",f,b]],h=b.parser.constructs.insideSpan.null;h&&aB(g,g.length,0,bx(h,a.slice(d+1,c),b)),aB(g,g.length,0,[["exit",f,b],["enter",a[c][1],b],["exit",a[c][1],b],["exit",e,b]]),aB(a,d-1,c-d+3,g),c=d+g.length-2;break}}for(c=-1;++c<a.length;)"strikethroughSequenceTemporary"===a[c][1].type&&(a[c][1].type="data");return a}};return null==b&&(b=!0),{text:{126:c},insideSpan:{null:[c]},attentionMarkers:{null:[126]}}}(c),{flow:{null:{name:"table",tokenize:dq,resolveAll:dr}}},{text:{91:dv}}])),f.push([{transforms:[cb],enter:{literalAutolink:b5,literalAutolinkEmail:b6,literalAutolinkHttp:b6,literalAutolinkWww:b6},exit:{literalAutolink:ca,literalAutolinkEmail:b9,literalAutolinkHttp:b7,literalAutolinkWww:b8}},{enter:{gfmFootnoteCallString:cf,gfmFootnoteCall:cg,gfmFootnoteDefinitionLabelString:ch,gfmFootnoteDefinition:ci},exit:{gfmFootnoteCallString:cj,gfmFootnoteCall:ck,gfmFootnoteDefinitionLabelString:cl,gfmFootnoteDefinition:cm}},{canContainEols:["delete"],enter:{strikethrough:cr},exit:{strikethrough:cs}},{enter:{table:cU,tableData:cY,tableHeader:cY,tableRow:cW},exit:{codeText:cZ,table:cV,tableData:cX,tableHeader:cX,tableRow:cX}},{exit:{taskListCheckValueChecked:c_,taskListCheckValueUnchecked:c_,paragraph:c0}}]),g.push({extensions:[{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:b3,notInConstruct:b4},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:b3,notInConstruct:b4},{character:":",before:"[ps]",after:"\\/",inConstruct:b3,notInConstruct:b4}]},(b=!1,c&&c.firstLineBlank&&(b=!0),{handlers:{footnoteDefinition:function(a,c,d,e){let f=d.createTracker(e),g=f.move("[^"),h=d.enter("footnoteDefinition"),i=d.enter("label");return g+=f.move(d.safe(d.associationId(a),{before:g,after:"]"})),i(),g+=f.move("]:"),a.children&&a.children.length>0&&(f.shift(4),g+=f.move((b?"\n":" ")+d.indentLines(d.containerFlow(a,f.current()),b?cp:co))),h(),g},footnoteReference:cn},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]}),{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:cq}],handlers:{delete:ct}},function(a){let b=a||{},c=b.tableCellPadding,d=b.tablePipeAlign,e=b.stringLength,f=c?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:function(a,b,c){let d=cT.inlineCode(a,b,c);return c.stack.includes("tableCell")&&(d=d.replace(/\|/g,"\\$&")),d},table:function(a,b,c,d){return h(function(a,b,c){let d=a.children,e=-1,f=[],g=b.enter("table");for(;++e<d.length;)f[e]=i(d[e],b,c);return g(),f}(a,c,d),a.align)},tableCell:g,tableRow:function(a,b,c,d){let e=h([i(a,c,d)]);return e.slice(0,e.indexOf("\n"))}}};function g(a,b,c,d){let e=c.enter("tableCell"),g=c.enter("phrasing"),h=c.containerPhrasing(a,{...d,before:f,after:f});return g(),e(),h}function h(a,b){return function(a,b){let c=b||{},d=(c.align||[]).concat(),e=c.stringLength||cu,f=[],g=[],h=[],i=[],j=0,k=-1;for(;++k<a.length;){let b=[],d=[],f=-1;for(a[k].length>j&&(j=a[k].length);++f<a[k].length;){var l;let g=null==(l=a[k][f])?"":String(l);if(!1!==c.alignDelimiters){let a=e(g);d[f]=a,(void 0===i[f]||a>i[f])&&(i[f]=a)}b.push(g)}g[k]=b,h[k]=d}let m=-1;if("object"==typeof d&&"length"in d)for(;++m<j;)f[m]=cv(d[m]);else{let a=cv(d);for(;++m<j;)f[m]=a}m=-1;let n=[],o=[];for(;++m<j;){let a=f[m],b="",d="";99===a?(b=":",d=":"):108===a?b=":":114===a&&(d=":");let e=!1===c.alignDelimiters?1:Math.max(1,i[m]-b.length-d.length),g=b+"-".repeat(e)+d;!1!==c.alignDelimiters&&((e=b.length+e+d.length)>i[m]&&(i[m]=e),o[m]=e),n[m]=g}g.splice(1,0,n),h.splice(1,0,o),k=-1;let p=[];for(;++k<g.length;){let a=g[k],b=h[k];m=-1;let d=[];for(;++m<j;){let e=a[m]||"",g="",h="";if(!1!==c.alignDelimiters){let a=i[m]-(b[m]||0),c=f[m];114===c?g=" ".repeat(a):99===c?a%2?(g=" ".repeat(a/2+.5),h=" ".repeat(a/2-.5)):h=g=" ".repeat(a/2):h=" ".repeat(a)}!1===c.delimiterStart||m||d.push("|"),!1!==c.padding&&(!1!==c.alignDelimiters||""!==e)&&(!1!==c.delimiterStart||m)&&d.push(" "),!1!==c.alignDelimiters&&d.push(g),d.push(e),!1!==c.alignDelimiters&&d.push(h),!1!==c.padding&&d.push(" "),(!1!==c.delimiterEnd||m!==j-1)&&d.push("|")}p.push(!1===c.delimiterEnd?d.join("").replace(/ +$/,""):d.join(""))}return p.join("\n")}(a,{align:b,alignDelimiters:d,padding:c,stringLength:e})}function i(a,b,c){let d=a.children,e=-1,f=[],h=b.enter("tableRow");for(;++e<d.length;)f[e]=g(d[e],a,b,c);return h(),f}}(c),{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:c1}}]})}let dz={}.hasOwnProperty,dA={}.hasOwnProperty,dB=[function(a,b,c,d){if("code"===b.type&&cA(b,d)&&("list"===a.type||a.type===b.type&&cA(a,d)))return!1;if("spread"in c&&"boolean"==typeof c.spread){if("paragraph"===a.type&&(a.type===b.type||"definition"===b.type||"heading"===b.type&&cH(b,d)))return;return+!!c.spread}}],dC=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],dD=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:"\n",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:dC},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:"(?:[\r\n]|$)"},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:dC},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:"(?:[ \r\n*])"},{character:"*",inConstruct:"phrasing",notInConstruct:dC},{atBreak:!0,character:"+",after:"(?:[ \r\n])"},{atBreak:!0,character:"-",after:"(?:[ \r\n-])"},{atBreak:!0,before:"\\d+",character:".",after:"(?:[ \r\n]|$)"},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:dC},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:dC},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:dC},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:dC},{atBreak:!0,character:"~"}];function dE(a){return a.label||!a.identifier?a.label||"":bT(a.identifier)}function dF(a){if(!a._compiled){let b=(a.atBreak?"[\\r\\n][\\t ]*":"")+(a.before?"(?:"+a.before+")":"");a._compiled=RegExp((b?"("+b+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(a.character)?"\\":"")+a.character+(a.after?"(?:"+a.after+")":""),"g")}return a._compiled}let dG=/\r?\n|\r/g;function dH(a,b){let c,d=[],e=0,f=0;for(;c=dG.exec(a);)g(a.slice(e,c.index)),d.push(c[0]),e=c.index+c[0].length,f++;return g(a.slice(e)),d.join("");function g(a){d.push(b(a,f,!a))}}function dI(a,b){return a-b}function dJ(a,b){let c,d=/\\(?=[!-/:-@[-`{-~])/g,e=[],f=[],g=a+b,h=-1,i=0;for(;c=d.exec(g);)e.push(c.index);for(;++h<e.length;)i!==e[h]&&f.push(a.slice(i,e[h])),f.push("\\"),i=e[h];return f.push(a.slice(i)),f.join("")}function dK(a){let b=a||{},c=b.now||{},d=b.lineShift||0,e=c.line||1,f=c.column||1;return{move:function(a){let b=a||"",c=b.split(/\r?\n|\r/g),g=c[c.length-1];return e+=c.length-1,f=1===c.length?f+g.length:1+g.length+d,b},current:function(){return{now:{line:e,column:f},lineShift:d}},shift:function(a){d+=a}}}function dL(a){throw Error("Cannot handle value `"+a+"`, expected node")}function dM(a){throw Error("Cannot handle unknown node `"+a.type+"`")}function dN(a,b){if("definition"===a.type&&a.type===b.type)return 0}function dO(a,b){return function(a,b,c){let d,e=b.indexStack,f=a.children||[],g=[],h=-1,i=c.before;e.push(-1);let j=b.createTracker(c);for(;++h<f.length;){let k,l=f[h];if(e[e.length-1]=h,h+1<f.length){let c=b.handle.handlers[f[h+1].type];c&&c.peek&&(c=c.peek),k=c?c(f[h+1],a,b,{before:"",after:"",...j.current()}).charAt(0):""}else k=c.after;g.length>0&&("\r"===i||"\n"===i)&&"html"===l.type&&(g[g.length-1]=g[g.length-1].replace(/(\r?\n|\r)$/," "),i=" ",(j=b.createTracker(c)).move(g.join("")));let m=b.handle(l,a,b,{...j.current(),after:k,before:i});d&&d===m.slice(0,1)&&(m=cD(d.charCodeAt(0))+m.slice(1));let n=b.attentionEncodeSurroundingInfo;b.attentionEncodeSurroundingInfo=void 0,d=void 0,n&&(g.length>0&&n.before&&i===g[g.length-1].slice(-1)&&(g[g.length-1]=g[g.length-1].slice(0,-1)+cD(i.charCodeAt(0))),n.after&&(d=k)),j.move(m),g.push(m),i=m.slice(-1)}return e.pop(),g.join("")}(a,this,b)}function dP(a,b){return function(a,b,c){let d=b.indexStack,e=a.children||[],f=b.createTracker(c),g=[],h=-1;for(d.push(-1);++h<e.length;){let c=e[h];d[d.length-1]=h,g.push(f.move(b.handle(c,a,b,{before:"\n",after:"\n",...f.current()}))),"list"!==c.type&&(b.bulletLastUsed=void 0),h<e.length-1&&g.push(f.move(function(a,b,c,d){let e=d.join.length;for(;e--;){let f=d.join[e](a,b,c,d);if(!0===f||1===f)break;if("number"==typeof f)return"\n".repeat(1+f);if(!1===f)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}(c,e[h+1],a,b)))}return d.pop(),g.join("")}(a,this,b)}function dQ(a,b){return function(a,b,c){let d=(c.before||"")+(b||"")+(c.after||""),e=[],f=[],g={},h=-1;for(;++h<a.unsafe.length;){let b,c=a.unsafe[h];if(!cx(a.stack,c))continue;let f=a.compilePattern(c);for(;b=f.exec(d);){let a="before"in c||!!c.atBreak,d="after"in c,f=b.index+(a?b[1].length:0);e.includes(f)?(g[f].before&&!a&&(g[f].before=!1),g[f].after&&!d&&(g[f].after=!1)):(e.push(f),g[f]={before:a,after:d})}}e.sort(dI);let i=c.before?c.before.length:0,j=d.length-(c.after?c.after.length:0);for(h=-1;++h<e.length;){let a=e[h];!(a<i)&&!(a>=j)&&(!(a+1<j)||e[h+1]!==a+1||!g[a].after||g[a+1].before||g[a+1].after)&&(e[h-1]!==a-1||!g[a].before||g[a-1].before||g[a-1].after)&&(i!==a&&f.push(dJ(d.slice(i,a),"\\")),i=a,!/[!-/:-@[-`{-~]/.test(d.charAt(a))||c.encode&&c.encode.includes(d.charAt(a))?(f.push(cD(d.charCodeAt(a))),i++):f.push("\\"))}return f.push(dJ(d.slice(i,j),c.after)),f.join("")}(this,a,b)}function dR(a){let b=this;b.compiler=function(c){var d={...b.data("settings"),...a,extensions:b.data("toMarkdownExtensions")||[]};let e={associationId:dE,containerPhrasing:dO,containerFlow:dP,createTracker:dK,compilePattern:dF,enter:function(a){return e.stack.push(a),function(){e.stack.pop()}},handlers:{...cT},handle:void 0,indentLines:dH,indexStack:[],join:[...dB],options:{},safe:dQ,stack:[],unsafe:[...dD]};!function a(b,c){var d,e,f,g;let h,i=-1;if(c.extensions)for(;++i<c.extensions.length;)a(b,c.extensions[i]);for(h in c)if(dA.call(c,h))switch(h){case"extensions":break;case"unsafe":case"join":d=b[h],(e=c[h])&&d.push(...e);break;case"handlers":f=b[h],(g=c[h])&&Object.assign(f,g);break;default:b.options[h]=c[h]}return b}(e,d||{}),e.options.tightDefinitions&&e.join.push(dN),e.handle=function(a,b){let c=b||{};function d(b,...c){let e=d.invalid,f=d.handlers;if(b&&dz.call(b,a)){let c=String(b[a]);e=dz.call(f,c)?f[c]:d.unknown}if(e)return e.call(this,b,...c)}return d.handlers=c.handlers||{},d.invalid=c.invalid,d.unknown=c.unknown,d}("type",{invalid:dL,unknown:dM,handlers:e.handlers});let f=e.handle(c,void 0,e,{before:"\n",after:"\n",now:{line:1,column:1},lineShift:0});return f&&10!==f.charCodeAt(f.length-1)&&13!==f.charCodeAt(f.length-1)&&(f+="\n"),f}}let dS={blockquote:dY,break:function(){return{type:"text",value:"\n"}},code:dZ,definition:dZ,delete:dY,emphasis:dY,footnoteReference:dZ,footnoteDefinition:dZ,heading:function(a){return{type:"paragraph",children:a.children}},html:dZ,image:dW,imageReference:dW,inlineCode:dX,list:dY,listItem:dY,link:dY,linkReference:dY,strong:dY,table:dZ,tableCell:dZ,text:dX,thematicBreak:dZ,toml:dZ,yaml:dZ},dT={},dU=[];function dV(a){let b={...dS},c=a||dT,d=c.keep||dU,e=c.remove||dU,f=-1;for(;++f<e.length;){let a=e[f];"string"==typeof a?b[a]=dZ:b[a[0]]=a[1]}let g={};if(0===d.length)g=b;else{let a;for(a in b)d.includes(a)||(g[a]=b[a]);for(f=-1;++f<d.length;)if(!Object.hasOwn(b,a=d[f]))throw Error("Unknown node type `"+a+"` in `keep`, use a replace tuple with a handle instead: `remove: [['"+a+"', handle]]`")}return function(a){return h(a)};function h(a){let b=a.type,c=a;if(Object.hasOwn(g,b)){let a=g[b];a&&(c=a(c)||void 0)}return(c=Array.isArray(c)?i(c):c)&&"children"in c&&(c.children=i(c.children)),c}function i(a){let b=-1,c=[];for(;++b<a.length;){let d=h(a[b]);Array.isArray(d)?c.push(...i(d)):d&&c.push(d)}var d=c;let e,f=-1,g=[];for(;++f<d.length;){let a=d[f];e&&a.type===e.type&&"value"in a&&"value"in e?e.value+=a.value:(g.push(a),e=a)}return g}}function dW(a){let b="title"in a?a.title:"",c=a.alt||b||"";return c?{type:"text",value:c}:void 0}function dX(a){return{type:"text",value:a.value}}function dY(a){return a.children}function dZ(){}let d$=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,d_=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,d0={};function d1(a,b){return((b||d0).jsx?d_:d$).test(a)}let d2=/[ \t\n\f\r]/g;function d3(a){return""===a.replace(d2,"")}class d4{constructor(a,b,c){this.normal=b,this.property=a,c&&(this.space=c)}}function d5(a,b){let c={},d={};for(let b of a)Object.assign(c,b.property),Object.assign(d,b.normal);return new d4(c,d,b)}function d6(a){return a.toLowerCase()}d4.prototype.normal={},d4.prototype.property={},d4.prototype.space=void 0;class d7{constructor(a,b){this.attribute=b,this.property=a}}d7.prototype.attribute="",d7.prototype.booleanish=!1,d7.prototype.boolean=!1,d7.prototype.commaOrSpaceSeparated=!1,d7.prototype.commaSeparated=!1,d7.prototype.defined=!1,d7.prototype.mustUseProperty=!1,d7.prototype.number=!1,d7.prototype.overloadedBoolean=!1,d7.prototype.property="",d7.prototype.spaceSeparated=!1,d7.prototype.space=void 0;let d8=0,d9=eg(),ea=eg(),eb=eg(),ec=eg(),ed=eg(),ee=eg(),ef=eg();function eg(){return 2**++d8}let eh=Object.keys(e);class ei extends d7{constructor(a,b,c,d){let f=-1;if(super(a,b),function(a,b,c){c&&(a[b]=c)}(this,"space",d),"number"==typeof c)for(;++f<eh.length;){let a=eh[f];!function(a,b,c){c&&(a[b]=c)}(this,eh[f],(c&e[a])===e[a])}}}function ej(a){let b={},c={};for(let[d,e]of Object.entries(a.properties)){let f=new ei(d,a.transform(a.attributes||{},d),e,a.space);a.mustUseProperty&&a.mustUseProperty.includes(d)&&(f.mustUseProperty=!0),b[d]=f,c[d6(d)]=d,c[d6(f.attribute)]=d}return new d4(b,c,a.space)}ei.prototype.defined=!0;let ek=ej({properties:{ariaActiveDescendant:null,ariaAtomic:ea,ariaAutoComplete:null,ariaBusy:ea,ariaChecked:ea,ariaColCount:ec,ariaColIndex:ec,ariaColSpan:ec,ariaControls:ed,ariaCurrent:null,ariaDescribedBy:ed,ariaDetails:null,ariaDisabled:ea,ariaDropEffect:ed,ariaErrorMessage:null,ariaExpanded:ea,ariaFlowTo:ed,ariaGrabbed:ea,ariaHasPopup:null,ariaHidden:ea,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ed,ariaLevel:ec,ariaLive:null,ariaModal:ea,ariaMultiLine:ea,ariaMultiSelectable:ea,ariaOrientation:null,ariaOwns:ed,ariaPlaceholder:null,ariaPosInSet:ec,ariaPressed:ea,ariaReadOnly:ea,ariaRelevant:null,ariaRequired:ea,ariaRoleDescription:ed,ariaRowCount:ec,ariaRowIndex:ec,ariaRowSpan:ec,ariaSelected:ea,ariaSetSize:ec,ariaSort:null,ariaValueMax:ec,ariaValueMin:ec,ariaValueNow:ec,ariaValueText:null,role:null},transform:(a,b)=>"role"===b?b:"aria-"+b.slice(4).toLowerCase()});function el(a,b){return b in a?a[b]:b}function em(a,b){return el(a,b.toLowerCase())}let en=ej({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ee,acceptCharset:ed,accessKey:ed,action:null,allow:null,allowFullScreen:d9,allowPaymentRequest:d9,allowUserMedia:d9,alt:null,as:null,async:d9,autoCapitalize:null,autoComplete:ed,autoFocus:d9,autoPlay:d9,blocking:ed,capture:null,charSet:null,checked:d9,cite:null,className:ed,cols:ec,colSpan:null,content:null,contentEditable:ea,controls:d9,controlsList:ed,coords:ec|ee,crossOrigin:null,data:null,dateTime:null,decoding:null,default:d9,defer:d9,dir:null,dirName:null,disabled:d9,download:eb,draggable:ea,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:d9,formTarget:null,headers:ed,height:ec,hidden:eb,high:ec,href:null,hrefLang:null,htmlFor:ed,httpEquiv:ed,id:null,imageSizes:null,imageSrcSet:null,inert:d9,inputMode:null,integrity:null,is:null,isMap:d9,itemId:null,itemProp:ed,itemRef:ed,itemScope:d9,itemType:ed,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:d9,low:ec,manifest:null,max:null,maxLength:ec,media:null,method:null,min:null,minLength:ec,multiple:d9,muted:d9,name:null,nonce:null,noModule:d9,noValidate:d9,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:d9,optimum:ec,pattern:null,ping:ed,placeholder:null,playsInline:d9,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:d9,referrerPolicy:null,rel:ed,required:d9,reversed:d9,rows:ec,rowSpan:ec,sandbox:ed,scope:null,scoped:d9,seamless:d9,selected:d9,shadowRootClonable:d9,shadowRootDelegatesFocus:d9,shadowRootMode:null,shape:null,size:ec,sizes:null,slot:null,span:ec,spellCheck:ea,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ec,step:null,style:null,tabIndex:ec,target:null,title:null,translate:null,type:null,typeMustMatch:d9,useMap:null,value:ea,width:ec,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ed,axis:null,background:null,bgColor:null,border:ec,borderColor:null,bottomMargin:ec,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:d9,declare:d9,event:null,face:null,frame:null,frameBorder:null,hSpace:ec,leftMargin:ec,link:null,longDesc:null,lowSrc:null,marginHeight:ec,marginWidth:ec,noResize:d9,noHref:d9,noShade:d9,noWrap:d9,object:null,profile:null,prompt:null,rev:null,rightMargin:ec,rules:null,scheme:null,scrolling:ea,standby:null,summary:null,text:null,topMargin:ec,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ec,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:d9,disableRemotePlayback:d9,prefix:null,property:null,results:ec,security:null,unselectable:null},space:"html",transform:em}),eo=ej({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ef,accentHeight:ec,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ec,amplitude:ec,arabicForm:null,ascent:ec,attributeName:null,attributeType:null,azimuth:ec,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ec,by:null,calcMode:null,capHeight:ec,className:ed,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ec,diffuseConstant:ec,direction:null,display:null,dur:null,divisor:ec,dominantBaseline:null,download:d9,dx:null,dy:null,edgeMode:null,editable:null,elevation:ec,enableBackground:null,end:null,event:null,exponent:ec,externalResourcesRequired:null,fill:null,fillOpacity:ec,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ee,g2:ee,glyphName:ee,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ec,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ec,horizOriginX:ec,horizOriginY:ec,id:null,ideographic:ec,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ec,k:ec,k1:ec,k2:ec,k3:ec,k4:ec,kernelMatrix:ef,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ec,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ec,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ec,overlineThickness:ec,paintOrder:null,panose1:null,path:null,pathLength:ec,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ed,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ec,pointsAtY:ec,pointsAtZ:ec,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ef,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ef,rev:ef,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ef,requiredFeatures:ef,requiredFonts:ef,requiredFormats:ef,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ec,specularExponent:ec,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ec,strikethroughThickness:ec,string:null,stroke:null,strokeDashArray:ef,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ec,strokeOpacity:ec,strokeWidth:null,style:null,surfaceScale:ec,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ef,tabIndex:ec,tableValues:null,target:null,targetX:ec,targetY:ec,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ef,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ec,underlineThickness:ec,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ec,values:null,vAlphabetic:ec,vMathematical:ec,vectorEffect:null,vHanging:ec,vIdeographic:ec,version:null,vertAdvY:ec,vertOriginX:ec,vertOriginY:ec,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ec,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:el}),ep=ej({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(a,b)=>"xlink:"+b.slice(5).toLowerCase()}),eq=ej({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:em}),er=ej({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(a,b)=>"xml:"+b.slice(3).toLowerCase()}),es=d5([ek,en,ep,eq,er],"html"),et=d5([ek,eo,ep,eq,er],"svg"),eu=/[A-Z]/g,ev=/-[a-z]/g,ew=/^data[-\w.:]+$/i;function ex(a){return"-"+a.toLowerCase()}function ey(a){return a.charAt(1).toUpperCase()}let ez={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var eA=c(16184);let eB=eD("end"),eC=eD("start");function eD(a){return function(b){let c=b&&b.position&&b.position[a]||{};if("number"==typeof c.line&&c.line>0&&"number"==typeof c.column&&c.column>0)return{line:c.line,column:c.column,offset:"number"==typeof c.offset&&c.offset>-1?c.offset:void 0}}}let eE={}.hasOwnProperty,eF=new Map,eG=/[A-Z]/g,eH=new Set(["table","tbody","thead","tfoot","tr"]),eI=new Set(["td","th"]),eJ="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function eK(a,b,c){return"element"===b.type?function(a,b,c){let d=a.schema;"svg"===b.tagName.toLowerCase()&&"html"===d.space&&(a.schema=et),a.ancestors.push(b);let e=eO(a,b.tagName,!1),f=function(a,b){let c,d,e={};for(d in b.properties)if("children"!==d&&eE.call(b.properties,d)){let f=function(a,b,c){let d=function(a,b){let c=d6(b),d=b,e=d7;if(c in a.normal)return a.property[a.normal[c]];if(c.length>4&&"data"===c.slice(0,4)&&ew.test(b)){if("-"===b.charAt(4)){let a=b.slice(5).replace(ev,ey);d="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=b.slice(4);if(!ev.test(a)){let c=a.replace(eu,ex);"-"!==c.charAt(0)&&(c="-"+c),b="data"+c}}e=ei}return new e(d,b)}(a.schema,b);if(!(null==c||"number"==typeof c&&Number.isNaN(c))){if(Array.isArray(c)&&(c=d.commaSeparated?function(a,b){let c={};return(""===a[a.length-1]?[...a,""]:a).join((c.padRight?" ":"")+","+(!1===c.padLeft?"":" ")).trim()}(c):c.join(" ").trim()),"style"===d.property){let b="object"==typeof c?c:function(a,b){try{return eA(b,{reactCompat:!0})}catch(c){if(a.ignoreInvalidStyle)return{};let b=new ad("Cannot parse `style` attribute",{ancestors:a.ancestors,cause:c,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw b.file=a.filePath||void 0,b.url=eJ+"#cannot-parse-style-attribute",b}}(a,String(c));return"css"===a.stylePropertyNameCase&&(b=function(a){let b,c={};for(b in a)eE.call(a,b)&&(c[function(a){let b=a.replace(eG,eQ);return"ms-"===b.slice(0,3)&&(b="-"+b),b}(b)]=a[b]);return c}(b)),["style",b]}return["react"===a.elementAttributeNameCase&&d.space?ez[d.property]||d.property:d.attribute,c]}}(a,d,b.properties[d]);if(f){let[d,g]=f;a.tableCellAlignToStyle&&"align"===d&&"string"==typeof g&&eI.has(b.tagName)?c=g:e[d]=g}}return c&&((e.style||(e.style={}))["css"===a.stylePropertyNameCase?"text-align":"textAlign"]=c),e}(a,b),g=eN(a,b);return eH.has(b.tagName)&&(g=g.filter(function(a){return"string"!=typeof a||!("object"==typeof a?"text"===a.type&&d3(a.value):d3(a))})),eL(a,f,e,b),eM(f,g),a.ancestors.pop(),a.schema=d,a.create(b,e,f,c)}(a,b,c):"mdxFlowExpression"===b.type||"mdxTextExpression"===b.type?function(a,b){if(b.data&&b.data.estree&&a.evaluater){let c=b.data.estree.body[0];return c.type,a.evaluater.evaluateExpression(c.expression)}eP(a,b.position)}(a,b):"mdxJsxFlowElement"===b.type||"mdxJsxTextElement"===b.type?function(a,b,c){let d=a.schema;"svg"===b.name&&"html"===d.space&&(a.schema=et),a.ancestors.push(b);let e=null===b.name?a.Fragment:eO(a,b.name,!0),f=function(a,b){let c={};for(let d of b.attributes)if("mdxJsxExpressionAttribute"===d.type)if(d.data&&d.data.estree&&a.evaluater){let b=d.data.estree.body[0];b.type;let e=b.expression;e.type;let f=e.properties[0];f.type,Object.assign(c,a.evaluater.evaluateExpression(f.argument))}else eP(a,b.position);else{let e,f=d.name;if(d.value&&"object"==typeof d.value)if(d.value.data&&d.value.data.estree&&a.evaluater){let b=d.value.data.estree.body[0];b.type,e=a.evaluater.evaluateExpression(b.expression)}else eP(a,b.position);else e=null===d.value||d.value;c[f]=e}return c}(a,b),g=eN(a,b);return eL(a,f,e,b),eM(f,g),a.ancestors.pop(),a.schema=d,a.create(b,e,f,c)}(a,b,c):"mdxjsEsm"===b.type?function(a,b){if(b.data&&b.data.estree&&a.evaluater)return a.evaluater.evaluateProgram(b.data.estree);eP(a,b.position)}(a,b):"root"===b.type?function(a,b,c){let d={};return eM(d,eN(a,b)),a.create(b,a.Fragment,d,c)}(a,b,c):"text"===b.type?b.value:void 0}function eL(a,b,c,d){"string"!=typeof c&&c!==a.Fragment&&a.passNode&&(b.node=d)}function eM(a,b){if(b.length>0){let c=b.length>1?b:b[0];c&&(a.children=c)}}function eN(a,b){let c=[],d=-1,e=a.passKeys?new Map:eF;for(;++d<b.children.length;){let f,g=b.children[d];if(a.passKeys){let a="element"===g.type?g.tagName:"mdxJsxFlowElement"===g.type||"mdxJsxTextElement"===g.type?g.name:void 0;if(a){let b=e.get(a)||0;f=a+"-"+b,e.set(a,b+1)}}let h=eK(a,g,f);void 0!==h&&c.push(h)}return c}function eO(a,b,c){let d;if(c)if(b.includes(".")){let a,c=b.split("."),e=-1;for(;++e<c.length;){let b=d1(c[e])?{type:"Identifier",name:c[e]}:{type:"Literal",value:c[e]};a=a?{type:"MemberExpression",object:a,property:b,computed:!!(e&&"Literal"===b.type),optional:!1}:b}d=a}else d=d1(b)&&!/^[a-z]/.test(b)?{type:"Identifier",name:b}:{type:"Literal",value:b};else d={type:"Literal",value:b};if("Literal"===d.type){let b=d.value;return eE.call(a.components,b)?a.components[b]:b}if(a.evaluater)return a.evaluater.evaluateExpression(d);eP(a)}function eP(a,b){let c=new ad("Cannot handle MDX estrees without `createEvaluater`",{ancestors:a.ancestors,place:b,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw c.file=a.filePath||void 0,c.url=eJ+"#cannot-handle-mdx-estrees-without-createevaluater",c}function eQ(a){return"-"+a.toLowerCase()}let eR={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},eS="object"==typeof self?self:globalThis,eT=(a,b)=>{switch(a){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw TypeError("unable to deserialize "+a)}return new eS[a](b)},eU=a=>((a,b)=>{let c=(b,c)=>(a.set(c,b),b),d=e=>{if(a.has(e))return a.get(e);let[f,g]=b[e];switch(f){case 0:case -1:return c(g,e);case 1:{let a=c([],e);for(let b of g)a.push(d(b));return a}case 2:{let a=c({},e);for(let[b,c]of g)a[d(b)]=d(c);return a}case 3:return c(new Date(g),e);case 4:{let{source:a,flags:b}=g;return c(new RegExp(a,b),e)}case 5:{let a=c(new Map,e);for(let[b,c]of g)a.set(d(b),d(c));return a}case 6:{let a=c(new Set,e);for(let b of g)a.add(d(b));return a}case 7:{let{name:a,message:b}=g;return c(eT(a,b),e)}case 8:return c(BigInt(g),e);case"BigInt":return c(Object(BigInt(g)),e);case"ArrayBuffer":return c(new Uint8Array(g).buffer,g);case"DataView":{let{buffer:a}=new Uint8Array(g);return c(new DataView(a),g)}}return c(eT(f,g),e)};return d})(new Map,a)(0),{toString:eV}={},{keys:eW}=Object,eX=a=>{let b=typeof a;if("object"!==b||!a)return[0,b];let c=eV.call(a).slice(8,-1);switch(c){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,c]}return c.includes("Array")?[1,c]:c.includes("Error")?[7,c]:[2,c]},eY=([a,b])=>0===a&&("function"===b||"symbol"===b),eZ=(a,{json:b,lossy:c}={})=>{let d=[];return((a,b,c,d)=>{let e=(a,b)=>{let e=d.push(a)-1;return c.set(b,e),e},f=d=>{if(c.has(d))return c.get(d);let[g,h]=eX(d);switch(g){case 0:{let b=d;switch(h){case"bigint":g=8,b=d.toString();break;case"function":case"symbol":if(a)throw TypeError("unable to serialize "+h);b=null;break;case"undefined":return e([-1],d)}return e([g,b],d)}case 1:{if(h){let a=d;return"DataView"===h?a=new Uint8Array(d.buffer):"ArrayBuffer"===h&&(a=new Uint8Array(d)),e([h,[...a]],d)}let a=[],b=e([g,a],d);for(let b of d)a.push(f(b));return b}case 2:{if(h)switch(h){case"BigInt":return e([h,d.toString()],d);case"Boolean":case"Number":case"String":return e([h,d.valueOf()],d)}if(b&&"toJSON"in d)return f(d.toJSON());let c=[],i=e([g,c],d);for(let b of eW(d))(a||!eY(eX(d[b])))&&c.push([f(b),f(d[b])]);return i}case 3:return e([g,d.toISOString()],d);case 4:{let{source:a,flags:b}=d;return e([g,{source:a,flags:b}],d)}case 5:{let b=[],c=e([g,b],d);for(let[c,e]of d)(a||!(eY(eX(c))||eY(eX(e))))&&b.push([f(c),f(e)]);return c}case 6:{let b=[],c=e([g,b],d);for(let c of d)(a||!eY(eX(c)))&&b.push(f(c));return c}}let{message:i}=d;return e([g,{name:h,message:i}],d)};return f})(!(b||c),!!b,new Map,d)(a),d},e$="function"==typeof structuredClone?(a,b)=>b&&("json"in b||"lossy"in b)?eU(eZ(a,b)):structuredClone(a):(a,b)=>eU(eZ(a,b));function e_(a){let b=[],c=-1,d=0,e=0;for(;++c<a.length;){let f=a.charCodeAt(c),g="";if(37===f&&aJ(a.charCodeAt(c+1))&&aJ(a.charCodeAt(c+2)))e=2;else if(f<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(f))||(g=String.fromCharCode(f));else if(f>55295&&f<57344){let b=a.charCodeAt(c+1);f<56320&&b>56319&&b<57344?(g=String.fromCharCode(f,b),e=1):g="�"}else g=String.fromCharCode(f);g&&(b.push(a.slice(d,c),encodeURIComponent(g)),d=c+e+1,g=""),e&&(c+=e,e=0)}return b.join("")+a.slice(d)}function e0(a,b){let c=[{type:"text",value:"↩"}];return b>1&&c.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(b)}]}),c}function e1(a,b){return"Back to reference "+(a+1)+(b>1?"-"+b:"")}function e2(a,b){let c=b.referenceType,d="]";if("collapsed"===c?d+="[]":"full"===c&&(d+="["+(b.label||b.identifier)+"]"),"imageReference"===b.type)return[{type:"text",value:"!["+b.alt+d}];let e=a.all(b),f=e[0];f&&"text"===f.type?f.value="["+f.value:e.unshift({type:"text",value:"["});let g=e[e.length-1];return g&&"text"===g.type?g.value+=d:e.push({type:"text",value:d}),e}function e3(a){let b=a.spread;return null==b?a.children.length>1:b}function e4(a,b,c){let d=0,e=a.length;if(b){let b=a.codePointAt(d);for(;9===b||32===b;)d++,b=a.codePointAt(d)}if(c){let b=a.codePointAt(e-1);for(;9===b||32===b;)e--,b=a.codePointAt(e-1)}return e>d?a.slice(d,e):""}let e5={blockquote:function(a,b){let c={type:"element",tagName:"blockquote",properties:{},children:a.wrap(a.all(b),!0)};return a.patch(b,c),a.applyData(b,c)},break:function(a,b){let c={type:"element",tagName:"br",properties:{},children:[]};return a.patch(b,c),[a.applyData(b,c),{type:"text",value:"\n"}]},code:function(a,b){let c=b.value?b.value+"\n":"",d={},e=b.lang?b.lang.split(/\s+/):[];e.length>0&&(d.className=["language-"+e[0]]);let f={type:"element",tagName:"code",properties:d,children:[{type:"text",value:c}]};return b.meta&&(f.data={meta:b.meta}),a.patch(b,f),f={type:"element",tagName:"pre",properties:{},children:[f=a.applyData(b,f)]},a.patch(b,f),f},delete:function(a,b){let c={type:"element",tagName:"del",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},emphasis:function(a,b){let c={type:"element",tagName:"em",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},footnoteReference:function(a,b){let c,d="string"==typeof a.options.clobberPrefix?a.options.clobberPrefix:"user-content-",e=String(b.identifier).toUpperCase(),f=e_(e.toLowerCase()),g=a.footnoteOrder.indexOf(e),h=a.footnoteCounts.get(e);void 0===h?(h=0,a.footnoteOrder.push(e),c=a.footnoteOrder.length):c=g+1,h+=1,a.footnoteCounts.set(e,h);let i={type:"element",tagName:"a",properties:{href:"#"+d+"fn-"+f,id:d+"fnref-"+f+(h>1?"-"+h:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(c)}]};a.patch(b,i);let j={type:"element",tagName:"sup",properties:{},children:[i]};return a.patch(b,j),a.applyData(b,j)},heading:function(a,b){let c={type:"element",tagName:"h"+b.depth,properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},html:function(a,b){if(a.options.allowDangerousHtml){let c={type:"raw",value:b.value};return a.patch(b,c),a.applyData(b,c)}},imageReference:function(a,b){let c=String(b.identifier).toUpperCase(),d=a.definitionById.get(c);if(!d)return e2(a,b);let e={src:e_(d.url||""),alt:b.alt};null!==d.title&&void 0!==d.title&&(e.title=d.title);let f={type:"element",tagName:"img",properties:e,children:[]};return a.patch(b,f),a.applyData(b,f)},image:function(a,b){let c={src:e_(b.url)};null!==b.alt&&void 0!==b.alt&&(c.alt=b.alt),null!==b.title&&void 0!==b.title&&(c.title=b.title);let d={type:"element",tagName:"img",properties:c,children:[]};return a.patch(b,d),a.applyData(b,d)},inlineCode:function(a,b){let c={type:"text",value:b.value.replace(/\r?\n|\r/g," ")};a.patch(b,c);let d={type:"element",tagName:"code",properties:{},children:[c]};return a.patch(b,d),a.applyData(b,d)},linkReference:function(a,b){let c=String(b.identifier).toUpperCase(),d=a.definitionById.get(c);if(!d)return e2(a,b);let e={href:e_(d.url||"")};null!==d.title&&void 0!==d.title&&(e.title=d.title);let f={type:"element",tagName:"a",properties:e,children:a.all(b)};return a.patch(b,f),a.applyData(b,f)},link:function(a,b){let c={href:e_(b.url)};null!==b.title&&void 0!==b.title&&(c.title=b.title);let d={type:"element",tagName:"a",properties:c,children:a.all(b)};return a.patch(b,d),a.applyData(b,d)},listItem:function(a,b,c){let d=a.all(b),e=c?function(a){let b=!1;if("list"===a.type){b=a.spread||!1;let c=a.children,d=-1;for(;!b&&++d<c.length;)b=e3(c[d])}return b}(c):e3(b),f={},g=[];if("boolean"==typeof b.checked){let a,c=d[0];c&&"element"===c.type&&"p"===c.tagName?a=c:(a={type:"element",tagName:"p",properties:{},children:[]},d.unshift(a)),a.children.length>0&&a.children.unshift({type:"text",value:" "}),a.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:b.checked,disabled:!0},children:[]}),f.className=["task-list-item"]}let h=-1;for(;++h<d.length;){let a=d[h];(e||0!==h||"element"!==a.type||"p"!==a.tagName)&&g.push({type:"text",value:"\n"}),"element"!==a.type||"p"!==a.tagName||e?g.push(a):g.push(...a.children)}let i=d[d.length-1];i&&(e||"element"!==i.type||"p"!==i.tagName)&&g.push({type:"text",value:"\n"});let j={type:"element",tagName:"li",properties:f,children:g};return a.patch(b,j),a.applyData(b,j)},list:function(a,b){let c={},d=a.all(b),e=-1;for("number"==typeof b.start&&1!==b.start&&(c.start=b.start);++e<d.length;){let a=d[e];if("element"===a.type&&"li"===a.tagName&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){c.className=["contains-task-list"];break}}let f={type:"element",tagName:b.ordered?"ol":"ul",properties:c,children:a.wrap(d,!0)};return a.patch(b,f),a.applyData(b,f)},paragraph:function(a,b){let c={type:"element",tagName:"p",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},root:function(a,b){let c={type:"root",children:a.wrap(a.all(b))};return a.patch(b,c),a.applyData(b,c)},strong:function(a,b){let c={type:"element",tagName:"strong",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},table:function(a,b){let c=a.all(b),d=c.shift(),e=[];if(d){let c={type:"element",tagName:"thead",properties:{},children:a.wrap([d],!0)};a.patch(b.children[0],c),e.push(c)}if(c.length>0){let d={type:"element",tagName:"tbody",properties:{},children:a.wrap(c,!0)},f=eC(b.children[1]),g=eB(b.children[b.children.length-1]);f&&g&&(d.position={start:f,end:g}),e.push(d)}let f={type:"element",tagName:"table",properties:{},children:a.wrap(e,!0)};return a.patch(b,f),a.applyData(b,f)},tableCell:function(a,b){let c={type:"element",tagName:"td",properties:{},children:a.all(b)};return a.patch(b,c),a.applyData(b,c)},tableRow:function(a,b,c){let d=c?c.children:void 0,e=0===(d?d.indexOf(b):1)?"th":"td",f=c&&"table"===c.type?c.align:void 0,g=f?f.length:b.children.length,h=-1,i=[];for(;++h<g;){let c=b.children[h],d={},g=f?f[h]:void 0;g&&(d.align=g);let j={type:"element",tagName:e,properties:d,children:[]};c&&(j.children=a.all(c),a.patch(c,j),j=a.applyData(c,j)),i.push(j)}let j={type:"element",tagName:"tr",properties:{},children:a.wrap(i,!0)};return a.patch(b,j),a.applyData(b,j)},text:function(a,b){let c={type:"text",value:function(a){let b=String(a),c=/\r?\n|\r/g,d=c.exec(b),e=0,f=[];for(;d;)f.push(e4(b.slice(e,d.index),e>0,!0),d[0]),e=d.index+d[0].length,d=c.exec(b);return f.push(e4(b.slice(e),e>0,!1)),f.join("")}(String(b.value))};return a.patch(b,c),a.applyData(b,c)},thematicBreak:function(a,b){let c={type:"element",tagName:"hr",properties:{},children:[]};return a.patch(b,c),a.applyData(b,c)},toml:e6,yaml:e6,definition:e6,footnoteDefinition:e6};function e6(){}let e7={}.hasOwnProperty,e8={};function e9(a,b){a.position&&(b.position=function(a){let b=eC(a),c=eB(a);if(b&&c)return{start:b,end:c}}(a))}function fa(a,b){let c=b;if(a&&a.data){let b=a.data.hName,d=a.data.hChildren,e=a.data.hProperties;"string"==typeof b&&("element"===c.type?c.tagName=b:c={type:"element",tagName:b,properties:{},children:"children"in c?c.children:[c]}),"element"===c.type&&e&&Object.assign(c.properties,e$(e)),"children"in c&&c.children&&null!=d&&(c.children=d)}return c}function fb(a,b){let c=[],d=-1;for(b&&c.push({type:"text",value:"\n"});++d<a.length;)d&&c.push({type:"text",value:"\n"}),c.push(a[d]);return b&&a.length>0&&c.push({type:"text",value:"\n"}),c}function fc(a){let b=0,c=a.charCodeAt(b);for(;9===c||32===c;)b++,c=a.charCodeAt(b);return a.slice(b)}function fd(a,b){let c=function(a,b){let c=b||e8,d=new Map,e=new Map,f={all:function(a){let b=[];if("children"in a){let c=a.children,d=-1;for(;++d<c.length;){let e=f.one(c[d],a);if(e){if(d&&"break"===c[d-1].type&&(Array.isArray(e)||"text"!==e.type||(e.value=fc(e.value)),!Array.isArray(e)&&"element"===e.type)){let a=e.children[0];a&&"text"===a.type&&(a.value=fc(a.value))}Array.isArray(e)?b.push(...e):b.push(e)}}}return b},applyData:fa,definitionById:d,footnoteById:e,footnoteCounts:new Map,footnoteOrder:[],handlers:{...e5,...c.handlers},one:function(a,b){let c=a.type,d=f.handlers[c];if(e7.call(f.handlers,c)&&d)return d(f,a,b);if(f.options.passThrough&&f.options.passThrough.includes(c)){if("children"in a){let{children:b,...c}=a,d=e$(c);return d.children=f.all(a),d}return e$(a)}return(f.options.unknownHandler||function(a,b){let c=b.data||{},d="value"in b&&!(e7.call(c,"hProperties")||e7.call(c,"hChildren"))?{type:"text",value:b.value}:{type:"element",tagName:"div",properties:{},children:a.all(b)};return a.patch(b,d),a.applyData(b,d)})(f,a,b)},options:c,patch:e9,wrap:fb};return cG(a,function(a){if("definition"===a.type||"footnoteDefinition"===a.type){let b="definition"===a.type?d:e,c=String(a.identifier).toUpperCase();b.has(c)||b.set(c,a)}}),f}(a,b),d=c.one(a,void 0),e=function(a){let b="string"==typeof a.options.clobberPrefix?a.options.clobberPrefix:"user-content-",c=a.options.footnoteBackContent||e0,d=a.options.footnoteBackLabel||e1,e=a.options.footnoteLabel||"Footnotes",f=a.options.footnoteLabelTagName||"h2",g=a.options.footnoteLabelProperties||{className:["sr-only"]},h=[],i=-1;for(;++i<a.footnoteOrder.length;){let e=a.footnoteById.get(a.footnoteOrder[i]);if(!e)continue;let f=a.all(e),g=String(e.identifier).toUpperCase(),j=e_(g.toLowerCase()),k=0,l=[],m=a.footnoteCounts.get(g);for(;void 0!==m&&++k<=m;){l.length>0&&l.push({type:"text",value:" "});let a="string"==typeof c?c:c(i,k);"string"==typeof a&&(a={type:"text",value:a}),l.push({type:"element",tagName:"a",properties:{href:"#"+b+"fnref-"+j+(k>1?"-"+k:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof d?d:d(i,k),className:["data-footnote-backref"]},children:Array.isArray(a)?a:[a]})}let n=f[f.length-1];if(n&&"element"===n.type&&"p"===n.tagName){let a=n.children[n.children.length-1];a&&"text"===a.type?a.value+=" ":n.children.push({type:"text",value:" "}),n.children.push(...l)}else f.push(...l);let o={type:"element",tagName:"li",properties:{id:b+"fn-"+j},children:a.wrap(f,!0)};a.patch(e,o),h.push(o)}if(0!==h.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:f,properties:{...e$(g),id:"footnote-label"},children:[{type:"text",value:e}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:a.wrap(h,!0)},{type:"text",value:"\n"}]}}(c),f=Array.isArray(d)?{type:"root",children:d}:d||{type:"root",children:[]};return e&&f.children.push({type:"text",value:"\n"},e),f}function fe(a,b){return a&&"run"in a?async function(c,d){let e=fd(c,{file:d,...b});await a.run(e,d)}:function(c,d){return fd(c,{file:d,...a||b})}}let ff=[],fg={allowDangerousHtml:!0},fh=/^(https?|ircs?|mailto|xmpp)$/i,fi=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function fj(a){let b=function(a){let b=a.rehypePlugins||ff,c=a.remarkPlugins||ff,d=a.remarkRehypeOptions?{...a.remarkRehypeOptions,...fg}:fg;return aq().use(bY).use(c).use(fe,d).use(b)}(a),c=function(a){let b=a.children||"",c=new aj;return"string"==typeof b&&(c.value=b),c}(a);return function(a,b){let c=b.allowedElements,d=b.allowElement,e=b.components,g=b.disallowedElements,h=b.skipHtml,i=b.unwrapDisallowed,j=b.urlTransform||fk;for(let a of fi)Object.hasOwn(b,a.from)&&(a.from,a.to&&a.to,a.id);return b.className&&(a={type:"element",tagName:"div",properties:{className:b.className},children:"root"===a.type?a.children:[a]}),cG(a,function(a,b,e){if("raw"===a.type&&e&&"number"==typeof b)return h?e.children.splice(b,1):e.children[b]={type:"text",value:a.value},b;if("element"===a.type){let b;for(b in eR)if(Object.hasOwn(eR,b)&&Object.hasOwn(a.properties,b)){let c=a.properties[b],d=eR[b];(null===d||d.includes(a.tagName))&&(a.properties[b]=j(String(c||""),b,a))}}if("element"===a.type){let f=c?!c.includes(a.tagName):!!g&&g.includes(a.tagName);if(!f&&d&&"number"==typeof b&&(f=!d(a,b,e)),f&&e&&"number"==typeof b)return i&&a.children?e.children.splice(b,1,...a.children):e.children.splice(b,1),b}}),function(a,b){var c,d,e,f;let g;if(!b||void 0===b.Fragment)throw TypeError("Expected `Fragment` in options");let h=b.filePath||void 0;if(b.development){if("function"!=typeof b.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");c=h,d=b.jsxDEV,g=function(a,b,e,f){let g=Array.isArray(e.children),h=eC(a);return d(b,e,f,g,{columnNumber:h?h.column-1:void 0,fileName:c,lineNumber:h?h.line:void 0},void 0)}}else{if("function"!=typeof b.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof b.jsxs)throw TypeError("Expected `jsxs` in production options");e=b.jsx,f=b.jsxs,g=function(a,b,c,d){let g=Array.isArray(c.children)?f:e;return d?g(b,c,d):g(b,c)}}let i={Fragment:b.Fragment,ancestors:[],components:b.components||{},create:g,elementAttributeNameCase:b.elementAttributeNameCase||"react",evaluater:b.createEvaluater?b.createEvaluater():void 0,filePath:h,ignoreInvalidStyle:b.ignoreInvalidStyle||!1,passKeys:!1!==b.passKeys,passNode:b.passNode||!1,schema:"svg"===b.space?et:es,stylePropertyNameCase:b.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==b.tableCellAlignToStyle},j=eK(i,a,void 0);return j&&"string"!=typeof j?j:i.create(a,i.Fragment,{children:j||void 0},void 0)}(a,{Fragment:f.Fragment,components:e,ignoreInvalidStyle:!0,jsx:f.jsx,jsxs:f.jsxs,passKeys:!0,passNode:!0})}(b.runSync(b.parse(c),c),a)}function fk(a){let b=a.indexOf(":"),c=a.indexOf("?"),d=a.indexOf("#"),e=a.indexOf("/");return -1===b||-1!==e&&b>e||-1!==c&&b>c||-1!==d&&b>d||fh.test(a.slice(0,b))?a:""}function fl({source:a,className:b,filename:c}){let d=(0,g.useRef)(null),[e,h]=(0,g.useState)(null),[i,k]=(0,g.useState)(null),{resolvedTheme:l}=(0,j.D)(),m=c&&(c.split(/[\\/]/).pop()?.trim()??"").replace(/\.(mmd|md|markdown)$/i,"").trim()||"diagram",n=!!i&&!e;return(0,f.jsxs)("div",{className:b,children:[n&&(0,f.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,f.jsx)("button",{type:"button",onClick:()=>{if(!i)return;let a=d.current?.querySelector("svg");if(!a)return void h("SVG export failed: rendered SVG not found");let b=a.cloneNode(!0);b.setAttribute("xmlns","http://www.w3.org/2000/svg"),b.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink");let c=new XMLSerializer().serializeToString(b),e=new Blob([c.startsWith("<?xml")?c:`<?xml version="1.0" encoding="UTF-8"?>
6
+ ${c}`],{type:"image/svg+xml;charset=utf-8"}),f=URL.createObjectURL(e),g=document.createElement("a");g.href=f,g.download=`${m}.svg`,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(f)},className:"btn btn-sm","aria-label":"Export diagram as SVG",title:"Export as SVG",children:"SVG"}),(0,f.jsx)("button",{type:"button",onClick:()=>{if(!i)return;let a=d.current?.querySelector("svg");if(!a)return void h("PNG export failed: rendered SVG not found");let b=800,c=600,e=a.viewBox?.baseVal;if(e&&e.width>0&&e.height>0)b=e.width,c=e.height;else try{let d=a.getBBox();d.width>0&&d.height>0&&(b=d.width,c=d.height)}catch{}let f=a.cloneNode(!0);f.setAttribute("xmlns","http://www.w3.org/2000/svg"),f.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),f.setAttribute("width",String(b)),f.setAttribute("height",String(c));let g=new XMLSerializer().serializeToString(f),j=new TextEncoder().encode(g),k="";for(let a=0;a<j.length;a++)k+=String.fromCharCode(j[a]);let n=`data:image/svg+xml;base64,${btoa(k)}`,o=document.createElement("canvas");o.width=Math.max(1,Math.round(2*b)),o.height=Math.max(1,Math.round(2*c));let p=o.getContext("2d");if(!p)return void h("PNG export failed: 2D canvas context unavailable");let q=new Image;q.onload=()=>{p.fillStyle="light"===l?"#ffffff":"#1f2937",p.fillRect(0,0,o.width,o.height),p.drawImage(q,0,0,o.width,o.height);try{o.toBlob(a=>{if(!a)return void h("PNG export failed: canvas returned empty blob");let b=URL.createObjectURL(a),c=document.createElement("a");c.href=b,c.download=`${m}.png`,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(b)},"image/png")}catch(b){let a=b instanceof Error?b.message:String(b);h(`PNG export failed: ${a}`)}},q.onerror=()=>{h("PNG export failed: SVG could not be loaded as an image (it may reference external resources or unsupported features)")},q.src=n},className:"btn btn-sm","aria-label":"Export diagram as PNG",title:"Export as PNG (2x)",children:"PNG"})]}),e&&(0,f.jsxs)("pre",{className:"text-[var(--danger)] whitespace-pre-wrap mb-2 text-sm",children:["Mermaid render error: ",e]}),(0,f.jsx)("div",{ref:d}),e&&(0,f.jsx)("pre",{className:"mt-2 p-3 bg-zinc-900 text-zinc-100 text-xs overflow-x-auto",children:a})]})}function fm({content:a,className:b}){return(0,f.jsx)("div",{className:`prose dark:prose-invert max-w-none text-[var(--text-primary)] ${b||""}`,children:(0,f.jsx)(fj,{remarkPlugins:[dy],components:{h1:({children:a})=>(0,f.jsx)("h1",{className:"text-3xl font-black mb-6 bg-gradient-to-r from-[var(--accent)] via-amber-accent-light to-[var(--accent)] bg-clip-text text-transparent drop-shadow-[0_0_15px_color-mix(in_srgb,var(--accent)_20%,transparent)] font-title tracking-tight",children:a}),h2:({children:a})=>(0,f.jsx)("h2",{className:"text-amber-accent-light text-2xl font-bold mb-4 mt-8 border-b border-amber-accent/10 pb-2",children:a}),h3:({children:a})=>(0,f.jsx)("h3",{className:"text-amber-accent-light text-xl font-bold mb-3 mt-6",children:a}),h4:({children:a})=>(0,f.jsx)("h4",{className:"text-amber-accent-light text-lg font-semibold mb-2 mt-4",children:a}),h5:({children:a})=>(0,f.jsx)("h5",{className:"text-amber-accent-light text-base font-semibold mb-2",children:a}),h6:({children:a})=>(0,f.jsx)("h6",{className:"text-amber-accent-light text-sm font-semibold mb-2",children:a}),blockquote:({children:a})=>(0,f.jsx)("blockquote",{className:"border-l-4 border-amber-accent/30 bg-amber-accent/5 px-6 py-3 rounded-r-lg my-8 text-[var(--text-secondary)] italic leading-relaxed",children:a}),strong:({children:a})=>(0,f.jsx)("strong",{className:"font-bold text-amber-accent-light",children:a}),code:({className:a,children:b,...c})=>"language-mermaid"===a?(0,f.jsx)(fl,{source:String(b).replace(/\n$/,""),className:"my-4"}):(0,f.jsx)("code",{className:a,...c,children:b})},children:a})})}function fn({html:a}){let b=(0,g.useMemo)(()=>`<!doctype html><html><head><meta charset="utf-8"><base href="/api/reports/"><style>body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;margin:16px;color:#111}img{max-width:100%}</style></head><body>${a}</body></html>`,[a]);return(0,f.jsx)("iframe",{title:"report",sandbox:"allow-same-origin",srcDoc:b,style:{width:"100%",height:"100%",border:"0",background:"white"}})}function fo({fileId:a,initial:b,expectedUpdatedAt:c,onClose:d,onSaved:e,onDirtyChange:h}){let[j,k]=(0,g.useState)(b),[l,m]=(0,g.useState)(!1),n=j!==b;function o(){(!n||window.confirm("You have unsaved changes. Discard them?"))&&d()}async function p(){m(!0);try{let b=await fetch(`/api/files/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:j,expected_updated_at:c})});if(409===b.status)return void i.o.error("This file changed elsewhere since you opened it — reload before saving to avoid overwriting the newer version.");if(!b.ok){let a=await b.text().catch(()=>"");i.o.error(`Save failed${a?`: ${a}`:""}`);return}let f=await b.json();e(f),d()}catch(a){i.o.error(`Save failed: ${a?.message??String(a)}`)}finally{m(!1)}}return(0,f.jsx)(S.l,{open:!0,onClose:o,title:"Edit HTML source",widthClass:"max-w-4xl",children:(0,f.jsxs)("div",{className:"flex flex-col gap-4",style:{height:"min(70vh, 600px)"},children:[(0,f.jsx)("textarea",{value:j,onChange:a=>{let c=a.target.value;k(c),h?.(c!==b)},className:"flex-1 font-mono text-sm p-3 border border-[var(--border)] rounded resize-none bg-[var(--bg-secondary)] text-[var(--text-primary)]",spellCheck:!1}),(0,f.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,f.jsx)("button",{type:"button",onClick:o,disabled:l,className:"btn btn-md",children:"Cancel"}),(0,f.jsx)("button",{type:"button",onClick:p,disabled:l,className:"btn btn-md",children:l?"Saving...":"Save"})]})]})})}function fp({content:a,onChange:b}){let c=(0,g.useRef)(null);return(0,f.jsx)("div",{className:"flex flex-col h-full bg-[var(--bg-primary)]",children:(0,f.jsx)("textarea",{ref:c,value:a,onChange:a=>b(a.target.value),className:"flex-1 w-full p-8 bg-transparent border-none outline-none resize-none font-mono text-[14px] text-[var(--text-primary)] leading-relaxed scrollbar-thin",placeholder:"Start typing your markdown...",spellCheck:!1})})}function fq({open:a,title:b,onClose:c,onConfirm:d,loading:e}){return(0,f.jsx)(V.T,{open:a,onClose:c,onConfirm:d,title:"Delete file",message:(0,f.jsxs)(f.Fragment,{children:['Delete "',(0,f.jsx)("span",{className:"font-bold text-[var(--text-primary)]",children:b}),'"? Knowledge Base files are recoverable from git history (Time Travel). Project files are only removed from the index — the file on disk is untouched.']}),confirmLabel:"Delete",destructive:!0,loading:e})}function fr({open:a,onClose:b,title:c,body:d,detail:e}){return(0,f.jsxs)(S.l,{open:a,onClose:b,title:c,children:[(0,f.jsx)("p",{className:"text-sm text-[var(--text-primary)] mb-4 leading-relaxed",children:d}),e&&(0,f.jsxs)("div",{className:"bg-[var(--danger-soft)] border border-[var(--danger)]/20 rounded-lg p-4 mb-6",children:[(0,f.jsx)("p",{className:"text-[11px] text-[var(--danger)] uppercase tracking-tighter font-bold mb-2 opacity-70",children:"Detail:"}),(0,f.jsx)("pre",{className:"text-[12px] font-mono text-[var(--danger)] whitespace-pre-wrap break-words leading-tight overflow-x-auto max-h-48 custom-scrollbar",children:e})]}),(0,f.jsx)("div",{className:"flex justify-end",children:(0,f.jsx)("button",{onClick:b,className:"btn btn-md btn-destructive",children:"Got it"})})]})}let fs=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M3 6h18"}),(0,f.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,f.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]}),ft=({className:a})=>(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a,children:[(0,f.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,f.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,f.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]});function fu(a,b,c){let d=new Blob([a],{type:c}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=b,document.body.appendChild(f),f.click(),f.remove(),URL.revokeObjectURL(e)}let fv=({filled:a,className:b})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",fill:a?"currentColor":"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:b,children:(0,f.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})});function fw({fileId:a,onDelete:b,onChanged:c,onDirtyChange:d}){var e;let[h,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(null),[m,n]=(0,g.useState)(!1),[o,p]=(0,g.useState)(!1),[q,s]=(0,g.useState)([]),[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(""),[y,z]=(0,g.useState)(!1),[A,B]=(0,g.useState)(!1),[D,E]=(0,g.useState)(!1),[F,G]=(0,g.useState)(!1),[H,I]=(0,g.useState)(!1),[K,L]=(0,g.useState)(""),[M,N]=(0,g.useState)(""),[O,P]=(0,g.useState)(void 0),[Q,R]=(0,g.useState)(!1),[S,T]=(0,g.useState)(!1),[U,V]=(0,g.useState)(!1),W=()=>(h?.title||"untitled").replace(/\.(md|mmd|html)$/i,""),Y=async()=>{h&&(fu(String(await aq().use(bY).use(dy).use(dV,{keep:["code","inlineCode","table","tableCell"]}).use(dR).process(h.content)),`${W()}.txt`,"text/plain"),i.o.success("Exported text"))},[Z,$]=(0,g.useState)(!1),[_,aa]=(0,g.useState)(!1),ab=!!h?.path.endsWith(".html"),ac=async(a,b,c,d)=>{d(!0);let e=i.o.loading(`Generating ${c}…`);try{let d=await fetch(a);if(!d.ok){let a=await d.text(),b=`Failed to export ${c} (HTTP ${d.status})`;try{let c=JSON.parse(a);c?.error&&(b=c.error)}catch{console.error(`[export-${c}] non-JSON error response:`,a)}i.o.error(b,{id:e});return}let f=d.headers.get("content-disposition")||"",g=/filename="([^"]+)"/.exec(f),h=g?.[1]??b,j=await d.blob(),k=URL.createObjectURL(j),l=document.createElement("a");l.href=k,l.download=h,document.body.appendChild(l),l.click(),l.remove(),URL.revokeObjectURL(k),i.o.success(`Exported ${c}`,{id:e})}catch(a){console.error(`[export-${c}] request failed:`,a),i.o.error(`Failed to export ${c} — check the browser console for details.`,{id:e})}finally{d(!1)}},ad=()=>{h&&ac(ab?`/api/files/${h.id}/export-html?format=pdf`:`/api/files/${h.id}/export-pdf`,`${W()}.pdf`,"PDF",$)},ae=async()=>{if(a){R(!0);try{let b=await fetch(`/api/files/${a}`);if(b.ok){let a=await b.json();j(a),w(a.content)}else i.o.error(`Failed to refresh file (HTTP ${b.status})`)}catch(a){i.o.error(`Failed to refresh file: ${a?.message??"Network error"}`)}finally{R(!1)}}},af=(0,g.useRef)(a);(0,g.useRef)(d);let[ag,ah]=(0,g.useState)(!1),ai=async()=>{if(null!=a){T(!0);try{let d=await fetch(`/api/files/${a}`,{method:"DELETE"});if(d.ok)l(null),j(null),b(a).catch(a=>console.error("onDelete after orphan remove failed:",a)),c?.();else{let a=await d.json().catch(()=>({}));l({kind:"http",message:a?.error??`Remove failed: HTTP ${d.status}`,status:d.status})}}catch(a){l({kind:"network",message:a?.message??"Network error while removing orphan row"})}finally{T(!1)}}},aj=async()=>{if(a){u(!0);try{let b=await fetch(`/api/files/${a}/history`);if(b.ok){let c=await b.json();if(af.current!==a)return;s(c)}}catch(a){console.error("Failed to fetch history:",a)}finally{af.current===a&&u(!1)}}},ak=async b=>{if(a)try{let c=await fetch(`/api/files/${a}/history/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({hash:b})});if(c.ok){let b=await c.json();if(af.current!==a)return;j(c=>c&&c.id===a?{...c,content:b.content}:c),w(b.content),p(!1),i.o.success("Restored from history")}else{let a=await c.json().catch(()=>({}));i.o.error(a?.error||"Failed to restore version")}}catch(a){i.o.error(`Failed to restore version: ${a?.message??"Network error"}`)}},al=()=>{n(!1),w(h?.content||"")},am=async()=>{if(!h)return;let a=h.id;try{B(!0);let b=await fetch(`/api/files/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:v,expected_updated_at:h.updated_at})});if(b.ok){let c=await b.json();if(af.current!==a){c.git_warning&&console.warn(`[kontexta] git_warning for stale file ${a}:`,c.git_warning);return}j(c),n(!1),i.o.success("Saved"),c.git_warning&&(L("Git commit failed"),N("Your changes were saved to the database, but Kontexta could not create a Git history entry for this file."),P(c.git_warning),I(!0))}else if(409===b.status){let c,d;try{let a=await b.json();c=a?.current?.content,d=a?.current?.updated_at}catch{}af.current===a&&(void 0!==c&&void 0!==d&&j(a=>a?{...a,content:c,updated_at:d}:a),L("File changed on disk"),N("This file was NOT saved — it was modified elsewhere since you opened it. Disk content has been reloaded below; your edits are still in the editor. Click Save again to overwrite with your edits."),P(void 0),I(!0))}else{let c=`Save failed (${b.status})`;try{let a=await b.json();a?.error&&(c=a.error)}catch{}af.current===a&&(L("Save failed"),N("Your changes were NOT saved."),P(c),I(!0))}}catch(b){console.error("Failed to save file:",b),af.current===a&&(L("Save failed"),N("Your changes were NOT saved — a network error occurred."),P(b?.message??"Network error while saving"),I(!0))}finally{af.current===a&&B(!1)}},an=async()=>{if(h){G(!0);try{await b(h.id),j(null),E(!1)}finally{G(!1)}}};if(!a)return(0,f.jsx)("div",{className:"h-full flex flex-col items-center justify-center animate-fade-in",children:(0,f.jsx)(C,{icon:(0,f.jsx)(x,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),title:"Select a file to preview",hint:"Choose a file from the list on the left"})});if(y)return(0,f.jsxs)("div",{className:"h-full flex flex-col animate-fade-in",children:[(0,f.jsxs)("div",{className:"border-b border-[var(--border)] px-6 py-4",children:[(0,f.jsx)("div",{className:"skeleton h-6 w-48 mb-2"}),(0,f.jsx)("div",{className:"skeleton h-4 w-32"})]}),(0,f.jsxs)("div",{className:"flex-1 p-6 space-y-4",children:[(0,f.jsx)("div",{className:"skeleton h-4 w-full"}),(0,f.jsx)("div",{className:"skeleton h-4 w-5/6"}),(0,f.jsx)("div",{className:"skeleton h-4 w-4/6"}),(0,f.jsx)("div",{className:"skeleton h-4 w-full"}),(0,f.jsx)("div",{className:"skeleton h-4 w-3/4"})]})]});if(!h)return k?.kind==="disk_missing"?(0,f.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-[var(--text-secondary)] gap-4 animate-fade-in p-8",children:[(0,f.jsx)(X,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),(0,f.jsxs)("div",{className:"text-center max-w-lg",children:[(0,f.jsx)("p",{className:"text-lg font-bold text-[var(--text-primary)]",children:"File is missing on disk"}),(0,f.jsx)("p",{className:"text-sm font-medium text-[var(--text-secondary)] mt-2",children:"The index still has a row for this file, but the file at the path below no longer exists. This usually happens when the file was deleted while the watcher wasn't running."}),k.path&&(0,f.jsx)("pre",{className:"mt-3 p-2 bg-[var(--bg-tertiary)] text-[var(--text-primary)] text-xs overflow-x-auto rounded",children:k.path}),(0,f.jsx)("button",{type:"button",className:"btn btn-sm mt-4",onClick:ai,disabled:S,children:S?"Removing…":"Remove from index"})]})]}):k?(0,f.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-[var(--text-secondary)] gap-3 animate-fade-in p-8",children:[(0,f.jsx)(X,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),(0,f.jsxs)("div",{className:"text-center max-w-lg",children:[(0,f.jsxs)("p",{className:"text-lg font-bold text-[var(--text-primary)]",children:["Failed to load file",k.status?` (HTTP ${k.status})`:""]}),(0,f.jsx)("p",{className:"text-sm font-medium text-[var(--text-secondary)] mt-2 break-words",children:k.message})]})]}):(0,f.jsx)("div",{className:"h-full flex flex-col items-center justify-center animate-fade-in",children:(0,f.jsx)(C,{icon:(0,f.jsx)(J,{className:"w-16 h-16 opacity-40 dark-icon","aria-hidden":!0}),title:"File not found",hint:"This file may have been moved or deleted"})});let ao=h.path.replace(/\\/g,"/").includes("/publish/");return(0,f.jsxs)("div",{className:"h-full flex flex-col animate-fade-in",children:[(0,f.jsxs)("div",{className:"h-10 px-4 border-b border-[var(--border)] flex items-center gap-4 text-[14px] sticky top-0 bg-[var(--bg-primary)] z-10",children:[["view","edit","history"].filter(a=>"edit"!==a||!h.path.endsWith(".html")&&!ao).map(a=>{let b="view"===a&&!m&&!o||"edit"===a&&m||"history"===a&&o;return(0,f.jsx)("button",{onClick:()=>{if("edit"===a){m||(n(!0),w(h?.content||""));return}m&&al(),p("history"===a),"history"===a&&aj()},className:`btn btn-sm -mb-px py-2 border-b-2 transition-colors ${b?"border-[var(--accent)]":""}`,children:a[0].toUpperCase()+a.slice(1)},a)}),ao&&(0,f.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded bg-amber-accent/10 border border-amber-accent/30 text-[10px] text-[var(--text-primary)] uppercase tracking-wider font-bold",title:"Regenerated on publish",children:"Read-only"}),(0,f.jsx)("div",{className:"ml-auto flex items-center gap-3 text-[12px] text-[var(--text-secondary)] font-mono",children:m?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("button",{onClick:am,disabled:A,className:"btn btn-md",children:A?"Saving...":"Save"}),(0,f.jsx)("button",{onClick:al,disabled:A,className:"btn btn-md",children:"Cancel"})]}):(0,f.jsxs)(f.Fragment,{children:[h?.updated_at&&(0,f.jsxs)("span",{children:["edited ",function(a){if(!a)return"";let b=new Date(a).getTime();if(!isFinite(b))return a;let c=Math.floor((Date.now()-b)/1e3);return c<60?`${c}s ago`:c<3600?`${Math.floor(c/60)}m ago`:c<86400?`${Math.floor(c/3600)}h ago`:`${Math.floor(c/86400)}d ago`}(h.updated_at)]}),h?.content&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"text-[var(--border)]",children:"\xb7"}),(0,f.jsxs)("span",{title:`~${Math.max(1,Math.ceil(h.content.length/4)).toLocaleString()} tokens (heuristic: chars/4)`,children:["~",(e=Math.max(1,Math.ceil(h.content.length/4)))<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:e<1e6?`${Math.round(e/1e3)}k`:`${(e/1e6).toFixed(1)}M`," tok"]})]}),(0,f.jsx)("button",{onClick:ae,disabled:Q,className:"btn btn-md","aria-label":"Refresh file",title:"Refresh file content",children:(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`w-4 h-4 opacity-70 ${Q?"animate-spin":""}`,children:[(0,f.jsx)("path",{d:"M21 2v6h-6"}),(0,f.jsx)("path",{d:"M3 12a9 9 0 0 1 15-6.7L21 8"}),(0,f.jsx)("path",{d:"M3 22v-6h6"}),(0,f.jsx)("path",{d:"M21 12a9 9 0 0 1-15 6.7L3 16"})]})}),h.path.endsWith(".html")&&!ao&&(0,f.jsx)("button",{type:"button",onClick:()=>V(!0),className:"btn btn-md","aria-label":"Edit HTML source",title:"Edit HTML source",children:(0,f.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"w-4 h-4 opacity-70",children:(0,f.jsx)("path",{d:"M17 3a2.83 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}),(0,f.jsx)("button",{onClick:async()=>{if(!h)return;let a=!h.favorite;j({...h,favorite:a});try{if(!(await fetch(`/api/files/${h.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({favorite:a})})).ok)throw Error("PATCH failed");c?.()}catch(b){j({...h,favorite:!a}),i.o.error(`Failed to update favorite: ${b?.message??"Network error"}`)}},className:"btn btn-md","aria-label":h?.favorite?"Unfavorite":"Favorite",title:h?.favorite?"Remove from favorites":"Add to favorites",children:(0,f.jsx)(fv,{filled:!!h?.favorite,className:`w-4 h-4 ${h?.favorite?"text-amber-accent":"opacity-60"}`})}),(0,f.jsx)(r,{trigger:(0,f.jsx)("button",{disabled:Z||_,className:"btn btn-md","aria-label":"Export file",title:Z?"Generating PDF…":_?"Generating PNG…":"Export file",children:(0,f.jsx)(ft,{className:`w-4 h-4 opacity-70 ${Z||_?"animate-pulse":""}`})}),items:ab?[{label:"PDF",onSelect:ad},{label:"PNG",onSelect:()=>{h&&ac(`/api/files/${h.id}/export-html?format=png`,`${W()}.png`,"PNG",aa)}}]:[{label:"Markdown (.md)",onSelect:()=>{h&&(fu(h.content,`${W()}.md`,"text/markdown"),i.o.success("Exported Markdown"))}},{label:"Text (.txt)",onSelect:()=>{Y()}},{label:"PDF",onSelect:ad}]}),(0,f.jsx)("button",{onClick:()=>E(!0),className:"btn btn-md btn-destructive","aria-label":"Delete file",title:"Delete file",children:(0,f.jsx)(fs,{className:"w-4 h-4 opacity-70"})})]})})]}),!m&&!o&&(0,f.jsxs)("div",{className:"px-4 py-2 border-b border-[var(--border)] flex flex-wrap items-center gap-2 text-[12px]",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] uppercase tracking-wider text-[10px] font-bold",children:"Tags"}),(h?.tags??[]).map(a=>(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded bg-amber-accent/10 border border-amber-accent/30 text-[var(--text-primary)]",children:[a,(0,f.jsx)("button",{"aria-label":`Remove tag ${a}`,title:`Remove tag ${a}`,onClick:async()=>{if(!h)return;let b=h.id,d=h.tags,e=d.filter(b=>b!==a);j(a=>a&&a.id===b?{...a,tags:e}:a);try{if(!(await fetch(`/api/files/${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:e})})).ok)throw Error("PATCH failed");c?.()}catch(a){j(a=>a&&a.id===b?{...a,tags:d}:a),i.o.error(`Failed to remove tag: ${a?.message??"Network error"}`)}},className:"text-[var(--text-secondary)] hover:text-[var(--danger)]",children:"\xd7"})]},a)),(0,f.jsx)("input",{type:"text",placeholder:"add tag…",className:"bg-transparent border-b border-transparent focus:border-amber-accent/40 outline-none px-1 py-0.5 w-24",onKeyDown:async a=>{if("Enter"!==a.key||!h)return;let b=(a.currentTarget.value||"").trim();if(!b)return;let d=b.toLowerCase().replace(/\s+/g,"-");if(h.tags.includes(d)){a.currentTarget.value="";return}let e=h.id,f=h.tags,g=[...f,d];j(a=>a&&a.id===e?{...a,tags:g}:a),a.currentTarget.value="";try{if(!(await fetch(`/api/files/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:g})})).ok)throw Error("PATCH failed");c?.()}catch(a){j(a=>a&&a.id===e?{...a,tags:f}:a),i.o.error(`Failed to add tag: ${a?.message??"Network error"}`)}}})]}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden",children:m?(0,f.jsx)(fp,{content:v,onChange:w}):o?(0,f.jsx)("div",{className:"h-full overflow-auto bg-[var(--bg-secondary)] p-6",children:(0,f.jsxs)("div",{className:"max-w-2xl mx-auto space-y-4",children:[(0,f.jsx)("h3",{className:"text-sm font-bold text-[var(--text-secondary)] uppercase tracking-widest mb-6",children:"Version History (Time Travel)"}),t?(0,f.jsx)("div",{className:"space-y-4",children:[1,2,3].map(a=>(0,f.jsx)("div",{className:"skeleton h-20 w-full rounded-lg"},a))}):0===q.length?(0,f.jsx)("div",{className:"text-center py-12",children:(0,f.jsx)("p",{className:"text-[var(--muted)]",children:"No version history found for this file."})}):(0,f.jsx)("div",{className:"space-y-3",children:q.map(a=>(0,f.jsxs)("div",{className:"bg-white dark:bg-[#1a1a1a] border border-[var(--border)] rounded-lg p-4 flex items-center justify-between hover:border-amber-accent/50 transition-colors shadow-sm",children:[(0,f.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,f.jsx)("p",{className:"text-sm font-bold text-[var(--text-primary)] truncate",children:a.message}),(0,f.jsxs)("div",{className:"flex items-center gap-3 mt-1 text-[10px] text-[var(--text-secondary)] uppercase tracking-tighter font-bold",children:[(0,f.jsx)("span",{children:new Date(a.date).toLocaleString()}),(0,f.jsx)("span",{className:"opacity-30",children:"•"}),(0,f.jsx)("span",{className:"font-mono text-amber-accent",children:a.hash.substring(0,7)})]})]}),(0,f.jsx)("button",{onClick:()=>ak(a.hash),className:"ml-4 btn btn-md",children:"RESTORE"})]},a.hash))})]})}):(0,f.jsx)("div",{className:"h-full overflow-auto",children:h.path.endsWith(".mmd")?(0,f.jsx)(fl,{source:h.content,className:"p-8",filename:h.title}):h.path.endsWith(".html")?(0,f.jsx)(fn,{html:h.content}):(0,f.jsx)(fm,{content:h.content,className:"p-8"})})}),(0,f.jsx)(fq,{open:D,title:h.title,onClose:()=>E(!1),onConfirm:an,loading:F}),(0,f.jsx)(fr,{open:H,onClose:()=>I(!1),title:K,body:M,detail:O}),U&&h&&(0,f.jsx)(fo,{fileId:h.id,initial:h.content,expectedUpdatedAt:h.updated_at,onClose:()=>{V(!1),ah(!1)},onDirtyChange:ah,onSaved:a=>{let b=h.id;if(ah(!1),af.current!==b){a.git_warning&&console.warn(`[kontexta] git_warning for stale file ${b}:`,a.git_warning);return}j(a),a.git_warning&&(L("Git commit failed"),N("Your changes were saved to the database, but Kontexta could not create a Git history entry for this file."),P(a.git_warning),I(!0))}})]},a)}function fx({open:a,onClose:b,onSelectFile:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)([]),[j,k]=(0,g.useState)(0),[l,m]=(0,g.useState)(!1),n=(0,g.useRef)(null);return(0,g.useRef)(void 0),(0,f.jsx)(S.l,{open:a,onClose:b,title:"Search",hideHeader:!0,widthClass:"max-w-[560px]",positionClass:"left-1/2 top-[20vh] -translate-x-1/2",children:(0,f.jsxs)("div",{className:"-m-5 overflow-hidden rounded-xl",children:[(0,f.jsx)("div",{className:"relative",children:(0,f.jsx)("input",{ref:n,type:"text",value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Escape"===a.key?b():"ArrowDown"===a.key?(a.preventDefault(),k(a=>Math.min(a+1,h.length-1))):"ArrowUp"===a.key?(a.preventDefault(),k(a=>Math.max(a-1,0))):"Enter"===a.key&&h.length>0&&(a.preventDefault(),c(h[j]))},placeholder:"Search context files...",className:"w-full px-6 py-5 text-base bg-transparent border-b border-[var(--border)] outline-none text-[var(--text-primary)] placeholder:text-[var(--text-secondary)] focus:ring-1 focus:ring-amber-accent/30 transition-all"})}),(0,f.jsxs)("div",{className:"max-h-[400px] overflow-y-auto scrollbar-thin",children:[l&&(0,f.jsx)("div",{className:"p-6 space-y-4",children:[1,2,3].map(a=>(0,f.jsxs)("div",{className:"flex flex-col gap-2 px-1",children:[(0,f.jsx)("div",{className:"skeleton h-4 w-3/4 opacity-20"}),(0,f.jsx)("div",{className:"skeleton h-3 w-1/4 opacity-10"})]},a))}),!l&&d&&0===h.length&&(0,f.jsxs)("div",{className:"flex flex-col items-center py-12 text-[var(--text-secondary)] gap-3",children:[(0,f.jsx)(J,{className:"w-8 h-8 opacity-30","aria-hidden":!0}),(0,f.jsx)("p",{className:"text-sm font-medium",children:"No results found"}),(0,f.jsx)("p",{className:"text-xs opacity-60 italic",children:"Try a different search term"})]}),!l&&h.length>0&&(0,f.jsx)("div",{className:"p-1",children:h.map((a,b)=>(0,f.jsxs)("button",{onClick:()=>{c(a)},onMouseEnter:()=>k(b),className:`w-full px-5 py-4 text-left rounded-lg transition-all duration-200 flex flex-col gap-1 ${b===j?"bg-[var(--accent-soft)]":"hover:bg-[var(--accent-soft)]/60"}`,children:[(0,f.jsx)("div",{className:"text-sm font-semibold transition-colors text-[var(--text-primary)]",children:a.title}),(0,f.jsxs)("div",{className:"text-xs transition-colors text-[var(--text-secondary)]",children:[a.storage_type," \xb7 ",a.path]})]},a.id))})]})]})})}function fy({open:a,onClose:b}){let[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)(!1);return(0,f.jsx)(S.l,{open:a,onClose:b,title:"About Kontexta",widthClass:"max-w-xl",hideHeader:!0,children:(0,f.jsxs)("div",{className:"-m-5 flex flex-col max-h-[75vh] overflow-hidden",children:[(0,f.jsxs)("div",{className:"p-6 text-center border-b border-[var(--border)] shrink-0",children:[(0,f.jsx)("div",{className:"flex justify-center -mb-3",children:(0,f.jsx)(o.H,{size:"lg"})}),(0,f.jsx)("h1",{className:"text-3xl font-extrabold tracking-[4px] font-[family-name:var(--font-title)] text-[var(--accent)] dark:text-[var(--text-primary)] drop-shadow-[0_0_14px_color-mix(in_srgb,var(--accent)_55%,transparent)] dark:drop-shadow-none",children:"KONTEXTA"}),(0,f.jsxs)("p",{className:"text-sm font-medium text-[var(--text-secondary)] mt-2",children:["by ",c?.author||"Safiyu"," • v",c?.version||"0.1.0"]}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)] mt-2",children:"A modern context management system for AI-assisted development"})]}),(0,f.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto prose-sm",children:[e&&(0,f.jsxs)("div",{className:"p-6 space-y-3",children:[(0,f.jsx)("div",{className:"skeleton h-4 w-full"}),(0,f.jsx)("div",{className:"skeleton h-4 w-5/6"}),(0,f.jsx)("div",{className:"skeleton h-4 w-4/6"})]}),!e&&c?.changelog&&(0,f.jsx)(fm,{content:c.changelog,className:"p-6 prose-sm text-[var(--accent)] marker:text-[var(--accent)] [&_*]:!text-[var(--accent)]"}),!e&&!c?.changelog&&(0,f.jsx)("div",{className:"p-6 text-center text-[var(--text-secondary)]",children:"No changelog available"})]}),(0,f.jsx)("div",{className:"p-3 border-t border-[var(--border)] text-center shrink-0",children:(0,f.jsx)("button",{onClick:b,className:"btn btn-md",children:"Close"})})]})})}function fz({open:a,onClose:b,onCreate:c,currentProjectId:d,availableFolders:e}){let[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(""),[l,m]=(0,g.useState)(""),[n,o]=(0,g.useState)(d?"project":"knowledge"),[p,q]=(0,g.useState)(!1),r=async a=>{if(a.preventDefault(),h.trim()){q(!0);try{await c(h,j,n,l||void 0)&&(i(""),k(""),m(""),b())}catch(a){console.error("Failed to create file:",a)}finally{q(!1)}}};return(0,f.jsx)(S.l,{open:a,onClose:b,title:"New file",widthClass:"max-w-lg",children:(0,f.jsxs)("form",{onSubmit:r,children:[(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"TITLE"}),(0,f.jsx)("input",{type:"text",value:h,onChange:a=>i(a.target.value),placeholder:"e.g. Architecture Overview",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50",required:!0,autoFocus:!0})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FOLDER"}),e.length>0?(0,f.jsxs)("select",{value:l,onChange:a=>m(a.target.value),className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 cursor-pointer",children:[(0,f.jsx)("option",{value:"",children:"— Root level —"}),e.map(a=>(0,f.jsx)("option",{value:a,children:a},a))]}):(0,f.jsx)("input",{type:"text",value:l,onChange:a=>m(a.target.value),placeholder:"No folders yet — type to create",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50"})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"DESTINATION"}),(0,f.jsxs)("div",{className:"flex gap-3",children:[(0,f.jsx)("button",{type:"button",onClick:()=>o("knowledge"),className:`btn btn-sm flex-1 ${"knowledge"===n?"border-[var(--accent)]":""}`,children:"KNOWLEDGE BASE"}),d&&(0,f.jsx)("button",{type:"button",onClick:()=>o("project"),className:`btn btn-sm flex-1 ${"project"===n?"border-[var(--accent)]":""}`,children:"PROJECT ROOT"})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"CONTENT (MARKDOWN)"}),(0,f.jsx)("textarea",{value:j,onChange:a=>k(a.target.value),placeholder:"# Introduction\nStart typing here...",rows:8,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50 font-mono resize-none"})]})]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3 mt-5",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"CANCEL"}),(0,f.jsx)("button",{type:"submit",disabled:p||!h.trim(),className:"btn btn-md",children:p?"CREATING...":"CREATE FILE"})]})]})})}function fA({open:a,onClose:b,onCreate:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(!1),j=async a=>{if(a.preventDefault(),d.trim()){i(!0);try{await c(d)&&(e(""),b())}catch(a){console.error("Failed to create folder:",a)}finally{i(!1)}}};return(0,f.jsx)(S.l,{open:a,onClose:b,title:"New folder",children:(0,f.jsxs)("form",{onSubmit:j,children:[(0,f.jsx)("label",{className:"block text-[10px] font-bold text-[var(--text-secondary)] tracking-widest mb-1.5",children:"FOLDER NAME"}),(0,f.jsx)("input",{type:"text",value:d,onChange:a=>e(a.target.value),placeholder:"e.g. documentation",className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-3 py-2 text-sm text-[var(--text-primary)] outline-none focus:border-amber-accent/50",autoFocus:!0,required:!0}),(0,f.jsx)("p",{className:"text-[10px] text-[var(--text-secondary)] mt-2 italic",children:"Folder will be created in the Knowledge Base."}),(0,f.jsxs)("div",{className:"flex justify-end gap-3 mt-5",children:[(0,f.jsx)("button",{type:"button",onClick:b,className:"btn btn-md",children:"CANCEL"}),(0,f.jsx)("button",{type:"submit",disabled:h||!d.trim(),className:"btn btn-md",children:h?"CREATING...":"CREATE FOLDER"})]})]})})}function fB({open:a,folderName:b,onClose:c,onConfirm:d,loading:e}){return(0,f.jsx)(V.T,{open:a,onClose:c,onConfirm:d,title:"Delete folder",message:(0,f.jsxs)(f.Fragment,{children:["Are you sure you want to delete the folder"," ",(0,f.jsxs)("span",{className:"font-bold text-[var(--text-primary)]",children:['"',b,'"']}),"? This will permanently remove the directory from your disk."]}),confirmLabel:"Delete folder",destructive:!0,loading:e})}function fC({isOpen:a,onClose:b,onConfirm:c,projectName:d}){return(0,f.jsx)(V.T,{open:a,onClose:b,onConfirm:c,title:"Unregister project",message:(0,f.jsxs)(f.Fragment,{children:["Are you sure you want to remove ",(0,f.jsxs)("span",{className:"font-bold text-[var(--text-primary)]",children:['"',d,'"']})," from Kontexta?",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),"This will remove all associated context files from your AI's memory, but your"," ",(0,f.jsx)("span",{className:"text-amber-accent font-bold",children:"actual source code will remain safe"})," on your disk.",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),(0,f.jsx)("span",{className:"text-[10px] uppercase tracking-widest font-bold",children:"This action is permanent for Kontexta metadata."})]}),confirmLabel:"Unregister",destructive:!0})}function fD({schema:a}){let b=a.properties??{},c=new Set(a.required??[]),d=Object.entries(b);return 0===d.length?(0,f.jsx)("div",{className:"text-sm text-[var(--text-secondary)] italic",children:"No parameters."}):(0,f.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,f.jsx)("thead",{children:(0,f.jsxs)("tr",{className:"border-b border-[var(--border)] text-left text-xs uppercase text-[var(--text-secondary)]",children:[(0,f.jsx)("th",{className:"py-1 pr-3",children:"Param"}),(0,f.jsx)("th",{className:"py-1 pr-3",children:"Type"}),(0,f.jsx)("th",{className:"py-1 pr-3",children:"Required"}),(0,f.jsx)("th",{className:"py-1",children:"Notes"})]})}),(0,f.jsx)("tbody",{children:d.map(([a,b])=>(0,f.jsxs)("tr",{className:"border-b border-[var(--border)]",children:[(0,f.jsx)("td",{className:"py-1 pr-3 font-mono",children:a}),(0,f.jsx)("td",{className:"py-1 pr-3",children:b.enum?"enum":"array"===b.type&&b.items?.type?`${b.items.type}[]`:b.type??"any"}),(0,f.jsx)("td",{className:"py-1 pr-3",children:c.has(a)?"required":"optional"}),(0,f.jsx)("td",{className:"py-1",children:function(a){let b=[];return a.enum&&b.push(a.enum.map(a=>String(a)).join(" | ")),void 0!==a.default&&b.push(`default: ${JSON.stringify(a.default)}`),void 0!==a.minimum&&b.push(`min: ${a.minimum}`),void 0!==a.maximum&&b.push(`max: ${a.maximum}`),a.description&&b.push(a.description),b.join(" — ")}(b)})]},a))})]})}function fE({tool:a}){return(0,f.jsxs)("div",{id:a.name,className:"border border-[var(--border)] rounded-md p-4 mb-3 bg-[var(--bg-secondary)]",children:[(0,f.jsxs)("div",{className:"flex items-baseline justify-between gap-3 mb-2",children:[(0,f.jsx)("h3",{className:"font-mono text-base font-semibold",children:a.name}),(0,f.jsx)("a",{href:`#${a.name}`,className:"text-xs text-[var(--text-secondary)]",title:"permalink",children:"\xa7"})]}),(0,f.jsx)("p",{className:"text-sm whitespace-pre-wrap mb-3",children:a.description}),(0,f.jsx)(fD,{schema:a.inputSchema})]})}function fF(){let[a,b]=(0,g.useState)(null),[c,d]=(0,g.useState)(""),e=(0,g.useMemo)(()=>{if(!a)return[];let b=c.trim().toLowerCase();return a.tools.filter(a=>!b||a.name.toLowerCase().includes(b)||a.description.toLowerCase().includes(b))},[a,c]),h=(0,g.useMemo)(()=>{if(!a)return new Map;let b=new Map;for(let c of a.categoryOrder)b.set(c,[]);for(let a of e){let c=b.get(a.category)??[];c.push(a),b.set(a.category,c)}return b},[a,e]);return a?(0,f.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,f.jsx)("input",{type:"search",value:c,onChange:a=>d(a.target.value),placeholder:"Search tools…",className:"w-full px-3 py-2 mb-4 bg-[var(--bg-secondary)] border border-[var(--border)] rounded sticky top-0 z-10"}),[...h.entries()].map(([a,b])=>0===b.length?null:(0,f.jsxs)("section",{className:"mb-6",children:[(0,f.jsx)("h2",{className:"text-xs uppercase tracking-wider text-[var(--text-secondary)] mb-2",children:a}),b.map(a=>(0,f.jsx)(fE,{tool:a},a.name))]},a))]}):(0,f.jsx)("div",{className:"text-sm",children:"Loading…"})}function fG({body:a,configPath:b,notes:c}){let[d,e]=(0,g.useState)(!1),h=async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(a);else{let b=document.createElement("textarea");b.value=a,b.style.position="fixed",b.style.left="-9999px",document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b)}}catch{}e(!0),setTimeout(()=>e(!1),1500)};return(0,f.jsxs)("div",{className:"flex flex-col gap-3",children:[b&&(0,f.jsxs)("div",{className:"p-3 bg-[var(--bg-secondary)] border border-[var(--accent-soft)] rounded text-xs",children:[(0,f.jsx)("div",{className:"text-[var(--text-secondary)] mb-1 uppercase tracking-wider font-bold",children:"Configuration Path"}),(0,f.jsx)("div",{className:"font-mono break-all",children:b})]}),(0,f.jsxs)("div",{className:"relative",children:[(0,f.jsx)("pre",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded p-3 text-xs overflow-x-auto whitespace-pre",children:a}),(0,f.jsx)("button",{onClick:h,className:"absolute top-2 right-2 px-2 py-1 text-xs bg-[var(--bg-primary)] border border-[var(--border)] rounded hover:border-[var(--accent)] transition-colors",children:d?"Copied":"Copy"})]}),c&&c.length>0&&(0,f.jsx)("div",{className:"text-xs text-[var(--text-secondary)] px-1",children:(0,f.jsx)("ul",{className:"list-disc list-inside space-y-1",children:c.map((a,b)=>(0,f.jsx)("li",{children:a},b))})})]})}let fH=[{id:"claude-code",label:"Claude Code"},{id:"claude-desktop",label:"Claude Desktop"},{id:"cursor",label:"Cursor"},{id:"codex",label:"Codex"},{id:"gemini",label:"Gemini"},{id:"antigravity",label:"Antigravity"},{id:"continue",label:"Continue"},{id:"aider",label:"Aider"},{id:"cline",label:"Cline"},{id:"copilot",label:"GitHub Copilot (VS Code Insider)"},{id:"hermes",label:"Hermes Agent"},{id:"generic",label:"Generic JSON"}],fI=[{id:"docker",label:"Docker"},{id:"npm",label:"npm (npx)"},{id:"source",label:"Source build"}];function fJ(){let[a,b]=(0,g.useState)("claude-code"),[c,d]=(0,g.useState)("docker"),[e,h]=(0,g.useState)(null),[i,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(null);return(0,f.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,f.jsxs)("div",{className:"flex gap-3 mb-4",children:[(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"mb-1 text-[var(--text-secondary)]",children:"AI client"}),(0,f.jsx)("select",{"aria-label":"AI client",value:a,onChange:a=>b(a.target.value),className:"px-2 py-1 bg-[var(--bg-secondary)] border border-[var(--border)] rounded",children:fH.map(a=>(0,f.jsx)("option",{value:a.id,children:a.label},a.id))})]}),(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"mb-1 text-[var(--text-secondary)]",children:"Install method"}),(0,f.jsx)("select",{"aria-label":"Install method",value:c,onChange:a=>d(a.target.value),className:"px-2 py-1 bg-[var(--bg-secondary)] border border-[var(--border)] rounded",children:fI.map(a=>(0,f.jsxs)("option",{value:a.id,children:[a.label,i===a.id?" (current)":""]},a.id))})]})]}),k&&(0,f.jsxs)("div",{className:"mb-3 text-xs text-[var(--text-secondary)] flex items-center gap-1.5",children:[(0,f.jsx)(w,{className:"w-3.5 h-3.5 opacity-60","aria-hidden":!0}),(0,f.jsxs)("span",{children:["Data directory:"," ",(0,f.jsx)("code",{className:"text-[var(--text-primary)] font-mono",children:k.isDefaultDir?k.defaultDirDisplay:k.dataDir}),k.isDefaultDir&&(0,f.jsx)("span",{className:"ml-1 opacity-60",children:"(OS default)"})]})]}),e&&(0,f.jsx)(fG,{body:e.body,configPath:e.configPath,notes:e.notes})]})}let fK=/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g;function fL({value:a,onChange:b,declaredParams:c}){let[d,e]=(0,g.useState)(""),h=new Set(c);return(0,f.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[a.map((c,d)=>{let e=(a=>{let b;for(fK.lastIndex=0;b=fK.exec(a);)if(!h.has(b[1]))return!1;return!0})(c);return(0,f.jsxs)("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-mono border ${e?"border-[var(--border)] bg-[var(--bg-secondary)]":"border-[var(--danger)] text-[var(--danger)]"}`,children:[c,(0,f.jsx)("button",{"aria-label":`remove ${c}`,onClick:()=>b(a.filter((a,b)=>b!==d)),className:"text-[var(--text-secondary)] hover:text-[var(--danger)]",children:"\xd7"})]},d)}),(0,f.jsx)("input",{value:d,onChange:a=>e(a.target.value),onKeyDown:c=>{("Enter"===c.key||"Tab"===c.key||","===c.key||" "===c.key&&d.trim().length>0)&&d.trim().length>0&&(c.preventDefault(),b([...a,d.trim()]),e(""))},onBlur:()=>{d.trim().length>0&&(b([...a,d.trim()]),e(""))},placeholder:"+ arg (Enter)",className:"px-2 py-0.5 text-xs bg-transparent border border-dashed border-[var(--border)] rounded font-mono w-32"})]})}function fM({pattern:a}){let[b,c]=(0,g.useState)(""),[d,e]=(0,g.useState)(null);return(0,f.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,f.jsx)("input",{value:b,onChange:a=>c(a.target.value),placeholder:"sample value",className:"px-2 py-0.5 text-xs bg-[var(--bg-primary)] border border-[var(--border)] rounded font-mono"}),d?.error&&(0,f.jsx)("span",{className:"text-xs text-[var(--danger)]",children:"invalid pattern"}),d?.matches===!0&&(0,f.jsx)("span",{className:"text-xs text-[var(--success)]",children:"✓ matches"}),d?.matches===!1&&(0,f.jsx)("span",{className:"text-xs text-[var(--text-secondary)]",children:"no match"})]})}function fN({name:a,def:b,onChange:c,onRename:d,onDelete:e}){return(0,f.jsxs)("div",{className:"border border-[var(--border)] rounded p-2 mb-2 text-xs space-y-1",children:[(0,f.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,f.jsx)("input",{value:a,onChange:b=>d(a,b.target.value),className:"px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded font-mono",title:"Param name. Reference in command argv as {{name}}."}),(0,f.jsxs)("select",{value:b.type,onChange:d=>c(a,{...b,type:d.target.value}),className:"px-1 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded",title:"JSON type the agent must supply.",children:[(0,f.jsx)("option",{value:"string",children:"string"}),(0,f.jsx)("option",{value:"number",children:"number"}),(0,f.jsx)("option",{value:"boolean",children:"boolean"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-1",title:"If unchecked, default is used (or empty/0/false).",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!b.required,onChange:d=>c(a,{...b,required:d.target.checked})})," required"]}),(0,f.jsx)("button",{onClick:e,className:"ml-auto text-[var(--text-secondary)] hover:text-[var(--danger)]","aria-label":`delete param ${a}`,children:"\xd7"})]}),"string"===b.type&&(0,f.jsxs)("div",{children:[(0,f.jsx)("input",{value:b.pattern??"",onChange:d=>c(a,{...b,pattern:d.target.value||void 0}),placeholder:"^[a-zA-Z0-9_-]+$",className:"w-full px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded font-mono"}),(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-0.5",children:["re2 regex (linear-time, ReDoS-proof). Empty values always pass. Without an explicit pattern, strings get the default ",(0,f.jsx)("code",{children:"^[^-].*"})," which blocks values starting with a dash (argv-injection guard)."]}),b.pattern&&(0,f.jsx)(fM,{pattern:b.pattern})]}),"number"===b.type&&(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"flex gap-2",children:[(0,f.jsx)("input",{type:"number",placeholder:"min",value:b.min??"",onChange:d=>c(a,{...b,min:""===d.target.value?void 0:Number(d.target.value)}),className:"px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded w-24"}),(0,f.jsx)("input",{type:"number",placeholder:"max",value:b.max??"",onChange:d=>c(a,{...b,max:""===d.target.value?void 0:Number(d.target.value)}),className:"px-2 py-0.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded w-24"})]}),(0,f.jsx)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-0.5",children:"Inclusive bounds. NaN, Infinity, and values outside JS safe-integer range are rejected automatically."})]}),"boolean"===b.type&&(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-0.5",children:["Strict ",(0,f.jsx)("code",{children:"true"})," / ",(0,f.jsx)("code",{children:"false"})," only. No truthy coercion."]})]})}let fO=/^[a-z][a-z0-9-]*$/;function fP({initial:a,projectName:b,onSave:c,onCancel:d,inline:e}){let[h,i]=(0,g.useState)(a?.name??""),[j,k]=(0,g.useState)(()=>{let b=a?.def??{description:"",command:[]};return Array.isArray(b.command)||(b.command=[]),b}),l=Object.keys(j.params??{}),m=fO.test(h)&&j.description.trim().length>0&&j.command.length>0&&!j.command[0].includes("{{"),n=a=>k({...j,params:a({...j.params??{}})});return(0,f.jsxs)("div",{className:e?"space-y-6":"space-y-4",children:[!e&&(0,f.jsx)("h2",{className:"text-lg font-semibold",children:a?"Edit tool":"Add tool"}),(0,f.jsxs)("div",{className:"grid gap-6",children:[(0,f.jsxs)("section",{className:"space-y-4",children:[(0,f.jsxs)("label",{className:"block text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Tool name"}),(0,f.jsx)("input",{"aria-label":"name",value:h,onChange:a=>i(a.target.value),placeholder:"e.g. run-tests",className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg font-mono focus:border-[var(--accent)] outline-none transition"}),(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-1.5 leading-relaxed",children:["Lowercase letters, digits, hyphens. Kontexta namespaces it automatically — the agent sees"," ",(0,f.jsxs)("code",{className:"text-[var(--accent)]",children:[b??"<project>","__",h||"<name>"]})]}),h&&!fO.test(h)&&(0,f.jsx)("span",{className:"text-[var(--danger)] text-[10px]",children:"must match ^[a-z][a-z0-9-]*$"})]}),(0,f.jsxs)("label",{className:"block text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Description"}),(0,f.jsx)("input",{"aria-label":"description",value:j.description,onChange:a=>k({...j,description:a.target.value}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition",placeholder:"Describe what this tool does..."}),(0,f.jsx)("span",{className:"block text-[10px] text-[var(--text-secondary)] mt-1.5 leading-relaxed",children:"What the agent sees when deciding whether to call this tool. Be specific."})]})]}),(0,f.jsxs)("section",{className:"space-y-3",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] text-xs font-bold uppercase tracking-wider",children:"Command argv"}),(0,f.jsx)("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-3",children:(0,f.jsx)(fL,{value:j.command,onChange:a=>k({...j,command:a}),declaredParams:l})}),(0,f.jsxs)("span",{className:"block text-[10px] text-[var(--text-secondary)] leading-relaxed",children:["argv passed to ",(0,f.jsx)("code",{children:"spawn"})," (no shell). argv[0] is the executable. Subsequent items can use ",(0,f.jsx)("code",{children:"{{paramName}}"}),"."]})]}),(0,f.jsxs)("section",{className:"grid grid-cols-3 gap-4",children:[(0,f.jsxs)("label",{className:"text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Timeout (ms)"}),(0,f.jsx)("input",{type:"number",value:j.timeout??"",onChange:a=>k({...j,timeout:""===a.target.value?void 0:Number(a.target.value)}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition",placeholder:"60000"})]}),(0,f.jsxs)("label",{className:"text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Max output"}),(0,f.jsx)("input",{type:"number",value:j.maxOutputBytes??"",onChange:a=>k({...j,maxOutputBytes:""===a.target.value?void 0:Number(a.target.value)}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition",placeholder:"100000"})]}),(0,f.jsxs)("label",{className:"text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] font-bold uppercase tracking-wider",children:"Danger"}),(0,f.jsxs)("select",{value:j.danger??"safe",onChange:a=>k({...j,danger:a.target.value}),className:"w-full mt-1 px-3 py-2 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg focus:border-[var(--accent)] outline-none transition cursor-pointer",children:[(0,f.jsx)("option",{children:"safe"}),(0,f.jsx)("option",{children:"moderate"}),(0,f.jsx)("option",{children:"high"})]})]})]}),(0,f.jsxs)("section",{className:"bg-[var(--bg-secondary)]/50 border border-[var(--border)] rounded-xl p-4",children:[(0,f.jsxs)("div",{className:"flex gap-6 text-xs mb-3",children:[(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer group",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!j.confirm,onChange:a=>k({...j,confirm:a.target.checked}),className:"rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)]"}),(0,f.jsx)("span",{className:"group-hover:text-[var(--text-primary)] transition",children:"Confirm"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer group",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!j.disabled,onChange:a=>k({...j,disabled:a.target.checked}),className:"rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)]"}),(0,f.jsx)("span",{className:"group-hover:text-[var(--text-primary)] transition",children:"Disabled"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer group",children:[(0,f.jsx)("input",{type:"checkbox",checked:!!j.argSeparator,onChange:a=>k({...j,argSeparator:a.target.checked}),className:"rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)]"}),(0,f.jsx)("span",{className:"group-hover:text-[var(--text-primary)] transition",children:"ArgSeparator"})]})]}),(0,f.jsxs)("ul",{className:"text-[10px] text-[var(--text-secondary)] space-y-1 opacity-80",children:[(0,f.jsxs)("li",{children:["• ",(0,f.jsx)("b",{children:"confirm"})," — Pause for human approval before execution."]}),(0,f.jsxs)("li",{children:["• ",(0,f.jsx)("b",{children:"disabled"})," — Validated but hidden from the agent."]}),(0,f.jsxs)("li",{children:["• ",(0,f.jsx)("b",{children:"argSeparator"})," — Insert ",(0,f.jsx)("code",{children:"--"})," before the first substituted element."]})]})]}),(0,f.jsxs)("section",{className:"space-y-4",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)] text-xs font-bold uppercase tracking-wider",children:"Parameters"}),(0,f.jsx)("button",{onClick:()=>n(a=>({...a,[`param${Object.keys(a).length+1}`]:{type:"string"}})),className:"text-[10px] font-bold uppercase tracking-widest px-3 py-1.5 rounded-lg border border-[var(--border)] bg-[var(--bg-secondary)] hover:bg-[var(--accent)] hover:text-black transition-all",children:"+ Add Parameter"})]}),(0,f.jsxs)("div",{className:"space-y-3",children:[Object.entries(j.params??{}).map(([a,b])=>(0,f.jsx)(fN,{name:a,def:b,onChange:(a,b)=>n(c=>({...c,[a]:b})),onRename:(a,b)=>n(c=>{let{[a]:d,...e}=c;return{...e,[b]:d}}),onDelete:()=>n(b=>{let{[a]:c,...d}=b;return d})},a)),0===Object.keys(j.params??{}).length&&(0,f.jsx)("div",{className:"text-center py-8 border border-dashed border-[var(--border)] rounded-xl text-[var(--text-secondary)] text-xs italic",children:"No parameters defined for this tool."})]})]})]}),(0,f.jsxs)("div",{className:`flex justify-end gap-3 pt-6 border-t border-[var(--border)] ${e?"sticky bottom-0 bg-[var(--bg-primary)] py-4 mt-8 z-10":""}`,children:[d&&(0,f.jsx)("button",{onClick:d,className:"btn btn-md",children:"Cancel"}),(0,f.jsx)("button",{disabled:!m,onClick:()=>c(h,j),className:"btn btn-md btn-primary",children:a?.name?"Update Tool":"Create Tool"})]})]})}let fQ=[{name:"list-files",oneLiner:"Lists every git-tracked file. Read-only, no params.",def:{description:"List files in the repo (no params, completely safe)",command:["git","ls-files"]}},{name:"run-tests",oneLiner:"Run vitest with an optional regex-validated filter.",def:{description:"Run vitest with optional filter (regex-validated)",command:["npx","vitest","--reporter=verbose","{{filter}}"],timeout:12e4,params:{filter:{type:"string",required:!1,default:"",pattern:"^[a-zA-Z0-9 _/-]*$"}}}},{name:"deploy-staging",oneLiner:"Deploy to staging Cloud Run. Requires human approval.",def:{description:"Deploy to staging Cloud Run (requires human approval)",command:["gcloud","run","deploy","my-service","--region","us-central1"],danger:"moderate",confirm:!0,timeout:18e4}},{name:"remove-temp",oneLiner:"Delete a file under tmp/scratch. Strict pattern + argSeparator.",def:{description:"Delete a temp file under /tmp/scratch (argSeparator guards path)",command:["rm","{{name}}"],argSeparator:!0,workingDir:"tmp/scratch",params:{name:{type:"string",required:!0,pattern:"^[a-zA-Z0-9._-]+$"}}}},{name:"npm-install",oneLiner:"Safely install a new npm package. Restricted to safe package names.",def:{description:"Install a new dependency via npm",command:["npm","install","{{pkg}}"],danger:"moderate",params:{pkg:{type:"string",required:!0,pattern:"^@?[a-z0-9][a-z0-9-._]*$"}}}},{name:"type-check",oneLiner:"Run the TypeScript compiler to catch type errors project-wide.",def:{description:"Run tsc without emitting files to check for type errors.",command:["npx","tsc","--noEmit"],timeout:6e4}},{name:"lint-fix",oneLiner:"Run ESLint to automatically correct code style and auto-fixable errors.",def:{description:"Auto-fix linting and formatting issues.",command:["npx","eslint",".","--fix"],danger:"moderate",timeout:12e4}},{name:"comprehensive-example",oneLiner:"Showcase: params, env, workingDir, confirm, danger, and argSeparator.",def:{description:"A comprehensive example showing off every kontexta.json capability. Use this to understand how to build complex, secure tools.",command:["bash","./scripts/deploy.sh","--target","{{targetEnv}}","--dry-run={{isDryRun}}","--retries={{retries}}"],workingDir:"backend",timeout:3e5,danger:"high",confirm:!0,argSeparator:!0,maxOutputBytes:1048576,env:{FORCE_COLOR:"1",DEBUG:"true"},params:{targetEnv:{type:"string",required:!0,pattern:"^(staging|production|qa)$"},isDryRun:{type:"boolean",required:!1,default:!0},retries:{type:"number",required:!1,default:3,min:0,max:10}}}}];function fR({onSelectTemplate:a,onBlank:b,heading:c}){return(0,f.jsxs)("div",{className:"flex flex-col gap-6 py-2",children:[c&&(0,f.jsx)("p",{className:"text-[10px] font-bold uppercase tracking-widest text-[var(--text-secondary)]",children:c}),(0,f.jsxs)("button",{onClick:b,className:"w-full px-4 py-3 text-xs font-bold uppercase tracking-widest border border-dashed border-[var(--border)] rounded-xl text-[var(--text-secondary)] hover:bg-[var(--accent)]/10 hover:text-[var(--accent)] hover:border-[var(--accent)] transition-all flex items-center justify-center gap-2",children:[(0,f.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Start from scratch"]}),(0,f.jsx)("div",{className:"flex flex-col gap-3",children:fQ.map(b=>(0,f.jsxs)("button",{onClick:()=>a(b.name,b.def),className:"text-left p-4 border border-[var(--border)] rounded-xl bg-[var(--bg-secondary)]/50 hover:bg-[var(--accent-soft)] hover:border-[var(--accent)] transition-all group shadow-sm hover:shadow-lg active:scale-[0.98]",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,f.jsx)("div",{className:"font-mono font-bold text-[13px] tracking-tight",children:b.name}),(0,f.jsx)("div",{className:"flex gap-1",children:(function(a){let b=[];b.push(a.danger??"safe");let c=Object.keys(a.params??{}).length;return c>0&&b.push(`${c}p`),a.confirm&&b.push("confirm"),a.argSeparator&&b.push("argSep"),a.disabled&&b.push("disabled"),b})(b.def).slice(0,2).map(a=>(0,f.jsx)("span",{className:"text-[9px] font-bold uppercase px-1.5 py-0.5 rounded-md bg-[var(--bg-primary)] text-[var(--text-secondary)] group-hover:text-[var(--text-primary)] border border-[var(--border)]",children:a},a))})]}),(0,f.jsx)("p",{className:"text-xs text-[var(--text-secondary)] group-hover:text-[var(--text-primary)] leading-relaxed line-clamp-2",children:b.oneLiner})]},b.name))})]})}function fS({count:a,errorCount:b,onDiscard:c,onSave:d,inline:e}){let[h,i]=(0,g.useState)("idle"),[j,k]=(0,g.useState)(!1),l=(0,g.useRef)(null),m=a>0||"saved"===h,n=!e&&0===a&&"saved"!==h,o=b>0||"idle"!==h||0===a,p="saving"===h?"Saving...":"saved"===h?"Saved ✓":b>0?`Fix ${b} error(s)`:"Save Changes",q="saved"===h?"All changes saved":1===a?"1 change":`${a} changes`,r=async()=>{if(!o){i("saving");try{await d(),i("saved"),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>i("idle"),2e3)}catch{i("idle")}}},s=()=>k(!0),t=(0,f.jsx)(V.T,{open:j,onClose:()=>k(!1),onConfirm:()=>{k(!1),c()},title:"Discard unsaved changes?",message:1===a?"Your 1 unsaved change will be lost. This action cannot be undone.":`Your ${a} unsaved changes will be lost. This action cannot be undone.`,confirmLabel:"Discard",destructive:!0});return e?(0,f.jsxs)("div",{className:"flex items-center gap-4",children:[m&&(0,f.jsxs)("div",{className:"flex items-center gap-3 animate-fade-in",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg bg-[var(--accent)]/10 border border-[var(--accent)]/20",children:[(0,f.jsx)("span",{className:`w-1.5 h-1.5 rounded-full bp-keep-round ${"saved"===h?"bg-[var(--success)]":"bg-[var(--accent)] animate-pulse"}`}),(0,f.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-wider text-[var(--text-primary)]",children:q})]}),(0,f.jsx)("button",{onClick:s,disabled:"idle"!==h||0===a,className:"btn btn-sm btn-destructive",children:"Discard"})]}),(0,f.jsx)("button",{onClick:r,disabled:o,className:"btn btn-sm btn-primary",children:p}),t]}):(0,f.jsxs)("div",{role:"region","aria-label":"Unsaved changes",className:`sticky bottom-0 left-0 right-0 z-30 bg-[var(--bg-secondary)] border-t border-[var(--border)] shadow-[0_-4px_12px_rgba(0,0,0,0.08)] px-4 py-2 flex items-center gap-3 transition-transform duration-200 ${n?"translate-y-full":"translate-y-0"}`,children:[(0,f.jsx)("span",{"aria-hidden":!0,className:"saved"===h?"text-[var(--success)]":"text-[var(--accent)]",children:"saved"===h?"✓":"⚠"}),(0,f.jsx)("span",{className:"text-sm","aria-live":"polite",children:q}),(0,f.jsx)("div",{className:"flex-1"}),(0,f.jsx)("button",{onClick:s,disabled:"idle"!==h||0===a,className:"btn btn-sm btn-destructive",children:"Discard"}),(0,f.jsx)("button",{onClick:r,disabled:o,className:"btn btn-sm btn-primary",children:p}),t]})}function fT(){(0,h.useSearchParams)();let[a,b]=(0,g.useState)([]),[c,d]=(0,g.useState)(null),[e,i]=(0,g.useState)({}),[j,k]=(0,g.useState)(null),[l,m]=(0,g.useState)(null),[n,o]=(0,g.useState)(null),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(null),[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(null),[x,y]=(0,g.useState)(null),[z,A]=(0,g.useState)(!1);(0,g.useRef)(null);let[B,C]=(0,g.useState)(!0),[D,E]=(0,g.useState)({}),F=(0,g.useMemo)(()=>{let a=new Set(Object.keys(D)),b=new Set(Object.keys(e)),c=0;for(let d of b){if(!a.has(d)){c++;continue}JSON.stringify(e[d])!==JSON.stringify(D[d])&&c++}for(let d of a)!b.has(d)&&c++;return c},[e,D]),G=(0,g.useMemo)(()=>{let a=new Map;if(!n)return a;for(let b of[...n.warnings,...n.errors]){let c=b.match(/tool '([^']+)'/);c&&a.set(c[1],b)}return a},[n]),H=(n?.errors.length??0)+G.size,I=async()=>{if(null===c)return;u(!1),s(null);let a=await fetch(`/api/projects/${c}/hands-config`,{method:"DELETE"});if(!a.ok)return void s((await a.json().catch(()=>({}))).error||`Delete failed: HTTP ${a.status}`);i({}),E({}),k(null),m(null),C(!1)},J=async()=>{if(null===c)return;s(null);let a=await fetch(`/api/projects/${c}/hands-config`,{method:"PUT",body:JSON.stringify({config:{version:"1",tools:e},ifMtimeMs:j})});if(409===a.status)return void y({currentMtimeMs:(await a.json()).currentMtimeMs});if(a.ok){k((await a.json()).mtimeMs),E({...e});return}let b=await a.json().catch(()=>({}));s(b.error||(b.errors??[]).join("; ")||`Save failed: HTTP ${a.status}`)},L=async()=>{if(null!==c&&x){A(!0);try{let a=await fetch(`/api/projects/${c}/hands-config`,{method:"PUT",body:JSON.stringify({config:{version:"1",tools:e},ifMtimeMs:x.currentMtimeMs})});if(a.ok){let b=await a.json();k(b.mtimeMs),E({...e})}else{let b=await a.json().catch(()=>({}));s(`Retry failed: ${b.error||(b.errors??[]).join("; ")||`HTTP ${a.status}`}`)}}finally{A(!1),y(null)}}};if(0===a.length)return(0,f.jsxs)("div",{className:"max-w-2xl mx-auto text-sm",children:["No projects registered. ",(0,f.jsx)("a",{href:"/",className:"underline",children:"Register one first"}),"."]});let M=Object.keys(e).length>0;return p||Object.keys(e).length>0&&(Object.keys(e)[0],e[Object.keys(e)[0]]),(0,f.jsxs)("div",{className:"flex flex-col h-full -m-6 overflow-hidden bg-[var(--bg-primary)]",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between px-6 py-3 bg-[var(--bg-secondary)] border-b border-[var(--border)] shadow-sm z-10",children:[(0,f.jsxs)("div",{className:"flex items-center gap-6",children:[(0,f.jsxs)("label",{className:"flex items-center gap-3 text-xs font-bold uppercase tracking-widest text-[var(--text-secondary)]",children:["Project",(0,f.jsx)("select",{value:c??"",onChange:a=>d(Number(a.target.value)),"aria-label":"project",className:"px-3 py-1.5 bg-[var(--bg-primary)] border border-[var(--border)] rounded-lg font-mono text-[var(--accent)] outline-none focus:border-[var(--accent)] transition-all cursor-pointer min-w-[220px]",children:a.map(a=>(0,f.jsx)("option",{value:a.id,children:a.name},a.id))})]}),null!==j&&(0,f.jsx)("button",{onClick:()=>u(!0),className:"btn btn-md btn-destructive",title:"Remove kontexta.json from this project",children:"Delete Config"})]}),(0,f.jsx)(fS,{inline:!0,count:F,errorCount:H,onDiscard:()=>{i({...D}),s(null)},onSave:J})]}),(0,f.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,f.jsxs)("div",{className:"w-[300px] flex flex-col border-r border-[var(--border)] bg-[var(--bg-secondary)]/30",children:[(0,f.jsxs)("div",{className:"p-4 border-b border-[var(--border)] flex items-center justify-between bg-[var(--bg-secondary)]/50",children:[(0,f.jsx)("h4",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-[var(--text-secondary)]",children:"Registry"}),(0,f.jsx)("button",{onClick:()=>{q({name:"",def:{description:"",command:[],params:{},danger:"safe"}})},className:"p-1 rounded hover:bg-[var(--accent)] hover:text-black transition-colors",title:"Add tool from scratch",children:(0,f.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto p-2 space-y-1 custom-scrollbar",children:[Object.entries(e).map(([a,b])=>(0,f.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>q({name:a,def:b}),onKeyDown:c=>{("Enter"===c.key||" "===c.key)&&(c.preventDefault(),q({name:a,def:b}))},className:`w-full group flex items-center justify-between px-3 py-2 rounded-lg transition-all border cursor-pointer outline-none focus:ring-1 focus:ring-[var(--accent)] ${p?.name===a?"bg-[var(--accent)] text-black border-transparent shadow-lg":"border-transparent text-[var(--text-secondary)] hover:bg-[var(--accent)]/10 hover:text-[var(--text-primary)]"}`,children:[(0,f.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[(0,f.jsx)("div",{className:`w-1.5 h-1.5 rounded-full bp-keep-round flex-shrink-0 ${p?.name===a?"bg-black":"bg-[var(--accent)]"}`}),(0,f.jsx)("span",{className:"font-mono text-[13px] truncate",children:a})]}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[G.has(a)&&(0,f.jsx)("span",{className:"w-2 h-2 rounded-full bp-keep-round bg-[var(--danger)] animate-pulse",title:G.get(a)}),(0,f.jsx)("button",{onClick:b=>{b.stopPropagation(),w(a)},className:`opacity-0 group-hover:opacity-100 p-1 rounded hover:bg-[var(--danger)] hover:text-white transition-all ${p?.name===a?"text-black hover:bg-black/20":""}`,title:"Delete tool",children:(0,f.jsx)("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]},a)),!M&&(0,f.jsx)("div",{className:"text-center py-8 px-4 text-xs text-[var(--text-secondary)] italic border border-dashed border-[var(--border)] rounded-xl m-2",children:"No tools defined yet."})]})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto bg-[var(--bg-primary)] custom-scrollbar relative border-r border-[var(--border)]",children:[l&&(0,f.jsxs)("div",{className:"m-6 p-4 bg-[var(--danger-soft)] border border-[var(--danger)]/50 rounded-xl text-sm text-[var(--danger)] animate-fade-in",children:[(0,f.jsx)("span",{className:"font-bold block mb-1",children:"Configuration Error"}),"kontexta.json failed to parse: ",l,". Fix the file manually before continuing."]}),r&&(0,f.jsxs)("div",{className:"m-6 p-4 bg-[var(--danger-soft)] border border-[var(--danger)]/50 rounded-xl text-sm text-[var(--danger)] animate-fade-in",children:[r,(0,f.jsx)("button",{onClick:()=>s(null),className:"ml-2 text-[var(--danger)] hover:opacity-80","aria-label":"Dismiss error",children:(0,f.jsx)(K.A,{className:"w-4 h-4","aria-hidden":!0})})]}),(0,f.jsx)("div",{className:"p-8 max-w-4xl mx-auto",children:p?(0,f.jsxs)("div",{className:"animate-fade-in",children:[(0,f.jsxs)("header",{className:"mb-8 border-b border-[var(--border)] pb-6",children:[(0,f.jsx)("div",{className:"inline-flex items-center px-2 py-0.5 rounded bg-[var(--accent)]/10 border border-[var(--accent)]/20 text-[var(--accent)] text-[10px] font-bold uppercase tracking-wider mb-3",children:p.name?"Editor":"New Tool"}),(0,f.jsx)("h3",{className:"text-3xl font-title font-extrabold text-[var(--text-primary)] tracking-tight",children:p.name||"Untitled Tool"})]}),(0,f.jsx)(fP,{inline:!0,initial:p,projectName:a.find(a=>a.id===c)?.name,onSave:(a,b)=>{i(c=>{let d={};for(let[e,f]of Object.entries(c))p&&e===p.name?d[a]=b:d[e]=f;return p&&p.name in c||(d[a]=b),d}),q(null)}})]},p.name||"new-tool"):(0,f.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-center py-20 animate-fade-in",children:[(0,f.jsx)("div",{className:"w-16 h-16 rounded-full bp-keep-round bg-[var(--bg-secondary)] flex items-center justify-center mb-6 border border-[var(--border)]",children:(0,f.jsx)("svg",{className:"w-8 h-8 text-[var(--text-secondary)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})})}),(0,f.jsx)("h3",{className:"text-xl font-bold text-[var(--text-primary)] mb-2",children:"Configure Your Tools"}),(0,f.jsxs)("p",{className:"text-sm text-[var(--text-secondary)] max-w-xs mx-auto",children:["Select an existing tool to edit, or use the ",(0,f.jsx)("strong",{children:"Start from scratch"})," button on the right to create a new one."]})]})})]}),(0,f.jsxs)("div",{className:`bg-[var(--bg-secondary)]/30 border-l border-[var(--border)] transition-all duration-300 flex flex-col ${B?"w-[48px]":"w-[350px]"}`,children:[(0,f.jsx)("button",{onClick:()=>C(!B),className:"p-4 border-b border-[var(--border)] flex items-center justify-center hover:bg-[var(--accent)] hover:text-black transition-colors group",title:B?"Expand Template Gallery":"Collapse Template Gallery",children:B?(0,f.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16m-7 6h7"})}):(0,f.jsxs)("div",{className:"flex items-center gap-3 w-full",children:[(0,f.jsx)("svg",{className:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),(0,f.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-widest truncate",children:"Template Gallery"})]})}),!B&&(0,f.jsx)("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:(0,f.jsx)(fR,{heading:M?"Add from template:":"Start with a template:",onSelectTemplate:(a,b)=>{q({name:a,def:b})},onBlank:()=>{q({name:"",def:{description:"",command:[],params:{},danger:"safe"}})}})})]})]}),(0,f.jsx)(V.T,{open:null!==v,onClose:()=>w(null),onConfirm:()=>{v&&(i(a=>{let{[v]:b,...c}=a;return c}),w(null))},title:`Delete tool "${v}"?`,message:"This removes the tool from the draft. Click Save in the top bar to apply.",confirmLabel:"Delete tool",destructive:!0}),(0,f.jsx)(V.T,{open:t,onClose:()=>u(!1),onConfirm:I,title:"Delete kontexta.json?",message:"This removes the configuration file from this project. All Hands tools will be unregistered immediately.",confirmLabel:"Delete file",destructive:!0}),(0,f.jsx)(V.T,{open:null!==x,onClose:()=>y(null),onConfirm:L,title:"Config changed on disk",message:"kontexta.json changed on disk since you loaded it. Overwriting will replace those changes with the version you're editing here.",confirmLabel:"Overwrite",destructive:!0,loading:z})]})}function fU({projectId:a}){let[b,c]=(0,g.useState)(null),[d,e]=(0,g.useState)(null);return d?(0,f.jsxs)("div",{className:"text-sm text-[var(--danger)]",children:["Status error: ",d]}):b?(0,f.jsxs)("section",{className:"border border-[var(--border)] rounded p-3 bg-[var(--bg-secondary)] text-sm",children:[(0,f.jsx)("h3",{className:"font-medium mb-2",children:"Journal status"}),(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("div",{children:["Project: ",(0,f.jsx)("span",{className:"font-mono",children:b.slug})]}),(0,f.jsxs)("div",{children:["Last distilled event:"," ",(0,f.jsx)("span",{className:"font-mono",children:b.high_water?.last_event_ts??"never"})]}),(0,f.jsxs)("div",{children:["Events processed (cumulative): ",b.high_water?.events_processed??0]}),(0,f.jsxs)("div",{children:["Open tasks: ",b.open_tasks_count]}),b.open_tasks.length>0&&(0,f.jsx)("ul",{className:"ml-4 list-disc mt-2",children:b.open_tasks.map(a=>(0,f.jsxs)("li",{children:[(0,f.jsx)("span",{className:"font-mono",children:a.task_slug})," — ",a.status_latest??"(no status)"," —"," ",(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:a.last_active_at})]},a.task_slug))})]})]}):(0,f.jsx)("div",{className:"text-sm text-[var(--muted)]",children:"Loading status…"})}let fV={mode:"lenient",retention:{raw_days:90,mechanical_only_days:365,narrative_days:0,archive_cold_after_days:365,purge_archived_after_days:0},ticket_pattern:"[A-Z]+-\\d+",redact:{extra_keys:[],max_arg_size_bytes:1024},webui_scheduler:{enabled:!0,mechanical_distill_interval_minutes:15,housekeep_interval_hours:24}},fW={raw_days:"How long to keep raw JSONL events. Cost of high retention: Increased disk space usage. Low retention saves space but prevents deep auditing of past agent decisions.",mechanical_only_days:"How long to keep basic markdown summaries. Cost of high retention: Increased agent token usage and slower search times as the active index grows. Low retention keeps the index fast but risks losing older context.",narrative_days:"How long to keep rich LLM-generated summaries. Cost of high retention: Significant increase in agent token usage when searching or reading context. Low retention saves token budget but limits human-readable history.",archive_cold_after_days:"When to archive inactive topics. Cost of high retention: Agents will waste tokens reading stale context that clutters search results. Lower values keep the working context sharp.",purge_archived_after_days:"When to permanently delete archived items. Cost of high retention: Increased long-term disk storage. Low retention reclaims space but irreversibly destroys project history. (0 = never delete)."};function fX(){let[a,b]=(0,g.useState)([]),[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)(fV),[i,j]=(0,g.useState)(null),k=(0,g.useRef)(null),l=(0,g.useMemo)(()=>{var a;return a=k.current??fV,Object.keys(e).reduce((b,c)=>b+ +(JSON.stringify(e[c])!==JSON.stringify(a[c])),0)},[e]);function m(a,b){h({...e,[a]:b})}async function n(){if(null!==c)try{let a=await fetch(`/api/projects/${c}/journal-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({journal:e})});if(!a.ok)throw Error(`save failed: ${a.status}`);k.current=e,h({...e})}catch(a){j(a instanceof Error?a.message:String(a))}}return(0,f.jsxs)("div",{className:"space-y-8 max-w-3xl mx-auto",children:[i&&(0,f.jsx)("div",{className:"border border-[var(--danger)]/30 bg-[var(--danger-soft)] text-[var(--danger)] rounded p-2 text-sm",children:i}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Project"}),(0,f.jsxs)("select",{value:c??"",onChange:a=>d(Number(a.target.value)),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 min-w-[200px] text-xs",children:[(0,f.jsx)("option",{value:"",children:"Select project…"}),a.map(a=>(0,f.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),null!==c&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(fU,{projectId:c}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Mode"}),(0,f.jsxs)("select",{value:e.mode,onChange:a=>m("mode",a.target.value),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs",children:[(0,f.jsx)("option",{value:"lenient",children:"Lenient (recommended)"}),(0,f.jsx)("option",{value:"strict",children:"Strict — block reads when backlog exists"}),(0,f.jsx)("option",{value:"mechanical-only",children:"Mechanical-only — no LLM upgrade"})]}),(0,f.jsxs)("div",{className:"mt-2 p-3 bg-amber-500/5 border border-amber-500/20 rounded text-xs text-[var(--text-secondary)] leading-normal",children:["lenient"===e.mode&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("strong",{children:"Lenient mode"})," is unobtrusive. If undistilled events accumulate, the MCP server automatically runs a fast, background distillation to maintain memory without blocking the agent."]}),"strict"===e.mode&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("strong",{children:"Strict mode"})," enforces memory hygiene. It blocks read tools (like ",(0,f.jsx)("code",{children:"search"})," or ",(0,f.jsx)("code",{children:"read_file"}),") with a ",(0,f.jsx)("code",{children:"JOURNAL_BACKLOG"})," error if undistilled events exist, forcing the agent to summarize its work first. Pass ",(0,f.jsx)("code",{children:"journal_bypass: true"})," to override."]}),"mechanical-only"===e.mode&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("strong",{children:"Mechanical-only mode"})," functions like lenient mode but disables LLM processing. It prevents subagents from upgrading basic markdown logs into richer narratives, saving token costs on large projects."]})]})]}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Retention (days; 0 = forever)"}),(0,f.jsx)("div",{className:"grid grid-cols-2 gap-3 max-w-md",children:["raw_days","mechanical_only_days","narrative_days","archive_cold_after_days","purge_archived_after_days"].map(a=>(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsxs)("span",{className:"text-[var(--text-secondary)] flex items-center gap-1 mb-0.5",children:[a,(0,f.jsx)("span",{title:fW[a],className:"cursor-help text-[9px] font-bold text-[var(--muted)] border border-[var(--muted)] rounded-full bp-keep-round w-3.5 h-3.5 inline-flex items-center justify-center opacity-60 hover:opacity-100 transition-opacity",children:"?"})]}),(0,f.jsx)("input",{type:"number",min:0,value:e.retention[a],onChange:b=>m("retention",{...e.retention,[a]:Number(b.target.value)}),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs"})]},a))})]}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"Ticket pattern (regex)"}),(0,f.jsx)("input",{value:e.ticket_pattern,onChange:a=>m("ticket_pattern",a.target.value),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 w-full max-w-md font-mono text-xs",placeholder:"[A-Z]+-\\d+"})]}),(0,f.jsxs)("section",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium mb-2",children:"WebUI scheduler"}),(0,f.jsxs)("label",{className:"flex items-center gap-2 text-xs",children:[(0,f.jsx)("input",{type:"checkbox",checked:e.webui_scheduler.enabled,onChange:a=>m("webui_scheduler",{...e.webui_scheduler,enabled:a.target.checked})}),"Enable scheduled mechanical distillation"]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-w-md mt-2",children:[(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:"mechanical_distill_interval_minutes"}),(0,f.jsx)("input",{type:"number",min:1,value:e.webui_scheduler.mechanical_distill_interval_minutes,onChange:a=>m("webui_scheduler",{...e.webui_scheduler,mechanical_distill_interval_minutes:Number(a.target.value)}),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs"})]}),(0,f.jsxs)("label",{className:"flex flex-col text-xs",children:[(0,f.jsx)("span",{className:"text-[var(--text-secondary)]",children:"housekeep_interval_hours"}),(0,f.jsx)("input",{type:"number",min:1,value:e.webui_scheduler.housekeep_interval_hours,onChange:a=>m("webui_scheduler",{...e.webui_scheduler,housekeep_interval_hours:Number(a.target.value)}),className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded px-2 py-1 text-xs"})]})]})]}),(0,f.jsx)(fS,{count:l,errorCount:0,onSave:n,onDiscard:function(){h(k.current??fV)}})]})]})}let fY=[{id:"install",label:"MCP SERVER CONFIG"},{id:"journal",label:"JOURNAL CONFIG"},{id:"builder",label:"HANDS TOOLS"},{id:"tools",label:"MCP DOCUMENTATION"}];function fZ({open:a,onClose:b}){let[c,d]=(0,g.useState)("install");return(0,f.jsx)(S.l,{open:a,onClose:b,title:"Kontexta configuration",widthClass:"max-w-6xl",hideHeader:!0,children:(0,f.jsxs)("div",{className:"-m-5 flex flex-col h-[85vh] overflow-hidden text-[var(--text-secondary)]",children:[(0,f.jsx)("div",{className:"flex items-center border-b border-[var(--border)] pl-4 pr-12 bg-[var(--bg-secondary)] flex-shrink-0",children:(0,f.jsx)("div",{role:"tablist",className:"flex gap-1 flex-1 overflow-x-auto hide-scrollbar",children:fY.map(a=>(0,f.jsx)("button",{role:"tab","aria-selected":c===a.id,onClick:()=>d(a.id),className:`px-4 py-3 transition font-mono font-bold uppercase tracking-wider whitespace-nowrap border-b-2 ${c===a.id?"bg-[var(--accent)] text-black border-transparent":"border-transparent text-[var(--text-secondary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] focus:bg-[var(--accent-soft)] focus:text-[var(--text-primary)]"}`,children:a.label},a.id))})}),(0,f.jsxs)("div",{className:"flex-1 overflow-auto p-6 bg-[var(--bg-primary)] animate-fade-in",children:["tools"===c&&(0,f.jsx)(fF,{}),"install"===c&&(0,f.jsx)(fJ,{}),"builder"===c&&(0,f.jsx)(fT,{}),"journal"===c&&(0,f.jsx)(fX,{})]},c)]})})}let f$=[{key:"default",label:"Default",swatches:["#B4781E","#1a1a1a","#e5e5e5","#252525"]},{key:"minimal",label:"Minimal",swatches:["#2563eb","#ffffff","#1a1a1a","#e0e0e0"]},{key:"api-ref",label:"API Ref",swatches:["#0ea5e9","#0c1222","#e2e8f0","#1e293b"]},{key:"flat",label:"Flat",swatches:["#e91e63","#00bcd4","#ff9800","#9c27b0"]},{key:"terminal",label:"Terminal",swatches:["#00ff41","#000000","#33cc33","#1a3a1a"]},{key:"paper",label:"Paper",swatches:["#8b4513","#faf6f1","#2b2620","#d9cdb8"]},{key:"solarized",label:"Solarized",swatches:["#b58900","#268bd2","#2aa198","#dc322f"]},{key:"brutalist",label:"Brutalist",swatches:["#000000","#ffff00","#ffffff","#555555"]},{key:"ocean",label:"Ocean",swatches:["#5eead4","#c4b5fd","#fda4af","#0b1220"]}];function f_({isOpen:a,onClose:b,mode:c="publish",onSwitchToPublish:d,onPublishSuccess:e}){let[h,i]=(0,g.useState)([]),[j,k]=(0,g.useState)([]),[l,m]=(0,g.useState)({folders:[],title:"Kontexta Docs",brand:"Kontexta",tagline:"",hero:!0,theme:"default",llmsTxt:!0,seo:!0}),[n,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(null),[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),[x,y]=(0,g.useState)(null),[z,A]=(0,g.useState)([]),[B,C]=(0,g.useState)(null),D=async()=>{if(0===j.length)return void s("Please select at least one folder to publish.");o(!0),s(null),q(null);try{let a=await fetch("/api/publish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({folders:j,title:l.title,brand:l.brand,tagline:l.tagline,hero:l.hero,theme:l.theme,llmsTxt:l.llmsTxt,seo:l.seo,projectId:B})}),c=await a.json();c.success?(e?.(c),b()):(q(c),s(c.error||"Publish failed"))}catch(a){s(a instanceof Error?a.message:"Publish failed")}finally{o(!1)}},E=null!==B,F=z.find(a=>a.id===B),G="view"===c;return(0,f.jsx)(S.l,{open:a,onClose:b,title:G?"View published site":"Publish documentation",widthClass:G?"max-w-[1400px]":"max-w-2xl",hideHeader:!0,children:(0,f.jsxs)("div",{className:"-m-5 flex flex-col max-h-[80vh] overflow-hidden",children:[(0,f.jsx)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--border)] shrink-0",children:(0,f.jsxs)("div",{className:"flex items-center gap-3",children:[(0,f.jsxs)("svg",{className:"w-5 h-5 text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M9 9h6v6H9z"}),(0,f.jsx)("path",{d:"M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3"})]}),(0,f.jsx)("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:G?"View published site":"Publish documentation"})]})}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:G?(0,f.jsx)("div",{className:"flex-1 flex flex-col",children:t?(0,f.jsx)("div",{className:"flex items-center justify-center h-full p-8",children:(0,f.jsxs)("div",{className:"text-center space-y-3",children:[(0,f.jsxs)("svg",{className:"w-8 h-8 animate-spin mx-auto text-[var(--accent)]",viewBox:"0 0 24 24",fill:"none",children:[(0,f.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,f.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)]",children:"Checking for published site..."})]})}):v?(0,f.jsx)("iframe",{src:"/api/publish/html",title:"Published Site",className:"w-full h-full border-0 bg-white",sandbox:"allow-same-origin allow-scripts allow-popups"}):(0,f.jsx)("div",{className:"flex items-center justify-center h-full p-8",children:(0,f.jsxs)("div",{className:"text-center space-y-4 max-w-md",children:[(0,f.jsxs)("svg",{className:"w-12 h-12 mx-auto text-[var(--text-tertiary)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M9 9h6v6H9z"}),(0,f.jsx)("path",{d:"M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3"})]}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)]",children:"No published site found. Publish some content first to generate a static site."}),(0,f.jsx)("button",{onClick:()=>d?.(),className:"px-4 py-2 rounded-xl text-sm font-medium bg-[var(--accent)] text-white hover:bg-[color-mix(in_srgb,var(--accent)_85%,black)] transition-colors",children:"Create a Publish"})]})})}):(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Source Scope"}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)("button",{onClick:()=>C(null),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-all ${!E?"bg-[var(--accent)]/10 text-[var(--accent)] border border-[var(--accent)]/30":"bg-[var(--bg-tertiary)] text-[var(--text-secondary)] border border-[var(--border)] hover:border-[var(--border)]"}`,children:"Knowledge Base"}),(0,f.jsxs)("button",{onClick:()=>C(z[0]?.id??null),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-all ${E?"bg-[var(--accent)]/10 text-[var(--accent)] border border-[var(--accent)]/30":"bg-[var(--bg-tertiary)] text-[var(--text-secondary)] border border-[var(--border)] hover:border-[var(--border)]"}`,children:["Project",F&&(0,f.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",F.name,")"]})]})]})]}),E&&(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Select Project"}),(0,f.jsx)("select",{value:B??"",onChange:a=>C(a.target.value?Number(a.target.value):null),className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50",children:z.map(a=>(0,f.jsxs)("option",{value:a.id,children:[a.name," (",a.slug,")"]},a.id))})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-3",children:"Folders to Publish"}),(0,f.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,f.jsx)("button",{onClick:()=>{k([...h])},className:"text-xs text-[var(--accent)] hover:underline",children:"Select All"}),(0,f.jsx)("span",{className:"text-[var(--text-tertiary)]",children:"•"}),(0,f.jsx)("button",{onClick:()=>{k([])},className:"text-xs text-[var(--text-tertiary)] hover:underline",children:"Clear All"})]}),(0,f.jsx)("div",{className:"space-y-2 max-h-48 overflow-y-auto rounded-xl border border-[var(--border)] p-3 bg-[var(--bg-tertiary)]/30",children:0===h.length?(0,f.jsx)("p",{className:"text-sm text-[var(--text-tertiary)] text-center py-4",children:E?`No folders found in ${F?.name??"this project"}`:"No folders found in your vault"}):h.map(a=>{var b;return(0,f.jsxs)("label",{className:"flex items-center gap-3 p-2 rounded-lg hover:bg-[var(--bg-secondary)] cursor-pointer transition-colors",children:[(0,f.jsx)("input",{type:"checkbox",checked:j.includes(a),onChange:()=>{k(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm text-[var(--text-primary)]",children:(b=E?F?.slug??null:null)?`${b}/${a}`:a})]},a)})}),j.length>0&&(0,f.jsxs)("p",{className:"text-xs text-[var(--text-tertiary)] mt-2",children:[j.length," folder",1!==j.length?"s":""," selected"]})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Site Title"}),(0,f.jsx)("input",{type:"text",value:l.title,onChange:a=>m(b=>({...b,title:a.target.value})),className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-2",children:"Brand Name"}),(0,f.jsx)("input",{type:"text",value:l.brand,onChange:a=>m(b=>({...b,brand:a.target.value})),className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50"})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer mb-2",children:[(0,f.jsx)("input",{type:"checkbox",checked:l.hero,onChange:a=>m(b=>({...b,hero:a.target.checked})),className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm font-medium text-[var(--text-secondary)]",children:"Show hero on landing page"})]}),l.hero&&(0,f.jsx)("input",{type:"text",value:l.tagline,onChange:a=>m(b=>({...b,tagline:a.target.value})),placeholder:"Optional tagline shown under the title",className:"w-full px-3 py-2 rounded-xl bg-[var(--bg-tertiary)] border border-[var(--border)] text-[var(--text-primary)] text-sm focus:outline-none focus:ring-2 focus:ring-[var(--accent)]/50"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-3",children:"Theme"}),(0,f.jsx)("div",{className:"grid grid-cols-3 gap-3",children:f$.map(({key:a,label:b,swatches:c})=>(0,f.jsxs)("button",{onClick:()=>m(b=>({...b,theme:a})),className:`px-3 py-3 rounded-xl border-2 text-sm font-medium transition-all flex flex-col items-start gap-2 ${l.theme===a?"border-[var(--accent)] bg-[var(--accent)]/10 text-[var(--accent)]":"border-[var(--border)] bg-[var(--bg-tertiary)]/30 text-[var(--text-secondary)] hover:border-[var(--border)]"}`,children:[(0,f.jsx)("span",{children:b}),(0,f.jsx)("span",{className:"flex gap-1",children:c.map((a,b)=>(0,f.jsx)("span",{className:"w-3 h-3 rounded-full bp-keep-round border border-black/10",style:{background:a}},b))})]},a))})]}),(0,f.jsxs)("div",{className:"flex items-center gap-6",children:[(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,f.jsx)("input",{type:"checkbox",checked:l.llmsTxt,onChange:a=>m(b=>({...b,llmsTxt:a.target.checked})),className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm text-[var(--text-primary)]",children:"Generate llms.txt"})]}),(0,f.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,f.jsx)("input",{type:"checkbox",checked:l.seo,onChange:a=>m(b=>({...b,seo:a.target.checked})),className:"w-4 h-4 rounded border-[var(--border)] text-[var(--accent)] focus:ring-[var(--accent)] focus:ring-offset-0 bg-[var(--bg-tertiary)]"}),(0,f.jsx)("span",{className:"text-sm text-[var(--text-primary)]",children:"SEO Meta Tags"})]})]}),r&&(0,f.jsx)("div",{className:"p-4 rounded-xl bg-[var(--danger-soft)] border border-[var(--danger)]/20",children:(0,f.jsx)("p",{className:"text-sm text-[var(--danger)]",children:r})})]})}),(0,f.jsxs)("div",{className:"flex items-center justify-between gap-3 px-6 py-4 border-t border-[var(--border)] bg-[var(--bg-tertiary)]/30",children:[(0,f.jsx)("div",{className:"text-xs text-[var(--text-secondary)] flex-1",children:!G&&x&&(0,f.jsxs)("span",{title:new Date(x).toLocaleString(),children:["Last built ",function(a){if(!a)return null;let b=new Date(a).getTime();if(!Number.isFinite(b))return null;let c=Date.now()-b;return c<6e4?"just now":c<36e5?`${Math.floor(c/6e4)}m ago`:c<864e5?`${Math.floor(c/36e5)}h ago`:c<6048e5?`${Math.floor(c/864e5)}d ago`:new Date(a).toLocaleDateString()}(x)]})}),(0,f.jsx)("button",{onClick:b,disabled:n,className:"px-4 py-2 rounded-xl text-sm font-medium text-[var(--text-secondary)] hover:bg-[var(--bg-tertiary)] transition-colors disabled:opacity-50",children:"Close"}),!G&&0===j.length&&(0,f.jsx)("span",{className:"text-xs text-[var(--text-secondary)] italic",title:"The orange Publish button is disabled until at least one folder is selected",children:"Select at least one folder to enable Publish"}),!G&&(0,f.jsx)("button",{onClick:D,disabled:n||0===j.length,className:"px-6 py-2 rounded-xl text-sm font-medium bg-[var(--accent)] text-white hover:bg-[color-mix(in_srgb,var(--accent)_85%,black)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:n?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("svg",{className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[(0,f.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,f.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),"Publishing..."]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,f.jsx)("path",{d:"M4 4h16v16H4z"}),(0,f.jsx)("path",{d:"M12 8v8M8 12h8"})]}),"Publish"]})})]})]})})}function f0(a,b=0){let[c,d]=(0,g.useState)([]),[e,f]=(0,g.useState)(""),[h,i]=(0,g.useState)(!1);return{folders:c,basePath:e,loading:h}}function f1({segments:a}){return 0===a.length?null:(0,f.jsx)("nav",{"aria-label":"Breadcrumb",className:"h-8 px-4 flex items-center gap-1.5 text-[13px] border-b border-[var(--border)] bg-[var(--bg-tertiary)] text-[var(--text-secondary)] select-none",children:a.map((b,c)=>{let d=c===a.length-1;return(0,f.jsxs)("span",{className:"flex items-center gap-1.5",children:[c>0&&(0,f.jsx)(y.A,{className:"w-3.5 h-3.5 opacity-40","aria-hidden":!0}),d||!b.onClick?(0,f.jsx)("span",{className:d?"font-bold text-[var(--text-primary)]":"",children:b.label}):(0,f.jsx)("button",{onClick:b.onClick,className:"hover:text-[var(--accent)] transition-colors",children:b.label})]},`${c}-${b.label}`)})})}function f2({globalRemoteUrl:a,status:b,lastDoneAt:c,stage:d,onOpenConfigure:e}){let[,h]=(0,g.useState)(0),[i,j]=(0,g.useState)(null),k="syncing"===b?"syncing...":"error"===b?"sync failed":"no-remote"===b?"no remote configured":"ok"===b||c?`synced ${function(a){if(!a)return"never";let b=Math.floor((Date.now()-a)/1e3);return b<60?`${b}s ago`:b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}(c)}`:"ready",l=a?a.replace(/^https?:\/\//,"").replace(/\.git$/,""):null;return(0,f.jsxs)("footer",{className:"relative h-7 border-t border-[var(--border)] bg-[var(--bg-secondary)] px-4 flex items-center gap-2.5 text-[13px] text-[var(--text-secondary)] font-mono",children:[(0,f.jsx)("span",{style:{color:"ok"===b?"var(--success)":"syncing"===b?"var(--warning)":"error"===b?"var(--danger)":"var(--text-secondary)"},className:"syncing"===b?"animate-pulse":"",children:"●"}),(0,f.jsx)("span",{children:k}),(0,f.jsx)("span",{className:"text-[var(--border)]",children:"\xb7"}),(0,f.jsxs)("span",{className:`font-medium ${"syncing"===b?"text-[var(--warning)]":""}`,children:["git: ","syncing"===b?d||"working":"clean"]}),l&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"text-[var(--border)]",children:"\xb7"}),(0,f.jsx)("span",{className:"truncate max-w-[260px] opacity-70",children:l})]}),i?.updateAvailable&&(0,f.jsxs)("button",{onClick:e,className:"ml-auto text-[var(--accent)] hover:underline",title:`You're on v${i.currentVersion} — open Configure for update instructions`,children:["⬆ v",i.latestVersion," available"]})]})}function f3({items:a,footer:b}){let[c,d]=(0,g.useState)(null),e=[...a,...b?[b]:[]].find(a=>a.id===c)??null;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"w-14 shrink-0 bg-[var(--bg-secondary)] border-r border-[var(--border)] flex flex-col items-center py-4 gap-4 z-50",children:[(0,f.jsx)("div",{className:"flex flex-col items-center gap-3 w-full",children:a.map(a=>(0,f.jsx)(f4,{item:a,onPeek:()=>d(a.id)},a.id))}),(0,f.jsx)("div",{className:"flex-1"}),b&&(0,f.jsx)("div",{className:"pt-4 border-t border-[var(--border)] w-full flex flex-col items-center",children:(0,f.jsx)(f4,{item:b,onPeek:()=>d(b.id)})})]}),e?.peek&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 backdrop-blur-sm transition-all",onClick:()=>d(null)}),(0,f.jsxs)("div",{className:"absolute z-50 left-16 top-16 w-64 max-h-[80vh] overflow-auto bg-[var(--bg-secondary)]/90 backdrop-blur-xl border border-amber-accent/20 rounded-xl shadow-2xl p-4 animate-fade-in",children:[(0,f.jsx)("div",{className:"text-[10px] font-black uppercase tracking-[0.2em] text-amber-accent/70 mb-4",children:e.label}),(0,f.jsx)("div",{className:"scrollbar-thin",children:e.peek})]})]})]})}function f4({item:a,onPeek:b}){let c=a.label.charAt(0).toUpperCase(),d="kb"===a.id;return(0,f.jsxs)("button",{title:a.label,onClick:()=>{a.onClick(),a.peek&&b()},className:`
7
7
  w-10 h-10 flex items-center justify-center relative rounded-xl transition-all duration-300 group hover-lift
8
8
  ${a.active?"bg-amber-accent text-white shadow-[0_0_20px_rgba(180,120,30,0.4)]":"bg-[var(--bg-tertiary)] text-[var(--text-secondary)] hover:bg-[var(--accent-soft)] hover:text-[var(--text-primary)] active:scale-95"}
9
- `,"aria-label":a.label,children:[a.active&&(0,f.jsx)("span",{className:"absolute -left-3 top-1/2 -translate-y-1/2 w-1.5 h-6 bg-amber-accent rounded-r-full shadow-[4px_0_15px_rgba(180,120,30,0.6)] bp-keep-round"}),d?(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",className:"w-5 h-5",children:[(0,f.jsx)("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),(0,f.jsx)("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"})]}):(0,f.jsx)("span",{className:"font-black text-sm tracking-tighter",children:c})]})}function f4(){var a;let[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(!1),[j,k]=(0,g.useState)(!1),[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(!1),[r,v]=(0,g.useState)(!1),[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)("publish"),[A,B]=(0,g.useState)(!1),[C,D]=(0,g.useState)(!1),[E,G]=(0,g.useState)(null),[H,I]=(0,g.useState)(null),[J,K]=(0,g.useState)(null),[L,M]=(0,g.useState)(null),[N,O]=(0,g.useState)(null),[P,Q]=(0,g.useState)("updated_at"),[R,S]=(0,g.useState)(0);(0,h.useSearchParams)();let[T,U]=(0,g.useState)(null),W=function(a){let[b,c]=(0,g.useState)(a?"idle":"no-remote"),[d,e]=(0,g.useState)(null),[f,h]=(0,g.useState)(null),[i,j]=(0,g.useState)([]);return(0,g.useRef)(null),{status:b,lastDoneAt:d,stage:f,log:i}}(T);(0,g.useCallback)(async()=>{try{let a=await fetch("/api/git/remote");if(a.ok){let b=await a.json();U(b.remote_url)}}catch(a){}},[]);let{projects:X,loading:Y,refresh:Z}=function(){let[a,b]=(0,g.useState)([]),[c,d]=(0,g.useState)(!0),e=(0,g.useRef)(0);return{projects:a,loading:c,refresh:(0,g.useCallback)(async()=>{let a=++e.current;try{d(!0);let c=await fetch("/api/projects");if(c.ok){let d=await c.json();if(a!==e.current)return;b(d)}}catch(a){console.error("Failed to fetch projects:",a)}finally{a===e.current&&d(!1)}},[])}}(),$=async()=>{if(E)try{let a=await fetch(`/api/projects/${E}`,{method:"DELETE"});if(a.ok)G(null),K(null),O(null),M(null),sessionStorage.removeItem("selectedSection"),sessionStorage.removeItem("selectedProjectId"),Z(),i.o.success("Project unregistered");else{let b=await a.json().catch(()=>({}));i.o.error(b.error||"Failed to unregister project")}}catch(a){i.o.error(`Failed to unregister project: ${a?.message??"Network error"}`)}},{files:_,loading:aa,refresh:ab}=function(a={}){let[b,c]=(0,g.useState)([]),[d,e]=(0,g.useState)(!0),f=(0,g.useRef)(a);f.current=a;let h=(0,g.useRef)(0),i=(0,g.useRef)(null),j=(0,g.useCallback)(async()=>{let a=f.current,b=++h.current;i.current?.abort();let d=new AbortController;i.current=d;try{e(!0);let f=new URLSearchParams;void 0!==a.project_id&&f.append("project_id",null===a.project_id?"none":a.project_id.toString()),a.tag&&f.append("tag",a.tag),void 0!==a.favorite&&f.append("favorite",a.favorite.toString()),a.folder&&f.append("folder",a.folder);let g=`/api/files${f.toString()?`?${f.toString()}`:""}`,i=await fetch(g,{signal:d.signal});if(b!==h.current)return;if(i.ok){let a=await i.json();if(b!==h.current)return;c(a)}}catch(a){if(a?.name==="AbortError")return;console.error("Failed to fetch files:",a)}finally{b===h.current&&e(!1)}},[]);return{files:b,loading:d,refresh:j}}({}),ac=(0,g.useMemo)(()=>"favorites"===J?_.filter(a=>a.favorite):"projects"===J&&null!==E?_.filter(a=>a.project_id===E):_,[_,J,E]),ad=(0,g.useMemo)(()=>_.filter(a=>!a.project_id),[_]),{folders:ae,basePath:af}=f_(null,R),{folders:ag,basePath:ah}=f_("projects"===J?E:null,R),ai=X.find(a=>a.id===E);a=(0,g.useCallback)(a=>{ab()},[ab]),(0,g.useRef)(a).current=a;let aj=t("(max-width: 767px)"),[ak,al]=(0,g.useState)(!1),am=(0,g.useRef)(!1),an=()=>!am.current||window.confirm("You have unsaved changes in the open file. Discard them?"),ao=a=>{an()&&(G(a),K("projects"),M(null),O(null),sessionStorage.setItem("selectedSection","projects"),sessionStorage.setItem("selectedProjectId",String(a)))},ap=()=>{an()&&(K("knowledge"),G(null),M(null),O(null),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"))},aq=()=>{an()&&(K("favorites"),G(null),M(null),O(null),sessionStorage.setItem("selectedSection","favorites"),sessionStorage.removeItem("selectedProjectId"))},ar=(a,b)=>{if(a!==L&&!an())return;let c=_.find(b=>b.id===a);if(c)if(c.project_id){let a=X.find(a=>a.id===c.project_id);K("projects"),G(c.project_id),sessionStorage.setItem("selectedSection","projects"),sessionStorage.setItem("selectedProjectId",String(c.project_id)),a?.path&&c.path.startsWith(a.path)?O(c.path.slice(a.path.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null)}else K("knowledge"),G(null),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"),af&&c.path.startsWith(af)?O(c.path.slice(af.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null);M(a)},as=async()=>{if(!E)return;let a=await fetch(`/api/projects/${E}/sync`,{method:"POST"});if(a.ok)ab();else throw Error((await a.json()).error||"Sync failed")},at=async()=>{B(!0);try{let a=await fetch("/api/refresh",{method:"POST",body:JSON.stringify({projectId:E}),headers:{"Content-Type":"application/json"}});if(a.ok)ab(),ab(),S(a=>a+1),i.o.success("Index refreshed");else{let b=await a.json().catch(()=>({}));i.o.error(b.error||"Refresh failed")}}catch(a){i.o.error(`Failed to refresh: ${a?.message??"Network error"}`)}finally{B(!1)}},au=async()=>{let a=await fetch("/api/git/sync-all",{method:"POST"});if(a.ok||207===a.status)ab();else throw Error((await a.json()).error||"Sync All failed")},av=async a=>{try{if((await fetch("/api/git/remote",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({remote_url:a})})).ok)U(a);else throw Error("Failed to update global remote")}catch(a){throw console.error("Failed to update remote URL:",a),a}},aw=async(a,b,c,d)=>{try{let e=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a,content:b,destination:c,projectId:E,folder:d})}),f=await e.json().catch(()=>({}));if(e.ok)return m(!1),i.o.success(`Created "${a}"`),await ab(),"number"==typeof f.id&&M(f.id),!0;return i.o.error(f.error||"Failed to create file"),!1}catch(a){return i.o.error(`Failed to create file: ${a?.message??"Network error"}`),!1}},ax=async a=>{try{let b=await fetch(`/api/files/${a}`,{method:"DELETE"});if(b.ok)ab(),S(a=>a+1),M(null),i.o.success("File deleted");else{let a=await b.json().catch(()=>({}));i.o.error(a.error||"Failed to delete file")}}catch(a){i.o.error(`Failed to delete file: ${a?.message??"Network error"}`)}},ay=async a=>{try{let b=await fetch("/api/folders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:H&&H>0?H:null,name:a})});if(b.ok)return o(!1),H&&0!==H?O(a):(K("knowledge"),G(null),O(a),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId")),S(a=>a+1),i.o.success(`Folder "${a}" created`),!0;{let a=await b.json().catch(()=>({}));return i.o.error(a.error||"Failed to create folder"),!1}}catch(a){return i.o.error(`Failed to create folder: ${a?.message??"Network error"}`),!1}},az=async()=>{if(N){D(!0);try{let a=await fetch(`/api/folders?name=${encodeURIComponent(N)}&projectId=${E||""}`,{method:"DELETE"});if(a.ok)O(null),S(a=>a+1),q(!1),i.o.success("Folder deleted");else{let b=await a.json().catch(()=>({}));i.o.error(b.error||"Failed to delete folder")}}catch(a){i.o.error(`Failed to delete folder: ${a?.message??"Network error"}`)}finally{D(!1)}}},aA=(0,g.useMemo)(()=>{let a=[];"favorites"===J?a.push({label:"Favorites",onClick:aq}):"knowledge"===J?a.push({label:"Knowledge",onClick:ap}):"projects"===J&&ai&&a.push({label:ai.name,onClick:()=>ao(ai.id)});let b=L?ac.find(a=>a.id===L)||_.find(a=>a.id===L):null,c="projects"===J?ai?.path??null:af??null,d=[];return b&&c&&b.path?.startsWith(c)?d=b.path.slice(c.length).replace(/^\/+/,"").split("/").filter(Boolean).slice(0,-1):N&&(d=N.split("/").filter(Boolean)),d.forEach(b=>a.push({label:b})),b&&a.push({label:b.title}),a},[J,ai,L,ac,_,af,N]),aB=X.map(a=>({id:`p-${a.id}`,label:a.name,active:"projects"===J&&E===a.id,onClick:()=>ao(a.id)}));return ak?aj?(0,f.jsxs)("div",{className:"h-screen flex flex-col items-center justify-center px-6 text-center bg-[var(--bg-primary)] text-[var(--text-primary)]",children:[(0,f.jsx)("div",{className:"text-2xl font-extrabold tracking-[4px] text-[var(--accent)] mb-3",children:"KONTEXTA"}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)] max-w-xs",children:"Kontexta is best used on a tablet or larger screen. Open this URL on a wider device to continue."})]}):(0,f.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,f.jsx)(s,{onSearch:()=>c(!0),onAbout:()=>e(!0),onConfigure:()=>k(!0),onPublish:()=>{z("publish"),x(!0)},onViewPublished:()=>window.open("/api/publish/html","_blank"),globalRemoteUrl:T,syncLog:W.log,onSyncAll:au,onUpdateRemote:av,selectedProjectName:"projects"===J?ai?.name??null:null,onSyncProject:"projects"===J&&E?as:void 0}),(0,f.jsx)(f0,{segments:aA}),(0,f.jsx)(u,{leftRail:(0,f.jsx)(f2,{items:aB,footer:{id:"kb",label:"Knowledge Base",active:"knowledge"===J,onClick:ap}}),left:(0,f.jsx)(F,{projects:X,projectFiles:ac,knowledgeFiles:ad,selectedProjectId:E,selectedSection:J,selectedFolder:N,projectFolders:ag||[],knowledgeFolders:ae||[],projectBasePath:ah,knowledgeBasePath:af,onSelectProject:ao,onSelectKnowledge:ap,onSelectFavorites:aq,onSelectKnowledgeFolder:a=>{an()&&(K("knowledge"),G(null),M(null),O(a),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"))},onSelectFolder:a=>{an()&&(O(a),M(null))},onSelectFile:a=>ar(a,!0),onCreateFolder:a=>{I(a),o(!0)}}),middle:(0,f.jsx)(V,{files:ac,selectedFileId:L,onSelectFile:ar,sortBy:P,onSortChange:Q,selectedFolder:N,selectedProject:ai??null,selectedSection:J,basePath:"projects"===J?ah:af,loading:aa||Y,onSync:as,onUnregisterProject:()=>v(!0),onDeleteFolder:()=>{N&&q(!0)},projects:X,onUploaded:ab,onRefresh:at,refreshing:A,onNewFile:()=>m(!0)}),right:(0,f.jsx)(fv,{fileId:L,onDelete:ax,onChanged:ab,onDirtyChange:a=>{am.current=a}})}),(0,f.jsx)(f1,{globalRemoteUrl:T,status:W.status,lastDoneAt:W.lastDoneAt,stage:W.stage,onOpenConfigure:()=>k(!0)}),(0,f.jsx)(fw,{open:b,onClose:()=>c(!1),onSelectFile:a=>{if(a.id===L||an()){if(a.project_id){let b=X.find(b=>b.id===a.project_id);K("projects"),G(a.project_id),sessionStorage.setItem("selectedSection","projects"),sessionStorage.setItem("selectedProjectId",String(a.project_id)),b?.path&&a.path.startsWith(b.path)?O(a.path.slice(b.path.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null)}else K("knowledge"),G(null),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"),af&&a.path.startsWith(af)?O(a.path.slice(af.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null);M(a.id),c(!1)}}}),(0,f.jsx)(fx,{open:d,onClose:()=>e(!1)}),(0,f.jsx)(fY,{open:j,onClose:()=>k(!1)}),(0,f.jsx)(fy,{open:l,onClose:()=>m(!1),onCreate:aw,currentProjectId:E,availableFolders:"knowledge"===J?ae:ag}),(0,f.jsx)(fz,{open:n,onClose:()=>o(!1),onCreate:ay}),(0,f.jsx)(fA,{open:p,folderName:N||"",onClose:()=>q(!1),onConfirm:az,loading:C}),(0,f.jsx)(fB,{isOpen:r,projectName:ai?.name||"",onClose:()=>v(!1),onConfirm:()=>{$(),v(!1)}}),(0,f.jsx)(f$,{isOpen:w,onClose:()=>{x(!1),z("publish")},mode:y,onSwitchToPublish:()=>{z("publish")},onPublishSuccess:a=>i.o.success("Publish successful",{duration:1/0,closeButton:!0,description:[`${a.docCount??0} docs`,a.endpointCount?`${a.endpointCount} endpoints`:null,a.termCount?`${a.termCount} terms`:null,a.output??null].filter(Boolean).join(" \xb7 "),action:{label:"View Published",onClick:()=>window.open("/api/publish/html","_blank","noopener,noreferrer")}})})]}):(0,f.jsx)("div",{className:"h-screen bg-[var(--bg-primary)]"})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16184:function(a,b,c){"use strict";var d=(this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}})(c(54135)),e=c(23348);function f(a,b){var c={};return a&&"string"==typeof a&&(0,d.default)(a,function(a,d){a&&d&&(c[(0,e.camelCase)(a,b)]=d)}),c}f.default=f,a.exports=f},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},23348:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.camelCase=void 0;var c=/^--[a-zA-Z0-9_-]+$/,d=/-([a-z])/g,e=/^[^-]+$/,f=/^-(webkit|moz|ms|o|khtml)-/,g=/^-(ms)-/,h=function(a,b){return b.toUpperCase()},i=function(a,b){return"".concat(b,"-")};b.camelCase=function(a,b){var j;return(void 0===b&&(b={}),!(j=a)||e.test(j)||c.test(j))?a:(a=a.toLowerCase(),(a=b.reactCompat?a.replace(g,i):a.replace(f,i)).replace(d,h))}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28684:a=>{"use strict";a.exports=require("kxta-core")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30127:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(13522).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/kontexta/kontexta/apps/web/src/app/home-client.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/kontexta/kontexta/apps/web/src/app/home-client.tsx","default")},33873:a=>{"use strict";a.exports=require("path")},34200:a=>{"use strict";var b=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,c=/\n/g,d=/^\s*/,e=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,f=/^:\s*/,g=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,h=/^[;\s]*/,i=/^\s+|\s+$/g;function j(a){return a?a.replace(i,""):""}a.exports=function(a,i){if("string"!=typeof a)throw TypeError("First argument must be a string");if(!a)return[];i=i||{};var k=1,l=1;function m(a){var b=a.match(c);b&&(k+=b.length);var d=a.lastIndexOf("\n");l=~d?a.length-d:l+a.length}function n(){var a={line:k,column:l};return function(b){return b.position=new o(a),q(d),b}}function o(a){this.start=a,this.end={line:k,column:l},this.source=i.source}function p(b){var c=Error(i.source+":"+k+":"+l+": "+b);if(c.reason=b,c.filename=i.source,c.line=k,c.column=l,c.source=a,i.silent);else throw c}function q(b){var c=b.exec(a);if(c){var d=c[0];return m(d),a=a.slice(d.length),c}}function r(a){var b;for(a=a||[];b=s();)!1!==b&&a.push(b);return a}function s(){var b=n();if("/"==a.charAt(0)&&"*"==a.charAt(1)){for(var c=2;""!=a.charAt(c)&&("*"!=a.charAt(c)||"/"!=a.charAt(c+1));)++c;if(c+=2,""===a.charAt(c-1))return p("End of comment missing");var d=a.slice(2,c-2);return l+=2,m(d),a=a.slice(c),l+=2,b({type:"comment",comment:d})}}o.prototype.content=a,q(d);var t,u=[];for(r(u);t=function(){var a=n(),c=q(e);if(c){if(s(),!q(f))return p("property missing ':'");var d=q(g),i=a({type:"declaration",property:j(c[0].replace(b,"")),value:d?j(d[0].replace(b,"")):""});return q(h),i}}();)!1!==t&&(u.push(t),r(u));return u}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},48306:(a,b,c)=>{Promise.resolve().then(c.bind(c,30127))},54135:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b){let c=null;if(!a||"string"!=typeof a)return c;let d=(0,e.default)(a),f="function"==typeof b;return d.forEach(a=>{if("declaration"!==a.type)return;let{property:d,value:e}=a;f?b(d,e,a):e&&((c=c||{})[d]=e)}),c};let e=d(c(34200))},62975:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,dynamic:()=>k});var d=c(18234),e=c(8002),f=c(34017),g=c(16040),h=c(28684),i=c(30127),j=c(28691);let k="force-dynamic";async function l(){(0,j.G)();let a=null;try{a=(0,h.getSetting)("auth_password_hash")}catch{(0,f.redirect)("/login")}a||(0,f.redirect)("/login");let b=await (0,e.b3)(),c=await (0,e.UL)();return(0,g.T5)({headers:b,cookies:c})||(0,f.redirect)("/login"),(0,d.jsx)(i.default,{})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71866:(a,b,c)=>{Promise.resolve().then(c.bind(c,5270))},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},80981:a=>{"use strict";var b=Object.prototype.hasOwnProperty,c=Object.prototype.toString,d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=function(a){return"function"==typeof Array.isArray?Array.isArray(a):"[object Array]"===c.call(a)},g=function(a){if(!a||"[object Object]"!==c.call(a))return!1;var d,e=b.call(a,"constructor"),f=a.constructor&&a.constructor.prototype&&b.call(a.constructor.prototype,"isPrototypeOf");if(a.constructor&&!e&&!f)return!1;for(d in a);return void 0===d||b.call(a,d)},h=function(a,b){d&&"__proto__"===b.name?d(a,b.name,{enumerable:!0,configurable:!0,value:b.newValue,writable:!0}):a[b.name]=b.newValue},i=function(a,c){if("__proto__"===c){if(!b.call(a,c))return;else if(e)return e(a,c).value}return a[c]};a.exports=function a(){var b,c,d,e,j,k,l=arguments[0],m=1,n=arguments.length,o=!1;for("boolean"==typeof l&&(o=l,l=arguments[1]||{},m=2),(null==l||"object"!=typeof l&&"function"!=typeof l)&&(l={});m<n;++m)if(b=arguments[m],null!=b)for(c in b)d=i(l,c),l!==(e=i(b,c))&&(o&&e&&(g(e)||(j=f(e)))?(j?(j=!1,k=d&&f(d)?d:[]):k=d&&g(d)?d:{},h(l,{name:c,newValue:a(o,k,e)})):void 0!==e&&h(l,{name:c,newValue:e}));return l}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[2923,3668,8675,2144,6680],()=>b(b.s=2402));module.exports=c})();
9
+ `,"aria-label":a.label,children:[a.active&&(0,f.jsx)("span",{className:"absolute -left-3 top-1/2 -translate-y-1/2 w-1.5 h-6 bg-amber-accent rounded-r-full shadow-[4px_0_15px_rgba(180,120,30,0.6)] bp-keep-round"}),d?(0,f.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",className:"w-5 h-5",children:[(0,f.jsx)("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),(0,f.jsx)("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"})]}):(0,f.jsx)("span",{className:"font-black text-sm tracking-tighter",children:c})]})}function f5(){var a;let[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(!1),[j,k]=(0,g.useState)(!1),[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(!1),[r,v]=(0,g.useState)(!1),[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)("publish"),[A,B]=(0,g.useState)(!1),[C,D]=(0,g.useState)(!1),[E,F]=(0,g.useState)(null),[H,I]=(0,g.useState)(null),[J,K]=(0,g.useState)(null),[L,M]=(0,g.useState)(null),[N,O]=(0,g.useState)(null),[P,Q]=(0,g.useState)("updated_at"),[R,S]=(0,g.useState)(0);(0,h.useSearchParams)();let[T,U]=(0,g.useState)(null),V=function(a){let[b,c]=(0,g.useState)(a?"idle":"no-remote"),[d,e]=(0,g.useState)(null),[f,h]=(0,g.useState)(null),[i,j]=(0,g.useState)([]);return(0,g.useRef)(null),{status:b,lastDoneAt:d,stage:f,log:i}}(T);(0,g.useCallback)(async()=>{try{let a=await fetch("/api/git/remote");if(a.ok){let b=await a.json();U(b.remote_url)}}catch(a){}},[]);let{projects:X,loading:Y,refresh:Z}=function(){let[a,b]=(0,g.useState)([]),[c,d]=(0,g.useState)(!0),e=(0,g.useRef)(0);return{projects:a,loading:c,refresh:(0,g.useCallback)(async()=>{let a=++e.current;try{d(!0);let c=await fetch("/api/projects");if(c.ok){let d=await c.json();if(a!==e.current)return;b(d)}}catch(a){console.error("Failed to fetch projects:",a)}finally{a===e.current&&d(!1)}},[])}}(),$=async()=>{if(E)try{let a=await fetch(`/api/projects/${E}`,{method:"DELETE"});if(a.ok)F(null),K(null),O(null),M(null),sessionStorage.removeItem("selectedSection"),sessionStorage.removeItem("selectedProjectId"),Z(),i.o.success("Project unregistered");else{let b=await a.json().catch(()=>({}));i.o.error(b.error||"Failed to unregister project")}}catch(a){i.o.error(`Failed to unregister project: ${a?.message??"Network error"}`)}},{files:_,loading:aa,refresh:ab}=function(a={}){let[b,c]=(0,g.useState)([]),[d,e]=(0,g.useState)(!0),f=(0,g.useRef)(a);f.current=a;let h=(0,g.useRef)(0),i=(0,g.useRef)(null),j=(0,g.useCallback)(async()=>{let a=f.current,b=++h.current;i.current?.abort();let d=new AbortController;i.current=d;try{e(!0);let f=new URLSearchParams;void 0!==a.project_id&&f.append("project_id",null===a.project_id?"none":a.project_id.toString()),a.tag&&f.append("tag",a.tag),void 0!==a.favorite&&f.append("favorite",a.favorite.toString()),a.folder&&f.append("folder",a.folder);let g=`/api/files${f.toString()?`?${f.toString()}`:""}`,i=await fetch(g,{signal:d.signal});if(b!==h.current)return;if(i.ok){let a=await i.json();if(b!==h.current)return;c(a)}}catch(a){if(a?.name==="AbortError")return;console.error("Failed to fetch files:",a)}finally{b===h.current&&e(!1)}},[]);return{files:b,loading:d,refresh:j}}({}),ac=(0,g.useMemo)(()=>"favorites"===J?_.filter(a=>a.favorite):"projects"===J&&null!==E?_.filter(a=>a.project_id===E):_,[_,J,E]),ad=(0,g.useMemo)(()=>_.filter(a=>!a.project_id),[_]),{folders:ae,basePath:af}=f0(null,R),{folders:ag,basePath:ah}=f0("projects"===J?E:null,R),ai=X.find(a=>a.id===E);a=(0,g.useCallback)(a=>{ab()},[ab]),(0,g.useRef)(a).current=a;let aj=t("(max-width: 767px)"),[ak,al]=(0,g.useState)(!1),am=(0,g.useRef)(!1),an=()=>!am.current||window.confirm("You have unsaved changes in the open file. Discard them?"),ao=a=>{an()&&(F(a),K("projects"),M(null),O(null),sessionStorage.setItem("selectedSection","projects"),sessionStorage.setItem("selectedProjectId",String(a)))},ap=()=>{an()&&(K("knowledge"),F(null),M(null),O(null),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"))},aq=()=>{an()&&(K("favorites"),F(null),M(null),O(null),sessionStorage.setItem("selectedSection","favorites"),sessionStorage.removeItem("selectedProjectId"))},ar=(a,b)=>{if(a!==L&&!an())return;let c=_.find(b=>b.id===a);if(c)if(c.project_id){let a=X.find(a=>a.id===c.project_id);K("projects"),F(c.project_id),sessionStorage.setItem("selectedSection","projects"),sessionStorage.setItem("selectedProjectId",String(c.project_id)),a?.path&&c.path.startsWith(a.path)?O(c.path.slice(a.path.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null)}else K("knowledge"),F(null),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"),af&&c.path.startsWith(af)?O(c.path.slice(af.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null);M(a)},as=async()=>{if(!E)return;let a=await fetch(`/api/projects/${E}/sync`,{method:"POST"});if(a.ok)ab();else throw Error((await a.json()).error||"Sync failed")},at=async()=>{B(!0);try{let a=await fetch("/api/refresh",{method:"POST",body:JSON.stringify({projectId:E}),headers:{"Content-Type":"application/json"}});if(a.ok)ab(),ab(),S(a=>a+1),i.o.success("Index refreshed");else{let b=await a.json().catch(()=>({}));i.o.error(b.error||"Refresh failed")}}catch(a){i.o.error(`Failed to refresh: ${a?.message??"Network error"}`)}finally{B(!1)}},au=async()=>{let a=await fetch("/api/git/sync-all",{method:"POST"});if(a.ok||207===a.status)ab();else throw Error((await a.json()).error||"Sync All failed")},av=async a=>{try{if((await fetch("/api/git/remote",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({remote_url:a})})).ok)U(a);else throw Error("Failed to update global remote")}catch(a){throw console.error("Failed to update remote URL:",a),a}},aw=async(a,b,c,d)=>{try{let e=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a,content:b,destination:c,projectId:E,folder:d})}),f=await e.json().catch(()=>({}));if(e.ok)return m(!1),i.o.success(`Created "${a}"`),await ab(),"number"==typeof f.id&&M(f.id),!0;return i.o.error(f.error||"Failed to create file"),!1}catch(a){return i.o.error(`Failed to create file: ${a?.message??"Network error"}`),!1}},ax=async a=>{try{let b=await fetch(`/api/files/${a}`,{method:"DELETE"});if(b.ok)ab(),S(a=>a+1),M(null),i.o.success("File deleted");else{let a=await b.json().catch(()=>({}));i.o.error(a.error||"Failed to delete file")}}catch(a){i.o.error(`Failed to delete file: ${a?.message??"Network error"}`)}},ay=async a=>{try{let b=await fetch("/api/folders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:H&&H>0?H:null,name:a})});if(b.ok)return o(!1),H&&0!==H?O(a):(K("knowledge"),F(null),O(a),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId")),S(a=>a+1),i.o.success(`Folder "${a}" created`),!0;{let a=await b.json().catch(()=>({}));return i.o.error(a.error||"Failed to create folder"),!1}}catch(a){return i.o.error(`Failed to create folder: ${a?.message??"Network error"}`),!1}},az=async()=>{if(N){D(!0);try{let a=await fetch(`/api/folders?name=${encodeURIComponent(N)}&projectId=${E||""}`,{method:"DELETE"});if(a.ok)O(null),S(a=>a+1),q(!1),i.o.success("Folder deleted");else{let b=await a.json().catch(()=>({}));i.o.error(b.error||"Failed to delete folder")}}catch(a){i.o.error(`Failed to delete folder: ${a?.message??"Network error"}`)}finally{D(!1)}}},aA=(0,g.useMemo)(()=>{let a=[];"favorites"===J?a.push({label:"Favorites",onClick:aq}):"knowledge"===J?a.push({label:"Knowledge",onClick:ap}):"projects"===J&&ai&&a.push({label:ai.name,onClick:()=>ao(ai.id)});let b=L?ac.find(a=>a.id===L)||_.find(a=>a.id===L):null,c="projects"===J?ai?.path??null:af??null,d=[];return b&&c&&b.path?.startsWith(c)?d=b.path.slice(c.length).replace(/\\/g,"/").replace(/^\/+/,"").split("/").filter(Boolean).slice(0,-1):N&&(d=N.split("/").filter(Boolean)),d.forEach(b=>a.push({label:b})),b&&a.push({label:b.title}),a},[J,ai,L,ac,_,af,N]),aB=X.map(a=>({id:`p-${a.id}`,label:a.name,active:"projects"===J&&E===a.id,onClick:()=>ao(a.id)}));return ak?aj?(0,f.jsxs)("div",{className:"h-screen flex flex-col items-center justify-center px-6 text-center bg-[var(--bg-primary)] text-[var(--text-primary)]",children:[(0,f.jsx)("div",{className:"text-2xl font-extrabold tracking-[4px] text-[var(--accent)] mb-3",children:"KONTEXTA"}),(0,f.jsx)("p",{className:"text-sm text-[var(--text-secondary)] max-w-xs",children:"Kontexta is best used on a tablet or larger screen. Open this URL on a wider device to continue."})]}):(0,f.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,f.jsx)(s,{onSearch:()=>c(!0),onAbout:()=>e(!0),onConfigure:()=>k(!0),onPublish:()=>{z("publish"),x(!0)},onViewPublished:()=>window.open("/api/publish/html","_blank"),globalRemoteUrl:T,syncLog:V.log,onSyncAll:au,onUpdateRemote:av,selectedProjectName:"projects"===J?ai?.name??null:null,onSyncProject:"projects"===J&&E?as:void 0}),(0,f.jsx)(f1,{segments:aA}),(0,f.jsx)(u,{leftRail:(0,f.jsx)(f3,{items:aB,footer:{id:"kb",label:"Knowledge Base",active:"knowledge"===J,onClick:ap}}),left:(0,f.jsx)(G,{projects:X,projectFiles:ac,knowledgeFiles:ad,selectedProjectId:E,selectedSection:J,selectedFolder:N,projectFolders:ag||[],knowledgeFolders:ae||[],projectBasePath:ah,knowledgeBasePath:af,onSelectProject:ao,onSelectKnowledge:ap,onSelectFavorites:aq,onSelectKnowledgeFolder:a=>{an()&&(K("knowledge"),F(null),M(null),O(a),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"))},onSelectFolder:a=>{an()&&(O(a),M(null))},onSelectFile:a=>ar(a,!0),onCreateFolder:a=>{I(a),o(!0)}}),middle:(0,f.jsx)(W,{files:ac,selectedFileId:L,onSelectFile:ar,sortBy:P,onSortChange:Q,selectedFolder:N,selectedProject:ai??null,selectedSection:J,basePath:"projects"===J?ah:af,loading:aa||Y,onSync:as,onUnregisterProject:()=>v(!0),onDeleteFolder:()=>{N&&q(!0)},projects:X,onUploaded:ab,onRefresh:at,refreshing:A,onNewFile:()=>m(!0)}),right:(0,f.jsx)(fw,{fileId:L,onDelete:ax,onChanged:ab,onDirtyChange:a=>{am.current=a}})}),(0,f.jsx)(f2,{globalRemoteUrl:T,status:V.status,lastDoneAt:V.lastDoneAt,stage:V.stage,onOpenConfigure:()=>k(!0)}),(0,f.jsx)(fx,{open:b,onClose:()=>c(!1),onSelectFile:a=>{if(a.id===L||an()){if(a.project_id){let b=X.find(b=>b.id===a.project_id);K("projects"),F(a.project_id),sessionStorage.setItem("selectedSection","projects"),sessionStorage.setItem("selectedProjectId",String(a.project_id)),b?.path&&a.path.startsWith(b.path)?O(a.path.slice(b.path.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null)}else K("knowledge"),F(null),sessionStorage.setItem("selectedSection","knowledge"),sessionStorage.removeItem("selectedProjectId"),af&&a.path.startsWith(af)?O(a.path.slice(af.length).replace(/^[\/\\]+/,"").split(/[\/\\]/).slice(0,-1).join("/")||null):O(null);M(a.id),c(!1)}}}),(0,f.jsx)(fy,{open:d,onClose:()=>e(!1)}),(0,f.jsx)(fZ,{open:j,onClose:()=>k(!1)}),(0,f.jsx)(fz,{open:l,onClose:()=>m(!1),onCreate:aw,currentProjectId:E,availableFolders:"knowledge"===J?ae:ag}),(0,f.jsx)(fA,{open:n,onClose:()=>o(!1),onCreate:ay}),(0,f.jsx)(fB,{open:p,folderName:N||"",onClose:()=>q(!1),onConfirm:az,loading:C}),(0,f.jsx)(fC,{isOpen:r,projectName:ai?.name||"",onClose:()=>v(!1),onConfirm:()=>{$(),v(!1)}}),(0,f.jsx)(f_,{isOpen:w,onClose:()=>{x(!1),z("publish")},mode:y,onSwitchToPublish:()=>{z("publish")},onPublishSuccess:a=>i.o.success("Publish successful",{duration:1/0,closeButton:!0,description:[`${a.docCount??0} docs`,a.endpointCount?`${a.endpointCount} endpoints`:null,a.termCount?`${a.termCount} terms`:null,a.output??null].filter(Boolean).join(" \xb7 "),action:{label:"View Published",onClick:()=>window.open("/api/publish/html","_blank","noopener,noreferrer")}})})]}):(0,f.jsx)("div",{className:"h-screen bg-[var(--bg-primary)]"})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16184:function(a,b,c){"use strict";var d=(this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}})(c(54135)),e=c(23348);function f(a,b){var c={};return a&&"string"==typeof a&&(0,d.default)(a,function(a,d){a&&d&&(c[(0,e.camelCase)(a,b)]=d)}),c}f.default=f,a.exports=f},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},23348:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.camelCase=void 0;var c=/^--[a-zA-Z0-9_-]+$/,d=/-([a-z])/g,e=/^[^-]+$/,f=/^-(webkit|moz|ms|o|khtml)-/,g=/^-(ms)-/,h=function(a,b){return b.toUpperCase()},i=function(a,b){return"".concat(b,"-")};b.camelCase=function(a,b){var j;return(void 0===b&&(b={}),!(j=a)||e.test(j)||c.test(j))?a:(a=a.toLowerCase(),(a=b.reactCompat?a.replace(g,i):a.replace(f,i)).replace(d,h))}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28684:a=>{"use strict";a.exports=require("kxta-core")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30127:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(13522).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/kontexta/kontexta/apps/web/src/app/home-client.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/kontexta/kontexta/apps/web/src/app/home-client.tsx","default")},33873:a=>{"use strict";a.exports=require("path")},34200:a=>{"use strict";var b=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,c=/\n/g,d=/^\s*/,e=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,f=/^:\s*/,g=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,h=/^[;\s]*/,i=/^\s+|\s+$/g;function j(a){return a?a.replace(i,""):""}a.exports=function(a,i){if("string"!=typeof a)throw TypeError("First argument must be a string");if(!a)return[];i=i||{};var k=1,l=1;function m(a){var b=a.match(c);b&&(k+=b.length);var d=a.lastIndexOf("\n");l=~d?a.length-d:l+a.length}function n(){var a={line:k,column:l};return function(b){return b.position=new o(a),q(d),b}}function o(a){this.start=a,this.end={line:k,column:l},this.source=i.source}function p(b){var c=Error(i.source+":"+k+":"+l+": "+b);if(c.reason=b,c.filename=i.source,c.line=k,c.column=l,c.source=a,i.silent);else throw c}function q(b){var c=b.exec(a);if(c){var d=c[0];return m(d),a=a.slice(d.length),c}}function r(a){var b;for(a=a||[];b=s();)!1!==b&&a.push(b);return a}function s(){var b=n();if("/"==a.charAt(0)&&"*"==a.charAt(1)){for(var c=2;""!=a.charAt(c)&&("*"!=a.charAt(c)||"/"!=a.charAt(c+1));)++c;if(c+=2,""===a.charAt(c-1))return p("End of comment missing");var d=a.slice(2,c-2);return l+=2,m(d),a=a.slice(c),l+=2,b({type:"comment",comment:d})}}o.prototype.content=a,q(d);var t,u=[];for(r(u);t=function(){var a=n(),c=q(e);if(c){if(s(),!q(f))return p("property missing ':'");var d=q(g),i=a({type:"declaration",property:j(c[0].replace(b,"")),value:d?j(d[0].replace(b,"")):""});return q(h),i}}();)!1!==t&&(u.push(t),r(u));return u}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},48306:(a,b,c)=>{Promise.resolve().then(c.bind(c,30127))},54135:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b){let c=null;if(!a||"string"!=typeof a)return c;let d=(0,e.default)(a),f="function"==typeof b;return d.forEach(a=>{if("declaration"!==a.type)return;let{property:d,value:e}=a;f?b(d,e,a):e&&((c=c||{})[d]=e)}),c};let e=d(c(34200))},62975:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,dynamic:()=>k});var d=c(18234),e=c(8002),f=c(34017),g=c(16040),h=c(28684),i=c(30127),j=c(28691);let k="force-dynamic";async function l(){(0,j.G)();let a=null;try{a=(0,h.getSetting)("auth_password_hash")}catch{(0,f.redirect)("/login")}a||(0,f.redirect)("/login");let b=await (0,e.b3)(),c=await (0,e.UL)();return(0,g.T5)({headers:b,cookies:c})||(0,f.redirect)("/login"),(0,d.jsx)(i.default,{})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71866:(a,b,c)=>{Promise.resolve().then(c.bind(c,5270))},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},80981:a=>{"use strict";var b=Object.prototype.hasOwnProperty,c=Object.prototype.toString,d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=function(a){return"function"==typeof Array.isArray?Array.isArray(a):"[object Array]"===c.call(a)},g=function(a){if(!a||"[object Object]"!==c.call(a))return!1;var d,e=b.call(a,"constructor"),f=a.constructor&&a.constructor.prototype&&b.call(a.constructor.prototype,"isPrototypeOf");if(a.constructor&&!e&&!f)return!1;for(d in a);return void 0===d||b.call(a,d)},h=function(a,b){d&&"__proto__"===b.name?d(a,b.name,{enumerable:!0,configurable:!0,value:b.newValue,writable:!0}):a[b.name]=b.newValue},i=function(a,c){if("__proto__"===c){if(!b.call(a,c))return;else if(e)return e(a,c).value}return a[c]};a.exports=function a(){var b,c,d,e,j,k,l=arguments[0],m=1,n=arguments.length,o=!1;for("boolean"==typeof l&&(o=l,l=arguments[1]||{},m=2),(null==l||"object"!=typeof l&&"function"!=typeof l)&&(l={});m<n;++m)if(b=arguments[m],null!=b)for(c in b)d=i(l,c),l!==(e=i(b,c))&&(o&&e&&(g(e)||(j=f(e)))?(j?(j=!1,k=d&&f(d)?d:[]):k=d&&g(d)?d:{},h(l,{name:c,newValue:a(o,k,e)})):void 0!==e&&h(l,{name:c,newValue:e}));return l}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[2923,3668,8675,2144,6680],()=>b(b.s=2402));module.exports=c})();