granclaw 0.0.1-beta.13 → 0.0.1-beta.15
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.
|
@@ -219,9 +219,17 @@ function providerEnvKey(provider) {
|
|
|
219
219
|
mistral: 'MISTRAL_API_KEY',
|
|
220
220
|
cerebras: 'CEREBRAS_API_KEY',
|
|
221
221
|
openrouter: 'OPENROUTER_API_KEY',
|
|
222
|
+
// freetier routes through the enterprise proxy (OpenAI-compatible) using the same env var
|
|
223
|
+
freetier: 'OPENROUTER_API_KEY',
|
|
222
224
|
};
|
|
223
225
|
return keys[provider] ?? `${provider.toUpperCase()}_API_KEY`;
|
|
224
226
|
}
|
|
227
|
+
// "freetier" is an enterprise-managed provider that proxies through our internal LLM gateway.
|
|
228
|
+
// Pi-ai doesn't know "freetier", so we resolve it to "openrouter" for model lookup,
|
|
229
|
+
// then override the baseUrl to point at the proxy.
|
|
230
|
+
function resolvePiProvider(provider) {
|
|
231
|
+
return provider === 'freetier' ? 'openrouter' : provider;
|
|
232
|
+
}
|
|
225
233
|
// ── Agent name extraction ────────────────────────────────────────────────────
|
|
226
234
|
function extractAgentName(workspaceDir) {
|
|
227
235
|
// Check AGENT.md first (pi runner), fall back to CLAUDE.md (legacy)
|
|
@@ -295,14 +303,21 @@ async function runAgent(agent, message, onChunk, options) {
|
|
|
295
303
|
// getModel() expects KnownProvider literals at the type level, but our
|
|
296
304
|
// provider string comes from runtime config. The cast is safe — getModel()
|
|
297
305
|
// returns undefined for unknown provider/model combos, which we handle below.
|
|
298
|
-
|
|
299
|
-
|
|
306
|
+
// resolvePiProvider maps display-only providers (e.g. "freetier") to their
|
|
307
|
+
// underlying pi-ai provider ("openrouter") for model lookup.
|
|
308
|
+
const piProvider = resolvePiProvider(providerCfg.provider);
|
|
309
|
+
const rawModel = getModel(piProvider, modelId);
|
|
310
|
+
if (!rawModel) {
|
|
300
311
|
onChunk({
|
|
301
312
|
type: 'error',
|
|
302
313
|
message: `Model "${modelId}" not found for provider "${providerCfg.provider}". Check Settings.`,
|
|
303
314
|
});
|
|
304
315
|
return;
|
|
305
316
|
}
|
|
317
|
+
// For managed providers (e.g. "freetier"), override the baseUrl so requests
|
|
318
|
+
// are routed through the enterprise LLM proxy instead of the upstream directly.
|
|
319
|
+
const baseUrlOverride = (0, providers_config_js_1.getProviderBaseUrl)(providerCfg.provider);
|
|
320
|
+
const model = baseUrlOverride ? { ...rawModel, baseUrl: baseUrlOverride } : rawModel;
|
|
306
321
|
// Inject the API key into the env so pi-ai's credential chain picks it up.
|
|
307
322
|
// Done here (after model guard) so the finally block always restores it.
|
|
308
323
|
envKey = providerEnvKey(providerCfg.provider);
|
|
@@ -93,10 +93,22 @@ function getProvider(provider) {
|
|
|
93
93
|
const map = getProvidersMap(cfg);
|
|
94
94
|
if (provider) {
|
|
95
95
|
const entry = map[provider];
|
|
96
|
-
|
|
96
|
+
if (entry)
|
|
97
|
+
return { provider, model: entry.model };
|
|
98
|
+
// Fall back to managed config (e.g. "freetier" provider seeded by enterprise control)
|
|
99
|
+
const managed = readManagedConfig();
|
|
100
|
+
if (managed.llm?.provider === provider)
|
|
101
|
+
return { provider, model: managed.llm.defaultModel };
|
|
102
|
+
return null;
|
|
97
103
|
}
|
|
104
|
+
// No provider specified: prefer user-configured, fall back to managed
|
|
98
105
|
const first = Object.entries(map)[0];
|
|
99
|
-
|
|
106
|
+
if (first)
|
|
107
|
+
return { provider: first[0], model: first[1].model };
|
|
108
|
+
const managed = readManagedConfig();
|
|
109
|
+
if (managed.llm)
|
|
110
|
+
return { provider: managed.llm.provider, model: managed.llm.defaultModel };
|
|
111
|
+
return null;
|
|
100
112
|
}
|
|
101
113
|
/** Server-side only — returns the raw API key for a specific provider (or first). */
|
|
102
114
|
function getProviderApiKey(provider) {
|
|
@@ -64,13 +64,13 @@ Error generating stack: `+s.message+`
|
|
|
64
64
|
* LICENSE.md file in the root directory of this source tree.
|
|
65
65
|
*
|
|
66
66
|
* @license MIT
|
|
67
|
-
*/function zu(){return zu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zu.apply(this,arguments)}function _S(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,s;for(s=0;s<r.length;s++)i=r[s],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function CS(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function NS(e,t){return e.button===0&&(!t||t==="_self")&&!CS(e)}const jS=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],ES="6";try{window.__reactRouterVersion=ES}catch{}const PS="startTransition",kp=x1[PS];function MS(e){let{basename:t,children:n,future:r,window:i}=e,s=N.useRef();s.current==null&&(s.current=Pk({window:i,v5Compat:!0}));let o=s.current,[a,l]=N.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},u=N.useCallback(f=>{c&&kp?kp(()=>l(f)):l(f)},[l,c]);return N.useLayoutEffect(()=>o.listen(u),[o,u]),N.useEffect(()=>bS(r),[r]),N.createElement(kS,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:o,future:r})}const TS=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",DS=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ya=N.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:s,replace:o,state:a,target:l,to:c,preventScrollReset:u,viewTransition:f}=t,h=_S(t,jS),{basename:p}=N.useContext(ar),m,g=!1;if(typeof c=="string"&&DS.test(c)&&(m=c,TS))try{let b=new URL(window.location.href),k=c.startsWith("//")?new URL(b.protocol+c):new URL(c),S=md(k.pathname,p);k.origin===b.origin&&S!=null?c=S+k.search+k.hash:g=!0}catch{}let v=rS(c,{relative:i}),x=AS(c,{replace:o,state:a,target:l,preventScrollReset:u,relative:i,viewTransition:f});function y(b){r&&r(b),b.defaultPrevented||x(b)}return N.createElement("a",zu({},h,{href:m||v,onClick:g||s?r:y,ref:n,target:l}))});var Sp;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Sp||(Sp={}));var _p;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(_p||(_p={}));function AS(e,t){let{target:n,replace:r,state:i,preventScrollReset:s,relative:o,viewTransition:a}=t===void 0?{}:t,l=Br(),c=Ai(),u=P0(e,{relative:o});return N.useCallback(f=>{if(NS(f,n)){f.preventDefault();let h=r!==void 0?r:Ua(c)===Ua(u);l(e,{replace:h,state:i,preventScrollReset:s,relative:o,viewTransition:a})}},[c,l,u,r,i,n,e,s,o,a])}const Cp="granclaw-theme";function Np(){return typeof document>"u"?"light":document.documentElement.classList.contains("dark")?"dark":"light"}function LS(){const[e,t]=N.useState(Np),n=N.useCallback(i=>{const s=document.documentElement;i==="dark"?s.classList.add("dark"):s.classList.remove("dark");try{localStorage.setItem(Cp,i)}catch{}t(i)},[]),r=N.useCallback(()=>{n(Np()==="dark"?"light":"dark")},[n]);return N.useEffect(()=>{const i=window.matchMedia("(prefers-color-scheme: dark)"),s=o=>{localStorage.getItem(Cp)||n(o.matches?"dark":"light")};return i.addEventListener("change",s),()=>i.removeEventListener("change",s)},[n]),{theme:e,setTheme:n,toggleTheme:r}}const vs="inline-flex items-center justify-center gap-2 bg-primary text-on-primary px-5 py-2.5 text-sm font-label font-semibold uppercase tracking-widest rounded shadow-sm transition-all hover:bg-surface-tint hover:shadow-md active:scale-[0.98] disabled:opacity-40 disabled:pointer-events-none",RS="inline-flex items-center justify-center gap-2 border border-outline-variant text-on-surface px-5 py-2.5 text-sm font-label font-semibold uppercase tracking-widest rounded transition-all hover:bg-surface-container hover:border-outline active:scale-[0.98] disabled:opacity-40 disabled:pointer-events-none",A0="inline-flex items-center justify-center gap-1.5 text-on-surface-variant px-2.5 py-1.5 text-xs font-label font-medium uppercase tracking-wider rounded transition-colors hover:bg-surface-container hover:text-on-surface disabled:opacity-40 disabled:pointer-events-none",OS="inline-flex items-center justify-center gap-1.5 text-error px-2.5 py-1.5 text-xs font-label font-medium uppercase tracking-wider rounded transition-colors hover:bg-error/10 disabled:opacity-40 disabled:pointer-events-none",la="w-full bg-surface-container-lowest text-on-surface placeholder:text-on-surface-variant border border-outline-variant rounded-lg px-3 py-2 text-sm focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-colors",jp=la.replace("text-sm","text-sm font-mono"),Xs="bg-surface-container-lowest border border-outline-variant/40 rounded-xl shadow-callout",pi="inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-label font-medium uppercase tracking-wider",Fu=`${pi} bg-surface-container border border-outline-variant/40 text-on-surface-variant`,L0=`${pi} bg-success/10 border border-success/20 text-success`,IS=`${pi} bg-warning/10 border border-warning/20 text-warning`,Ep="font-label text-xs font-medium uppercase tracking-widest text-on-surface-variant hover:text-primary transition-colors";function zS(){const e=Ai(),t=Br(),{theme:n,toggleTheme:r}=LS(),i=/\/agents\/[^/]+\/(chat|view)/.test(e.pathname);return d.jsxs("div",{className:"flex h-screen flex-col overflow-hidden bg-background text-on-surface",children:[d.jsx("div",{className:"noise-overlay","aria-hidden":"true"}),d.jsxs("header",{className:"relative z-10 flex h-14 flex-shrink-0 items-center justify-between border-b border-outline-variant/40 bg-surface-container-lowest px-6",children:[d.jsxs("button",{type:"button",onClick:()=>t("/dashboard"),className:"flex items-center gap-3 hover:opacity-80 transition-opacity",children:[d.jsx("img",{src:"/granclaw-logo.png",alt:"GranClaw",className:"h-7 w-7 rounded"}),d.jsx("span",{className:"font-headline text-xl font-bold tracking-tight text-on-surface",children:"GranClaw"})]}),d.jsxs("nav",{className:"flex items-center gap-6",children:[d.jsx(Ya,{to:"/dashboard",className:Ep,children:"Agents"}),d.jsx(Ya,{to:"/settings",className:Ep,children:"Settings"}),d.jsx("button",{type:"button",onClick:r,"aria-label":`Switch to ${n==="dark"?"light":"dark"} mode`,title:`Switch to ${n==="dark"?"light":"dark"} mode`,className:"flex h-8 w-8 items-center justify-center rounded-full border border-outline-variant/60 text-on-surface-variant transition-colors hover:bg-surface-container hover:text-on-surface",children:d.jsx("span",{className:"material-symbols-outlined text-[18px]",children:n==="dark"?"light_mode":"dark_mode"})}),d.jsxs("span",{className:"flex items-center gap-1.5 rounded-full border border-success/30 bg-success/10 px-3 py-1 font-label text-[10px] font-semibold uppercase tracking-widest text-success",children:[d.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-success animate-pulse"}),"online"]})]})]}),d.jsx("main",{className:`relative z-0 flex-1 overflow-auto ${i?"":"p-6"}`,children:d.jsx(wS,{})})]})}const Z="";async function Pp(){const e=await fetch(`${Z}/agents`);if(!e.ok)throw new Error(`fetchAgents: ${e.status}`);return e.json()}async function FS(e,t,n,r,i){const s=await fetch(`${Z}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,name:t,model:n,provider:r,...i?{workspaceDir:i}:{}})});if(!s.ok){const o=await s.json().catch(()=>({error:s.statusText}));throw new Error(o.error)}}async function BS(e){const t=await fetch(`${Z}/agents/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(`deleteAgent: ${t.status}`)}async function cc(e){const t=await fetch(`${Z}/agents/${e}`);if(!t.ok)throw new Error(`fetchAgent: ${t.status}`);return t.json()}async function Mp(e,t="ui"){const n=await fetch(`${Z}/agents/${e}/messages?channelId=${t}&sortBy=asc&limit=200`);if(!n.ok)throw new Error(`fetchMessages: ${n.status}`);return n.json()}async function $S(e){const t=await fetch(`${Z}/agents/${e}/reset`,{method:"DELETE"});if(!t.ok)throw new Error(`resetAgent: ${t.status}`)}async function VS(e,t=""){const n=await fetch(`${Z}/agents/${e}/files?path=${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`fetchFiles: ${n.status}`);return(await n.json()).entries}async function WS(e,t){const n=await fetch(`${Z}/agents/${e}/files/read?path=${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`readFile: ${n.status}`);return(await n.json()).content}async function HS(e,t,n){const r=await fetch(`${Z}/agents/${e}/files/write?path=${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n})});if(!r.ok)throw new Error(`writeFile: ${r.status}`)}async function US(e){const t=await fetch(`${Z}/agents/${e}/secrets`);if(!t.ok)throw new Error(`fetchSecrets: ${t.status}`);return t.json()}async function Bu(e,t,n){const r=await fetch(`${Z}/agents/${e}/secrets`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,value:n})});if(!r.ok)throw new Error(`addSecret: ${r.status}`)}async function R0(e,t){const n=await fetch(`${Z}/agents/${e}/secrets/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(`deleteSecret: ${n.status}`)}async function YS(e,t){const r=await fetch(`${Z}/agents/${e}/tasks`);if(!r.ok)throw new Error(`fetchTasks: ${r.status}`);return r.json()}async function KS(e,t){const n=await fetch(`${Z}/agents/${e}/tasks/${t}`);if(!n.ok)throw new Error(`fetchTask: ${n.status}`);return n.json()}async function XS(e,t){const n=await fetch(`${Z}/agents/${e}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok)throw new Error(`createTask: ${n.status}`);return n.json()}async function Tp(e,t,n){const r=await fetch(`${Z}/agents/${e}/tasks/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new Error(`updateTask: ${r.status}`);return r.json()}async function GS(e,t){const n=await fetch(`${Z}/agents/${e}/tasks/${t}`,{method:"DELETE"});if(!n.ok)throw new Error(`deleteTask: ${n.status}`)}async function QS(e,t,n){const r=await fetch(`${Z}/agents/${e}/tasks/${t}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({body:n})});if(!r.ok)throw new Error(`addTaskComment: ${r.status}`);return r.json()}async function qS(e){const t=await fetch(`${Z}/agents/${e}/browser-sessions`);if(!t.ok)throw new Error(`fetchBrowserSessions: ${t.status}`);return t.json()}async function O0(e,t){const n=await fetch(`${Z}/agents/${e}/browser-sessions/${t}`);if(!n.ok)throw new Error(`fetchBrowserSession: ${n.status}`);return n.json()}function JS(e,t){return`${Z}/agents/${e}/browser-sessions/${t}/video`}function I0(e,t){const n=window.location;return`${n.protocol==="https:"?"wss:":"ws:"}//${n.host}/browser-live/${e}/${t}`}function ZS(e){return`${Z}/agents/${e}/export`}async function Dp(e,t){const n=new URL(`${Z}/agents/import`,window.location.origin);t!=null&&t.id&&n.searchParams.set("id",t.id);const r=await fetch(n.toString().replace(window.location.origin,""),{method:"POST",headers:{"Content-Type":"application/zip"},body:e});if(!r.ok){const i=await r.json().catch(()=>({error:r.statusText}));throw new Error(i.error)}return r.json()}async function Ap(e,t){const n=await fetch(`${Z}/agents/${e}/monitor/jobs/${t}`,{method:"DELETE"});if(!n.ok)throw new Error(`killJob: ${n.status}`)}async function e_(e){const t=await fetch(`${Z}/agents/${e}/monitor`);if(!t.ok)throw new Error(`fetchMonitor: ${t.status}`);return t.json()}async function t_(e,t=30){const n=await fetch(`${Z}/agents/${e}/usage?days=${t}`);if(!n.ok)throw new Error(`fetchUsage: ${n.status}`);return n.json()}async function n_(e){const t=await fetch(`${Z}/agents/${e}/schedules`);if(!t.ok)throw new Error(`fetchSchedules: ${t.status}`);return t.json()}async function r_(e,t,n){const r=await fetch(`${Z}/agents/${e}/schedules/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new Error(`updateSchedule: ${r.status}`);return r.json()}async function i_(e,t){const n=await fetch(`${Z}/agents/${e}/schedules/${t}`,{method:"DELETE"});if(!n.ok)throw new Error(`deleteSchedule: ${n.status}`)}async function s_(e,t){const n=await fetch(`${Z}/agents/${e}/schedules/${t}/trigger`,{method:"POST"});if(!n.ok)throw new Error(`triggerSchedule: ${n.status}`);return n.json()}async function o_(e,t){const n=await fetch(`${Z}/agents/${e}/schedules/${t}/runs`);if(!n.ok)throw new Error(`fetchScheduleRuns: ${n.status}`);return n.json()}async function a_(e,t){const n=await fetch(`${Z}/agents/${e}/messages?channelId=${encodeURIComponent(t)}&sortBy=asc&limit=200`);if(!n.ok)throw new Error(`fetchScheduleRunMessages: ${n.status}`);return n.json()}async function l_(e){const t=await fetch(`${Z}/agents/${e}/workflows`);if(!t.ok)throw new Error(`fetchWorkflows: ${t.status}`);return t.json()}async function c_(e,t){const n=await fetch(`${Z}/agents/${e}/workflows/${t}`);if(!n.ok)throw new Error(`fetchWorkflow: ${n.status}`);return n.json()}async function uc(e,t){const n=await fetch(`${Z}/agents/${e}/workflows/${t}/runs`);if(!n.ok)throw new Error(`fetchWorkflowRuns: ${n.status}`);return n.json()}async function u_(e,t,n){const r=await fetch(`${Z}/agents/${e}/workflows/${t}/runs/${n}`);if(!r.ok)throw new Error(`fetchWorkflowRun: ${r.status}`);return r.json()}async function f_(e,t){const n=await fetch(`${Z}/agents/${e}/workflows/${t}/run`,{method:"POST"});if(!n.ok)throw new Error(`triggerWorkflowRun: ${n.status}`);return n.json()}async function d_(e){const t=new URLSearchParams;e!=null&&e.agentId&&t.set("agentId",e.agentId),e!=null&&e.type&&t.set("type",e.type),e!=null&&e.search&&t.set("search",e.search),(e==null?void 0:e.limit)!=null&&t.set("limit",String(e.limit)),(e==null?void 0:e.offset)!=null&&t.set("offset",String(e.offset));const n=await fetch(`${Z}/logs?${t}`);if(!n.ok)throw new Error(`fetchLogs: ${n.status}`);return n.json()}async function z0(){const e=await fetch(`${Z}/settings/provider`);if(!e.ok)throw new Error("Failed to fetch provider settings");return e.json()}async function Lp(e,t,n){if(!(await fetch(`${Z}/settings/provider`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e,model:t,apiKey:n})})).ok)throw new Error("Failed to save provider settings")}async function h_(e){if(!(await fetch(`${Z}/settings/providers/${encodeURIComponent(e)}`,{method:"DELETE"})).ok)throw new Error("Failed to remove provider")}async function p_(){const e=await fetch(`${Z}/settings/search`);return e.ok?e.json():{provider:"brave",configured:!1}}async function m_(e,t){const n=await fetch(`${Z}/settings/search`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:t})});if(!n.ok)throw new Error(`Failed to save search settings: ${n.status}`)}async function g_(){const e=await fetch(`${Z}/settings/search`,{method:"DELETE"});if(!e.ok&&e.status!==204&&e.status!==404)throw new Error(`Failed to clear search settings: ${e.status}`)}const x_={google:[{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash — fast + smart (recommended)"},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro — most capable"},{value:"gemini-2.5-flash-lite",label:"Gemini 2.5 Flash Lite — cheapest"},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash — preview"},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro — preview"},{value:"gemini-2.0-flash",label:"Gemini 2.0 Flash — previous gen"}],openai:[{value:"gpt-4.1",label:"GPT-4.1 — recommended, 1M ctx"},{value:"gpt-4.1-mini",label:"GPT-4.1 Mini — fast, efficient"},{value:"gpt-4.1-nano",label:"GPT-4.1 Nano — cheapest"},{value:"gpt-5.4",label:"GPT-5.4 — latest flagship"}],anthropic:[{value:"claude-sonnet-4-6",label:"Claude Sonnet 4.6 — recommended"},{value:"claude-opus-4-6",label:"Claude Opus 4.6 — most capable"},{value:"claude-haiku-4-5",label:"Claude Haiku 4.5 — fastest"}],groq:[{value:"meta-llama/llama-4-maverick-17b-128e-instruct",label:"Llama 4 Maverick — latest, 128 experts"},{value:"meta-llama/llama-4-scout-17b-16e-instruct",label:"Llama 4 Scout — fast, 16 experts"},{value:"llama-3.3-70b-versatile",label:"Llama 3.3 70B — versatile"},{value:"llama-3.1-8b-instant",label:"Llama 3.1 8B — fastest/cheapest"}],openrouter:[{value:"google/gemini-3-flash-preview",label:"Gemini 3 Flash — fast, 1M ctx (free tier)"},{value:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2 — fast, efficient"},{value:"xiaomi/mimo-v2-pro",label:"MiMo V2 Pro — agentic, 1T params"},{value:"qwen/qwen3.6-plus",label:"Qwen 3.6 Plus — throughput leader"},{value:"minimax/minimax-m2.7",label:"MiniMax M2.7 — agentic"},{value:"x-ai/grok-4",label:"Grok 4 — reasoning, 256k ctx"}]},F0=[{value:"google",label:"Google Gemini"},{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"openrouter",label:"OpenRouter"}];function kl(e){return x_[e]??[]}function $u(e){var t;return((t=kl(e)[0])==null?void 0:t.value)??""}function y_({agent:e,onDelete:t}){const n=Br(),r=e.status==="active",i=e.busy===!0;return d.jsxs("div",{onClick:()=>n(`/agents/${e.id}/chat`),className:"group flex items-center gap-4 rounded-xl bg-surface-container-lowest border border-outline-variant/40 p-4 cursor-pointer transition-all hover:border-primary/40 hover:shadow-callout",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("span",{className:"font-headline text-lg font-bold text-on-surface",children:e.name}),i?d.jsxs("span",{"data-testid":"busy-badge",className:"inline-flex items-center gap-1 rounded-full bg-secondary/15 border border-secondary/30 px-2 py-0.5 text-[10px] font-label font-semibold uppercase tracking-wider text-secondary",children:[d.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-secondary animate-pulse"}),"busy"]}):d.jsx("span",{className:r?L0:Fu,children:e.status})]}),d.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[d.jsx("span",{className:"font-mono text-[10px] text-primary/70",children:e.model}),d.jsxs("span",{className:"font-mono text-[10px] text-on-surface-variant/60",children:["id: ",e.id]})]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"flex flex-wrap gap-1",children:e.allowedTools.slice(0,3).map(s=>d.jsx("span",{className:"font-mono text-[9px] text-on-surface-variant bg-surface-container rounded px-1.5 py-0.5",children:s},s))}),d.jsx("button",{onClick:s=>{s.stopPropagation(),t()},className:`${OS} opacity-0 group-hover:opacity-100`,children:"Delete"})]})]})}function v_(){const[e,t]=N.useState([]),[n,r]=N.useState(!0),[i,s]=N.useState(null),[o,a]=N.useState(!1),[l,c]=N.useState(""),[u,f]=N.useState(""),[h,p]=N.useState(""),[m,g]=N.useState(""),[v,x]=N.useState(""),[y,b]=N.useState(!1),[k,S]=N.useState(!1),[w,E]=N.useState(null),P=N.useRef(null);async function M(O){var T,_;const I=(T=O.target.files)==null?void 0:T[0];if(I){S(!0),E(null);try{let $;try{$=await Dp(I)}catch(K){const C=K instanceof Error?K.message:String(K);if(C.includes("already exists")){const A=(_=prompt(`${C}
|
|
67
|
+
*/function zu(){return zu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zu.apply(this,arguments)}function _S(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,s;for(s=0;s<r.length;s++)i=r[s],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function CS(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function NS(e,t){return e.button===0&&(!t||t==="_self")&&!CS(e)}const jS=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],ES="6";try{window.__reactRouterVersion=ES}catch{}const PS="startTransition",kp=x1[PS];function MS(e){let{basename:t,children:n,future:r,window:i}=e,s=N.useRef();s.current==null&&(s.current=Pk({window:i,v5Compat:!0}));let o=s.current,[a,l]=N.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},u=N.useCallback(f=>{c&&kp?kp(()=>l(f)):l(f)},[l,c]);return N.useLayoutEffect(()=>o.listen(u),[o,u]),N.useEffect(()=>bS(r),[r]),N.createElement(kS,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:o,future:r})}const TS=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",DS=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ya=N.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:s,replace:o,state:a,target:l,to:c,preventScrollReset:u,viewTransition:f}=t,h=_S(t,jS),{basename:p}=N.useContext(ar),m,g=!1;if(typeof c=="string"&&DS.test(c)&&(m=c,TS))try{let b=new URL(window.location.href),k=c.startsWith("//")?new URL(b.protocol+c):new URL(c),S=md(k.pathname,p);k.origin===b.origin&&S!=null?c=S+k.search+k.hash:g=!0}catch{}let v=rS(c,{relative:i}),x=AS(c,{replace:o,state:a,target:l,preventScrollReset:u,relative:i,viewTransition:f});function y(b){r&&r(b),b.defaultPrevented||x(b)}return N.createElement("a",zu({},h,{href:m||v,onClick:g||s?r:y,ref:n,target:l}))});var Sp;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Sp||(Sp={}));var _p;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(_p||(_p={}));function AS(e,t){let{target:n,replace:r,state:i,preventScrollReset:s,relative:o,viewTransition:a}=t===void 0?{}:t,l=Br(),c=Ai(),u=P0(e,{relative:o});return N.useCallback(f=>{if(NS(f,n)){f.preventDefault();let h=r!==void 0?r:Ua(c)===Ua(u);l(e,{replace:h,state:i,preventScrollReset:s,relative:o,viewTransition:a})}},[c,l,u,r,i,n,e,s,o,a])}const Cp="granclaw-theme";function Np(){return typeof document>"u"?"light":document.documentElement.classList.contains("dark")?"dark":"light"}function LS(){const[e,t]=N.useState(Np),n=N.useCallback(i=>{const s=document.documentElement;i==="dark"?s.classList.add("dark"):s.classList.remove("dark");try{localStorage.setItem(Cp,i)}catch{}t(i)},[]),r=N.useCallback(()=>{n(Np()==="dark"?"light":"dark")},[n]);return N.useEffect(()=>{const i=window.matchMedia("(prefers-color-scheme: dark)"),s=o=>{localStorage.getItem(Cp)||n(o.matches?"dark":"light")};return i.addEventListener("change",s),()=>i.removeEventListener("change",s)},[n]),{theme:e,setTheme:n,toggleTheme:r}}const vs="inline-flex items-center justify-center gap-2 bg-primary text-on-primary px-5 py-2.5 text-sm font-label font-semibold uppercase tracking-widest rounded shadow-sm transition-all hover:bg-surface-tint hover:shadow-md active:scale-[0.98] disabled:opacity-40 disabled:pointer-events-none",RS="inline-flex items-center justify-center gap-2 border border-outline-variant text-on-surface px-5 py-2.5 text-sm font-label font-semibold uppercase tracking-widest rounded transition-all hover:bg-surface-container hover:border-outline active:scale-[0.98] disabled:opacity-40 disabled:pointer-events-none",A0="inline-flex items-center justify-center gap-1.5 text-on-surface-variant px-2.5 py-1.5 text-xs font-label font-medium uppercase tracking-wider rounded transition-colors hover:bg-surface-container hover:text-on-surface disabled:opacity-40 disabled:pointer-events-none",OS="inline-flex items-center justify-center gap-1.5 text-error px-2.5 py-1.5 text-xs font-label font-medium uppercase tracking-wider rounded transition-colors hover:bg-error/10 disabled:opacity-40 disabled:pointer-events-none",la="w-full bg-surface-container-lowest text-on-surface placeholder:text-on-surface-variant border border-outline-variant rounded-lg px-3 py-2 text-sm focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-colors",jp=la.replace("text-sm","text-sm font-mono"),Xs="bg-surface-container-lowest border border-outline-variant/40 rounded-xl shadow-callout",pi="inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-label font-medium uppercase tracking-wider",Fu=`${pi} bg-surface-container border border-outline-variant/40 text-on-surface-variant`,L0=`${pi} bg-success/10 border border-success/20 text-success`,IS=`${pi} bg-warning/10 border border-warning/20 text-warning`,Ep="font-label text-xs font-medium uppercase tracking-widest text-on-surface-variant hover:text-primary transition-colors";function zS(){const e=Ai(),t=Br(),{theme:n,toggleTheme:r}=LS(),i=/\/agents\/[^/]+\/(chat|view)/.test(e.pathname);return d.jsxs("div",{className:"flex h-screen flex-col overflow-hidden bg-background text-on-surface",children:[d.jsx("div",{className:"noise-overlay","aria-hidden":"true"}),d.jsxs("header",{className:"relative z-10 flex h-14 flex-shrink-0 items-center justify-between border-b border-outline-variant/40 bg-surface-container-lowest px-6",children:[d.jsxs("button",{type:"button",onClick:()=>t("/dashboard"),className:"flex items-center gap-3 hover:opacity-80 transition-opacity",children:[d.jsx("img",{src:"/granclaw-logo.png",alt:"GranClaw",className:"h-7 w-7 rounded"}),d.jsx("span",{className:"font-headline text-xl font-bold tracking-tight text-on-surface",children:"GranClaw"})]}),d.jsxs("nav",{className:"flex items-center gap-6",children:[d.jsx(Ya,{to:"/dashboard",className:Ep,children:"Agents"}),d.jsx(Ya,{to:"/settings",className:Ep,children:"Settings"}),d.jsx("button",{type:"button",onClick:r,"aria-label":`Switch to ${n==="dark"?"light":"dark"} mode`,title:`Switch to ${n==="dark"?"light":"dark"} mode`,className:"flex h-8 w-8 items-center justify-center rounded-full border border-outline-variant/60 text-on-surface-variant transition-colors hover:bg-surface-container hover:text-on-surface",children:d.jsx("span",{className:"material-symbols-outlined text-[18px]",children:n==="dark"?"light_mode":"dark_mode"})}),d.jsxs("span",{className:"flex items-center gap-1.5 rounded-full border border-success/30 bg-success/10 px-3 py-1 font-label text-[10px] font-semibold uppercase tracking-widest text-success",children:[d.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-success animate-pulse"}),"online"]})]})]}),d.jsx("main",{className:`relative z-0 flex-1 overflow-auto ${i?"":"p-6"}`,children:d.jsx(wS,{})})]})}const Z="";async function Pp(){const e=await fetch(`${Z}/agents`);if(!e.ok)throw new Error(`fetchAgents: ${e.status}`);return e.json()}async function FS(e,t,n,r,i){const s=await fetch(`${Z}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,name:t,model:n,provider:r,...i?{workspaceDir:i}:{}})});if(!s.ok){const o=await s.json().catch(()=>({error:s.statusText}));throw new Error(o.error)}}async function BS(e){const t=await fetch(`${Z}/agents/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(`deleteAgent: ${t.status}`)}async function cc(e){const t=await fetch(`${Z}/agents/${e}`);if(!t.ok)throw new Error(`fetchAgent: ${t.status}`);return t.json()}async function Mp(e,t="ui"){const n=await fetch(`${Z}/agents/${e}/messages?channelId=${t}&sortBy=asc&limit=200`);if(!n.ok)throw new Error(`fetchMessages: ${n.status}`);return n.json()}async function $S(e){const t=await fetch(`${Z}/agents/${e}/reset`,{method:"DELETE"});if(!t.ok)throw new Error(`resetAgent: ${t.status}`)}async function VS(e,t=""){const n=await fetch(`${Z}/agents/${e}/files?path=${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`fetchFiles: ${n.status}`);return(await n.json()).entries}async function WS(e,t){const n=await fetch(`${Z}/agents/${e}/files/read?path=${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`readFile: ${n.status}`);return(await n.json()).content}async function HS(e,t,n){const r=await fetch(`${Z}/agents/${e}/files/write?path=${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n})});if(!r.ok)throw new Error(`writeFile: ${r.status}`)}async function US(e){const t=await fetch(`${Z}/agents/${e}/secrets`);if(!t.ok)throw new Error(`fetchSecrets: ${t.status}`);return t.json()}async function Bu(e,t,n){const r=await fetch(`${Z}/agents/${e}/secrets`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,value:n})});if(!r.ok)throw new Error(`addSecret: ${r.status}`)}async function R0(e,t){const n=await fetch(`${Z}/agents/${e}/secrets/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok)throw new Error(`deleteSecret: ${n.status}`)}async function YS(e,t){const r=await fetch(`${Z}/agents/${e}/tasks`);if(!r.ok)throw new Error(`fetchTasks: ${r.status}`);return r.json()}async function KS(e,t){const n=await fetch(`${Z}/agents/${e}/tasks/${t}`);if(!n.ok)throw new Error(`fetchTask: ${n.status}`);return n.json()}async function XS(e,t){const n=await fetch(`${Z}/agents/${e}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok)throw new Error(`createTask: ${n.status}`);return n.json()}async function Tp(e,t,n){const r=await fetch(`${Z}/agents/${e}/tasks/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new Error(`updateTask: ${r.status}`);return r.json()}async function GS(e,t){const n=await fetch(`${Z}/agents/${e}/tasks/${t}`,{method:"DELETE"});if(!n.ok)throw new Error(`deleteTask: ${n.status}`)}async function QS(e,t,n){const r=await fetch(`${Z}/agents/${e}/tasks/${t}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({body:n})});if(!r.ok)throw new Error(`addTaskComment: ${r.status}`);return r.json()}async function qS(e){const t=await fetch(`${Z}/agents/${e}/browser-sessions`);if(!t.ok)throw new Error(`fetchBrowserSessions: ${t.status}`);return t.json()}async function O0(e,t){const n=await fetch(`${Z}/agents/${e}/browser-sessions/${t}`);if(!n.ok)throw new Error(`fetchBrowserSession: ${n.status}`);return n.json()}function JS(e,t){return`${Z}/agents/${e}/browser-sessions/${t}/video`}function I0(e,t){const n=window.location;return`${n.protocol==="https:"?"wss:":"ws:"}//${n.host}/browser-live/${e}/${t}`}function ZS(e){return`${Z}/agents/${e}/export`}async function Dp(e,t){const n=new URL(`${Z}/agents/import`,window.location.origin);t!=null&&t.id&&n.searchParams.set("id",t.id);const r=await fetch(n.toString().replace(window.location.origin,""),{method:"POST",headers:{"Content-Type":"application/zip"},body:e});if(!r.ok){const i=await r.json().catch(()=>({error:r.statusText}));throw new Error(i.error)}return r.json()}async function Ap(e,t){const n=await fetch(`${Z}/agents/${e}/monitor/jobs/${t}`,{method:"DELETE"});if(!n.ok)throw new Error(`killJob: ${n.status}`)}async function e_(e){const t=await fetch(`${Z}/agents/${e}/monitor`);if(!t.ok)throw new Error(`fetchMonitor: ${t.status}`);return t.json()}async function t_(e,t=30){const n=await fetch(`${Z}/agents/${e}/usage?days=${t}`);if(!n.ok)throw new Error(`fetchUsage: ${n.status}`);return n.json()}async function n_(e){const t=await fetch(`${Z}/agents/${e}/schedules`);if(!t.ok)throw new Error(`fetchSchedules: ${t.status}`);return t.json()}async function r_(e,t,n){const r=await fetch(`${Z}/agents/${e}/schedules/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new Error(`updateSchedule: ${r.status}`);return r.json()}async function i_(e,t){const n=await fetch(`${Z}/agents/${e}/schedules/${t}`,{method:"DELETE"});if(!n.ok)throw new Error(`deleteSchedule: ${n.status}`)}async function s_(e,t){const n=await fetch(`${Z}/agents/${e}/schedules/${t}/trigger`,{method:"POST"});if(!n.ok)throw new Error(`triggerSchedule: ${n.status}`);return n.json()}async function o_(e,t){const n=await fetch(`${Z}/agents/${e}/schedules/${t}/runs`);if(!n.ok)throw new Error(`fetchScheduleRuns: ${n.status}`);return n.json()}async function a_(e,t){const n=await fetch(`${Z}/agents/${e}/messages?channelId=${encodeURIComponent(t)}&sortBy=asc&limit=200`);if(!n.ok)throw new Error(`fetchScheduleRunMessages: ${n.status}`);return n.json()}async function l_(e){const t=await fetch(`${Z}/agents/${e}/workflows`);if(!t.ok)throw new Error(`fetchWorkflows: ${t.status}`);return t.json()}async function c_(e,t){const n=await fetch(`${Z}/agents/${e}/workflows/${t}`);if(!n.ok)throw new Error(`fetchWorkflow: ${n.status}`);return n.json()}async function uc(e,t){const n=await fetch(`${Z}/agents/${e}/workflows/${t}/runs`);if(!n.ok)throw new Error(`fetchWorkflowRuns: ${n.status}`);return n.json()}async function u_(e,t,n){const r=await fetch(`${Z}/agents/${e}/workflows/${t}/runs/${n}`);if(!r.ok)throw new Error(`fetchWorkflowRun: ${r.status}`);return r.json()}async function f_(e,t){const n=await fetch(`${Z}/agents/${e}/workflows/${t}/run`,{method:"POST"});if(!n.ok)throw new Error(`triggerWorkflowRun: ${n.status}`);return n.json()}async function d_(e){const t=new URLSearchParams;e!=null&&e.agentId&&t.set("agentId",e.agentId),e!=null&&e.type&&t.set("type",e.type),e!=null&&e.search&&t.set("search",e.search),(e==null?void 0:e.limit)!=null&&t.set("limit",String(e.limit)),(e==null?void 0:e.offset)!=null&&t.set("offset",String(e.offset));const n=await fetch(`${Z}/logs?${t}`);if(!n.ok)throw new Error(`fetchLogs: ${n.status}`);return n.json()}async function z0(){const e=await fetch(`${Z}/settings/provider`);if(!e.ok)throw new Error("Failed to fetch provider settings");return e.json()}async function Lp(e,t,n){if(!(await fetch(`${Z}/settings/provider`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e,model:t,apiKey:n})})).ok)throw new Error("Failed to save provider settings")}async function h_(e){if(!(await fetch(`${Z}/settings/providers/${encodeURIComponent(e)}`,{method:"DELETE"})).ok)throw new Error("Failed to remove provider")}async function p_(){const e=await fetch(`${Z}/settings/search`);return e.ok?e.json():{provider:"brave",configured:!1}}async function m_(e,t){const n=await fetch(`${Z}/settings/search`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:t})});if(!n.ok)throw new Error(`Failed to save search settings: ${n.status}`)}async function g_(){const e=await fetch(`${Z}/settings/search`,{method:"DELETE"});if(!e.ok&&e.status!==204&&e.status!==404)throw new Error(`Failed to clear search settings: ${e.status}`)}const x_={google:[{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash — fast + smart (recommended)"},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro — most capable"},{value:"gemini-2.5-flash-lite",label:"Gemini 2.5 Flash Lite — cheapest"},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash — preview"},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro — preview"},{value:"gemini-2.0-flash",label:"Gemini 2.0 Flash — previous gen"}],openai:[{value:"gpt-4.1",label:"GPT-4.1 — recommended, 1M ctx"},{value:"gpt-4.1-mini",label:"GPT-4.1 Mini — fast, efficient"},{value:"gpt-4.1-nano",label:"GPT-4.1 Nano — cheapest"},{value:"gpt-5.4",label:"GPT-5.4 — latest flagship"}],anthropic:[{value:"claude-sonnet-4-6",label:"Claude Sonnet 4.6 — recommended"},{value:"claude-opus-4-6",label:"Claude Opus 4.6 — most capable"},{value:"claude-haiku-4-5",label:"Claude Haiku 4.5 — fastest"}],groq:[{value:"meta-llama/llama-4-maverick-17b-128e-instruct",label:"Llama 4 Maverick — latest, 128 experts"},{value:"meta-llama/llama-4-scout-17b-16e-instruct",label:"Llama 4 Scout — fast, 16 experts"},{value:"llama-3.3-70b-versatile",label:"Llama 3.3 70B — versatile"},{value:"llama-3.1-8b-instant",label:"Llama 3.1 8B — fastest/cheapest"}],openrouter:[{value:"google/gemini-3-flash-preview",label:"Gemini 3 Flash — fast, 1M ctx"},{value:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2 — fast, efficient"},{value:"xiaomi/mimo-v2-pro",label:"MiMo V2 Pro — agentic, 1T params"},{value:"qwen/qwen3.6-plus",label:"Qwen 3.6 Plus — throughput leader"},{value:"minimax/minimax-m2.7",label:"MiniMax M2.7 — agentic"},{value:"x-ai/grok-4",label:"Grok 4 — reasoning, 256k ctx"}],freetier:[{value:"google/gemini-3-flash-preview",label:"Gemini 3 Flash — fast, 1M ctx"}]},F0=[{value:"google",label:"Google Gemini"},{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"openrouter",label:"OpenRouter"}];function kl(e){return x_[e]??[]}function $u(e){var t;return((t=kl(e)[0])==null?void 0:t.value)??""}function y_({agent:e,onDelete:t}){const n=Br(),r=e.status==="active",i=e.busy===!0;return d.jsxs("div",{onClick:()=>n(`/agents/${e.id}/chat`),className:"group flex items-center gap-4 rounded-xl bg-surface-container-lowest border border-outline-variant/40 p-4 cursor-pointer transition-all hover:border-primary/40 hover:shadow-callout",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("span",{className:"font-headline text-lg font-bold text-on-surface",children:e.name}),i?d.jsxs("span",{"data-testid":"busy-badge",className:"inline-flex items-center gap-1 rounded-full bg-secondary/15 border border-secondary/30 px-2 py-0.5 text-[10px] font-label font-semibold uppercase tracking-wider text-secondary",children:[d.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-secondary animate-pulse"}),"busy"]}):d.jsx("span",{className:r?L0:Fu,children:e.status})]}),d.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[d.jsx("span",{className:"font-mono text-[10px] text-primary/70",children:e.model}),d.jsxs("span",{className:"font-mono text-[10px] text-on-surface-variant/60",children:["id: ",e.id]})]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"flex flex-wrap gap-1",children:e.allowedTools.slice(0,3).map(s=>d.jsx("span",{className:"font-mono text-[9px] text-on-surface-variant bg-surface-container rounded px-1.5 py-0.5",children:s},s))}),d.jsx("button",{onClick:s=>{s.stopPropagation(),t()},className:`${OS} opacity-0 group-hover:opacity-100`,children:"Delete"})]})]})}function v_(){const[e,t]=N.useState([]),[n,r]=N.useState(!0),[i,s]=N.useState(null),[o,a]=N.useState(!1),[l,c]=N.useState(""),[u,f]=N.useState(""),[h,p]=N.useState(""),[m,g]=N.useState(""),[v,x]=N.useState(""),[y,b]=N.useState(!1),[k,S]=N.useState(!1),[w,E]=N.useState(null),P=N.useRef(null);async function M(O){var T,_;const I=(T=O.target.files)==null?void 0:T[0];if(I){S(!0),E(null);try{let $;try{$=await Dp(I)}catch(K){const C=K instanceof Error?K.message:String(K);if(C.includes("already exists")){const A=(_=prompt(`${C}
|
|
68
68
|
|
|
69
69
|
Enter a new id for the imported agent:`,""))==null?void 0:_.trim();if(!A){S(!1);return}$=await Dp(I,{id:A})}else throw K}await j(),D(`/agents/${$.id}/chat`)}catch($){E($ instanceof Error?$.message:"Import failed")}finally{S(!1),P.current&&(P.current.value="")}}}const j=()=>{Promise.all([Pp(),z0()]).then(([O,I])=>{var _;t(O),s(I);const T=(_=I.providers)==null?void 0:_[0];T&&(p(T.provider),g(T.model))}).catch(console.error).finally(()=>r(!1))};N.useEffect(()=>{j();const O=setInterval(()=>{Pp().then(t).catch(()=>{})},2e3);return()=>clearInterval(O)},[]);const D=Br(),R=(i==null?void 0:i.providers)??[],B=h?kl(h):[];function Q(O){p(O),g($u(O))}async function H(){if(!(!l.trim()||!u.trim())){b(!0),E(null);try{const O=l.trim();await FS(O,u.trim(),m,h||void 0,v.trim()||void 0),D(`/agents/${O}/chat`)}catch(O){E(O instanceof Error?O.message:"Failed to create"),b(!1)}}}async function X(O,I){confirm(`Delete agent "${I}" (${O})?
|
|
70
70
|
|
|
71
71
|
This will stop the agent and permanently delete its workspace, including all files, vault data, and conversation history.
|
|
72
72
|
|
|
73
|
-
This cannot be undone.`)&&(await BS(O),j())}return n?d.jsx("div",{className:"font-mono text-xs text-on-surface-variant p-8",children:"loading agents…"}):!n&&i&&!i.configured&&e.length===0?d.jsx("div",{className:"max-w-3xl mx-auto py-16 px-4",children:d.jsxs("div",{className:"text-center",children:[d.jsxs("h1",{className:"font-headline text-4xl font-bold text-on-surface mb-4",children:["Get started with ",d.jsx("span",{className:"highlight-marker",children:"GranClaw"})]}),d.jsx("p",{className:"font-mono text-xs text-on-surface-variant mb-8",children:"Configure a provider and API key before creating agents."}),d.jsx(Ya,{to:"/settings",className:vs,children:"Configure provider"})]})}):d.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[i&&!i.configured&&d.jsxs("div",{className:"rounded-xl bg-warning/10 border border-warning/30 px-4 py-3 mb-6 flex items-center justify-between",children:[d.jsx("p",{className:"font-mono text-[11px] text-warning",children:"No provider configured — agents cannot run until you set one up."}),d.jsx(Ya,{to:"/settings",className:"font-label text-[11px] font-semibold uppercase tracking-widest text-primary hover:text-surface-tint",children:"Configure →"})]}),d.jsxs("div",{className:"flex items-start justify-between mb-8",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"font-headline text-4xl font-bold text-on-surface",children:"Agents"}),d.jsxs("p",{className:"font-mono text-[11px] text-on-surface-variant mt-1",children:[e.length," agent",e.length!==1?"s":""," configured"]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("input",{ref:P,type:"file",accept:".zip,application/zip",onChange:M,className:"hidden"}),d.jsx("button",{onClick:()=>{var O;return(O=P.current)==null?void 0:O.click()},disabled:k||!(i!=null&&i.configured),className:RS,title:"Import an agent from a granclaw export zip",children:k?"Importing…":"↥ Import"}),d.jsx("button",{onClick:()=>a(O=>!O),disabled:!(i!=null&&i.configured),className:vs,children:o?"Cancel":"+ New Agent"})]})]}),o&&d.jsxs("div",{className:`${Xs} p-5 mb-6 space-y-3`,children:[d.jsx("p",{className:"font-label text-[10px] font-semibold uppercase tracking-widest text-on-surface-variant",children:"Create new agent"}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx("input",{className:jp,placeholder:"agent-id (lowercase, no spaces)",value:l,onChange:O=>c(O.target.value.toLowerCase().replace(/[^a-z0-9-]/g,""))}),d.jsx("input",{className:la,placeholder:"Display name",value:u,onChange:O=>f(O.target.value)})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx("select",{className:`${la} appearance-none`,value:h,onChange:O=>Q(O.target.value),children:R.map(O=>d.jsx("option",{value:O.provider,children:O.provider},O.provider))}),d.jsx("select",{className:`${la} appearance-none`,value:m,onChange:O=>g(O.target.value),children:B.map(O=>d.jsx("option",{value:O.value,children:O.label},O.value))})]}),d.jsx("input",{className:jp,placeholder:`Workspace path (optional, defaults to ./workspaces/${l||"agent-id"})`,value:v,onChange:O=>x(O.target.value)}),d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("button",{onClick:H,disabled:y||!l.trim()||!u.trim()||!m,className:vs,children:y?"Creating…":"Create"}),w&&d.jsx("span",{className:"font-mono text-[10px] text-error",children:w})]})]}),d.jsx("div",{className:"space-y-3",children:e.length===0?d.jsxs("div",{className:"text-center py-16",children:[d.jsx("span",{className:"text-3xl opacity-30",children:"🤖"}),d.jsx("p",{className:"font-mono text-[11px] text-on-surface-variant mt-3",children:"No agents yet. Create one to get started."})]}):e.map(O=>d.jsx(y_,{agent:O,onDelete:()=>X(O.id,O.name)},O.id))})]})}function b_(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const w_=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,k_=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,S_={};function Rp(e,t){return(S_.jsx?k_:w_).test(e)}const __=/[ \t\n\f\r]/g;function C_(e){return typeof e=="object"?e.type==="text"?Op(e.value):!1:Op(e)}function Op(e){return e.replace(__,"")===""}class uo{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}uo.prototype.normal={};uo.prototype.property={};uo.prototype.space=void 0;function B0(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new uo(n,r,t)}function Vu(e){return e.toLowerCase()}class gt{constructor(t,n){this.attribute=n,this.property=t}}gt.prototype.attribute="";gt.prototype.booleanish=!1;gt.prototype.boolean=!1;gt.prototype.commaOrSpaceSeparated=!1;gt.prototype.commaSeparated=!1;gt.prototype.defined=!1;gt.prototype.mustUseProperty=!1;gt.prototype.number=!1;gt.prototype.overloadedBoolean=!1;gt.prototype.property="";gt.prototype.spaceSeparated=!1;gt.prototype.space=void 0;let N_=0;const te=$r(),Re=$r(),Wu=$r(),F=$r(),ge=$r(),mi=$r(),yt=$r();function $r(){return 2**++N_}const Hu=Object.freeze(Object.defineProperty({__proto__:null,boolean:te,booleanish:Re,commaOrSpaceSeparated:yt,commaSeparated:mi,number:F,overloadedBoolean:Wu,spaceSeparated:ge},Symbol.toStringTag,{value:"Module"})),fc=Object.keys(Hu);class vd extends gt{constructor(t,n,r,i){let s=-1;if(super(t,n),Ip(this,"space",i),typeof r=="number")for(;++s<fc.length;){const o=fc[s];Ip(this,fc[s],(r&Hu[o])===Hu[o])}}}vd.prototype.defined=!0;function Ip(e,t,n){n&&(e[t]=n)}function Li(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new vd(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[Vu(r)]=r,n[Vu(s.attribute)]=r}return new uo(t,n,e.space)}const $0=Li({properties:{ariaActiveDescendant:null,ariaAtomic:Re,ariaAutoComplete:null,ariaBusy:Re,ariaChecked:Re,ariaColCount:F,ariaColIndex:F,ariaColSpan:F,ariaControls:ge,ariaCurrent:null,ariaDescribedBy:ge,ariaDetails:null,ariaDisabled:Re,ariaDropEffect:ge,ariaErrorMessage:null,ariaExpanded:Re,ariaFlowTo:ge,ariaGrabbed:Re,ariaHasPopup:null,ariaHidden:Re,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ge,ariaLevel:F,ariaLive:null,ariaModal:Re,ariaMultiLine:Re,ariaMultiSelectable:Re,ariaOrientation:null,ariaOwns:ge,ariaPlaceholder:null,ariaPosInSet:F,ariaPressed:Re,ariaReadOnly:Re,ariaRelevant:null,ariaRequired:Re,ariaRoleDescription:ge,ariaRowCount:F,ariaRowIndex:F,ariaRowSpan:F,ariaSelected:Re,ariaSetSize:F,ariaSort:null,ariaValueMax:F,ariaValueMin:F,ariaValueNow:F,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function V0(e,t){return t in e?e[t]:t}function W0(e,t){return V0(e,t.toLowerCase())}const j_=Li({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:mi,acceptCharset:ge,accessKey:ge,action:null,allow:null,allowFullScreen:te,allowPaymentRequest:te,allowUserMedia:te,alt:null,as:null,async:te,autoCapitalize:null,autoComplete:ge,autoFocus:te,autoPlay:te,blocking:ge,capture:null,charSet:null,checked:te,cite:null,className:ge,cols:F,colSpan:null,content:null,contentEditable:Re,controls:te,controlsList:ge,coords:F|mi,crossOrigin:null,data:null,dateTime:null,decoding:null,default:te,defer:te,dir:null,dirName:null,disabled:te,download:Wu,draggable:Re,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:te,formTarget:null,headers:ge,height:F,hidden:Wu,high:F,href:null,hrefLang:null,htmlFor:ge,httpEquiv:ge,id:null,imageSizes:null,imageSrcSet:null,inert:te,inputMode:null,integrity:null,is:null,isMap:te,itemId:null,itemProp:ge,itemRef:ge,itemScope:te,itemType:ge,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:te,low:F,manifest:null,max:null,maxLength:F,media:null,method:null,min:null,minLength:F,multiple:te,muted:te,name:null,nonce:null,noModule:te,noValidate:te,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:te,optimum:F,pattern:null,ping:ge,placeholder:null,playsInline:te,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:te,referrerPolicy:null,rel:ge,required:te,reversed:te,rows:F,rowSpan:F,sandbox:ge,scope:null,scoped:te,seamless:te,selected:te,shadowRootClonable:te,shadowRootDelegatesFocus:te,shadowRootMode:null,shape:null,size:F,sizes:null,slot:null,span:F,spellCheck:Re,src:null,srcDoc:null,srcLang:null,srcSet:null,start:F,step:null,style:null,tabIndex:F,target:null,title:null,translate:null,type:null,typeMustMatch:te,useMap:null,value:Re,width:F,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ge,axis:null,background:null,bgColor:null,border:F,borderColor:null,bottomMargin:F,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:te,declare:te,event:null,face:null,frame:null,frameBorder:null,hSpace:F,leftMargin:F,link:null,longDesc:null,lowSrc:null,marginHeight:F,marginWidth:F,noResize:te,noHref:te,noShade:te,noWrap:te,object:null,profile:null,prompt:null,rev:null,rightMargin:F,rules:null,scheme:null,scrolling:Re,standby:null,summary:null,text:null,topMargin:F,valueType:null,version:null,vAlign:null,vLink:null,vSpace:F,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:te,disableRemotePlayback:te,prefix:null,property:null,results:F,security:null,unselectable:null},space:"html",transform:W0}),E_=Li({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:yt,accentHeight:F,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:F,amplitude:F,arabicForm:null,ascent:F,attributeName:null,attributeType:null,azimuth:F,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:F,by:null,calcMode:null,capHeight:F,className:ge,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:F,diffuseConstant:F,direction:null,display:null,dur:null,divisor:F,dominantBaseline:null,download:te,dx:null,dy:null,edgeMode:null,editable:null,elevation:F,enableBackground:null,end:null,event:null,exponent:F,externalResourcesRequired:null,fill:null,fillOpacity:F,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:mi,g2:mi,glyphName:mi,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:F,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:F,horizOriginX:F,horizOriginY:F,id:null,ideographic:F,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:F,k:F,k1:F,k2:F,k3:F,k4:F,kernelMatrix:yt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:F,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:F,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:F,overlineThickness:F,paintOrder:null,panose1:null,path:null,pathLength:F,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ge,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:F,pointsAtY:F,pointsAtZ:F,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:yt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:yt,rev:yt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:yt,requiredFeatures:yt,requiredFonts:yt,requiredFormats:yt,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:F,specularExponent:F,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:F,strikethroughThickness:F,string:null,stroke:null,strokeDashArray:yt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:F,strokeOpacity:F,strokeWidth:null,style:null,surfaceScale:F,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:yt,tabIndex:F,tableValues:null,target:null,targetX:F,targetY:F,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:yt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:F,underlineThickness:F,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:F,values:null,vAlphabetic:F,vMathematical:F,vectorEffect:null,vHanging:F,vIdeographic:F,version:null,vertAdvY:F,vertOriginX:F,vertOriginY:F,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:F,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:V0}),H0=Li({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),U0=Li({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:W0}),Y0=Li({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),P_={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"},M_=/[A-Z]/g,zp=/-[a-z]/g,T_=/^data[-\w.:]+$/i;function D_(e,t){const n=Vu(t);let r=t,i=gt;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&T_.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(zp,L_);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!zp.test(s)){let o=s.replace(M_,A_);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=vd}return new i(r,t)}function A_(e){return"-"+e.toLowerCase()}function L_(e){return e.charAt(1).toUpperCase()}const R_=B0([$0,j_,H0,U0,Y0],"html"),bd=B0([$0,E_,H0,U0,Y0],"svg");function O_(e){return e.join(" ").trim()}var wd={},Fp=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,I_=/\n/g,z_=/^\s*/,F_=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,B_=/^:\s*/,$_=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,V_=/^[;\s]*/,W_=/^\s+|\s+$/g,H_=`
|
|
73
|
+
This cannot be undone.`)&&(await BS(O),j())}return n?d.jsx("div",{className:"font-mono text-xs text-on-surface-variant p-8",children:"loading agents…"}):!n&&i&&!i.configured&&e.length===0?d.jsx("div",{className:"max-w-3xl mx-auto py-16 px-4",children:d.jsxs("div",{className:"text-center",children:[d.jsxs("h1",{className:"font-headline text-4xl font-bold text-on-surface mb-4",children:["Get started with ",d.jsx("span",{className:"highlight-marker",children:"GranClaw"})]}),d.jsx("p",{className:"font-mono text-xs text-on-surface-variant mb-8",children:"Configure a provider and API key before creating agents."}),d.jsx(Ya,{to:"/settings",className:vs,children:"Configure provider"})]})}):d.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[i&&!i.configured&&d.jsxs("div",{className:"rounded-xl bg-warning/10 border border-warning/30 px-4 py-3 mb-6 flex items-center justify-between",children:[d.jsx("p",{className:"font-mono text-[11px] text-warning",children:"No provider configured — agents cannot run until you set one up."}),d.jsx(Ya,{to:"/settings",className:"font-label text-[11px] font-semibold uppercase tracking-widest text-primary hover:text-surface-tint",children:"Configure →"})]}),d.jsxs("div",{className:"flex items-start justify-between mb-8",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"font-headline text-4xl font-bold text-on-surface",children:"Agents"}),d.jsxs("p",{className:"font-mono text-[11px] text-on-surface-variant mt-1",children:[e.length," agent",e.length!==1?"s":""," configured"]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("input",{ref:P,type:"file",accept:".zip,application/zip",onChange:M,className:"hidden"}),d.jsx("button",{onClick:()=>{var O;return(O=P.current)==null?void 0:O.click()},disabled:k||!(i!=null&&i.configured),className:RS,title:"Import an agent from a granclaw export zip",children:k?"Importing…":"↥ Import"}),d.jsx("button",{onClick:()=>a(O=>!O),disabled:!(i!=null&&i.configured),className:vs,children:o?"Cancel":"+ New Agent"})]})]}),o&&d.jsxs("div",{className:`${Xs} p-5 mb-6 space-y-3`,children:[d.jsx("p",{className:"font-label text-[10px] font-semibold uppercase tracking-widest text-on-surface-variant",children:"Create new agent"}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx("input",{className:jp,placeholder:"agent-id (lowercase, no spaces)",value:l,onChange:O=>c(O.target.value.toLowerCase().replace(/[^a-z0-9-]/g,""))}),d.jsx("input",{className:la,placeholder:"Display name",value:u,onChange:O=>f(O.target.value)})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx("select",{className:`${la} appearance-none`,value:h,onChange:O=>Q(O.target.value),children:R.map(O=>d.jsx("option",{value:O.provider,children:O.label??O.provider},O.provider))}),d.jsx("select",{className:`${la} appearance-none`,value:m,onChange:O=>g(O.target.value),children:B.map(O=>d.jsx("option",{value:O.value,children:O.label},O.value))})]}),d.jsx("input",{className:jp,placeholder:`Workspace path (optional, defaults to ./workspaces/${l||"agent-id"})`,value:v,onChange:O=>x(O.target.value)}),d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("button",{onClick:H,disabled:y||!l.trim()||!u.trim()||!m,className:vs,children:y?"Creating…":"Create"}),w&&d.jsx("span",{className:"font-mono text-[10px] text-error",children:w})]})]}),d.jsx("div",{className:"space-y-3",children:e.length===0?d.jsxs("div",{className:"text-center py-16",children:[d.jsx("span",{className:"text-3xl opacity-30",children:"🤖"}),d.jsx("p",{className:"font-mono text-[11px] text-on-surface-variant mt-3",children:"No agents yet. Create one to get started."})]}):e.map(O=>d.jsx(y_,{agent:O,onDelete:()=>X(O.id,O.name)},O.id))})]})}function b_(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const w_=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,k_=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,S_={};function Rp(e,t){return(S_.jsx?k_:w_).test(e)}const __=/[ \t\n\f\r]/g;function C_(e){return typeof e=="object"?e.type==="text"?Op(e.value):!1:Op(e)}function Op(e){return e.replace(__,"")===""}class uo{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}uo.prototype.normal={};uo.prototype.property={};uo.prototype.space=void 0;function B0(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new uo(n,r,t)}function Vu(e){return e.toLowerCase()}class gt{constructor(t,n){this.attribute=n,this.property=t}}gt.prototype.attribute="";gt.prototype.booleanish=!1;gt.prototype.boolean=!1;gt.prototype.commaOrSpaceSeparated=!1;gt.prototype.commaSeparated=!1;gt.prototype.defined=!1;gt.prototype.mustUseProperty=!1;gt.prototype.number=!1;gt.prototype.overloadedBoolean=!1;gt.prototype.property="";gt.prototype.spaceSeparated=!1;gt.prototype.space=void 0;let N_=0;const te=$r(),Re=$r(),Wu=$r(),F=$r(),ge=$r(),mi=$r(),yt=$r();function $r(){return 2**++N_}const Hu=Object.freeze(Object.defineProperty({__proto__:null,boolean:te,booleanish:Re,commaOrSpaceSeparated:yt,commaSeparated:mi,number:F,overloadedBoolean:Wu,spaceSeparated:ge},Symbol.toStringTag,{value:"Module"})),fc=Object.keys(Hu);class vd extends gt{constructor(t,n,r,i){let s=-1;if(super(t,n),Ip(this,"space",i),typeof r=="number")for(;++s<fc.length;){const o=fc[s];Ip(this,fc[s],(r&Hu[o])===Hu[o])}}}vd.prototype.defined=!0;function Ip(e,t,n){n&&(e[t]=n)}function Li(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new vd(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[Vu(r)]=r,n[Vu(s.attribute)]=r}return new uo(t,n,e.space)}const $0=Li({properties:{ariaActiveDescendant:null,ariaAtomic:Re,ariaAutoComplete:null,ariaBusy:Re,ariaChecked:Re,ariaColCount:F,ariaColIndex:F,ariaColSpan:F,ariaControls:ge,ariaCurrent:null,ariaDescribedBy:ge,ariaDetails:null,ariaDisabled:Re,ariaDropEffect:ge,ariaErrorMessage:null,ariaExpanded:Re,ariaFlowTo:ge,ariaGrabbed:Re,ariaHasPopup:null,ariaHidden:Re,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ge,ariaLevel:F,ariaLive:null,ariaModal:Re,ariaMultiLine:Re,ariaMultiSelectable:Re,ariaOrientation:null,ariaOwns:ge,ariaPlaceholder:null,ariaPosInSet:F,ariaPressed:Re,ariaReadOnly:Re,ariaRelevant:null,ariaRequired:Re,ariaRoleDescription:ge,ariaRowCount:F,ariaRowIndex:F,ariaRowSpan:F,ariaSelected:Re,ariaSetSize:F,ariaSort:null,ariaValueMax:F,ariaValueMin:F,ariaValueNow:F,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function V0(e,t){return t in e?e[t]:t}function W0(e,t){return V0(e,t.toLowerCase())}const j_=Li({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:mi,acceptCharset:ge,accessKey:ge,action:null,allow:null,allowFullScreen:te,allowPaymentRequest:te,allowUserMedia:te,alt:null,as:null,async:te,autoCapitalize:null,autoComplete:ge,autoFocus:te,autoPlay:te,blocking:ge,capture:null,charSet:null,checked:te,cite:null,className:ge,cols:F,colSpan:null,content:null,contentEditable:Re,controls:te,controlsList:ge,coords:F|mi,crossOrigin:null,data:null,dateTime:null,decoding:null,default:te,defer:te,dir:null,dirName:null,disabled:te,download:Wu,draggable:Re,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:te,formTarget:null,headers:ge,height:F,hidden:Wu,high:F,href:null,hrefLang:null,htmlFor:ge,httpEquiv:ge,id:null,imageSizes:null,imageSrcSet:null,inert:te,inputMode:null,integrity:null,is:null,isMap:te,itemId:null,itemProp:ge,itemRef:ge,itemScope:te,itemType:ge,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:te,low:F,manifest:null,max:null,maxLength:F,media:null,method:null,min:null,minLength:F,multiple:te,muted:te,name:null,nonce:null,noModule:te,noValidate:te,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:te,optimum:F,pattern:null,ping:ge,placeholder:null,playsInline:te,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:te,referrerPolicy:null,rel:ge,required:te,reversed:te,rows:F,rowSpan:F,sandbox:ge,scope:null,scoped:te,seamless:te,selected:te,shadowRootClonable:te,shadowRootDelegatesFocus:te,shadowRootMode:null,shape:null,size:F,sizes:null,slot:null,span:F,spellCheck:Re,src:null,srcDoc:null,srcLang:null,srcSet:null,start:F,step:null,style:null,tabIndex:F,target:null,title:null,translate:null,type:null,typeMustMatch:te,useMap:null,value:Re,width:F,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ge,axis:null,background:null,bgColor:null,border:F,borderColor:null,bottomMargin:F,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:te,declare:te,event:null,face:null,frame:null,frameBorder:null,hSpace:F,leftMargin:F,link:null,longDesc:null,lowSrc:null,marginHeight:F,marginWidth:F,noResize:te,noHref:te,noShade:te,noWrap:te,object:null,profile:null,prompt:null,rev:null,rightMargin:F,rules:null,scheme:null,scrolling:Re,standby:null,summary:null,text:null,topMargin:F,valueType:null,version:null,vAlign:null,vLink:null,vSpace:F,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:te,disableRemotePlayback:te,prefix:null,property:null,results:F,security:null,unselectable:null},space:"html",transform:W0}),E_=Li({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:yt,accentHeight:F,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:F,amplitude:F,arabicForm:null,ascent:F,attributeName:null,attributeType:null,azimuth:F,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:F,by:null,calcMode:null,capHeight:F,className:ge,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:F,diffuseConstant:F,direction:null,display:null,dur:null,divisor:F,dominantBaseline:null,download:te,dx:null,dy:null,edgeMode:null,editable:null,elevation:F,enableBackground:null,end:null,event:null,exponent:F,externalResourcesRequired:null,fill:null,fillOpacity:F,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:mi,g2:mi,glyphName:mi,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:F,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:F,horizOriginX:F,horizOriginY:F,id:null,ideographic:F,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:F,k:F,k1:F,k2:F,k3:F,k4:F,kernelMatrix:yt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:F,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:F,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:F,overlineThickness:F,paintOrder:null,panose1:null,path:null,pathLength:F,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ge,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:F,pointsAtY:F,pointsAtZ:F,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:yt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:yt,rev:yt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:yt,requiredFeatures:yt,requiredFonts:yt,requiredFormats:yt,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:F,specularExponent:F,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:F,strikethroughThickness:F,string:null,stroke:null,strokeDashArray:yt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:F,strokeOpacity:F,strokeWidth:null,style:null,surfaceScale:F,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:yt,tabIndex:F,tableValues:null,target:null,targetX:F,targetY:F,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:yt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:F,underlineThickness:F,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:F,values:null,vAlphabetic:F,vMathematical:F,vectorEffect:null,vHanging:F,vIdeographic:F,version:null,vertAdvY:F,vertOriginX:F,vertOriginY:F,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:F,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:V0}),H0=Li({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),U0=Li({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:W0}),Y0=Li({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),P_={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"},M_=/[A-Z]/g,zp=/-[a-z]/g,T_=/^data[-\w.:]+$/i;function D_(e,t){const n=Vu(t);let r=t,i=gt;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&T_.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(zp,L_);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!zp.test(s)){let o=s.replace(M_,A_);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=vd}return new i(r,t)}function A_(e){return"-"+e.toLowerCase()}function L_(e){return e.charAt(1).toUpperCase()}const R_=B0([$0,j_,H0,U0,Y0],"html"),bd=B0([$0,E_,H0,U0,Y0],"svg");function O_(e){return e.join(" ").trim()}var wd={},Fp=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,I_=/\n/g,z_=/^\s*/,F_=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,B_=/^:\s*/,$_=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,V_=/^[;\s]*/,W_=/^\s+|\s+$/g,H_=`
|
|
74
74
|
`,Bp="/",$p="*",br="",U_="comment",Y_="declaration";function K_(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(m){var g=m.match(I_);g&&(n+=g.length);var v=m.lastIndexOf(H_);r=~v?m.length-v:r+m.length}function s(){var m={line:n,column:r};return function(g){return g.position=new o(m),c(),g}}function o(m){this.start=m,this.end={line:n,column:r},this.source=t.source}o.prototype.content=e;function a(m){var g=new Error(t.source+":"+n+":"+r+": "+m);if(g.reason=m,g.filename=t.source,g.line=n,g.column=r,g.source=e,!t.silent)throw g}function l(m){var g=m.exec(e);if(g){var v=g[0];return i(v),e=e.slice(v.length),g}}function c(){l(z_)}function u(m){var g;for(m=m||[];g=f();)g!==!1&&m.push(g);return m}function f(){var m=s();if(!(Bp!=e.charAt(0)||$p!=e.charAt(1))){for(var g=2;br!=e.charAt(g)&&($p!=e.charAt(g)||Bp!=e.charAt(g+1));)++g;if(g+=2,br===e.charAt(g-1))return a("End of comment missing");var v=e.slice(2,g-2);return r+=2,i(v),e=e.slice(g),r+=2,m({type:U_,comment:v})}}function h(){var m=s(),g=l(F_);if(g){if(f(),!l(B_))return a("property missing ':'");var v=l($_),x=m({type:Y_,property:Vp(g[0].replace(Fp,br)),value:v?Vp(v[0].replace(Fp,br)):br});return l(V_),x}}function p(){var m=[];u(m);for(var g;g=h();)g!==!1&&(m.push(g),u(m));return m}return c(),p()}function Vp(e){return e?e.replace(W_,br):br}var X_=K_,G_=ba&&ba.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(wd,"__esModule",{value:!0});wd.default=q_;const Q_=G_(X_);function q_(e,t){let n=null;if(!e||typeof e!="string")return n;const r=(0,Q_.default)(e),i=typeof t=="function";return r.forEach(s=>{if(s.type!=="declaration")return;const{property:o,value:a}=s;i?t(o,a,s):a&&(n=n||{},n[o]=a)}),n}var Sl={};Object.defineProperty(Sl,"__esModule",{value:!0});Sl.camelCase=void 0;var J_=/^--[a-zA-Z0-9_-]+$/,Z_=/-([a-z])/g,eC=/^[^-]+$/,tC=/^-(webkit|moz|ms|o|khtml)-/,nC=/^-(ms)-/,rC=function(e){return!e||eC.test(e)||J_.test(e)},iC=function(e,t){return t.toUpperCase()},Wp=function(e,t){return"".concat(t,"-")},sC=function(e,t){return t===void 0&&(t={}),rC(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(nC,Wp):e=e.replace(tC,Wp),e.replace(Z_,iC))};Sl.camelCase=sC;var oC=ba&&ba.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},aC=oC(wd),lC=Sl;function Uu(e,t){var n={};return!e||typeof e!="string"||(0,aC.default)(e,function(r,i){r&&i&&(n[(0,lC.camelCase)(r,t)]=i)}),n}Uu.default=Uu;var cC=Uu;const uC=vf(cC),K0=X0("end"),kd=X0("start");function X0(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function fC(e){const t=kd(e),n=K0(e);if(t&&n)return{start:t,end:n}}function bs(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Hp(e.position):"start"in e||"end"in e?Hp(e):"line"in e||"column"in e?Yu(e):""}function Yu(e){return Up(e&&e.line)+":"+Up(e&&e.column)}function Hp(e){return Yu(e&&e.start)+"-"+Yu(e&&e.end)}function Up(e){return e&&typeof e=="number"?e:1}class tt extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",s={},o=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?i=t:!s.cause&&t&&(o=!0,i=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?s.ruleId=r:(s.source=r.slice(0,l),s.ruleId=r.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const a=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=bs(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=o&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}tt.prototype.file="";tt.prototype.name="";tt.prototype.reason="";tt.prototype.message="";tt.prototype.stack="";tt.prototype.column=void 0;tt.prototype.line=void 0;tt.prototype.ancestors=void 0;tt.prototype.cause=void 0;tt.prototype.fatal=void 0;tt.prototype.place=void 0;tt.prototype.ruleId=void 0;tt.prototype.source=void 0;const Sd={}.hasOwnProperty,dC=new Map,hC=/[A-Z]/g,pC=new Set(["table","tbody","thead","tfoot","tr"]),mC=new Set(["td","th"]),G0="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function gC(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=_C(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=SC(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?bd:R_,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=Q0(i,e,void 0);return s&&typeof s!="string"?s:i.create(e,i.Fragment,{children:s||void 0},void 0)}function Q0(e,t,n){if(t.type==="element")return xC(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return yC(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return bC(e,t,n);if(t.type==="mdxjsEsm")return vC(e,t);if(t.type==="root")return wC(e,t,n);if(t.type==="text")return kC(e,t)}function xC(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=bd,e.schema=i),e.ancestors.push(t);const s=J0(e,t.tagName,!1),o=CC(e,t);let a=Cd(e,t);return pC.has(t.tagName)&&(a=a.filter(function(l){return typeof l=="string"?!C_(l):!0})),q0(e,o,s,t),_d(o,a),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function yC(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Gs(e,t.position)}function vC(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Gs(e,t.position)}function bC(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=bd,e.schema=i),e.ancestors.push(t);const s=t.name===null?e.Fragment:J0(e,t.name,!0),o=NC(e,t),a=Cd(e,t);return q0(e,o,s,t),_d(o,a),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function wC(e,t,n){const r={};return _d(r,Cd(e,t)),e.create(t,e.Fragment,r,n)}function kC(e,t){return t.value}function q0(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function _d(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function SC(e,t,n){return r;function r(i,s,o,a){const c=Array.isArray(o.children)?n:t;return a?c(s,o,a):c(s,o)}}function _C(e,t){return n;function n(r,i,s,o){const a=Array.isArray(s.children),l=kd(r);return t(i,s,o,a,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function CC(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&Sd.call(t.properties,i)){const s=jC(e,i,t.properties[i]);if(s){const[o,a]=s;e.tableCellAlignToStyle&&o==="align"&&typeof a=="string"&&mC.has(t.tagName)?r=a:n[o]=a}}if(r){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function NC(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const s=r.data.estree.body[0];s.type;const o=s.expression;o.type;const a=o.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else Gs(e,t.position);else{const i=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const a=r.value.data.estree.body[0];a.type,s=e.evaluater.evaluateExpression(a.expression)}else Gs(e,t.position);else s=r.value===null?!0:r.value;n[i]=s}return n}function Cd(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:dC;for(;++r<t.children.length;){const s=t.children[r];let o;if(e.passKeys){const l=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(l){const c=i.get(l)||0;o=l+"-"+c,i.set(l,c+1)}}const a=Q0(e,s,o);a!==void 0&&n.push(a)}return n}function jC(e,t,n){const r=D_(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?b_(n):O_(n)),r.property==="style"){let i=typeof n=="object"?n:EC(e,String(n));return e.stylePropertyNameCase==="css"&&(i=PC(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?P_[r.property]||r.property:r.attribute,n]}}function EC(e,t){try{return uC(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,i=new tt("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw i.file=e.filePath||void 0,i.url=G0+"#cannot-parse-style-attribute",i}}function J0(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const i=t.split(".");let s=-1,o;for(;++s<i.length;){const a=Rp(i[s])?{type:"Identifier",name:i[s]}:{type:"Literal",value:i[s]};o=o?{type:"MemberExpression",object:o,property:a,computed:!!(s&&a.type==="Literal"),optional:!1}:a}r=o}else r=Rp(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const i=r.value;return Sd.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);Gs(e)}function Gs(e,t){const n=new tt("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=G0+"#cannot-handle-mdx-estrees-without-createevaluater",n}function PC(e){const t={};let n;for(n in e)Sd.call(e,n)&&(t[MC(n)]=e[n]);return t}function MC(e){let t=e.replace(hC,TC);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function TC(e){return"-"+e.toLowerCase()}const dc={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"]},DC={};function Nd(e,t){const n=DC,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Z0(e,r,i)}function Z0(e,t,n){if(AC(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Yp(e.children,t,n)}return Array.isArray(e)?Yp(e,t,n):""}function Yp(e,t,n){const r=[];let i=-1;for(;++i<e.length;)r[i]=Z0(e[i],t,n);return r.join("")}function AC(e){return!!(e&&typeof e=="object")}const Kp=document.createElement("i");function jd(e){const t="&"+e+";";Kp.innerHTML=t;const n=Kp.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function _t(e,t,n,r){const i=e.length;let s=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);s<r.length;)o=r.slice(s,s+1e4),o.unshift(t,0),e.splice(...o),s+=1e4,t+=1e4}function Tt(e,t){return e.length>0?(_t(e,e.length,0,t),e):t}const Xp={}.hasOwnProperty;function ev(e){const t={};let n=-1;for(;++n<e.length;)LC(t,e[n]);return t}function LC(e,t){let n;for(n in t){const i=(Xp.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let o;if(s)for(o in s){Xp.call(i,o)||(i[o]=[]);const a=s[o];RC(i[o],Array.isArray(a)?a:a?[a]:[])}}}function RC(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);_t(e,0,0,r)}function tv(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Ht(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const it=lr(/[A-Za-z]/),qe=lr(/[\dA-Za-z]/),OC=lr(/[#-'*+\--9=?A-Z^-~]/);function Ka(e){return e!==null&&(e<32||e===127)}const Ku=lr(/\d/),IC=lr(/[\dA-Fa-f]/),zC=lr(/[!-/:-@[-`{-~]/);function q(e){return e!==null&&e<-2}function pe(e){return e!==null&&(e<0||e===32)}function re(e){return e===-2||e===-1||e===32}const _l=lr(new RegExp("\\p{P}|\\p{S}","u")),Rr=lr(/\s/);function lr(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Ri(e){const t=[];let n=-1,r=0,i=0;for(;++n<e.length;){const s=e.charCodeAt(n);let o="";if(s===37&&qe(e.charCodeAt(n+1))&&qe(e.charCodeAt(n+2)))i=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(o=String.fromCharCode(s));else if(s>55295&&s<57344){const a=e.charCodeAt(n+1);s<56320&&a>56319&&a<57344?(o=String.fromCharCode(s,a),i=1):o="�"}else o=String.fromCharCode(s);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function le(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(l){return re(l)?(e.enter(n),a(l)):t(l)}function a(l){return re(l)&&s++<i?(e.consume(l),a):(e.exit(n),t(l))}}const FC={tokenize:BC};function BC(e){const t=e.attempt(this.parser.constructs.contentInitial,r,i);let n;return t;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),le(e,t,"linePrefix")}function i(a){return e.enter("paragraph"),s(a)}function s(a){const l=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,o(a)}function o(a){if(a===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(a);return}return q(a)?(e.consume(a),e.exit("chunkText"),s):(e.consume(a),o)}}const $C={tokenize:VC},Gp={tokenize:WC};function VC(e){const t=this,n=[];let r=0,i,s,o;return a;function a(b){if(r<n.length){const k=n[r];return t.containerState=k[1],e.attempt(k[0].continuation,l,c)(b)}return c(b)}function l(b){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&y();const k=t.events.length;let S=k,w;for(;S--;)if(t.events[S][0]==="exit"&&t.events[S][1].type==="chunkFlow"){w=t.events[S][1].end;break}x(r);let E=k;for(;E<t.events.length;)t.events[E][1].end={...w},E++;return _t(t.events,S+1,0,t.events.slice(k)),t.events.length=E,c(b)}return a(b)}function c(b){if(r===n.length){if(!i)return h(b);if(i.currentConstruct&&i.currentConstruct.concrete)return m(b);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Gp,u,f)(b)}function u(b){return i&&y(),x(r),h(b)}function f(b){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(b)}function h(b){return t.containerState={},e.attempt(Gp,p,m)(b)}function p(b){return r++,n.push([t.currentConstruct,t.containerState]),h(b)}function m(b){if(b===null){i&&y(),x(0),e.consume(b);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:s}),g(b)}function g(b){if(b===null){v(e.exit("chunkFlow"),!0),x(0),e.consume(b);return}return q(b)?(e.consume(b),v(e.exit("chunkFlow")),r=0,t.interrupt=void 0,a):(e.consume(b),g)}function v(b,k){const S=t.sliceStream(b);if(k&&S.push(null),b.previous=s,s&&(s.next=b),s=b,i.defineSkip(b.start),i.write(S),t.parser.lazy[b.start.line]){let w=i.events.length;for(;w--;)if(i.events[w][1].start.offset<o&&(!i.events[w][1].end||i.events[w][1].end.offset>o))return;const E=t.events.length;let P=E,M,j;for(;P--;)if(t.events[P][0]==="exit"&&t.events[P][1].type==="chunkFlow"){if(M){j=t.events[P][1].end;break}M=!0}for(x(r),w=E;w<t.events.length;)t.events[w][1].end={...j},w++;_t(t.events,P+1,0,t.events.slice(E)),t.events.length=w}}function x(b){let k=n.length;for(;k-- >b;){const S=n[k];t.containerState=S[1],S[0].exit.call(t,e)}n.length=b}function y(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function WC(e,t,n){return le(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function _i(e){if(e===null||pe(e)||Rr(e))return 1;if(_l(e))return 2}function Cl(e,t,n){const r=[];let i=-1;for(;++i<e.length;){const s=e[i].resolveAll;s&&!r.includes(s)&&(t=s(t,n),r.push(s))}return t}const Xu={name:"attention",resolveAll:HC,tokenize:UC};function HC(e,t){let n=-1,r,i,s,o,a,l,c,u;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[r][1].end},h={...e[n][1].start};Qp(f,-l),Qp(h,l),o={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...e[r][1].end}},a={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:l>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...o.start},end:{...a.end}},e[r][1].end={...o.start},e[n][1].start={...a.end},c=[],e[r][1].end.offset-e[r][1].start.offset&&(c=Tt(c,[["enter",e[r][1],t],["exit",e[r][1],t]])),c=Tt(c,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",s,t]]),c=Tt(c,Cl(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),c=Tt(c,[["exit",s,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,c=Tt(c,[["enter",e[n][1],t],["exit",e[n][1],t]])):u=0,_t(e,r-1,n-r+3,c),n=r+c.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function UC(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=_i(r);let s;return o;function o(l){return s=l,e.enter("attentionSequence"),a(l)}function a(l){if(l===s)return e.consume(l),a;const c=e.exit("attentionSequence"),u=_i(l),f=!u||u===2&&i||n.includes(l),h=!i||i===2&&u||n.includes(r);return c._open=!!(s===42?f:f&&(i||!h)),c._close=!!(s===42?h:h&&(u||!f)),t(l)}}function Qp(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const YC={name:"autolink",tokenize:KC};function KC(e,t,n){let r=0;return i;function i(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s}function s(p){return it(p)?(e.consume(p),o):p===64?n(p):c(p)}function o(p){return p===43||p===45||p===46||qe(p)?(r=1,a(p)):c(p)}function a(p){return p===58?(e.consume(p),r=0,l):(p===43||p===45||p===46||qe(p))&&r++<32?(e.consume(p),a):(r=0,c(p))}function l(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),t):p===null||p===32||p===60||Ka(p)?n(p):(e.consume(p),l)}function c(p){return p===64?(e.consume(p),u):OC(p)?(e.consume(p),c):n(p)}function u(p){return qe(p)?f(p):n(p)}function f(p){return p===46?(e.consume(p),r=0,u):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),t):h(p)}function h(p){if((p===45||qe(p))&&r++<63){const m=p===45?h:f;return e.consume(p),m}return n(p)}}const fo={partial:!0,tokenize:XC};function XC(e,t,n){return r;function r(s){return re(s)?le(e,i,"linePrefix")(s):i(s)}function i(s){return s===null||q(s)?t(s):n(s)}}const nv={continuation:{tokenize:QC},exit:qC,name:"blockQuote",tokenize:GC};function GC(e,t,n){const r=this;return i;function i(o){if(o===62){const a=r.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),s}return n(o)}function s(o){return re(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function QC(e,t,n){const r=this;return i;function i(o){return re(o)?le(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):s(o)}function s(o){return e.attempt(nv,t,n)(o)}}function qC(e){e.exit("blockQuote")}const rv={name:"characterEscape",tokenize:JC};function JC(e,t,n){return r;function r(s){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(s),e.exit("escapeMarker"),i}function i(s){return zC(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const iv={name:"characterReference",tokenize:ZC};function ZC(e,t,n){const r=this;let i=0,s,o;return a;function a(f){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),l}function l(f){return f===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(f),e.exit("characterReferenceMarkerNumeric"),c):(e.enter("characterReferenceValue"),s=31,o=qe,u(f))}function c(f){return f===88||f===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(f),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),s=6,o=IC,u):(e.enter("characterReferenceValue"),s=7,o=Ku,u(f))}function u(f){if(f===59&&i){const h=e.exit("characterReferenceValue");return o===qe&&!jd(r.sliceSerialize(h))?n(f):(e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return o(f)&&i++<s?(e.consume(f),u):n(f)}}const qp={partial:!0,tokenize:tN},Jp={concrete:!0,name:"codeFenced",tokenize:eN};function eN(e,t,n){const r=this,i={partial:!0,tokenize:S};let s=0,o=0,a;return l;function l(w){return c(w)}function c(w){const E=r.events[r.events.length-1];return s=E&&E[1].type==="linePrefix"?E[2].sliceSerialize(E[1],!0).length:0,a=w,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(w)}function u(w){return w===a?(o++,e.consume(w),u):o<3?n(w):(e.exit("codeFencedFenceSequence"),re(w)?le(e,f,"whitespace")(w):f(w))}function f(w){return w===null||q(w)?(e.exit("codeFencedFence"),r.interrupt?t(w):e.check(qp,g,k)(w)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(w))}function h(w){return w===null||q(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),f(w)):re(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),le(e,p,"whitespace")(w)):w===96&&w===a?n(w):(e.consume(w),h)}function p(w){return w===null||q(w)?f(w):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(w))}function m(w){return w===null||q(w)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),f(w)):w===96&&w===a?n(w):(e.consume(w),m)}function g(w){return e.attempt(i,k,v)(w)}function v(w){return e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),x}function x(w){return s>0&&re(w)?le(e,y,"linePrefix",s+1)(w):y(w)}function y(w){return w===null||q(w)?e.check(qp,g,k)(w):(e.enter("codeFlowValue"),b(w))}function b(w){return w===null||q(w)?(e.exit("codeFlowValue"),y(w)):(e.consume(w),b)}function k(w){return e.exit("codeFenced"),t(w)}function S(w,E,P){let M=0;return j;function j(H){return w.enter("lineEnding"),w.consume(H),w.exit("lineEnding"),D}function D(H){return w.enter("codeFencedFence"),re(H)?le(w,R,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(H):R(H)}function R(H){return H===a?(w.enter("codeFencedFenceSequence"),B(H)):P(H)}function B(H){return H===a?(M++,w.consume(H),B):M>=o?(w.exit("codeFencedFenceSequence"),re(H)?le(w,Q,"whitespace")(H):Q(H)):P(H)}function Q(H){return H===null||q(H)?(w.exit("codeFencedFence"),E(H)):P(H)}}}function tN(e,t,n){const r=this;return i;function i(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const hc={name:"codeIndented",tokenize:rN},nN={partial:!0,tokenize:iN};function rN(e,t,n){const r=this;return i;function i(c){return e.enter("codeIndented"),le(e,s,"linePrefix",5)(c)}function s(c){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(c):n(c)}function o(c){return c===null?l(c):q(c)?e.attempt(nN,o,l)(c):(e.enter("codeFlowValue"),a(c))}function a(c){return c===null||q(c)?(e.exit("codeFlowValue"),o(c)):(e.consume(c),a)}function l(c){return e.exit("codeIndented"),t(c)}}function iN(e,t,n){const r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):q(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):le(e,s,"linePrefix",5)(o)}function s(o){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(o):q(o)?i(o):n(o)}}const sN={name:"codeText",previous:aN,resolve:oN,tokenize:lN};function oN(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function aN(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function lN(e,t,n){let r=0,i,s;return o;function o(f){return e.enter("codeText"),e.enter("codeTextSequence"),a(f)}function a(f){return f===96?(e.consume(f),r++,a):(e.exit("codeTextSequence"),l(f))}function l(f){return f===null?n(f):f===32?(e.enter("space"),e.consume(f),e.exit("space"),l):f===96?(s=e.enter("codeTextSequence"),i=0,u(f)):q(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),l):(e.enter("codeTextData"),c(f))}function c(f){return f===null||f===32||f===96||q(f)?(e.exit("codeTextData"),l(f)):(e.consume(f),c)}function u(f){return f===96?(e.consume(f),i++,u):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(f)):(s.type="codeTextData",c(f))}}class cN{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ki(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Ki(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ki(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);Ki(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);Ki(this.left,n.reverse())}}}function Ki(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function sv(e){const t={};let n=-1,r,i,s,o,a,l,c;const u=new cN(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type==="chunkFlow"&&u.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,s=0,s<l.length&&l[s][1].type==="lineEndingBlank"&&(s+=2),s<l.length&&l[s][1].type==="content"))for(;++s<l.length&&l[s][1].type!=="content";)l[s][1].type==="chunkText"&&(l[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,uN(u,n)),n=t[n],c=!0);else if(r[1]._container){for(s=n,i=void 0;s--;)if(o=u.get(s),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank")o[0]==="enter"&&(i&&(u.get(i)[1].type="lineEndingBlank"),o[1].type="lineEnding",i=s);else if(!(o[1].type==="linePrefix"||o[1].type==="listItemIndent"))break;i&&(r[1].end={...u.get(i)[1].start},a=u.slice(i,n),a.unshift(r),u.splice(i,n-i+1,a))}}return _t(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!c}function uN(e,t){const n=e.get(t)[1],r=e.get(t)[2];let i=t-1;const s=[];let o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));const a=o.events,l=[],c={};let u,f,h=-1,p=n,m=0,g=0;const v=[g];for(;p;){for(;e.get(++i)[1]!==p;);s.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),f&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),f=p,p=p.next}for(p=n;++h<a.length;)a[h][0]==="exit"&&a[h-1][0]==="enter"&&a[h][1].type===a[h-1][1].type&&a[h][1].start.line!==a[h][1].end.line&&(g=h+1,v.push(g),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):v.pop(),h=v.length;h--;){const x=a.slice(v[h],v[h+1]),y=s.pop();l.push([y,y+x.length-1]),e.splice(y,2,x)}for(l.reverse(),h=-1;++h<l.length;)c[m+l[h][0]]=m+l[h][1],m+=l[h][1]-l[h][0]-1;return c}const fN={resolve:hN,tokenize:pN},dN={partial:!0,tokenize:mN};function hN(e){return sv(e),e}function pN(e,t){let n;return r;function r(a){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?s(a):q(a)?e.check(dN,o,s)(a):(e.consume(a),i)}function s(a){return e.exit("chunkContent"),e.exit("content"),t(a)}function o(a){return e.consume(a),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function mN(e,t,n){const r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),le(e,s,"linePrefix")}function s(o){if(o===null||q(o))return n(o);const a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function ov(e,t,n,r,i,s,o,a,l){const c=l||Number.POSITIVE_INFINITY;let u=0;return f;function f(x){return x===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(x),e.exit(s),h):x===null||x===32||x===41||Ka(x)?n(x):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),g(x))}function h(x){return x===62?(e.enter(s),e.consume(x),e.exit(s),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===62?(e.exit("chunkString"),e.exit(a),h(x)):x===null||x===60||q(x)?n(x):(e.consume(x),x===92?m:p)}function m(x){return x===60||x===62||x===92?(e.consume(x),p):p(x)}function g(x){return!u&&(x===null||x===41||pe(x))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(x)):u<c&&x===40?(e.consume(x),u++,g):x===41?(e.consume(x),u--,g):x===null||x===32||x===40||Ka(x)?n(x):(e.consume(x),x===92?v:g)}function v(x){return x===40||x===41||x===92?(e.consume(x),g):g(x)}}function av(e,t,n,r,i,s){const o=this;let a=0,l;return c;function c(p){return e.enter(r),e.enter(i),e.consume(p),e.exit(i),e.enter(s),u}function u(p){return a>999||p===null||p===91||p===93&&!l||p===94&&!a&&"_hiddenFootnoteSupport"in o.parser.constructs?n(p):p===93?(e.exit(s),e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):q(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||q(p)||a++>999?(e.exit("chunkString"),u(p)):(e.consume(p),l||(l=!re(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),a++,f):f(p)}}function lv(e,t,n,r,i,s){let o;return a;function a(h){return h===34||h===39||h===40?(e.enter(r),e.enter(i),e.consume(h),e.exit(i),o=h===40?41:h,l):n(h)}function l(h){return h===o?(e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):(e.enter(s),c(h))}function c(h){return h===o?(e.exit(s),l(o)):h===null?n(h):q(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),le(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(h))}function u(h){return h===o||h===null||q(h)?(e.exit("chunkString"),c(h)):(e.consume(h),h===92?f:u)}function f(h){return h===o||h===92?(e.consume(h),u):u(h)}}function ws(e,t){let n;return r;function r(i){return q(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):re(i)?le(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const gN={name:"definition",tokenize:yN},xN={partial:!0,tokenize:vN};function yN(e,t,n){const r=this;let i;return s;function s(p){return e.enter("definition"),o(p)}function o(p){return av.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function a(p){return i=Ht(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):n(p)}function l(p){return pe(p)?ws(e,c)(p):c(p)}function c(p){return ov(e,u,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function u(p){return e.attempt(xN,f,f)(p)}function f(p){return re(p)?le(e,h,"whitespace")(p):h(p)}function h(p){return p===null||q(p)?(e.exit("definition"),r.parser.defined.push(i),t(p)):n(p)}}function vN(e,t,n){return r;function r(a){return pe(a)?ws(e,i)(a):n(a)}function i(a){return lv(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function s(a){return re(a)?le(e,o,"whitespace")(a):o(a)}function o(a){return a===null||q(a)?t(a):n(a)}}const bN={name:"hardBreakEscape",tokenize:wN};function wN(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return q(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const kN={name:"headingAtx",resolve:SN,tokenize:_N};function SN(e,t){let n=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},_t(e,r,n-r+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),e}function _N(e,t,n){let r=0;return i;function i(u){return e.enter("atxHeading"),s(u)}function s(u){return e.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&r++<6?(e.consume(u),o):u===null||pe(u)?(e.exit("atxHeadingSequence"),a(u)):n(u)}function a(u){return u===35?(e.enter("atxHeadingSequence"),l(u)):u===null||q(u)?(e.exit("atxHeading"),t(u)):re(u)?le(e,a,"whitespace")(u):(e.enter("atxHeadingText"),c(u))}function l(u){return u===35?(e.consume(u),l):(e.exit("atxHeadingSequence"),a(u))}function c(u){return u===null||u===35||pe(u)?(e.exit("atxHeadingText"),a(u)):(e.consume(u),c)}}const CN=["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"],Zp=["pre","script","style","textarea"],NN={concrete:!0,name:"htmlFlow",resolveTo:PN,tokenize:MN},jN={partial:!0,tokenize:DN},EN={partial:!0,tokenize:TN};function PN(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function MN(e,t,n){const r=this;let i,s,o,a,l;return c;function c(C){return u(C)}function u(C){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(C),f}function f(C){return C===33?(e.consume(C),h):C===47?(e.consume(C),s=!0,g):C===63?(e.consume(C),i=3,r.interrupt?t:_):it(C)?(e.consume(C),o=String.fromCharCode(C),v):n(C)}function h(C){return C===45?(e.consume(C),i=2,p):C===91?(e.consume(C),i=5,a=0,m):it(C)?(e.consume(C),i=4,r.interrupt?t:_):n(C)}function p(C){return C===45?(e.consume(C),r.interrupt?t:_):n(C)}function m(C){const A="CDATA[";return C===A.charCodeAt(a++)?(e.consume(C),a===A.length?r.interrupt?t:R:m):n(C)}function g(C){return it(C)?(e.consume(C),o=String.fromCharCode(C),v):n(C)}function v(C){if(C===null||C===47||C===62||pe(C)){const A=C===47,G=o.toLowerCase();return!A&&!s&&Zp.includes(G)?(i=1,r.interrupt?t(C):R(C)):CN.includes(o.toLowerCase())?(i=6,A?(e.consume(C),x):r.interrupt?t(C):R(C)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):s?y(C):b(C))}return C===45||qe(C)?(e.consume(C),o+=String.fromCharCode(C),v):n(C)}function x(C){return C===62?(e.consume(C),r.interrupt?t:R):n(C)}function y(C){return re(C)?(e.consume(C),y):j(C)}function b(C){return C===47?(e.consume(C),j):C===58||C===95||it(C)?(e.consume(C),k):re(C)?(e.consume(C),b):j(C)}function k(C){return C===45||C===46||C===58||C===95||qe(C)?(e.consume(C),k):S(C)}function S(C){return C===61?(e.consume(C),w):re(C)?(e.consume(C),S):b(C)}function w(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(e.consume(C),l=C,E):re(C)?(e.consume(C),w):P(C)}function E(C){return C===l?(e.consume(C),l=null,M):C===null||q(C)?n(C):(e.consume(C),E)}function P(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||pe(C)?S(C):(e.consume(C),P)}function M(C){return C===47||C===62||re(C)?b(C):n(C)}function j(C){return C===62?(e.consume(C),D):n(C)}function D(C){return C===null||q(C)?R(C):re(C)?(e.consume(C),D):n(C)}function R(C){return C===45&&i===2?(e.consume(C),X):C===60&&i===1?(e.consume(C),O):C===62&&i===4?(e.consume(C),$):C===63&&i===3?(e.consume(C),_):C===93&&i===5?(e.consume(C),T):q(C)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(jN,K,B)(C)):C===null||q(C)?(e.exit("htmlFlowData"),B(C)):(e.consume(C),R)}function B(C){return e.check(EN,Q,K)(C)}function Q(C){return e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),H}function H(C){return C===null||q(C)?B(C):(e.enter("htmlFlowData"),R(C))}function X(C){return C===45?(e.consume(C),_):R(C)}function O(C){return C===47?(e.consume(C),o="",I):R(C)}function I(C){if(C===62){const A=o.toLowerCase();return Zp.includes(A)?(e.consume(C),$):R(C)}return it(C)&&o.length<8?(e.consume(C),o+=String.fromCharCode(C),I):R(C)}function T(C){return C===93?(e.consume(C),_):R(C)}function _(C){return C===62?(e.consume(C),$):C===45&&i===2?(e.consume(C),_):R(C)}function $(C){return C===null||q(C)?(e.exit("htmlFlowData"),K(C)):(e.consume(C),$)}function K(C){return e.exit("htmlFlow"),t(C)}}function TN(e,t,n){const r=this;return i;function i(o){return q(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):n(o)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function DN(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(fo,t,n)}}const AN={name:"htmlText",tokenize:LN};function LN(e,t,n){const r=this;let i,s,o;return a;function a(_){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(_),l}function l(_){return _===33?(e.consume(_),c):_===47?(e.consume(_),S):_===63?(e.consume(_),b):it(_)?(e.consume(_),P):n(_)}function c(_){return _===45?(e.consume(_),u):_===91?(e.consume(_),s=0,m):it(_)?(e.consume(_),y):n(_)}function u(_){return _===45?(e.consume(_),p):n(_)}function f(_){return _===null?n(_):_===45?(e.consume(_),h):q(_)?(o=f,O(_)):(e.consume(_),f)}function h(_){return _===45?(e.consume(_),p):f(_)}function p(_){return _===62?X(_):_===45?h(_):f(_)}function m(_){const $="CDATA[";return _===$.charCodeAt(s++)?(e.consume(_),s===$.length?g:m):n(_)}function g(_){return _===null?n(_):_===93?(e.consume(_),v):q(_)?(o=g,O(_)):(e.consume(_),g)}function v(_){return _===93?(e.consume(_),x):g(_)}function x(_){return _===62?X(_):_===93?(e.consume(_),x):g(_)}function y(_){return _===null||_===62?X(_):q(_)?(o=y,O(_)):(e.consume(_),y)}function b(_){return _===null?n(_):_===63?(e.consume(_),k):q(_)?(o=b,O(_)):(e.consume(_),b)}function k(_){return _===62?X(_):b(_)}function S(_){return it(_)?(e.consume(_),w):n(_)}function w(_){return _===45||qe(_)?(e.consume(_),w):E(_)}function E(_){return q(_)?(o=E,O(_)):re(_)?(e.consume(_),E):X(_)}function P(_){return _===45||qe(_)?(e.consume(_),P):_===47||_===62||pe(_)?M(_):n(_)}function M(_){return _===47?(e.consume(_),X):_===58||_===95||it(_)?(e.consume(_),j):q(_)?(o=M,O(_)):re(_)?(e.consume(_),M):X(_)}function j(_){return _===45||_===46||_===58||_===95||qe(_)?(e.consume(_),j):D(_)}function D(_){return _===61?(e.consume(_),R):q(_)?(o=D,O(_)):re(_)?(e.consume(_),D):M(_)}function R(_){return _===null||_===60||_===61||_===62||_===96?n(_):_===34||_===39?(e.consume(_),i=_,B):q(_)?(o=R,O(_)):re(_)?(e.consume(_),R):(e.consume(_),Q)}function B(_){return _===i?(e.consume(_),i=void 0,H):_===null?n(_):q(_)?(o=B,O(_)):(e.consume(_),B)}function Q(_){return _===null||_===34||_===39||_===60||_===61||_===96?n(_):_===47||_===62||pe(_)?M(_):(e.consume(_),Q)}function H(_){return _===47||_===62||pe(_)?M(_):n(_)}function X(_){return _===62?(e.consume(_),e.exit("htmlTextData"),e.exit("htmlText"),t):n(_)}function O(_){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),I}function I(_){return re(_)?le(e,T,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):T(_)}function T(_){return e.enter("htmlTextData"),o(_)}}const Ed={name:"labelEnd",resolveAll:zN,resolveTo:FN,tokenize:BN},RN={tokenize:$N},ON={tokenize:VN},IN={tokenize:WN};function zN(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",t+=i}}return e.length!==n.length&&_t(e,0,e.length,n),e}function FN(e,t){let n=e.length,r=0,i,s,o,a;for(;n--;)if(i=e[n][1],s){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(o){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(s=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(o=n);const l={type:e[s][1].type==="labelLink"?"link":"image",start:{...e[s][1].start},end:{...e[e.length-1][1].end}},c={type:"label",start:{...e[s][1].start},end:{...e[o][1].end}},u={type:"labelText",start:{...e[s+r+2][1].end},end:{...e[o-2][1].start}};return a=[["enter",l,t],["enter",c,t]],a=Tt(a,e.slice(s+1,s+r+3)),a=Tt(a,[["enter",u,t]]),a=Tt(a,Cl(t.parser.constructs.insideSpan.null,e.slice(s+r+4,o-3),t)),a=Tt(a,[["exit",u,t],e[o-2],e[o-1],["exit",c,t]]),a=Tt(a,e.slice(o+1)),a=Tt(a,[["exit",l,t]]),_t(e,s,e.length,a),e}function BN(e,t,n){const r=this;let i=r.events.length,s,o;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){s=r.events[i][1];break}return a;function a(h){return s?s._inactive?f(h):(o=r.parser.defined.includes(Ht(r.sliceSerialize({start:s.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(h),e.exit("labelMarker"),e.exit("labelEnd"),l):n(h)}function l(h){return h===40?e.attempt(RN,u,o?u:f)(h):h===91?e.attempt(ON,u,o?c:f)(h):o?u(h):f(h)}function c(h){return e.attempt(IN,u,f)(h)}function u(h){return t(h)}function f(h){return s._balanced=!0,n(h)}}function $N(e,t,n){return r;function r(f){return e.enter("resource"),e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),i}function i(f){return pe(f)?ws(e,s)(f):s(f)}function s(f){return f===41?u(f):ov(e,o,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function o(f){return pe(f)?ws(e,l)(f):u(f)}function a(f){return n(f)}function l(f){return f===34||f===39||f===40?lv(e,c,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):u(f)}function c(f){return pe(f)?ws(e,u)(f):u(f)}function u(f){return f===41?(e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),e.exit("resource"),t):n(f)}}function VN(e,t,n){const r=this;return i;function i(a){return av.call(r,e,s,o,"reference","referenceMarker","referenceString")(a)}function s(a){return r.parser.defined.includes(Ht(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(a):n(a)}function o(a){return n(a)}}function WN(e,t,n){return r;function r(s){return e.enter("reference"),e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),i}function i(s){return s===93?(e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),e.exit("reference"),t):n(s)}}const HN={name:"labelStartImage",resolveAll:Ed.resolveAll,tokenize:UN};function UN(e,t,n){const r=this;return i;function i(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),s}function s(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),o):n(a)}function o(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):t(a)}}const YN={name:"labelStartLink",resolveAll:Ed.resolveAll,tokenize:KN};function KN(e,t,n){const r=this;return i;function i(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),s}function s(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}const pc={name:"lineEnding",tokenize:XN};function XN(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),le(e,t,"linePrefix")}}const ca={name:"thematicBreak",tokenize:GN};function GN(e,t,n){let r=0,i;return s;function s(c){return e.enter("thematicBreak"),o(c)}function o(c){return i=c,a(c)}function a(c){return c===i?(e.enter("thematicBreakSequence"),l(c)):r>=3&&(c===null||q(c))?(e.exit("thematicBreak"),t(c)):n(c)}function l(c){return c===i?(e.consume(c),r++,l):(e.exit("thematicBreakSequence"),re(c)?le(e,a,"whitespace")(c):a(c))}}const ct={continuation:{tokenize:ZN},exit:t2,name:"list",tokenize:JN},QN={partial:!0,tokenize:n2},qN={partial:!0,tokenize:e2};function JN(e,t,n){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return a;function a(p){const m=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:Ku(p)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(ca,n,c)(p):c(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return n(p)}function l(p){return Ku(p)&&++o<10?(e.consume(p),l):(!r.interrupt||o<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),c(p)):n(p)}function c(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check(fo,r.interrupt?n:u,e.attempt(QN,h,f))}function u(p){return r.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return re(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function ZN(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(fo,i,s);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,le(e,t,"listItemIndent",r.containerState.size+1)(a)}function s(a){return r.containerState.furtherBlankLines||!re(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(qN,t,o)(a))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,le(e,e.attempt(ct,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function e2(e,t,n){const r=this;return le(e,i,"listItemIndent",r.containerState.size+1);function i(s){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(s):n(s)}}function t2(e){e.exit(this.containerState.type)}function n2(e,t,n){const r=this;return le(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const o=r.events[r.events.length-1];return!re(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const em={name:"setextUnderline",resolveTo:r2,tokenize:i2};function r2(e,t){let n=e.length,r,i,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const o={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",o,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=o,e.push(["exit",o,t]),e}function i2(e,t,n){const r=this;let i;return s;function s(c){let u=r.events.length,f;for(;u--;)if(r.events[u][1].type!=="lineEnding"&&r.events[u][1].type!=="linePrefix"&&r.events[u][1].type!=="content"){f=r.events[u][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),i=c,o(c)):n(c)}function o(c){return e.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===i?(e.consume(c),a):(e.exit("setextHeadingLineSequence"),re(c)?le(e,l,"lineSuffix")(c):l(c))}function l(c){return c===null||q(c)?(e.exit("setextHeadingLine"),t(c)):n(c)}}const s2={tokenize:o2};function o2(e){const t=this,n=e.attempt(fo,r,e.attempt(this.parser.constructs.flowInitial,i,le(e,e.attempt(this.parser.constructs.flow,i,e.attempt(fN,i)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const a2={resolveAll:uv()},l2=cv("string"),c2=cv("text");function cv(e){return{resolveAll:uv(e==="text"?u2:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],s=n.attempt(i,o,a);return o;function o(u){return c(u)?s(u):a(u)}function a(u){if(u===null){n.consume(u);return}return n.enter("data"),n.consume(u),l}function l(u){return c(u)?(n.exit("data"),s(u)):(n.consume(u),l)}function c(u){if(u===null)return!0;const f=i[u];let h=-1;if(f)for(;++h<f.length;){const p=f[h];if(!p.previous||p.previous.call(r,r.previous))return!0}return!1}}}function uv(e){return t;function t(n,r){let i=-1,s;for(;++i<=n.length;)s===void 0?n[i]&&n[i][1].type==="data"&&(s=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==s+2&&(n[s][1].end=n[i-1][1].end,n.splice(s+2,i-s-2),i=s+2),s=void 0);return e?e(n,r):n}}function u2(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],i=t.sliceStream(r);let s=i.length,o=-1,a=0,l;for(;s--;){const c=i[s];if(typeof c=="string"){for(o=c.length;c.charCodeAt(o-1)===32;)a++,o--;if(o)break;o=-1}else if(c===-2)l=!0,a++;else if(c!==-1){s++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(a=0),a){const c={type:n===e.length||l||a<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?o:r.start._bufferIndex+o,_index:r.start._index+s,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...c.start},r.start.offset===r.end.offset?Object.assign(r,c):(e.splice(n,0,["enter",c,t],["exit",c,t]),n+=2)}n++}return e}const f2={42:ct,43:ct,45:ct,48:ct,49:ct,50:ct,51:ct,52:ct,53:ct,54:ct,55:ct,56:ct,57:ct,62:nv},d2={91:gN},h2={[-2]:hc,[-1]:hc,32:hc},p2={35:kN,42:ca,45:[em,ca],60:NN,61:em,95:ca,96:Jp,126:Jp},m2={38:iv,92:rv},g2={[-5]:pc,[-4]:pc,[-3]:pc,33:HN,38:iv,42:Xu,60:[YC,AN],91:YN,92:[bN,rv],93:Ed,95:Xu,96:sN},x2={null:[Xu,a2]},y2={null:[42,95]},v2={null:[]},b2=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:y2,contentInitial:d2,disable:v2,document:f2,flow:p2,flowInitial:h2,insideSpan:x2,string:m2,text:g2},Symbol.toStringTag,{value:"Module"}));function w2(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const i={},s=[];let o=[],a=[];const l={attempt:E(S),check:E(w),consume:y,enter:b,exit:k,interrupt:E(w,{interrupt:!0})},c={code:null,containerState:{},defineSkip:g,events:[],now:m,parser:e,previous:null,sliceSerialize:h,sliceStream:p,write:f};let u=t.tokenize.call(c,l);return t.resolveAll&&s.push(t),c;function f(D){return o=Tt(o,D),v(),o[o.length-1]!==null?[]:(P(t,0),c.events=Cl(s,c.events,c),c.events)}function h(D,R){return S2(p(D),R)}function p(D){return k2(o,D)}function m(){const{_bufferIndex:D,_index:R,line:B,column:Q,offset:H}=r;return{_bufferIndex:D,_index:R,line:B,column:Q,offset:H}}function g(D){i[D.line]=D.column,j()}function v(){let D;for(;r._index<o.length;){const R=o[r._index];if(typeof R=="string")for(D=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===D&&r._bufferIndex<R.length;)x(R.charCodeAt(r._bufferIndex));else x(R)}}function x(D){u=u(D)}function y(D){q(D)?(r.line++,r.column=1,r.offset+=D===-3?2:1,j()):D!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),c.previous=D}function b(D,R){const B=R||{};return B.type=D,B.start=m(),c.events.push(["enter",B,c]),a.push(B),B}function k(D){const R=a.pop();return R.end=m(),c.events.push(["exit",R,c]),R}function S(D,R){P(D,R.from)}function w(D,R){R.restore()}function E(D,R){return B;function B(Q,H,X){let O,I,T,_;return Array.isArray(Q)?K(Q):"tokenize"in Q?K([Q]):$(Q);function $(Y){return Pe;function Pe(ne){const ve=ne!==null&&Y[ne],me=ne!==null&&Y.null,Xt=[...Array.isArray(ve)?ve:ve?[ve]:[],...Array.isArray(me)?me:me?[me]:[]];return K(Xt)(ne)}}function K(Y){return O=Y,I=0,Y.length===0?X:C(Y[I])}function C(Y){return Pe;function Pe(ne){return _=M(),T=Y,Y.partial||(c.currentConstruct=Y),Y.name&&c.parser.constructs.disable.null.includes(Y.name)?G():Y.tokenize.call(R?Object.assign(Object.create(c),R):c,l,A,G)(ne)}}function A(Y){return D(T,_),H}function G(Y){return _.restore(),++I<O.length?C(O[I]):X}}}function P(D,R){D.resolveAll&&!s.includes(D)&&s.push(D),D.resolve&&_t(c.events,R,c.events.length-R,D.resolve(c.events.slice(R),c)),D.resolveTo&&(c.events=D.resolveTo(c.events,c))}function M(){const D=m(),R=c.previous,B=c.currentConstruct,Q=c.events.length,H=Array.from(a);return{from:Q,restore:X};function X(){r=D,c.previous=R,c.currentConstruct=B,c.events.length=Q,a=H,j()}}function j(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function k2(e,t){const n=t.start._index,r=t.start._bufferIndex,i=t.end._index,s=t.end._bufferIndex;let o;if(n===i)o=[e[n].slice(r,s)];else{if(o=e.slice(n,i),r>-1){const a=o[0];typeof a=="string"?o[0]=a.slice(r):o.shift()}s>0&&o.push(e[i].slice(0,s))}return o}function S2(e,t){let n=-1;const r=[];let i;for(;++n<e.length;){const s=e[n];let o;if(typeof s=="string")o=s;else switch(s){case-5:{o="\r";break}case-4:{o=`
|
|
75
75
|
`;break}case-3:{o=`\r
|
|
76
76
|
`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&i)continue;o=" ";break}default:o=String.fromCharCode(s)}i=s===-2,r.push(o)}return r.join("")}function _2(e){const r={constructs:ev([b2,...(e||{}).extensions||[]]),content:i(FC),defined:[],document:i($C),flow:i(s2),lazy:{},string:i(l2),text:i(c2)};return r;function i(s){return o;function o(a){return w2(r,s,a)}}}function C2(e){for(;!sv(e););return e}const tm=/[\0\t\n\r]/g;function N2(){let e=1,t="",n=!0,r;return i;function i(s,o,a){const l=[];let c,u,f,h,p;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(o||void 0).decode(s)),f=0,t="",n&&(s.charCodeAt(0)===65279&&f++,n=void 0);f<s.length;){if(tm.lastIndex=f,c=tm.exec(s),h=c&&c.index!==void 0?c.index:s.length,p=s.charCodeAt(h),!c){t=s.slice(f);break}if(p===10&&f===h&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),f<h&&(l.push(s.slice(f,h)),e+=h-f),p){case 0:{l.push(65533),e++;break}case 9:{for(u=Math.ceil(e/4)*4,l.push(-2);e++<u;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:r=!0,e=1}f=h+1}return a&&(r&&l.push(-5),t&&l.push(t),l.push(null)),l}}const j2=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function E2(e){return e.replace(j2,P2)}function P2(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const i=n.charCodeAt(1),s=i===120||i===88;return tv(n.slice(s?2:1),s?16:10)}return jd(n)||e}const fv={}.hasOwnProperty;function M2(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),T2(n)(C2(_2(n).document().write(N2()(e,t,!0))))}function T2(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(ih),autolinkProtocol:M,autolinkEmail:M,atxHeading:s(th),blockQuote:s(me),characterEscape:M,characterReference:M,codeFenced:s(Xt),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:s(Xt,o),codeText:s(Oi,o),codeTextData:M,data:M,codeFlowValue:M,definition:s(Ub),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:s(Yb),hardBreakEscape:s(nh),hardBreakTrailing:s(nh),htmlFlow:s(rh,o),htmlFlowData:M,htmlText:s(rh,o),htmlTextData:M,image:s(Kb),label:o,link:s(ih),listItem:s(Xb),listItemValue:h,listOrdered:s(sh,f),listUnordered:s(sh),paragraph:s(Gb),reference:C,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:s(th),strong:s(Qb),thematicBreak:s(Jb)},exit:{atxHeading:l(),atxHeadingSequence:S,autolink:l(),autolinkEmail:ve,autolinkProtocol:ne,blockQuote:l(),characterEscapeValue:j,characterReferenceMarkerHexadecimal:G,characterReferenceMarkerNumeric:G,characterReferenceValue:Y,characterReference:Pe,codeFenced:l(v),codeFencedFence:g,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:j,codeIndented:l(x),codeText:l(H),codeTextData:j,data:j,definition:l(),definitionDestinationString:k,definitionLabelString:y,definitionTitleString:b,emphasis:l(),hardBreakEscape:l(R),hardBreakTrailing:l(R),htmlFlow:l(B),htmlFlowData:j,htmlText:l(Q),htmlTextData:j,image:l(O),label:T,labelText:I,lineEnding:D,link:l(X),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:A,resourceDestinationString:_,resourceTitleString:$,resource:K,setextHeading:l(P),setextHeadingLineSequence:E,setextHeadingText:w,strong:l(),thematicBreak:l()}};dv(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(L){let W={type:"root",children:[]};const ee={stack:[W],tokenStack:[],config:t,enter:a,exit:c,buffer:o,resume:u,data:n},ae=[];let he=-1;for(;++he<L.length;)if(L[he][1].type==="listOrdered"||L[he][1].type==="listUnordered")if(L[he][0]==="enter")ae.push(he);else{const Ot=ae.pop();he=i(L,Ot,he)}for(he=-1;++he<L.length;){const Ot=t[L[he][0]];fv.call(Ot,L[he][1].type)&&Ot[L[he][1].type].call(Object.assign({sliceSerialize:L[he][2].sliceSerialize},ee),L[he][1])}if(ee.tokenStack.length>0){const Ot=ee.tokenStack[ee.tokenStack.length-1];(Ot[1]||nm).call(ee,void 0,Ot[0])}for(W.position={start:Mn(L.length>0?L[0][1].start:{line:1,column:1,offset:0}),end:Mn(L.length>0?L[L.length-2][1].end:{line:1,column:1,offset:0})},he=-1;++he<t.transforms.length;)W=t.transforms[he](W)||W;return W}function i(L,W,ee){let ae=W-1,he=-1,Ot=!1,ur,cn,Ii,zi;for(;++ae<=ee;){const xt=L[ae];switch(xt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{xt[0]==="enter"?he++:he--,zi=void 0;break}case"lineEndingBlank":{xt[0]==="enter"&&(ur&&!zi&&!he&&!Ii&&(Ii=ae),zi=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:zi=void 0}if(!he&&xt[0]==="enter"&&xt[1].type==="listItemPrefix"||he===-1&&xt[0]==="exit"&&(xt[1].type==="listUnordered"||xt[1].type==="listOrdered")){if(ur){let Wr=ae;for(cn=void 0;Wr--;){const un=L[Wr];if(un[1].type==="lineEnding"||un[1].type==="lineEndingBlank"){if(un[0]==="exit")continue;cn&&(L[cn][1].type="lineEndingBlank",Ot=!0),un[1].type="lineEnding",cn=Wr}else if(!(un[1].type==="linePrefix"||un[1].type==="blockQuotePrefix"||un[1].type==="blockQuotePrefixWhitespace"||un[1].type==="blockQuoteMarker"||un[1].type==="listItemIndent"))break}Ii&&(!cn||Ii<cn)&&(ur._spread=!0),ur.end=Object.assign({},cn?L[cn][1].start:xt[1].end),L.splice(cn||ae,0,["exit",ur,xt[2]]),ae++,ee++}if(xt[1].type==="listItemPrefix"){const Wr={type:"listItem",_spread:!1,start:Object.assign({},xt[1].start),end:void 0};ur=Wr,L.splice(ae,0,["enter",Wr,xt[2]]),ae++,ee++,Ii=void 0,zi=!0}}}return L[W][1]._spread=Ot,ee}function s(L,W){return ee;function ee(ae){a.call(this,L(ae),ae),W&&W.call(this,ae)}}function o(){this.stack.push({type:"fragment",children:[]})}function a(L,W,ee){this.stack[this.stack.length-1].children.push(L),this.stack.push(L),this.tokenStack.push([W,ee||void 0]),L.position={start:Mn(W.start),end:void 0}}function l(L){return W;function W(ee){L&&L.call(this,ee),c.call(this,ee)}}function c(L,W){const ee=this.stack.pop(),ae=this.tokenStack.pop();if(ae)ae[0].type!==L.type&&(W?W.call(this,L,ae[0]):(ae[1]||nm).call(this,L,ae[0]));else throw new Error("Cannot close `"+L.type+"` ("+bs({start:L.start,end:L.end})+"): it’s not open");ee.position.end=Mn(L.end)}function u(){return Nd(this.stack.pop())}function f(){this.data.expectingFirstListItemValue=!0}function h(L){if(this.data.expectingFirstListItemValue){const W=this.stack[this.stack.length-2];W.start=Number.parseInt(this.sliceSerialize(L),10),this.data.expectingFirstListItemValue=void 0}}function p(){const L=this.resume(),W=this.stack[this.stack.length-1];W.lang=L}function m(){const L=this.resume(),W=this.stack[this.stack.length-1];W.meta=L}function g(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function v(){const L=this.resume(),W=this.stack[this.stack.length-1];W.value=L.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function x(){const L=this.resume(),W=this.stack[this.stack.length-1];W.value=L.replace(/(\r?\n|\r)$/g,"")}function y(L){const W=this.resume(),ee=this.stack[this.stack.length-1];ee.label=W,ee.identifier=Ht(this.sliceSerialize(L)).toLowerCase()}function b(){const L=this.resume(),W=this.stack[this.stack.length-1];W.title=L}function k(){const L=this.resume(),W=this.stack[this.stack.length-1];W.url=L}function S(L){const W=this.stack[this.stack.length-1];if(!W.depth){const ee=this.sliceSerialize(L).length;W.depth=ee}}function w(){this.data.setextHeadingSlurpLineEnding=!0}function E(L){const W=this.stack[this.stack.length-1];W.depth=this.sliceSerialize(L).codePointAt(0)===61?1:2}function P(){this.data.setextHeadingSlurpLineEnding=void 0}function M(L){const ee=this.stack[this.stack.length-1].children;let ae=ee[ee.length-1];(!ae||ae.type!=="text")&&(ae=qb(),ae.position={start:Mn(L.start),end:void 0},ee.push(ae)),this.stack.push(ae)}function j(L){const W=this.stack.pop();W.value+=this.sliceSerialize(L),W.position.end=Mn(L.end)}function D(L){const W=this.stack[this.stack.length-1];if(this.data.atHardBreak){const ee=W.children[W.children.length-1];ee.position.end=Mn(L.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(W.type)&&(M.call(this,L),j.call(this,L))}function R(){this.data.atHardBreak=!0}function B(){const L=this.resume(),W=this.stack[this.stack.length-1];W.value=L}function Q(){const L=this.resume(),W=this.stack[this.stack.length-1];W.value=L}function H(){const L=this.resume(),W=this.stack[this.stack.length-1];W.value=L}function X(){const L=this.stack[this.stack.length-1];if(this.data.inReference){const W=this.data.referenceType||"shortcut";L.type+="Reference",L.referenceType=W,delete L.url,delete L.title}else delete L.identifier,delete L.label;this.data.referenceType=void 0}function O(){const L=this.stack[this.stack.length-1];if(this.data.inReference){const W=this.data.referenceType||"shortcut";L.type+="Reference",L.referenceType=W,delete L.url,delete L.title}else delete L.identifier,delete L.label;this.data.referenceType=void 0}function I(L){const W=this.sliceSerialize(L),ee=this.stack[this.stack.length-2];ee.label=E2(W),ee.identifier=Ht(W).toLowerCase()}function T(){const L=this.stack[this.stack.length-1],W=this.resume(),ee=this.stack[this.stack.length-1];if(this.data.inReference=!0,ee.type==="link"){const ae=L.children;ee.children=ae}else ee.alt=W}function _(){const L=this.resume(),W=this.stack[this.stack.length-1];W.url=L}function $(){const L=this.resume(),W=this.stack[this.stack.length-1];W.title=L}function K(){this.data.inReference=void 0}function C(){this.data.referenceType="collapsed"}function A(L){const W=this.resume(),ee=this.stack[this.stack.length-1];ee.label=W,ee.identifier=Ht(this.sliceSerialize(L)).toLowerCase(),this.data.referenceType="full"}function G(L){this.data.characterReferenceType=L.type}function Y(L){const W=this.sliceSerialize(L),ee=this.data.characterReferenceType;let ae;ee?(ae=tv(W,ee==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):ae=jd(W);const he=this.stack[this.stack.length-1];he.value+=ae}function Pe(L){const W=this.stack.pop();W.position.end=Mn(L.end)}function ne(L){j.call(this,L);const W=this.stack[this.stack.length-1];W.url=this.sliceSerialize(L)}function ve(L){j.call(this,L);const W=this.stack[this.stack.length-1];W.url="mailto:"+this.sliceSerialize(L)}function me(){return{type:"blockquote",children:[]}}function Xt(){return{type:"code",lang:null,meta:null,value:""}}function Oi(){return{type:"inlineCode",value:""}}function Ub(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Yb(){return{type:"emphasis",children:[]}}function th(){return{type:"heading",depth:0,children:[]}}function nh(){return{type:"break"}}function rh(){return{type:"html",value:""}}function Kb(){return{type:"image",title:null,url:"",alt:null}}function ih(){return{type:"link",title:null,url:"",children:[]}}function sh(L){return{type:"list",ordered:L.type==="listOrdered",start:null,spread:L._spread,children:[]}}function Xb(L){return{type:"listItem",spread:L._spread,checked:null,children:[]}}function Gb(){return{type:"paragraph",children:[]}}function Qb(){return{type:"strong",children:[]}}function qb(){return{type:"text",value:""}}function Jb(){return{type:"thematicBreak"}}}function Mn(e){return{line:e.line,column:e.column,offset:e.offset}}function dv(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?dv(e,r):D2(e,r)}}function D2(e,t){let n;for(n in t)if(fv.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function nm(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+bs({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+bs({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+bs({start:t.start,end:t.end})+") is still open")}function A2(e){const t=this;t.parser=n;function n(r){return M2(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function L2(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function R2(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
package/dist/frontend/index.html
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
} catch (_) { /* SSR / blocked storage — ignore */ }
|
|
28
28
|
})();
|
|
29
29
|
</script>
|
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-BgQzNzfO.js"></script>
|
|
31
31
|
<link rel="stylesheet" crossorigin href="/assets/index-BmQN0cOF.css">
|
|
32
32
|
</head>
|
|
33
33
|
<body class="bg-background text-on-surface">
|