@waniwani/sdk 0.16.0 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import{a as rn,b as on,c as nn,d as sn,e as ln,f as fa,g as un,h as dn,i as cn,j as fn,k as br,l as pn,m as ht,n as gt,o as pa,p as wt,u as Pt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Zm,useCallback as Go,useEffect as eh,useImperativeHandle as th,useRef as Cl,useState as Sl}from"react";import{forwardRef as nu,createElement as su}from"react";var ma=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var mn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var hn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var kr=e=>{let t=hn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as ou,createElement as xn}from"react";var gn={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var wn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Ln=ou(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>xn("svg",{ref:l,...gn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ma("lucide",o),...!n&&!wn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>xn(u,c)),...Array.isArray(n)?n:[n]]));var z=(e,t)=>{let a=nu(({className:r,...o},n)=>su(Ln,{ref:n,iconNode:t,className:ma(`lucide-${mn(kr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=kr(e),a};var iu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],at=z("arrow-down",iu);var lu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],At=z("arrow-up",lu);var uu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Rt=z("check",uu);var du=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],je=z("chevron-down",du);var cu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Mt=z("chevron-right",cu);var fu=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Ft=z("clipboard-copy",fu);var pu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],We=z("clock",pu);var mu=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],Bt=z("file",mu);var hu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Dt=z("globe",hu);var gu=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Et=z("loader",gu);var wu=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],_t=z("paperclip",wu);var xu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Nt=z("square",xu);var Lu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],rt=z("wrench",Lu);var Iu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=z("x",Iu);var Cu=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Ot=z("zap",Cu);import{useCallback as Ou}from"react";import{useCallback as $e,useMemo as Su,useRef as yu,useState as Tr}from"react";var bu={damping:.7,stiffness:.05,mass:1.25},ku=70,Tu=1e3/60,vu=350,ha=!1;globalThis.document?.addEventListener("mousedown",()=>{ha=!0});globalThis.document?.addEventListener("mouseup",()=>{ha=!1});globalThis.document?.addEventListener("click",()=>{ha=!1});var Cn=(e={})=>{let[t,a]=Tr(!1),[r,o]=Tr(e.initial!==!1),[n,s]=Tr(!1),i=yu(null);i.current=e;let l=$e(()=>{if(!ha)return!1;let w=window.getSelection();if(!w||!w.rangeCount)return!1;let h=w.getRangeAt(0);return h.commonAncestorContainer.contains(g.current)||g.current?.contains(h.commonAncestorContainer)},[]),u=$e(w=>{d.isAtBottom=w,o(w)},[]),c=$e(w=>{d.escapedFromLock=w,a(w)},[]),d=Su(()=>{let w;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return g.current?.scrollTop??0},set scrollTop(h){g.current&&(g.current.scrollTop=h,d.ignoreScrollToTop=g.current.scrollTop)},get targetScrollTop(){return!g.current||!L.current?0:g.current.scrollHeight-1-g.current.clientHeight},get calculatedTargetScrollTop(){if(!g.current||!L.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(w?.targetScrollTop===h)return w.calculatedScrollTop;let x=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:g.current,contentElement:L.current}),h),0);return w={targetScrollTop:h,calculatedScrollTop:x},requestAnimationFrame(()=>{w=void 0}),x},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=ku}}},[]),f=$e((w={})=>{typeof w=="string"&&(w={animation:w}),w.preserveScrollPosition||u(!0);let h=Date.now()+(Number(w.wait)||0),x=Pr(i.current,w.animation),{ignoreEscapes:S=!1}=w,b,k=d.calculatedTargetScrollTop;w.duration instanceof Promise?w.duration.finally(()=>{b=Date.now()}):b=h+(w.duration??0);let v=async()=>{let D=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:F}=d,O=performance.now(),y=(O-(d.lastTick??O))/Tu;if(d.animation||(d.animation={behavior:x,promise:D,ignoreEscapes:S}),d.animation.behavior===x&&(d.lastTick=O),l()||h>Date.now())return v();if(F<Math.min(k,d.calculatedTargetScrollTop)){if(d.animation?.behavior===x){if(x==="instant")return d.scrollTop=d.calculatedTargetScrollTop,v();d.velocity=(x.damping*d.velocity+x.stiffness*d.scrollDifference)/x.mass,d.accumulated+=d.velocity*y,d.scrollTop+=d.accumulated,d.scrollTop!==F&&(d.accumulated=0)}return v()}return b>Date.now()?(k=d.calculatedTargetScrollTop,v()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Pr(i.current,i.current.resize),ignoreEscapes:S,duration:Math.max(0,b-Date.now())||void 0}):d.isAtBottom)});return D.then(F=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),F))};return w.wait!==!0&&(d.animation=void 0),d.animation?.behavior===x?d.animation.promise:v()},[u,l,d]),p=$e(()=>{c(!0),u(!1)},[c,u]),m=$e(({target:w})=>{if(w!==g.current)return;let{scrollTop:h,ignoreScrollToTop:x}=d,{lastScrollTop:S=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,x&&x>h&&(S=x),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===x)return;if(l()){c(!0),u(!1);return}let b=h>S,k=h<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}k&&(c(!0),u(!1)),b&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=$e(({target:w,deltaY:h})=>{let x=w;for(;!["scroll","auto"].includes(getComputedStyle(x).overflow);){if(!x.parentElement)return;x=x.parentElement}x===g.current&&h<0&&g.current.scrollHeight>g.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),g=In(w=>{g.current?.removeEventListener("scroll",m),g.current?.removeEventListener("wheel",I),w?.addEventListener("scroll",m,{passive:!0}),w?.addEventListener("wheel",I,{passive:!0})},[]),L=In(w=>{if(d.resizeObserver?.disconnect(),!w)return;let h;d.resizeObserver=new ResizeObserver(([x])=>{let{height:S}=x.contentRect,b=S-(h??S);if(d.resizeDifference=b,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),b>=0){let k=Pr(i.current,h?i.current.resize:i.current.initial);f({animation:k,wait:!0,preserveScrollPosition:!0,duration:k==="instant"?void 0:vu})}else d.isNearBottom&&(c(!1),u(!0));h=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===b&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(w)},[]);return{contentRef:L,scrollRef:g,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function In(e,t){let a=$e(r=>(a.current=r,e(r)),t);return a}var vr=new Map;function Pr(...e){let t={...bu},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return vr.has(r)||vr.set(r,Object.freeze(t)),a?"instant":vr.get(r)}import*as nt from"react";import{createContext as Pu,useContext as Au,useEffect as Ru,useImperativeHandle as Mu,useLayoutEffect as Fu,useMemo as Bu,useRef as Du}from"react";var Sn=Pu(null),Eu=typeof window<"u"?Fu:Ru;function Ut({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Du(null),d=nt.useCallback((S,b)=>(x?.targetScrollTop??i)?.(S,b)??S,[i]),f=Cn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:I,stopScroll:g,isAtBottom:L,escapedFromLock:w,state:h}=e??f,x=Bu(()=>({scrollToBottom:I,stopScroll:g,scrollRef:p,isAtBottom:L,escapedFromLock:w,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(S){c.current=S}}),[I,L,m,p,g,w,h]);return Mu(l,()=>x,[x]),Eu(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),nt.createElement(Sn.Provider,{value:x},nt.createElement("div",{...u},typeof t=="function"?t(x):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Ar();return nt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},nt.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Ut||(Ut={}));function Ar(){let e=Au(Sn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var _u=on({prefix:"ww"});function T(...e){return _u(rn(e))}import{jsx as Nu}from"react/jsx-runtime";var Me=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Nu("button",{type:r,className:T("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{jsx as ga}from"react/jsx-runtime";var yn=({className:e,...t})=>ga(Ut,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),bn=({className:e,...t})=>ga(Ut.Content,{className:T("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),kn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Ar(),o=Ou(()=>{r()},[r]);return!a&&ga(Me,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:ga(at,{className:"ww:size-4"})})};import vn from"crypto";var Tn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Uu=128,st,xt,Hu=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*Uu),vn.randomFillSync(st),xt=0):xt+e>st.length&&(vn.randomFillSync(st),xt=0),xt+=e};var Ht=(e=21)=>{Hu(e|=0);let t="";for(let a=xt-e;a<xt;a++)t+=Tn[st[a]&63];return t};import{createContext as Xu,useCallback as Ve,useContext as Ku,useEffect as Dr,useMemo as Qu,useRef as Er,useState as Bn}from"react";import{createContext as qu,useContext as Gu,useEffect as Wu,useMemo as Vu,useState as Mn}from"react";var Pn=["en","fr","es"];function Lt(e){return Pn.includes(e)}function Rr(e){if(e&&Lt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Lt(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(Lt(r))return r;let o=r.split("-")[0];if(o&&Lt(o))return o}return"en"}var wa={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var An={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Rn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Mr={en:wa,fr:Rn,es:An};import{jsx as $u}from"react/jsx-runtime";var Fn=qu(null);function zu(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function Fr({children:e,locale:t,messages:a}){let r=!!(t&&ju(t)),o=r?t:"en",[n,s]=Mn(o),[i,l]=Mn(r);Wu(()=>{s(Rr(t)),l(!0)},[t]);let u=Vu(()=>{let c=Mr[n]??Mr["en"];return{locale:n,t:zu(c,a),ready:i}},[n,a,i]);return $u(Fn.Provider,{value:u,children:e})}function ju(e){return e==="en"||e==="fr"||e==="es"}function q(){let e=Gu(Fn);return e||{locale:"en",t:wa,ready:!0}}function Br(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as Ee,jsxs as _n}from"react/jsx-runtime";var Ju=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},Dn=Xu(null),En=()=>{let e=Ku(Dn);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},xa=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=q(),c=Er(null),d=Er(null),[f,p]=Bn([]),m=Er(f);Dr(()=>{m.current=f},[f]);let I=Ve(()=>{c.current?.click()},[]),g=Ve(b=>{let k=[...b];if(k.length===0)return;let v=F=>n?F.size<=n:!0,D=k.filter(v);p(F=>{let O=typeof o=="number"?Math.max(0,o-F.length):void 0,y=typeof O=="number"?D.slice(0,O):D;return[...F,...y.map(A=>({filename:A.name,id:Ht(),mediaType:A.type,type:"file",url:URL.createObjectURL(A)}))]})},[o,n]),L=Ve(b=>{p(k=>{let v=k.find(D=>D.id===b);return v?.url&&URL.revokeObjectURL(v.url),k.filter(D=>D.id!==b)})},[]),w=Ve(()=>{p(b=>{for(let k of b)k.url&&URL.revokeObjectURL(k.url);return[]})},[]);Dr(()=>()=>{for(let b of m.current)b.url&&URL.revokeObjectURL(b.url)},[]);let h=Ve(b=>{b.currentTarget.files&&g(b.currentTarget.files),b.currentTarget.value=""},[g]);Dr(()=>{if(!r)return;let b=v=>{v.dataTransfer?.types?.includes("Files")&&v.preventDefault()},k=v=>{v.dataTransfer?.types?.includes("Files")&&v.preventDefault(),v.dataTransfer?.files&&v.dataTransfer.files.length>0&&g(v.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",k),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",k)}},[g,r]);let x=Ve(async b=>{b.preventDefault();let k=b.currentTarget,D=new FormData(k).get("message")||"";k.reset();let F=await Promise.all(f.map(async({id:O,...y})=>{if(y.url?.startsWith("blob:")){let A=await Ju(y.url);return{...y,url:A??y.url}}return y}));try{let O=s({files:F,text:D},b);O instanceof Promise&&await O,w()}catch{}},[f,s,w]),S=Qu(()=>({add:g,clear:w,files:f,openFileDialog:I,remove:L}),[f,g,L,w,I]);return _n(Dn.Provider,{value:S,children:[Ee("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Ee("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:x,ref:d,...l,children:i})]})};var La=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=q(),s=En(),[i,l]=Bn(!1),u=r??n.promptInput.placeholder,c=Ve(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=Ve(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let I of p)if(I.kind==="file"){let g=I.getAsFile();g&&m.push(g)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Ee("textarea",{className:T("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},Ia=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=q(),i=t==="submitted"||t==="streaming",l=Ee(At,{className:"ww:size-4"});t==="submitted"?l=Ee(Et,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Ee(Nt,{className:"ww:size-4"}));let u=Ve(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Ee(Me,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},Ca=({className:e,children:t,...a})=>{let{t:r}=q(),o=En();return o.files.length>0?_n(Me,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Ee("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:o.files.length}),Ee(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Ee(Me,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Ee(_t,{className:"ww:size-4"})})};import{memo as Yu,useCallback as Zu}from"react";import{jsx as Ct}from"react/jsx-runtime";var Nn=({className:e,...t})=>Ct("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),On=({className:e,...t})=>Ct("li",{className:T("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),Un=({className:e,...t})=>Ct("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Hn=({className:e,...t})=>Ct("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),qn=({className:e,...t})=>Ct("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Gn=({className:e,...t})=>Ct(Me,{className:T("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Xe,jsxs as Vn}from"react/jsx-runtime";var Wn=Yu(({message:e,onRemove:t})=>{let{t:a}=q(),r=Zu(()=>t(e.id),[t,e.id]);return Vn(On,{children:[Xe(Un,{}),Xe(Hn,{children:e.text||a.chatQueue.attachmentFallback}),Xe(qn,{children:Xe(Gn,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Xe(ot,{className:"ww:size-3"})})})]})});Wn.displayName="ChatQueueItem";function Sa({queuedMessages:e,onRemove:t,className:a}){let{t:r}=q();return e.length===0?null:Vn(Nn,{className:T("ww:border-t ww:border-border",a),children:[Xe("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Xe("ul",{children:e.map(o=>Xe(Wn,{message:o,onRemove:t},o.id))})]})}import{useState as zn}from"react";import{jsx as ed}from"react/jsx-runtime";function jn({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=q(),[o,n]=zn(!1),[s,i]=zn(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return ed("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as qt,jsxs as ad}from"react/jsx-runtime";var $n=({files:e,className:t,...a})=>e.length===0?null:qt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>qt(td,{file:r},o))});function td({file:e}){let{t}=q();return e.mediaType?.startsWith("image/")&&e.url?qt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):ad("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[qt(Bt,{className:"ww:size-3 ww:shrink-0"}),qt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as md,useCallback as hd,useContext as gd,useEffect as wd,useMemo as xd,useState as Ur}from"react";import{createContext as sd,memo as Or,useCallback as id,useContext as ld,useEffect as _r,useMemo as ud,useRef as Xn,useState as Nr}from"react";import{memo as rd}from"react";import{jsx as nd}from"react/jsx-runtime";var od=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return nd(e,{"data-waniwani-shimmer":"",className:T("ww:inline-block",t),style:s,...n,children:o})},_e=rd(od);_e.displayName="Shimmer";import{Fragment as fd,jsx as Ne,jsxs as pd}from"react/jsx-runtime";var Kn=sd(null);function Qn(){let e=ld(Kn);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var dd=1e3,cd=1e3,Gt=Or(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=Nr(l),p=c?a:d,m=id(k=>{c||f(k),o?.(k)},[c,o]),[I,g]=Nr(void 0),L=n??I,w=Xn(t),[h,x]=Nr(!1),S=Xn(null);_r(()=>{t?(w.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(g(Math.ceil((Date.now()-S.current)/cd)),S.current=null)},[t]),_r(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),_r(()=>{if(w.current&&!t&&p&&!h){let k=setTimeout(()=>{m(!1),x(!0)},dd);return()=>clearTimeout(k)}},[t,p,h,m]);let b=ud(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:L}),[t,p,m,L]);return Ne(Kn.Provider,{value:b,children:Ne("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Gt.displayName="Reasoning";var Wt=Or(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=q(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=Qn(),f=a??((p,m)=>p||m===0?Ne(_e,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ne("span",{children:s.reasoning.thoughtBrief}):Ne("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ne("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??pd(fd,{children:[!r&&Ne(We,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Wt.displayName="ReasoningTrigger";var Vt=Or(({className:e,children:t,...a})=>{let{isOpen:r}=Qn();return Ne("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ne("div",{className:T("ww:text-sm ww:text-muted-foreground",e),...a,children:Ne(Pt,{children:t})})})})});Vt.displayName="ReasoningContent";import{jsx as J,jsxs as Ke}from"react/jsx-runtime";var Ld=500,Jn=md(null);function Yn(){let e=gd(Jn);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Zn({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Ur(o),d=l?r:u,f=hd(g=>{l||c(g),n?.(g)},[l,n]),[p,m]=Ur(!t);wd(()=>{if(t){m(!1);return}let g=setTimeout(()=>m(!0),Ld);return()=>clearTimeout(g)},[t]);let I=xd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return J(Jn.Provider,{value:I,children:J("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function es({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Yn();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("div",{className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:Ke("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&J(c,{className:T("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),J("span",{className:"ww:truncate",children:i?J(_e,{duration:2.6,children:d}):d})]},d)})}return Ke("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[J("span",{className:"ww:truncate",children:r??t}),J(je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function ts({className:e,children:t,...a}){let{open:r}=Yn();return J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:T("ww:flex ww:flex-col",e),...a,children:t})})})}function as({icon:e,isLast:t,running:a,error:r}){return Ke("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[J("span",{className:"ww:flex ww:h-5 ww:items-center",children:J(e,{className:T("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&J("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Hr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=Ur(!1),f=a??"",p=i?J(_e,{duration:1.6,children:f}):J("span",{className:"ww:truncate",children:f});return Ke("div",{className:T("ww:flex ww:gap-2",e),...s,children:[J(as,{icon:t,isLast:o,running:i,error:l}),Ke("div",{className:T("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?Ke("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,J(je,{className:T("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):J("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function rs({isStreaming:e=!1,isLast:t=!1,children:a}){return Ke("div",{className:"ww:flex ww:gap-2",children:[J(as,{icon:We,isLast:t,running:e}),J("div",{className:T("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Ke(Gt,{isStreaming:e,className:"ww:mb-0",children:[J(Wt,{hideIcon:!0}),J(Vt,{children:a})]})})]})}var ge={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var Ue={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Te={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function os(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function ns(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ss(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function is(e){return os(e)?"ambiguous":ns(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":ss(e)?"wide":"neutral"}function Id(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ls(e){return Id(e),is(e)}var Cd=Object.defineProperty,Sd=(e,t,a)=>t in e?Cd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,yd=(e,t,a)=>Sd(e,typeof t!="symbol"?t+"":t,a);function bd(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function kd(e){if(!e||e<4352)return!1;switch(ls(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!bd(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function Td(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function vd(e){return e!==null&&e>=65024&&e<=65038}var Pd=us(/\p{P}|\p{S}/u),Ad=us(/\s/);function us(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var ve;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(ve||(ve={}));function Qe(e){if(e===ge.eof||pn(e)||Ad(e))return Ue.characterGroupWhitespace;let t=0;if(e>=4352){if(vd(e))return ve.nonEmojiGeneralUseVS;switch(kd(e)){case null:return ve.ivs;case!0:t|=ve.cjk;break}}return Pd(e)&&(t|=Ue.characterGroupPunctuation),t}function ya(e,t,a){if(!Md(e))return e;let r=t(),o=Qe(r);return!r||it(o)?e:Td(r,a)?ve.cjkPunctuation:Rd(o)}function Rd(e){return e&~ve.ivs}function it(e){return!!(e&Ue.characterGroupWhitespace)}function St(e){return(e&ve.cjkPunctuation)===Ue.characterGroupPunctuation}function zt(e){return!!(e&ve.cjk)}function ds(e){return e===ve.ivs}function cs(e){return!!(e&ve.cjkOrIvs)}function Md(e){return e===ve.nonEmojiGeneralUseVS}function qr(e){return!!(e&ve.spaceOrPunctuation)}function ba(e){return!!(e&&e>=55296&&e<=56319)}function ka(e){return!!(e&&e>=56320&&e<=57343)}function Ta(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function Fd(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var va=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,yd(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Fd(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Pa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Gr={name:"attention",resolveAll:Bd,tokenize:Dd};function Bd(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;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[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};fs(d,-l),fs(f,l),s={type:l>1?Te.strongSequence:Te.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Te.strongSequence:Te.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Te.strongText:Te.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Te.strong:Te.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=gt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=gt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=gt(u,pa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=gt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=gt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,ht(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Dd(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=ka(n)?Ta(n,r(),o):n,i=Qe(s),l=new va(s,r(),o),u=ya(i,l.value.bind(l),s),c;return d;function d(p){return p===ge.asterisk||ge.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),I=ba(p)?Pa(p,r(),o):p,g=Qe(I);let L=St(u),w=L||it(u),h=St(g),x=h||it(g),S=cs(u),b=!x||h&&(w||S)||a.includes(p),k=!w||L&&(x||zt(g))||a.includes(s);return m._open=!!(c===ge.asterisk?b:b&&(qr(u)||!k)),m._close=!!(c===ge.asterisk?k:k&&(qr(g)||!b)),t(p)}}function fs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function ps(){return{text:{[ge.asterisk]:Gr,[ge.underscore]:Gr},insideSpan:{null:[Gr]}}}function ms(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(ps())}function hs(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[ge.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[ge.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&ht(f,f.length,0,pa(p,s.slice(u+1,l),i)),ht(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),ht(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Te.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=ka(d)?Ta(d,u(),c):d,p=Qe(f),m=new va(f,u(),c),I=ya(p,m.value.bind(m),f),g=this.events,L=0;return w;function w(x){return ge.tilde,f===ge.tilde&&g[g.length-1][1].type!==Te.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),h(x))}function h(x){let S=Qe(f);if(x===ge.tilde)return L>1?l(x):(s.consume(x),L++,h);if(L<2&&!a)return l(x);let b=s.exit("strikethroughSequenceTemporary"),k=ba(x)?Pa(x,u(),c):x,v=Qe(k),F=St(I)||it(I),y=St(v)||it(v),A=zt(I)||ds(S);return b._open=!y||v===Ue.attentionSideAfter&&(F||A),b._close=!F||S===Ue.attentionSideAfter&&(y||zt(v)),i(x)}}}function gs(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(hs(e))}var Ed=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),_d=/^(https?:\/\/|mailto:|www\.)/i,Nd=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Od=e=>{let t=0;for(let a of e){if(Ed.has(a))return t;t+=a.length}return null},Ud=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Hd=e=>({type:"text",value:e}),qd=()=>e=>{nn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Nd(t)||!_d.test(t.url))return;let o=Od(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Ud(n,t),l=Hd(s);return r.children.splice(a,1,i,l),a+1})};function Gd(){let e=[ms],t=[qd,gs],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Wr=Gd();var re=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Wd(e){return Zr(e)}function Zr(e){return Array.isArray(e)?Vd(e):e instanceof RegExp?e:typeof e=="object"?zd(e):e}function Vd(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Zr(e[a]);return t}function zd(e){let t={};for(let a in e)t[a]=Zr(e[a]);return t}function ks(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Ts(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ts(e.substring(0,e.length-1)):e.substr(~t+1)}var Vr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Aa=class{static hasCaptures(e){return e===null?!1:(Vr.lastIndex=0,Vr.test(e))}static replaceCaptures(e,t,a){return e.replace(Vr,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function vs(e,t){return e<t?-1:e>t?1:0}function Ps(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=vs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function ws(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function As(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Rs=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},Xt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Xd(e),t)}static createFromParsedTheme(e,t){return Qd(e,t)}_cachedMatchRoot=new Rs(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>jd(e.parent,o.parentScopes));return r?new Ms(r.fontStyle,r.foreground,r.background):null}},zr=class Ra{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ra(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ra(a,t[r]);return a}push(t){return new Ra(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function jd(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!$d(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function $d(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ms=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Xd(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&ws(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&ws(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),I=m[m.length-1],g=null;m.length>1&&(g=m.slice(0,m.length-1),g.reverse()),a[r++]=new Kd(I,g,o,l,u,c)}}return a}var Kd=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},we=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(we||{});function Qd(e,t){e.sort((l,u)=>{let c=vs(l.scope,u.scope);return c!==0||(c=Ps(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new Jd(t),s=new Ms(a,n.getId(r),n.getId(o)),i=new Zd(new $r(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new Xt(n,s,i)}var Jd=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Yd=Object.freeze([]),$r=class Fs{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Yd,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Fs(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Zd=class Xr{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Xr._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Xr(this._mainRule.clone(),$r.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Ps(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new $r(t,a,r,o,n))}},ut=class Fe{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Fe.getLanguageId(t),r=Fe.getTokenType(t),o=Fe.getFontStyle(t),n=Fe.getForeground(t),s=Fe.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=Fe.getLanguageId(t),u=Fe.getTokenType(t),c=Fe.containsBalancedBrackets(t)?1:0,d=Fe.getFontStyle(t),f=Fe.getForeground(t),p=Fe.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function Fa(e,t){let a=[],r=ec(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(xs(o)){let l=[];do l.push(o),o=r.next();while(xs(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function xs(e){return!!e&&!!e.match(/[\w\.:]+/)}function ec(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function Bs(e){typeof e.dispose=="function"&&e.dispose()}var Kt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},tc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ac=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},rc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Kt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ac;for(let a of e)oc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Kt){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function oc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof Kt?Ma({baseGrammar:n,selfGrammar:o},r):Kr(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new Kt(i))}function Kr(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ba([r],t,a)}}function Ma(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ba(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ba(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ba(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?ks({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ba(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Ds(n);switch(s.kind){case 0:Ma({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ma(t,a);break;case 2:Kr(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?Kr(s.ruleName,l,a):Ma(l,a)}else s.kind===4?a.add(new tc(s.scopeName,s.ruleName)):a.add(new Kt(s.scopeName));break}}}var nc=class{kind=0},sc=class{kind=1},ic=class{constructor(e){this.ruleName=e}kind=2},lc=class{constructor(e){this.scopeName=e}kind=3},uc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ds(e){if(e==="$base")return new nc;if(e==="$self")return new sc;let t=e.indexOf("#");if(t===-1)return new lc(e);if(t===0)return new ic(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new uc(a,r)}}var dc=/\\(\d+)/,Ls=/\\(\d+)/g;var cc=-1,Es=-2;var Yt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Aa.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Aa.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Ts(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Aa.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Aa.replaceCaptures(this._contentName,e,t)}},fc=class extends Yt{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},pc=class extends Yt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Qt(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Jt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Is=class extends Yt{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Jt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Qr=class extends Yt{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new Qt(o,this.id),this.beginCaptures=n,this._end=new Qt(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Jt;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Da=class extends Yt{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new Qt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Qt(s,Es),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Jt;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Jt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},_s=class Se{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new fc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new pc(t.$vscodeTextmateLocation,t.id,t.name,t.match,Se._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=ks({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Is(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Se._compilePatterns(n,a,r))}return t.while?new Da(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Se._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,Se._compileCaptures(t.whileCaptures||t.captures,a,r),Se._compilePatterns(t.patterns,a,r)):new Qr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Se._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,Se._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,Se._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=Se.getCompiledRuleId(t[s],a,r)),o[i]=Se.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=Ds(i.include);switch(u.kind){case 0:case 1:l=Se.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=Se.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=Se.getCompiledRuleId(m,a,p.repository))}else l=Se.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=Se.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Is||u instanceof Qr||u instanceof Da)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Qt=class Ns{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=dc.test(this.source):this.hasBackReferences=!1}clone(){return new Ns(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=a.map(o=>t.substring(o.start,o.end));return Ls.lastIndex=0,this.source.replace(Ls,(o,n)=>As(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Jt=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new Cs(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let r=this._items.map(o=>o.resolveAnchors(t,a));return new Cs(e,r,this._items.map(o=>o.ruleId))}},Cs=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
3
- `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},jr=class{constructor(e,t){this.languageId=e,this.tokenType=t}},mc=class Jr{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new jr(t,8),this._embeddedLanguagesMatcher=new hc(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Jr._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new jr(0,0);_getBasicScopeAttributes=new Rs(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new jr(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Jr.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},hc=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,r])=>As(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},_L={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Os=!1,Ss=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Us(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=gc(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Ss(o,!0);f()}return new Ss(o,!1);function f(){let p=wc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,I=p.matchedRuleId,g=m&&m.length>0?m[0].end>r:!1;if(I===cc){let L=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),jt(e,t,a,o,n,L.endCaptures,m),n.produce(o,m[0].end);let w=o;if(o=o.parent,c=w.getAnchorPos(),!g&&w.getEnterPos()===r){o=w,n.produce(o,l),u=!0;return}}else{let L=e.getRule(I);n.produce(o,m[0].start);let w=o,h=L.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(I,r,c,m[0].end===l,null,x,x),L instanceof Qr){let S=L;jt(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let b=S.getContentName(t.content,m),k=x.pushAttributed(b,e);if(o=o.withContentNameScopesList(k),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!g&&w.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(L instanceof Da){let S=L;jt(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let b=S.getContentName(t.content,m),k=x.pushAttributed(b,e);if(o=o.withContentNameScopesList(k),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!g&&w.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(jt(e,t,a,o,n,L.captures,m),n.produce(o,m[0].end),o=o.pop(),!g){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function gc(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof Da&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Ic(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==Es){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),jt(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function wc(e,t,a,r,o,n){let s=xc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Lc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function xc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Hs(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Lc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let I=t.getRule(m.ruleId),{ruleScanner:g,findOptions:L}=Hs(I,t,null,r,o===s),w=g.findNextMatchSync(a,o,L);if(!w)continue;let h=w.captureIndices[0].start;if(!(h>=i)&&(i=h,l=w.captureIndices,u=w.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function Hs(e,t,a,r,o){if(Os){let s=e.compile(t,a),i=qs(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Ic(e,t,a,r,o){if(Os){let s=e.compileWhile(t,a),i=qs(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function qs(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function jt(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let I=f.getName(i,s),g=r.contentNameScopesList.pushAttributed(I,e),L=f.getContentName(i,s),w=g.pushAttributed(L,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,g,w),x=e.createOnigString(i.substring(0,p.end));Us(e,x,a&&p.start===0,p.start,h,o,!1,0),Bs(x);continue}let m=f.getName(i,s);if(m!==null){let g=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Cc(g,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Cc=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Sc(e,t,a,r,o,n,s,i){return new bc(e,t,a,r,o,n,s,i)}function ys(e,t,a,r,o){let n=Fa(t,Ea),s=_s.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Ea(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(yc(t[o],r))return a=o+1,!0;return!1})}function yc(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var bc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new mc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=bs(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Fa(l,Ea);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)ys(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&ys(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=bs(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=_s.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Yr.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ut.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=$t.createRootAndLookUpScopeName(f,d,this):p=$t.createRoot("unknown",d),t=new Yr(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
4
- `;let n=this.createOnigString(e),s=n.content.length,i=new Tc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Us(this,n,o,0,t,i,!0,r);return Bs(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function bs(e,t){return e=Wd(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var $t=class He{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=zr.push(o,n.scopeNames),r=new He(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new He(null,new zr(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new zr(null,t),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(a,o,s);return new He(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return He.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ut.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return He._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=He._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(t.tokenAttributes,o,s);return new He(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},Yr=class lt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new lt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:lt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?$t.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){lt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new lt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new lt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let r=$t.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new lt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,$t.fromExtension(r,a.contentNameScopesList))}},kc=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Fa(a,Ea).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Fa(a,Ea).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Tc=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ut.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ut.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},vc=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,Sc(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Gs=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new vc(Xt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Xt.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new kc(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new rc(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},_a=Yr.NULL;var Pc=/["&'<>`]/g,Ac=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Rc=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Mc=/[|\\{}()[\]^$+*?.]/g,Ws=new WeakMap;function Vs(e,t){if(e=e.replace(t.subset?Fc(t.subset):Pc,r),t.subset||t.escapeOnly)return e;return e.replace(Ac,a).replace(Rc,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function Fc(e){let t=Ws.get(e);return t||(t=Bc(e),Ws.set(e,t)),t}function Bc(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Mc,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Dc=/[\dA-Fa-f]/;function zs(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Dc.test(String.fromCharCode(t))?r:r+";"}var Ec=/\d/;function js(e,t,a){let r="&#"+String(e);return a&&t&&!Ec.test(String.fromCharCode(t))?r:r+";"}var $s=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Na={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Xs=["cent","copy","divide","gt","lt","not","para","times"];var Ks={}.hasOwnProperty,eo={},Oa;for(Oa in Na)Ks.call(Na,Oa)&&(eo[Na[Oa]]=Oa);var _c=/[^\dA-Za-z]/;function Qs(e,t,a,r){let o=String.fromCharCode(e);if(Ks.call(eo,o)){let n=eo[o],s="&"+n;return a&&$s.includes(n)&&!Xs.includes(n)&&(!r||t&&t!==61&&_c.test(String.fromCharCode(t)))?s:s+";"}return""}function Js(e,t,a){let r=zs(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Qs(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=js(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function ze(e,t){return Vs(e,Object.assign({format:Js},t))}var Nc=/^>|^->|<!--|-->|--!>|<!-$/g,Oc=[">"],Uc=["<",">"];function Ys(e,t,a,r){return r.settings.bogusComments?"<?"+ze(e.value,Object.assign({},r.settings.characterReferences,{subset:Oc}))+">":"<!--"+e.value.replace(Nc,o)+"-->";function o(n){return ze(n,Object.assign({},r.settings.characterReferences,{subset:Uc}))}}function Zs(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var se=ei(1),to=ei(-1),Hc=[];function ei(e){return t;function t(a,r,o){let n=a?a.children:Hc,s=(r||0)+e,i=n[s];if(!o)for(;i&&wt(i);)s+=e,i=n[s];return i}}var qc={}.hasOwnProperty;function Ua(e){return t;function t(a,r,o){return qc.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Zt=Ua({body:Wc,caption:ao,colgroup:ao,dd:$c,dt:jc,head:ao,html:Gc,li:zc,optgroup:Xc,option:Kc,p:Vc,rp:ti,rt:ti,tbody:Jc,td:ai,tfoot:Yc,th:ai,thead:Qc,tr:Zc});function ao(e,t,a){let r=se(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&wt(r.value.charAt(0)))}function Gc(e,t,a){let r=se(a,t);return!r||r.type!=="comment"}function Wc(e,t,a){let r=se(a,t);return!r||r.type!=="comment"}function Vc(e,t,a){let r=se(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function zc(e,t,a){let r=se(a,t);return!r||r.type==="element"&&r.tagName==="li"}function jc(e,t,a){let r=se(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function $c(e,t,a){let r=se(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function ti(e,t,a){let r=se(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Xc(e,t,a){let r=se(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Kc(e,t,a){let r=se(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Qc(e,t,a){let r=se(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Jc(e,t,a){let r=se(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Yc(e,t,a){return!se(a,t)}function Zc(e,t,a){let r=se(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function ai(e,t,a){let r=se(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var ri=Ua({body:af,colgroup:rf,head:tf,html:ef,tbody:of});function ef(e){let t=se(e,-1);return!t||t.type!=="comment"}function tf(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function af(e){let t=se(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&wt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function rf(e,t,a){let r=to(a,t),o=se(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Zt(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function of(e,t,a){let r=to(a,t),o=se(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Zt(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ha={name:[[`
2
+ import{a as un,b as dn,c as cn,d as fn,e as pn,f as ma,g as mn,h as hn,i as gn,j as wn,k as Tr,l as xn,m as mt,n as ht,o as ha,p as gt,u as Pt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as ah,useCallback as Vo,useEffect as rh,useImperativeHandle as oh,useRef as Tl,useState as vl}from"react";import{forwardRef as uu,createElement as du}from"react";var ga=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Ln=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var In=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var vr=e=>{let t=In(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as lu,createElement as yn}from"react";var Cn={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Sn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var bn=lu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>yn("svg",{ref:l,...Cn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ga("lucide",o),...!n&&!Sn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>yn(u,c)),...Array.isArray(n)?n:[n]]));var V=(e,t)=>{let a=uu(({className:r,...o},n)=>du(bn,{ref:n,iconNode:t,className:ga(`lucide-${Ln(vr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=vr(e),a};var cu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],et=V("arrow-down",cu);var fu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],At=V("arrow-up",fu);var pu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Rt=V("check",pu);var mu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ve=V("chevron-down",mu);var hu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Mt=V("chevron-right",hu);var gu=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Ft=V("clipboard-copy",gu);var wu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],qe=V("clock",wu);var xu=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],Bt=V("file",xu);var Lu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Dt=V("globe",Lu);var Iu=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Et=V("loader",Iu);var Cu=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],_t=V("paperclip",Cu);var Su=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Nt=V("square",Su);var yu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],tt=V("wrench",yu);var bu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],at=V("x",bu);var ku=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Ot=V("zap",ku);import{useCallback as Gu}from"react";import{useCallback as ze,useMemo as Tu,useRef as vu,useState as Pr}from"react";var Pu={damping:.7,stiffness:.05,mass:1.25},Au=70,Ru=1e3/60,Mu=350,wa=!1;globalThis.document?.addEventListener("mousedown",()=>{wa=!0});globalThis.document?.addEventListener("mouseup",()=>{wa=!1});globalThis.document?.addEventListener("click",()=>{wa=!1});var Tn=(e={})=>{let[t,a]=Pr(!1),[r,o]=Pr(e.initial!==!1),[n,s]=Pr(!1),i=vu(null);i.current=e;let l=ze(()=>{if(!wa)return!1;let w=window.getSelection();if(!w||!w.rangeCount)return!1;let h=w.getRangeAt(0);return h.commonAncestorContainer.contains(g.current)||g.current?.contains(h.commonAncestorContainer)},[]),u=ze(w=>{d.isAtBottom=w,o(w)},[]),c=ze(w=>{d.escapedFromLock=w,a(w)},[]),d=Tu(()=>{let w;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return g.current?.scrollTop??0},set scrollTop(h){g.current&&(g.current.scrollTop=h,d.ignoreScrollToTop=g.current.scrollTop)},get targetScrollTop(){return!g.current||!x.current?0:g.current.scrollHeight-1-g.current.clientHeight},get calculatedTargetScrollTop(){if(!g.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(w?.targetScrollTop===h)return w.calculatedScrollTop;let C=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:g.current,contentElement:x.current}),h),0);return w={targetScrollTop:h,calculatedScrollTop:C},requestAnimationFrame(()=>{w=void 0}),C},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Au}}},[]),f=ze((w={})=>{typeof w=="string"&&(w={animation:w}),w.preserveScrollPosition||u(!0);let h=Date.now()+(Number(w.wait)||0),C=Rr(i.current,w.animation),{ignoreEscapes:I=!1}=w,b,v=d.calculatedTargetScrollTop;w.duration instanceof Promise?w.duration.finally(()=>{b=Date.now()}):b=h+(w.duration??0);let P=async()=>{let A=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:M}=d,B=performance.now(),T=(B-(d.lastTick??B))/Ru;if(d.animation||(d.animation={behavior:C,promise:A,ignoreEscapes:I}),d.animation.behavior===C&&(d.lastTick=B),l()||h>Date.now())return P();if(M<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===C){if(C==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(C.damping*d.velocity+C.stiffness*d.scrollDifference)/C.mass,d.accumulated+=d.velocity*T,d.scrollTop+=d.accumulated,d.scrollTop!==M&&(d.accumulated=0)}return P()}return b>Date.now()?(v=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Rr(i.current,i.current.resize),ignoreEscapes:I,duration:Math.max(0,b-Date.now())||void 0}):d.isAtBottom)});return A.then(M=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),M))};return w.wait!==!0&&(d.animation=void 0),d.animation?.behavior===C?d.animation.promise:P()},[u,l,d]),p=ze(()=>{c(!0),u(!1)},[c,u]),m=ze(({target:w})=>{if(w!==g.current)return;let{scrollTop:h,ignoreScrollToTop:C}=d,{lastScrollTop:I=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,C&&C>h&&(I=C),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===C)return;if(l()){c(!0),u(!1);return}let b=h>I,v=h<I;if(d.animation?.ignoreEscapes){d.scrollTop=I;return}v&&(c(!0),u(!1)),b&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),S=ze(({target:w,deltaY:h})=>{let C=w;for(;!["scroll","auto"].includes(getComputedStyle(C).overflow);){if(!C.parentElement)return;C=C.parentElement}C===g.current&&h<0&&g.current.scrollHeight>g.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),g=kn(w=>{g.current?.removeEventListener("scroll",m),g.current?.removeEventListener("wheel",S),w?.addEventListener("scroll",m,{passive:!0}),w?.addEventListener("wheel",S,{passive:!0})},[]),x=kn(w=>{if(d.resizeObserver?.disconnect(),!w)return;let h;d.resizeObserver=new ResizeObserver(([C])=>{let{height:I}=C.contentRect,b=I-(h??I);if(d.resizeDifference=b,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),b>=0){let v=Rr(i.current,h?i.current.resize:i.current.initial);f({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:Mu})}else d.isNearBottom&&(c(!1),u(!0));h=I,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===b&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(w)},[]);return{contentRef:x,scrollRef:g,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function kn(e,t){let a=ze(r=>(a.current=r,e(r)),t);return a}var Ar=new Map;function Rr(...e){let t={...Pu},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return Ar.has(r)||Ar.set(r,Object.freeze(t)),a?"instant":Ar.get(r)}import*as rt from"react";import{createContext as Fu,useContext as Bu,useEffect as Du,useImperativeHandle as Eu,useLayoutEffect as _u,useMemo as Nu,useRef as Ou}from"react";var vn=Fu(null),Uu=typeof window<"u"?_u:Du;function Ut({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Ou(null),d=rt.useCallback((I,b)=>(C?.targetScrollTop??i)?.(I,b)??I,[i]),f=Tn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:S,stopScroll:g,isAtBottom:x,escapedFromLock:w,state:h}=e??f,C=Nu(()=>({scrollToBottom:S,stopScroll:g,scrollRef:p,isAtBottom:x,escapedFromLock:w,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(I){c.current=I}}),[S,x,m,p,g,w,h]);return Eu(l,()=>C,[C]),Uu(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),rt.createElement(vn.Provider,{value:C},rt.createElement("div",{...u},typeof t=="function"?t(C):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Mr();return rt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},rt.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Ut||(Ut={}));function Mr(){let e=Bu(vn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var Hu=dn({prefix:"ww"});function k(...e){return Hu(un(e))}import{jsx as qu}from"react/jsx-runtime";var Fe=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>qu("button",{type:r,className:k("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{jsx as xa}from"react/jsx-runtime";var Pn=({className:e,...t})=>xa(Ut,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),An=({className:e,...t})=>xa(Ut.Content,{className:k("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),Rn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Mr(),o=Gu(()=>{r()},[r]);return!a&&xa(Fe,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:xa(et,{className:"ww:size-4"})})};import Fn from"crypto";var Mn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wu=128,ot,wt,Vu=e=>{!ot||ot.length<e?(ot=Buffer.allocUnsafe(e*Wu),Fn.randomFillSync(ot),wt=0):wt+e>ot.length&&(Fn.randomFillSync(ot),wt=0),wt+=e};var Ht=(e=21)=>{Vu(e|=0);let t="";for(let a=wt-e;a<wt;a++)t+=Mn[ot[a]&63];return t};import{createContext as Yu,useCallback as Ge,useContext as Zu,useEffect as _r,useMemo as ed,useRef as Nr,useState as On}from"react";import{createContext as zu,useContext as ju,useEffect as $u,useMemo as Xu,useState as _n}from"react";var Bn=["en","fr","es"];function xt(e){return Bn.includes(e)}function Fr(e){if(e&&xt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&xt(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(xt(r))return r;let o=r.split("-")[0];if(o&&xt(o))return o}return"en"}var La={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var Dn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var En={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Br={en:La,fr:En,es:Dn};import{jsx as Ju}from"react/jsx-runtime";var Nn=zu(null);function Ku(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function Dr({children:e,locale:t,messages:a}){let r=!!(t&&Qu(t)),o=r?t:"en",[n,s]=_n(o),[i,l]=_n(r);$u(()=>{s(Fr(t)),l(!0)},[t]);let u=Xu(()=>{let c=Br[n]??Br["en"];return{locale:n,t:Ku(c,a),ready:i}},[n,a,i]);return Ju(Nn.Provider,{value:u,children:e})}function Qu(e){return e==="en"||e==="fr"||e==="es"}function U(){let e=ju(Nn);return e||{locale:"en",t:La,ready:!0}}function Er(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as Ee,jsxs as qn}from"react/jsx-runtime";var td=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},Un=Yu(null),Hn=()=>{let e=Zu(Un);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Ia=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=U(),c=Nr(null),d=Nr(null),[f,p]=On([]),m=Nr(f);_r(()=>{m.current=f},[f]);let S=Ge(()=>{c.current?.click()},[]),g=Ge(b=>{let v=[...b];if(v.length===0)return;let P=M=>n?M.size<=n:!0,A=v.filter(P);p(M=>{let B=typeof o=="number"?Math.max(0,o-M.length):void 0,T=typeof B=="number"?A.slice(0,B):A;return[...M,...T.map($=>({filename:$.name,id:Ht(),mediaType:$.type,type:"file",url:URL.createObjectURL($)}))]})},[o,n]),x=Ge(b=>{p(v=>{let P=v.find(A=>A.id===b);return P?.url&&URL.revokeObjectURL(P.url),v.filter(A=>A.id!==b)})},[]),w=Ge(()=>{p(b=>{for(let v of b)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);_r(()=>()=>{for(let b of m.current)b.url&&URL.revokeObjectURL(b.url)},[]);let h=Ge(b=>{b.currentTarget.files&&g(b.currentTarget.files),b.currentTarget.value=""},[g]);_r(()=>{if(!r)return;let b=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},v=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&g(P.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",v),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",v)}},[g,r]);let C=Ge(async b=>{b.preventDefault();let v=b.currentTarget,A=new FormData(v).get("message")||"";v.reset();let M=await Promise.all(f.map(async({id:B,...T})=>{if(T.url?.startsWith("blob:")){let $=await td(T.url);return{...T,url:$??T.url}}return T}));try{let B=s({files:M,text:A},b);B instanceof Promise&&await B,w()}catch{}},[f,s,w]),I=ed(()=>({add:g,clear:w,files:f,openFileDialog:S,remove:x}),[f,g,x,w,S]);return qn(Un.Provider,{value:I,children:[Ee("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Ee("form",{className:k("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:C,ref:d,...l,children:i})]})};var Ca=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=U(),s=Hn(),[i,l]=On(!1),u=r??n.promptInput.placeholder,c=Ge(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=Ge(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let S of p)if(S.kind==="file"){let g=S.getAsFile();g&&m.push(g)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Ee("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},Sa=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=U(),i=t==="submitted"||t==="streaming",l=Ee(At,{className:"ww:size-4"});t==="submitted"?l=Ee(Et,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Ee(Nt,{className:"ww:size-4"}));let u=Ge(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Ee(Fe,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},ya=({className:e,children:t,...a})=>{let{t:r}=U(),o=Hn();return o.files.length>0?qn(Fe,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Ee("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:o.files.length}),Ee(at,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Ee(Fe,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Ee(_t,{className:"ww:size-4"})})};import{memo as ad,useCallback as rd}from"react";import{jsx as It}from"react/jsx-runtime";var Gn=({className:e,...t})=>It("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Wn=({className:e,...t})=>It("li",{className:k("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),Vn=({className:e,...t})=>It("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),zn=({className:e,...t})=>It("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),jn=({className:e,...t})=>It("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),$n=({className:e,...t})=>It(Fe,{className:k("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as je,jsxs as Kn}from"react/jsx-runtime";var Xn=ad(({message:e,onRemove:t})=>{let{t:a}=U(),r=rd(()=>t(e.id),[t,e.id]);return Kn(Wn,{children:[je(Vn,{}),je(zn,{children:e.text||a.chatQueue.attachmentFallback}),je(jn,{children:je($n,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:je(at,{className:"ww:size-3"})})})]})});Xn.displayName="ChatQueueItem";function ba({queuedMessages:e,onRemove:t,className:a}){let{t:r}=U();return e.length===0?null:Kn(Gn,{className:k("ww:border-t ww:border-border",a),children:[je("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),je("ul",{children:e.map(o=>je(Xn,{message:o,onRemove:t},o.id))})]})}import{useState as Qn}from"react";import{jsx as od}from"react/jsx-runtime";function Jn({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=U(),[o,n]=Qn(!1),[s,i]=Qn(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return od("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as qt,jsxs as sd}from"react/jsx-runtime";var Yn=({files:e,className:t,...a})=>e.length===0?null:qt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>qt(nd,{file:r},o))});function nd({file:e}){let{t}=U();return e.mediaType?.startsWith("image/")&&e.url?qt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):sd("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[qt(Bt,{className:"ww:size-3 ww:shrink-0"}),qt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as xd,useCallback as Ld,useContext as Id,useEffect as Cd,useMemo as Sd,useState as qr}from"react";import{createContext as dd,memo as Hr,useCallback as cd,useContext as fd,useEffect as Or,useMemo as pd,useRef as Zn,useState as Ur}from"react";import{memo as id}from"react";import{jsx as ud}from"react/jsx-runtime";var ld=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return ud(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},_e=id(ld);_e.displayName="Shimmer";import{Fragment as gd,jsx as Ne,jsxs as wd}from"react/jsx-runtime";var es=dd(null);function ts(){let e=fd(es);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var md=1e3,hd=1e3,Gt=Hr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=Ur(l),p=c?a:d,m=cd(v=>{c||f(v),o?.(v)},[c,o]),[S,g]=Ur(void 0),x=n??S,w=Zn(t),[h,C]=Ur(!1),I=Zn(null);Or(()=>{t?(w.current=!0,I.current===null&&(I.current=Date.now())):I.current!==null&&(g(Math.ceil((Date.now()-I.current)/hd)),I.current=null)},[t]),Or(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Or(()=>{if(w.current&&!t&&p&&!h){let v=setTimeout(()=>{m(!1),C(!0)},md);return()=>clearTimeout(v)}},[t,p,h,m]);let b=pd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return Ne(es.Provider,{value:b,children:Ne("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Gt.displayName="Reasoning";var Wt=Hr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=U(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ts(),f=a??((p,m)=>p||m===0?Ne(_e,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ne("span",{children:s.reasoning.thoughtBrief}):Ne("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ne("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??wd(gd,{children:[!r&&Ne(qe,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Wt.displayName="ReasoningTrigger";var Vt=Hr(({className:e,children:t,...a})=>{let{isOpen:r}=ts();return Ne("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ne("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:Ne(Pt,{children:t})})})})});Vt.displayName="ReasoningContent";import{jsx as Z,jsxs as $e}from"react/jsx-runtime";var yd=500,as=xd(null);function rs(){let e=Id(as);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function os({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=qr(o),d=l?r:u,f=Ld(g=>{l||c(g),n?.(g)},[l,n]),[p,m]=qr(!t);Cd(()=>{if(t){m(!1);return}let g=setTimeout(()=>m(!0),yd);return()=>clearTimeout(g)},[t]);let S=Sd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return Z(as.Provider,{value:S,children:Z("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function ns({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=rs();if(!l){let c=u?.icon,d=u?.label??a??t??"";return Z("div",{className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:$e("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&Z(c,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Z("span",{className:"ww:truncate",children:i?Z(_e,{duration:2.6,children:d}):d})]},d)})}return $e("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[Z("span",{className:"ww:truncate",children:r??t}),Z(Ve,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function ss({className:e,children:t,...a}){let{open:r}=rs();return Z("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Z("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function is({icon:e,isLast:t,running:a,error:r}){return $e("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[Z("span",{className:"ww:flex ww:h-5 ww:items-center",children:Z(e,{className:k("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&Z("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Gr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=qr(!1),f=a??"",p=i?Z(_e,{duration:1.6,children:f}):Z("span",{className:"ww:truncate",children:f});return $e("div",{className:k("ww:flex ww:gap-2",e),...s,children:[Z(is,{icon:t,isLast:o,running:i,error:l}),$e("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?$e("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,Z(Ve,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):Z("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&Z("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Z("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function ls({isStreaming:e=!1,isLast:t=!1,children:a}){return $e("div",{className:"ww:flex ww:gap-2",children:[Z(is,{icon:qe,isLast:t,running:e}),Z("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:$e(Gt,{isStreaming:e,className:"ww:mb-0",children:[Z(Wt,{hideIcon:!0}),Z(Vt,{children:a})]})})]})}var Ie={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var Oe={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Pe={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function us(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function ds(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function cs(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function fs(e){return us(e)?"ambiguous":ds(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":cs(e)?"wide":"neutral"}function bd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ps(e){return bd(e),fs(e)}var kd=Object.defineProperty,Td=(e,t,a)=>t in e?kd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,vd=(e,t,a)=>Td(e,typeof t!="symbol"?t+"":t,a);function Pd(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ad(e){if(!e||e<4352)return!1;switch(ps(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Pd(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function Rd(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Md(e){return e!==null&&e>=65024&&e<=65038}var Fd=ms(/\p{P}|\p{S}/u),Bd=ms(/\s/);function ms(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ae;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Ae||(Ae={}));function Xe(e){if(e===Ie.eof||xn(e)||Bd(e))return Oe.characterGroupWhitespace;let t=0;if(e>=4352){if(Md(e))return Ae.nonEmojiGeneralUseVS;switch(Ad(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Fd(e)&&(t|=Oe.characterGroupPunctuation),t}function ka(e,t,a){if(!Ed(e))return e;let r=t(),o=Xe(r);return!r||nt(o)?e:Rd(r,a)?Ae.cjkPunctuation:Dd(o)}function Dd(e){return e&~Ae.ivs}function nt(e){return!!(e&Oe.characterGroupWhitespace)}function Ct(e){return(e&Ae.cjkPunctuation)===Oe.characterGroupPunctuation}function zt(e){return!!(e&Ae.cjk)}function hs(e){return e===Ae.ivs}function gs(e){return!!(e&Ae.cjkOrIvs)}function Ed(e){return e===Ae.nonEmojiGeneralUseVS}function Wr(e){return!!(e&Ae.spaceOrPunctuation)}function Ta(e){return!!(e&&e>=55296&&e<=56319)}function va(e){return!!(e&&e>=56320&&e<=57343)}function Pa(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function _d(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Aa=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,vd(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=_d(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ra(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Vr={name:"attention",resolveAll:Nd,tokenize:Od};function Nd(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;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[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};ws(d,-l),ws(f,l),s={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Pe.strongText:Pe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Pe.strong:Pe.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=ht(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=ht(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=ht(u,ha(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=ht(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=ht(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,mt(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Od(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=va(n)?Pa(n,r(),o):n,i=Xe(s),l=new Aa(s,r(),o),u=ka(i,l.value.bind(l),s),c;return d;function d(p){return p===Ie.asterisk||Ie.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),S=Ta(p)?Ra(p,r(),o):p,g=Xe(S);let x=Ct(u),w=x||nt(u),h=Ct(g),C=h||nt(g),I=gs(u),b=!C||h&&(w||I)||a.includes(p),v=!w||x&&(C||zt(g))||a.includes(s);return m._open=!!(c===Ie.asterisk?b:b&&(Wr(u)||!v)),m._close=!!(c===Ie.asterisk?v:v&&(Wr(g)||!b)),t(p)}}function ws(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function xs(){return{text:{[Ie.asterisk]:Vr,[Ie.underscore]:Vr},insideSpan:{null:[Vr]}}}function Ls(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(xs())}function Is(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Ie.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Ie.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&mt(f,f.length,0,ha(p,s.slice(u+1,l),i)),mt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),mt(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Pe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=va(d)?Pa(d,u(),c):d,p=Xe(f),m=new Aa(f,u(),c),S=ka(p,m.value.bind(m),f),g=this.events,x=0;return w;function w(C){return Ie.tilde,f===Ie.tilde&&g[g.length-1][1].type!==Pe.characterEscape?l(C):(s.enter("strikethroughSequenceTemporary"),h(C))}function h(C){let I=Xe(f);if(C===Ie.tilde)return x>1?l(C):(s.consume(C),x++,h);if(x<2&&!a)return l(C);let b=s.exit("strikethroughSequenceTemporary"),v=Ta(C)?Ra(C,u(),c):C,P=Xe(v),M=Ct(S)||nt(S),T=Ct(P)||nt(P),$=zt(S)||hs(I);return b._open=!T||P===Oe.attentionSideAfter&&(M||$),b._close=!M||I===Oe.attentionSideAfter&&(T||zt(P)),i(C)}}}function Cs(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Is(e))}var Ud=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Hd=/^(https?:\/\/|mailto:|www\.)/i,qd=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Gd=e=>{let t=0;for(let a of e){if(Ud.has(a))return t;t+=a.length}return null},Wd=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Vd=e=>({type:"text",value:e}),zd=()=>e=>{cn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!qd(t)||!Hd.test(t.url))return;let o=Gd(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Wd(n,t),l=Vd(s);return r.children.splice(a,1,i,l),a+1})};function jd(){let e=[Ls],t=[zd,Cs],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var zr=jd();var re=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function $d(e){return to(e)}function to(e){return Array.isArray(e)?Xd(e):e instanceof RegExp?e:typeof e=="object"?Kd(e):e}function Xd(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=to(e[a]);return t}function Kd(e){let t={};for(let a in e)t[a]=to(e[a]);return t}function Rs(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Ms(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ms(e.substring(0,e.length-1)):e.substr(~t+1)}var jr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ma=class{static hasCaptures(e){return e===null?!1:(jr.lastIndex=0,jr.test(e))}static replaceCaptures(e,t,a){return e.replace(jr,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function Fs(e,t){return e<t?-1:e>t?1:0}function Bs(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=Fs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Ss(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function Ds(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Es=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},Xt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Yd(e),t)}static createFromParsedTheme(e,t){return ec(e,t)}_cachedMatchRoot=new Es(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>Qd(e.parent,o.parentScopes));return r?new _s(r.fontStyle,r.foreground,r.background):null}},$r=class Fa{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Fa(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Fa(a,t[r]);return a}push(t){return new Fa(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function Qd(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Jd(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Jd(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var _s=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Yd(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Ss(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Ss(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),S=m[m.length-1],g=null;m.length>1&&(g=m.slice(0,m.length-1),g.reverse()),a[r++]=new Zd(S,g,o,l,u,c)}}return a}var Zd=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Ce=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Ce||{});function ec(e,t){e.sort((l,u)=>{let c=Fs(l.scope,u.scope);return c!==0||(c=Bs(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new tc(t),s=new _s(a,n.getId(r),n.getId(o)),i=new rc(new Kr(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new Xt(n,s,i)}var tc=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},ac=Object.freeze([]),Kr=class Ns{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||ac,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Ns(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},rc=class Qr{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Qr._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Qr(this._mainRule.clone(),Kr.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Bs(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new Kr(t,a,r,o,n))}},it=class Be{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Be.getLanguageId(t),r=Be.getTokenType(t),o=Be.getFontStyle(t),n=Be.getForeground(t),s=Be.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=Be.getLanguageId(t),u=Be.getTokenType(t),c=Be.containsBalancedBrackets(t)?1:0,d=Be.getFontStyle(t),f=Be.getForeground(t),p=Be.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function Da(e,t){let a=[],r=oc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(ys(o)){let l=[];do l.push(o),o=r.next();while(ys(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function ys(e){return!!e&&!!e.match(/[\w\.:]+/)}function oc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function Os(e){typeof e.dispose=="function"&&e.dispose()}var Kt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},nc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},sc=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},ic=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Kt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new sc;for(let a of e)lc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Kt){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function lc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof Kt?Ba({baseGrammar:n,selfGrammar:o},r):Jr(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new Kt(i))}function Jr(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ea([r],t,a)}}function Ba(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ea(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ea(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ea(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Rs({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ea(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Us(n);switch(s.kind){case 0:Ba({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ba(t,a);break;case 2:Jr(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?Jr(s.ruleName,l,a):Ba(l,a)}else s.kind===4?a.add(new nc(s.scopeName,s.ruleName)):a.add(new Kt(s.scopeName));break}}}var uc=class{kind=0},dc=class{kind=1},cc=class{constructor(e){this.ruleName=e}kind=2},fc=class{constructor(e){this.scopeName=e}kind=3},pc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Us(e){if(e==="$base")return new uc;if(e==="$self")return new dc;let t=e.indexOf("#");if(t===-1)return new fc(e);if(t===0)return new cc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new pc(a,r)}}var mc=/\\(\d+)/,bs=/\\(\d+)/g;var hc=-1,Hs=-2;var Yt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ma.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ma.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Ms(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ma.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ma.replaceCaptures(this._contentName,e,t)}},gc=class extends Yt{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},wc=class extends Yt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Qt(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Jt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ks=class extends Yt{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Jt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Yr=class extends Yt{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new Qt(o,this.id),this.beginCaptures=n,this._end=new Qt(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Jt;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},_a=class extends Yt{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new Qt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Qt(s,Hs),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Jt;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Jt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},qs=class be{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new gc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new wc(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Rs({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new ks(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,r))}return t.while?new _a(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,r),be._compilePatterns(t.patterns,a,r)):new Yr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,be._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,be._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=be.getCompiledRuleId(t[s],a,r)),o[i]=be.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=Us(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=be.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=be.getCompiledRuleId(m,a,p.repository))}else l=be.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=be.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof ks||u instanceof Yr||u instanceof _a)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Qt=class Gs{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=mc.test(this.source):this.hasBackReferences=!1}clone(){return new Gs(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=a.map(o=>t.substring(o.start,o.end));return bs.lastIndex=0,this.source.replace(bs,(o,n)=>Ds(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Jt=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new Ts(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let r=this._items.map(o=>o.resolveAnchors(t,a));return new Ts(e,r,this._items.map(o=>o.ruleId))}},Ts=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
3
+ `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Xr=class{constructor(e,t){this.languageId=e,this.tokenType=t}},xc=class Zr{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Xr(t,8),this._embeddedLanguagesMatcher=new Lc(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Zr._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Xr(0,0);_getBasicScopeAttributes=new Es(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Xr(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Zr.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Lc=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,r])=>Ds(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},UL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Ws=!1,vs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Vs(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Ic(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new vs(o,!0);f()}return new vs(o,!1);function f(){let p=Cc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,S=p.matchedRuleId,g=m&&m.length>0?m[0].end>r:!1;if(S===hc){let x=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),jt(e,t,a,o,n,x.endCaptures,m),n.produce(o,m[0].end);let w=o;if(o=o.parent,c=w.getAnchorPos(),!g&&w.getEnterPos()===r){o=w,n.produce(o,l),u=!0;return}}else{let x=e.getRule(S);n.produce(o,m[0].start);let w=o,h=x.getName(t.content,m),C=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(S,r,c,m[0].end===l,null,C,C),x instanceof Yr){let I=x;jt(e,t,a,o,n,I.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let b=I.getContentName(t.content,m),v=C.pushAttributed(b,e);if(o=o.withContentNameScopesList(v),I.endHasBackReferences&&(o=o.withEndRule(I.getEndWithResolvedBackReferences(t.content,m))),!g&&w.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(x instanceof _a){let I=x;jt(e,t,a,o,n,I.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let b=I.getContentName(t.content,m),v=C.pushAttributed(b,e);if(o=o.withContentNameScopesList(v),I.whileHasBackReferences&&(o=o.withEndRule(I.getWhileWithResolvedBackReferences(t.content,m))),!g&&w.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(jt(e,t,a,o,n,x.captures,m),n.produce(o,m[0].end),o=o.pop(),!g){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Ic(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof _a&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=bc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==Hs){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),jt(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function Cc(e,t,a,r,o,n){let s=Sc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=yc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Sc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=zs(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function yc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let S=t.getRule(m.ruleId),{ruleScanner:g,findOptions:x}=zs(S,t,null,r,o===s),w=g.findNextMatchSync(a,o,x);if(!w)continue;let h=w.captureIndices[0].start;if(!(h>=i)&&(i=h,l=w.captureIndices,u=w.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function zs(e,t,a,r,o){if(Ws){let s=e.compile(t,a),i=js(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function bc(e,t,a,r,o){if(Ws){let s=e.compileWhile(t,a),i=js(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function js(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function jt(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let S=f.getName(i,s),g=r.contentNameScopesList.pushAttributed(S,e),x=f.getContentName(i,s),w=g.pushAttributed(x,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,g,w),C=e.createOnigString(i.substring(0,p.end));Vs(e,C,a&&p.start===0,p.start,h,o,!1,0),Os(C);continue}let m=f.getName(i,s);if(m!==null){let g=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new kc(g,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var kc=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Tc(e,t,a,r,o,n,s,i){return new Pc(e,t,a,r,o,n,s,i)}function Ps(e,t,a,r,o){let n=Da(t,Na),s=qs.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Na(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(vc(t[o],r))return a=o+1,!0;return!1})}function vc(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var Pc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new xc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=As(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Da(l,Na);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Ps(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&Ps(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=As(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=qs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===eo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=it.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=$t.createRootAndLookUpScopeName(f,d,this):p=$t.createRoot("unknown",d),t=new eo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
4
+ `;let n=this.createOnigString(e),s=n.content.length,i=new Rc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Vs(this,n,o,0,t,i,!0,r);return Os(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function As(e,t){return e=$d(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var $t=class Ue{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=$r.push(o,n.scopeNames),r=new Ue(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new Ue(null,new $r(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new $r(null,t),s=r.themeProvider.themeMatch(n),i=Ue.mergeAttributes(a,o,s);return new Ue(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ue.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),it.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Ue._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=Ue._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=Ue.mergeAttributes(t.tokenAttributes,o,s);return new Ue(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},eo=class st{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new st(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:st._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?$t.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){st._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new st(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new st(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let r=$t.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new st(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,$t.fromExtension(r,a.contentNameScopesList))}},Ac=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Da(a,Na).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Da(a,Na).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Rc=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=it.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=it.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},Mc=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,Tc(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},$s=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Mc(Xt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Xt.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new Ac(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new ic(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},Oa=eo.NULL;var Fc=/["&'<>`]/g,Bc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Dc=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ec=/[|\\{}()[\]^$+*?.]/g,Xs=new WeakMap;function Ks(e,t){if(e=e.replace(t.subset?_c(t.subset):Fc,r),t.subset||t.escapeOnly)return e;return e.replace(Bc,a).replace(Dc,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function _c(e){let t=Xs.get(e);return t||(t=Nc(e),Xs.set(e,t)),t}function Nc(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Ec,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Oc=/[\dA-Fa-f]/;function Qs(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Oc.test(String.fromCharCode(t))?r:r+";"}var Uc=/\d/;function Js(e,t,a){let r="&#"+String(e);return a&&t&&!Uc.test(String.fromCharCode(t))?r:r+";"}var Ys=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Ua={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Zs=["cent","copy","divide","gt","lt","not","para","times"];var ei={}.hasOwnProperty,ao={},Ha;for(Ha in Ua)ei.call(Ua,Ha)&&(ao[Ua[Ha]]=Ha);var Hc=/[^\dA-Za-z]/;function ti(e,t,a,r){let o=String.fromCharCode(e);if(ei.call(ao,o)){let n=ao[o],s="&"+n;return a&&Ys.includes(n)&&!Zs.includes(n)&&(!r||t&&t!==61&&Hc.test(String.fromCharCode(t)))?s:s+";"}return""}function ai(e,t,a){let r=Qs(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=ti(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=Js(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function We(e,t){return Ks(e,Object.assign({format:ai},t))}var qc=/^>|^->|<!--|-->|--!>|<!-$/g,Gc=[">"],Wc=["<",">"];function ri(e,t,a,r){return r.settings.bogusComments?"<?"+We(e.value,Object.assign({},r.settings.characterReferences,{subset:Gc}))+">":"<!--"+e.value.replace(qc,o)+"-->";function o(n){return We(n,Object.assign({},r.settings.characterReferences,{subset:Wc}))}}function oi(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ce=ni(1),ro=ni(-1),Vc=[];function ni(e){return t;function t(a,r,o){let n=a?a.children:Vc,s=(r||0)+e,i=n[s];if(!o)for(;i&&gt(i);)s+=e,i=n[s];return i}}var zc={}.hasOwnProperty;function qa(e){return t;function t(a,r,o){return zc.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Zt=qa({body:$c,caption:oo,colgroup:oo,dd:Jc,dt:Qc,head:oo,html:jc,li:Kc,optgroup:Yc,option:Zc,p:Xc,rp:si,rt:si,tbody:tf,td:ii,tfoot:af,th:ii,thead:ef,tr:rf});function oo(e,t,a){let r=ce(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&gt(r.value.charAt(0)))}function jc(e,t,a){let r=ce(a,t);return!r||r.type!=="comment"}function $c(e,t,a){let r=ce(a,t);return!r||r.type!=="comment"}function Xc(e,t,a){let r=ce(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function Kc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Qc(e,t,a){let r=ce(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Jc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function si(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Yc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Zc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function ef(e,t,a){let r=ce(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function tf(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function af(e,t,a){return!ce(a,t)}function rf(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function ii(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var li=qa({body:sf,colgroup:lf,head:nf,html:of,tbody:uf});function of(e){let t=ce(e,-1);return!t||t.type!=="comment"}function nf(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function sf(e){let t=ce(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&gt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function lf(e,t,a){let r=ro(a,t),o=ce(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Zt(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function uf(e,t,a){let r=ro(a,t),o=ce(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Zt(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ga={name:[[`
5
5
  \f\r &/=>`.split(""),`
6
6
  \f\r "&'/=>\``.split("")],[`\0
7
7
  \f\r "&'/<=>`.split(""),`\0
@@ -9,11 +9,11 @@ import{a as rn,b as on,c as nn,d as sn,e as ln,f as fa,g as un,h as dn,i as cn,j
9
9
  \f\r &>`.split(""),`\0
10
10
  \f\r "&'<=>\``.split("")],[`\0
11
11
  \f\r "&'<=>\``.split(""),`\0
12
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function oi(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=fa);let u=nf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!ri(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!Zt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function nf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=sf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function sf(e,t,a){let r=sn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=ze(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ha.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?un:dn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=ze(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ha.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&br(a,s)>br(a,e.alternative)&&(s=e.alternative),i=s+ze(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ha.single:Ha.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var lf=["<","&"];function qa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:ze(e.value,Object.assign({},r.settings.characterReferences,{subset:lf}))}function ni(e,t,a,r){return r.settings.allowDangerousHtml?e.value:qa(e,t,a,r)}function si(e,t,a,r){return r.all(e)}var ii=cn("type",{invalid:uf,unknown:df,handlers:{comment:Ys,doctype:Zs,element:oi,raw:ni,root:si,text:qa}});function uf(e){throw new Error("Expected node, not `"+e+"`")}function df(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var cf={},ff={},pf=[];function ro(e,t){let a=t||cf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:mf,all:hf,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||fn,characterReferences:a.characterReferences||ff,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?fa:ln,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function mf(e,t,a){return ii(e,t,a,this)}function hf(e){let t=[],a=e&&e.children||pf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ga(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Ye(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function gf(e){return Array.isArray(e)?e:[e]}async function mi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function uo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function hi(e){return e==="ansi"||uo(e)}function co(e){return e==="none"}function gi(e){return co(e)}function wi(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function $a(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function wf(e){let t=$a(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function xi(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var fo="light-dark()",xf=["color","background-color"];function Lf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function If(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?Lf(o,n):o})):e}function Cf(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Wa(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&xf.includes(f))if(r===fo&&s.length>1){let m=t.findIndex(w=>w==="light"),I=t.findIndex(w=>w==="dark");if(m===-1||I===-1)throw new re('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let g=s[m][f]||"inherit",L=s[I][f]||"inherit";l[f]=`light-dark(${g}, ${L})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function Wa(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&we.Italic&&(t["font-style"]="italic"),e.fontStyle&we.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&we.Underline&&a.push("underline"),e.fontStyle&we.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function so(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Li=new WeakMap;function Xa(e,t){Li.set(e,t)}function ta(e){return Li.get(e)}var yt=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(gf(a).map(r=>[r,_a])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Sf(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Sf(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function yf(e,t){if(!(e instanceof yt))throw new re("Invalid grammar state");return e.getInternalStack(t)}function bf(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new re(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new re(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new re(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=wf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));kf(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return If(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new re(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],I="",g=-1,L=-1;if(d===0&&(g=0),f===0&&(L=0),f===Number.POSITIVE_INFINITY&&(L=m.children.length),g===-1||L===-1)for(let h=0;h<m.children.length;h++)I+=Ii(m.children[h]),g===-1&&I.length===d&&(g=h+1),L===-1&&I.length===f&&(L=h+1);if(g===-1)throw new re(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(L===-1)throw new re(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let w=m.children.slice(g,L);if(!p.alwaysWrap&&w.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&w.length===1&&w[0].type==="element")i(w[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:w};i(h,p,"wrapper"),m.children.splice(g,w.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&wi(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function kf(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new re(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new re(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ii(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ii).join(""):""}var Tf=[bf()];function Va(e){let t=vf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Tf]}function vf(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var dt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],oo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Pf(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function li(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Af(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)oo[r]&&t.push({type:"setDecoration",value:oo[r]});else if(r<=29){let o=oo[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:dt[r-30]}});else if(r===38){let o=li(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-40]}});else if(r===48){let o=li(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:dt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-100+8]}})}return t}function Rf(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Pf(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Af(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var Mf={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function Ff(e=Mf){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let r;function o(){if(r)return r;r=[];for(let u=0;u<dt.length;u++)r.push(t(dt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var Bf={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function Df(e,t,a){let r=Ga(e,a),o=$a(t),n=Object.fromEntries(dt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||Bf[l]]})),s=Ff(n),i=Rf();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=Ye(c,r),d=Ye(d,r),u.decorations.has("dim")&&(c=Ef(c));let f=we.None;return u.decorations.has("bold")&&(f|=we.Bold),u.decorations.has("italic")&&(f|=we.Italic),u.decorations.has("underline")&&(f|=we.Underline),u.decorations.has("strikethrough")&&(f|=we.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function Ef(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function po(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(uo(o)||co(r))return $a(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Df(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new re(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new re(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Nf(t,i,n,s,a)}function _f(...e){if(e.length===2)return ta(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(uo(o)||co(n))throw new re("Plain language does not have grammar state");if(o==="ansi")throw new re("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new yt(mo(a,l,s,i,r).stateStack,l.name,s.name)}function Nf(e,t,a,r,o){let n=mo(e,t,a,r,o),s=new yt(n.stateStack,t.name,a.name);return Xa(n.tokens,s),n.tokens}function mo(e,t,a,r,o){let n=Ga(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=$a(e),u=o.grammarState?yf(o.grammarState,a.name)??_a:o.grammarContextCode!=null?mo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:_a,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,I]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:I,color:"",fontStyle:0}]);continue}let g,L,w;o.includeExplanation&&(g=t.tokenizeLine(m,u,i),L=g.tokens,w=0);let h=t.tokenizeLine2(m,u,i),x=h.tokens.length/2;for(let S=0;S<x;S++){let b=h.tokens[2*S],k=S+1<x?h.tokens[2*S+2]:m.length;if(b===k)continue;let v=h.tokens[2*S+1],D=Ye(r[ut.getForeground(v)],n),F=ut.getFontStyle(v),O={content:m.substring(b,k),offset:I+b,color:D,fontStyle:F};if(o.includeExplanation){let y=[];if(o.includeExplanation!=="scopeName")for(let P of a.settings){let M;switch(typeof P.scope){case"string":M=P.scope.split(/,/).map(_=>_.trim());break;case"object":M=P.scope;break;default:continue}y.push({settings:P,selectors:M.map(_=>_.split(/ /))})}O.explanation=[];let A=0;for(;b+A<k;){let P=L[w],M=m.substring(P.startIndex,P.endIndex);A+=M.length,O.explanation.push({content:M,scopes:o.includeExplanation==="scopeName"?Of(P.scopes):Uf(y,P.scopes)}),w+=1}}c.push(O)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Of(e){return e.map(t=>({scopeName:t}))}function Uf(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:qf(e,n,t.slice(0,r))}}return a}function ui(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Hf(e,t,a){if(!ui(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)ui(e[r],a[o])&&(r-=1),o-=1;return r===-1}function qf(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Hf(s,t,a)){r.push(n);break}return r}function Ci(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=po(e,t,{...a,theme:l.theme}),c=ta(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=Gf(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:I,explanation:g,offset:L,...w}=p[u][d];f.variants[r[m].color]=w}),f})),i=o[0].state?new yt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Xa(s,i),s}function Gf(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function za(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(L=>L[1]).map(L=>({color:L[0],theme:L[1]})).sort((L,w)=>L.color===u?-1:w.color===u?1:0);if(f.length===0)throw new re("`themes` option must not be empty");let p=Ci(e,t,a);if(l=ta(p),u&&fo!==u&&!f.find(L=>L.color===u))throw new re(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(L=>e.getTheme(L.theme)),I=f.map(L=>L.color);n=p.map(L=>L.map(w=>Cf(w,I,c,u,d))),l&&Xa(n,l);let g=f.map(L=>Ga(L.theme,a));o=di(f,m,g,c,u,"fg",d),r=di(f,m,g,c,u,"bg",d),s=`shiki-themes ${m.map(L=>L.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ga(a.theme,a);n=po(e,t,a);let c=e.getTheme(a.theme);r=Ye(c.bg,u),o=Ye(c.fg,u),s=c.name,l=ta(n)}else throw new re("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function di(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Ye(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===fo&&e.length>1){let d=e.findIndex(I=>I.color==="light"),f=e.findIndex(I=>I.color==="dark");if(d===-1||f===-1)throw new re('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Ye(t[d][n],a[d])||"inherit",m=Ye(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function ja(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ja(e,o,n),codeToTokens:(o,n)=>za(e,o,n)}){let o=t;for(let m of Va(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=za(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=Vf(n):d==="never"&&(n=zf(n)),f&&(n=jf(n));let p={...r,get source(){return o}};for(let m of Va(a))n=m.tokens?.call(p,n)||n;return Wf(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function Wf(e,t,a,r=ta(e)){let o=Va(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,g]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=g);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:wi,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((I,g)=>{g&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
13
- `}));let L={type:"element",tagName:"span",properties:{class:"line"},children:[]},w=0;for(let h of I){let x={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=so(h.htmlStyle||Wa(h));S&&(x.properties.style=S);for(let b of o)x=b?.span?.call(p,x,g+1,w,L,h)||x;i==="inline"?s.children.push(x):i==="classic"&&L.children.push(x),w+=h.content.length}if(i==="classic"){for(let h of o)L=h?.line?.call(p,L,g+1)||L;f.push(L),n.push(L)}else i==="inline"&&f.push(L)}),i==="classic"){for(let I of o)d=I?.code?.call(p,d)||d;c.children.push(d);for(let I of o)c=I?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let I=[],g={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(I.push(g),g={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&g.children.push(h);I.push(g);let w={type:"element",tagName:"code",properties:{},children:I};for(let h of o)w=h?.code?.call(p,w)||w;s.children=[];for(let h=0;h<w.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=w.children[h];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let I of o)m=I?.root?.call(p,m)||m;return r&&Xa(m,r),m}function Vf(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&we.Underline||n.fontStyle&we.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function zf(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function jf(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=so(o.htmlStyle||Wa(o)),s=so(r.htmlStyle||Wa(r)),i=o.fontStyle&&(o.fontStyle&we.Underline||o.fontStyle&we.Strikethrough),l=r.fontStyle&&(r.fontStyle&we.Underline||r.fontStyle&we.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var $f=ro;function Xf(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ja(e,n,s),codeToTokens:(n,s)=>za(e,n,s)},o=$f(ja(e,t,a,r));for(let n of Va(a))o=n.postprocess?.call(r,o,a)||o;return o}var ci={light:"#333333",dark:"#bbbbbb"},fi={light:"#fffffe",dark:"#1e1e1e"},pi="__shiki_resolved";function ho(e){if(e?.[pi])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?ci.light:ci.dark),a||(a=t.type==="light"?fi.light:fi.dark),t.fg=r,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,pi,{enumerable:!1,writable:!1,value:!0}),t}async function Si(e){return Array.from(new Set((await Promise.all(e.filter(t=>!hi(t)).map(async t=>await mi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function yi(e){return(await Promise.all(e.map(async a=>gi(a)?null:ho(await mi(a))))).filter(a=>!!a)}var no=3,Kf=!1;function Qf(e,t=3){if(no&&!(typeof no=="number"&&t>no)){if(Kf)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Je=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function bi(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new Je(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var io=class extends Gs{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=ho(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=Xt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=bi(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Je(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},lo=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},ea=0;function Jf(e){ea+=1,e.warnings!==!1&&ea>=10&&ea%10===0&&console.warn(`[Shiki] ${ea} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Je("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(ho),o=new lo(e.engine,a),n=new io(o,r,a,e.langAlias),s;function i(h){return bi(h,e.langAlias)}function l(h){L();let x=n.getGrammar(typeof h=="string"?h:h.name);if(!x)throw new Je(`Language \`${h}\` not found, you may need to load it first`);return x}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};L();let x=n.getTheme(h);if(!x)throw new Je(`Theme \`${h}\` not found, you may need to load it first`);return x}function c(h){L();let x=u(h);s!==h&&(n.setTheme(x),s=h);let S=n.getColorMap();return{theme:x,colorMap:S}}function d(){return L(),n.getLoadedThemes()}function f(){return L(),n.getLoadedLanguages()}function p(...h){L(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Si(h))}function I(...h){L();for(let x of h.flat(1))n.loadTheme(x)}async function g(...h){return L(),I(await yi(h))}function L(){if(t)throw new Je("Shiki instance has been disposed")}function w(){t||(t=!0,n.dispose(),ea-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:g,loadThemeSync:I,dispose:w,[Symbol.dispose]:w}}async function Yf(e){e.engine||Qf("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([yi(e.themes||[]),Si(e.langs||[]),e.engine]);return Jf({...e,themes:t,langs:a,engine:r})}async function Zf(e){let t=await Yf(e);return{getLastGrammarState:(...a)=>_f(t,...a),codeToTokensBase:(a,r)=>po(t,a,r),codeToTokensWithThemes:(a,r)=>Ci(t,a,r),codeToTokens:(a,r)=>za(t,a,r),codeToHast:(a,r)=>ja(t,a,r),codeToHtml:(a,r)=>Xf(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ki(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,hi(d))return[];let f=t[d];if(!f)throw new re(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(gi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new re(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await Zf({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function ep(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function Ti(e,t){let a=ep(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var go=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-DFS2FCNO.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-FBR445XW.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-BMSTTQT4.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-OHP5YUT7.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-LJNKRWP5.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-KUYJX32Q.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-CPV3A4MM.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-XWCHWP6B.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-U57UBFBS.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-XNK5N5RZ.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-OEIJ72KK.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-FIH2DYBE.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],vi=Object.fromEntries(go.map(e=>[e.id,e.import])),Pi=Object.fromEntries(go.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),aa={...vi,...Pi};var tp=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],Ai=Object.fromEntries(tp.map(e=>[e.id,e.import]));var ra=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function ap(){return 2147483648}function rp(){return typeof performance<"u"?performance.now():Date.now()}var op=(e,t)=>e+(t-e%t)%t;async function np(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,I){r.HEAPU8.copyWithin(p,m,m+I)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let I=ap();if(p>I)return!1;for(let g=1;g<=4;g*=2){let L=m*(1+.2/g);L=Math.min(L,p+100663296);let w=Math.min(I,op(Math.max(p,L),65536));if(s(w))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,I=1024){let g=m+I,L=m;for(;p[L]&&!(L>=g);)++L;if(L-m>16&&p.buffer&&l)return l.decode(p.subarray(m,L));let w="";for(;m<L;){let h=p[m++];if(!(h&128)){w+=String.fromCharCode(h);continue}let x=p[m++]&63;if((h&224)===192){w+=String.fromCharCode((h&31)<<6|x);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|S:h=(h&7)<<18|x<<12|S<<6|p[m++]&63,h<65536)w+=String.fromCharCode(h);else{let b=h-65536;w+=String.fromCharCode(55296|b>>10,56320|b&1023)}}return w}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:rp,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var sp=Object.defineProperty,ip=(e,t,a)=>t in e?sp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,de=(e,t,a)=>ip(e,typeof t!="symbol"?t+"":t,a),me=null;function lp(e){throw new ra(e.UTF8ToString(e.getLastOnigError()))}var Qa=class e{constructor(t){de(this,"utf16Length"),de(this,"utf8Length"),de(this,"utf16Value"),de(this,"utf8Value"),de(this,"utf16OffsetToUtf8"),de(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},Ja=class qe{constructor(t){if(de(this,"id",++qe.LAST_ID),de(this,"_onigBinding"),de(this,"content"),de(this,"utf16Length"),de(this,"utf8Length"),de(this,"utf16OffsetToUtf8"),de(this,"utf8OffsetToUtf16"),de(this,"ptr"),!me)throw new ra("Must invoke loadWasm first.");this._onigBinding=me,this.content=t;let a=new Qa(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!qe._sharedPtrInUse?(qe._sharedPtr||(qe._sharedPtr=me.omalloc(1e4)),qe._sharedPtrInUse=!0,me.HEAPU8.set(a.utf8Value,qe._sharedPtr),this.ptr=qe._sharedPtr):this.ptr=a.createString(me)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===qe._sharedPtr?qe._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};de(Ja,"LAST_ID",0);de(Ja,"_sharedPtr",0);de(Ja,"_sharedPtrInUse",!1);var Ri=Ja,xo=class{constructor(t){if(de(this,"_onigBinding"),de(this,"_ptr"),!me)throw new ra("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new Qa(t[i]);a[i]=u.createString(me),r[i]=u.utf8Length}let o=me.omalloc(4*t.length);me.HEAPU32.set(a,o/4);let n=me.omalloc(4*t.length);me.HEAPU32.set(r,n/4);let s=me.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)me.ofree(a[i]);me.ofree(n),me.ofree(o),s===0&&lp(me),this._onigBinding=me,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Ri(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function up(e){return typeof e.instantiator=="function"}function dp(e){return typeof e.default=="function"}function cp(e){return typeof e.data<"u"}function fp(e){return typeof Response<"u"&&e instanceof Response}function pp(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var Ka;function mp(e){if(Ka)return Ka;async function t(){me=await np(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),up(r)?r=await r.instantiator(a):dp(r)?r=await r.default(a):(cp(r)&&(r=r.data),fp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await hp(r)(a):r=await gp(r)(a):pp(r)?r=await wo(r)(a):r instanceof WebAssembly.Module?r=await wo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await wo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Ka=t(),Ka}function wo(e){return t=>WebAssembly.instantiate(e,t)}function hp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function gp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Mi(e){return e&&await mp(e),{createScanner(t){return new xo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ri(t)}}}var Ya=ki({langs:aa,themes:Ai,engine:()=>Mi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:wp,codeToHast:xp,codeToTokens:Lp,codeToTokensBase:Ip,codeToTokensWithThemes:Cp,getSingletonHighlighter:Sp,getLastGrammarState:yp}=Ti(Ya,{guessEmbeddedLanguages:xi});var Fi=new Set(Object.keys(aa)),Lo=new Map,Io=new Map,bt=new Map,bp=(e,t)=>`${e}-${t[0]}-${t[1]}`,kp=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},Tp=(e,t)=>{let a=bp(e,t);if(Lo.has(a))return Lo.get(a);let r=Ya({themes:t,langs:[e]});return Lo.set(a,r),r};function vp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Fi.has(r)},getSupportedLanguages(){return Array.from(Fi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=kp(r,o,n);return Io.has(i)?Io.get(i):(s&&(bt.has(i)||bt.set(i,new Set),bt.get(i).add(s)),Tp(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Io.set(i,c);let d=bt.get(i);if(d){for(let f of d)f(c);bt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),bt.delete(i)}),null)}}}var Bi=vp();import{memo as Mp}from"react";import{useEffect as Pp,useRef as Za,useState as Ap}from"react";var Rp=5,Di=400;function Ei(e,t,a={}){let{msPerChar:r=Rp}=a,[o,n]=Ap(t?"":e),s=Za(e),i=Za(t?0:e.length),l=Za(0),u=Za(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Pp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Di&&(i.current=s.current.length-Di),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let I=Math.min(Math.floor(m/r),p.length-i.current);i.current+=I,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as er}from"react/jsx-runtime";var Co=({className:e,from:t,children:a,...r})=>er("div",{className:T("ww:group ww:flex ww:w-full",t==="user"?"is-user ww:ml-auto ww:max-w-[80%] ww:flex-col ww:items-end":"is-assistant ww:flex-col",e),...r,children:er("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),So=({children:e,className:t,...a})=>er("div",{className:T("ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden ww:text-base","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:rounded-lg ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:px-4 ww:group-[.is-user]:py-3 ww:group-[.is-user]:text-primary-foreground","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),Fp={cjk:Wr,code:Bi},Bp={cjk:Wr},Dp={enabled:!1};function Ep({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=Ei(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return er(Pt,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Dp,plugins:a?Bp:Fp,...o,children:i})}var tr=Mp(Ep,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);tr.displayName="MessageResponse";import{createContext as _p,useCallback as Np,useContext as Ui,useEffect as Op,useMemo as bo,useRef as Up,useState as ko}from"react";import{Fragment as Oi,jsx as X,jsxs as ct}from"react/jsx-runtime";function Hp(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function qp({text:e,className:t}){let{t:a}=q(),[r,o]=ko(!1),n=Up(null);Op(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Np(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return X(Me,{variant:"ghost",size:"sm",onClick:s,className:T("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?ct(Oi,{children:[X(Rt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copied})]}):ct(Oi,{children:[X(Ft,{className:"ww:size-3.5"}),X("span",{children:a.tool.copy})]})})}function Hi({data:e,label:t,className:a,...r}){let[o,n]=ko(!1),s=bo(()=>JSON.stringify(e,null,2),[e]),i=Hp(e);return ct("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ct("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[X("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),X(qp,{text:s})]}),ct("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[X(Mt,{className:T("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?X("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:X("code",{children:s})}):X("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var To=_p({open:!1,toggle:()=>{}});function qi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=ko(t);return X(To.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:X("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function Gi({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Ui(To),s=a==="input-available"||a==="input-streaming",i=t??"";return ct("button",{type:"button",onClick:n,className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[X(rt,{className:"ww:size-4 ww:shrink-0"}),X("span",{className:"ww:truncate",children:s?X(_e,{duration:1.6,children:i}):i}),X(je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Wi({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return X("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:X("span",{className:"ww:truncate",children:o?X(_e,{duration:1.6,children:n}):n})})}function Vi({className:e,children:t,...a}){let{open:r}=Ui(To);return X("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:X("div",{className:"ww:min-h-0 ww:overflow-hidden",children:X("div",{className:T("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function vo({className:e,input:t,debug:a,...r}){let{t:o}=q(),n=bo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return X(Hi,{data:n,label:o.tool.request,className:e,...r})}function yo(e){if(!(typeof e!="object"||e===null))return e}function zi(e){return yo(e?.ui)}function ji(e){return yo(yo(e)?._meta)}function _i(e){if(!e)return;let t=zi(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function Ni(e){return zi(e)?.autoHeight===!0}function oa(e,t,a){if(e){let r=_i(a?.[e]?._meta);if(r)return r}return _i(ji(t))}function $i(e,t,a){return e&&Ni(a?.[e]?._meta)?!0:Ni(ji(t))}function Po({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=q(),s=bo(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?ct("div",{className:T("ww:space-y-2",e),...o,children:[X("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),X("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):X(Hi,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Xi,jsxs as Gp}from"react/jsx-runtime";function Ki(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Qi(e){return e.parts.some(Ki)}function Ji(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!Ki(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Yi({className:e,...t}){let{t:a}=q();return Gp("div",{"aria-live":"polite",className:T("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[Xi(Ot,{className:"ww:size-4 ww:shrink-0"}),Xi(_e,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as Wp,useEffect as Ao,useMemo as Vp,useRef as ye,useState as el}from"react";function kt(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function Zi(e,t){return!kt(e)&&!kt(t)?null:kt(e)?kt(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as tm}from"react/jsx-runtime";var zp="/api/mcp/resource",jp=500,$p=0,Xp=16,Kp="2026-01-26",Qp=300,Jp=3e3,Yp=3;function Zp(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function em(e,t,a){return oa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Ro({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=zp,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=ye(null),I=ye(t),g=ye(a),L=ye({width:0,height:0}),w=ye(null),h=ye(!1),x=ye(0),S=ye("inline"),[b,k]=el($p),[v,D]=el(void 0),F=ye(l),O=ye(u),y=ye(c),A=ye(d),P=ye(o),M=ye(p);I.current=t,g.current=a,F.current=l,O.current=u,y.current=c,A.current=d,P.current=o,M.current=p;let _=Wp(U=>i?Math.max(U+Xp,0):Math.min(Math.max(U,50),jp),[i]),ae=Vp(()=>{let U=r.includes("?")?"&":"?";return`${r}${U}uri=${encodeURIComponent(e)}`},[r,e]),Z=ye(n);Z.current=n;let be=ye(f);return Ao(()=>{be.current=f,L.current.height=-1,w.current&&(w.current.cancel(),w.current=null)},[f]),Ao(()=>{if(!h.current)return;let U=m.current;U?.contentWindow&&U.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Ao(()=>{let U=m.current;if(!U)return;let ne=!1,he=!1,ke=null,le=null,W=setTimeout(()=>{if(ne||he||x.current>=Yp)return;x.current+=1;let ee=new URL(U.src);ee.searchParams.set("_retry",String(x.current)),U.src=ee.toString()},Jp),V=ee=>{U.contentWindow?.postMessage(ee,"*")},ie=ee=>{if(ne||ee.source!==U.contentWindow)return;let G=ee.data;if(!G||typeof G!="object"||G.jsonrpc!=="2.0")return;let K=G.method,te=G.id;if(K==="ui/initialize"&&te!=null){he=!0,clearTimeout(W),V({jsonrpc:"2.0",id:te,result:{protocolVersion:G.params?.protocolVersion??Kp,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Z.current?"dark":"light",displayMode:S.current}}});return}if(K==="ui/notifications/initialized"){h.current=!0;let j=I.current,$=g.current,H=$._meta&&typeof $._meta=="object"?$._meta:null,R=Zp(P.current),B=H&&typeof H.waniwani=="object"&&H.waniwani!==null?H.waniwani:null,Q=B||R?{...B??{},...R?{sessionId:R}:{}}:void 0,Ie=H||Q?{...H??{},...Q?{waniwani:Q}:{}}:void 0;V({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:j}});let Oe=$.content??[{type:"text",text:JSON.stringify($)}];V({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Oe,structuredContent:$.structuredContent,_meta:Ie,meta:Ie}});return}if(K==="ui/notifications/size-changed"){let j=G.params,$=typeof j?.height=="number"?j.height:void 0,H=typeof j?.width=="number"?j.width:void 0,R=L.current,B=$!==void 0&&$!==R.height,Q=H!==void 0&&H!==R.width;if(!B&&!Q)return;if(B&&$!==void 0){if(R.height=$,be.current)return;let Ie=_($),Oe=U.getBoundingClientRect().height;if(w.current&&(w.current.cancel(),w.current=null),k(Ie),U.animate&&Math.abs(Oe-Ie)>2){let De=U.animate([{height:`${Oe}px`},{height:`${Ie}px`}],{duration:Qp,easing:"ease-out",fill:"forwards"});w.current=De,De.onfinish=()=>{w.current===De&&(De.cancel(),w.current=null)}}}Q&&i&&H!==void 0&&(R.width=H,D(H));return}if(K==="ui/open-link"&&te!=null){let j=G.params?.url;typeof j=="string"&&(F.current?F.current(j):window.open(j,"_blank","noopener,noreferrer")),V({jsonrpc:"2.0",id:te,result:{}});return}if(K==="ui/message"&&te!=null){if(O.current&&G.params){let j=G.params,$=ke;if(ke=null,le){clearTimeout(le.timer);let H=le.text;le=null;let R=(j.content??[]).map(B=>B.text??"").join("").trim();j={...j,content:[{type:"text",text:`${R}
12
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ui(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=ma);let u=df(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!li(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!Zt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function df(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=cf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function cf(e,t,a){let r=fn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=We(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ga.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?mn:hn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=We(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ga.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Tr(a,s)>Tr(a,e.alternative)&&(s=e.alternative),i=s+We(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ga.single:Ga.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var ff=["<","&"];function Wa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:We(e.value,Object.assign({},r.settings.characterReferences,{subset:ff}))}function di(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Wa(e,t,a,r)}function ci(e,t,a,r){return r.all(e)}var fi=gn("type",{invalid:pf,unknown:mf,handlers:{comment:ri,doctype:oi,element:ui,raw:di,root:ci,text:Wa}});function pf(e){throw new Error("Expected node, not `"+e+"`")}function mf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var hf={},gf={},wf=[];function no(e,t){let a=t||hf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:xf,all:Lf,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||wn,characterReferences:a.characterReferences||gf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ma:pn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xf(e,t,a){return fi(e,t,a,this)}function Lf(e){let t=[],a=e&&e.children||wf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Va(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Qe(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function If(e){return Array.isArray(e)?e:[e]}async function Li(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function fo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ii(e){return e==="ansi"||fo(e)}function po(e){return e==="none"}function Ci(e){return po(e)}function Si(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function Ka(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function Cf(e){let t=Ka(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function yi(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var mo="light-dark()",Sf=["color","background-color"];function yf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function bf(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?yf(o,n):o})):e}function kf(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>za(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&Sf.includes(f))if(r===mo&&s.length>1){let m=t.findIndex(w=>w==="light"),S=t.findIndex(w=>w==="dark");if(m===-1||S===-1)throw new re('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let g=s[m][f]||"inherit",x=s[S][f]||"inherit";l[f]=`light-dark(${g}, ${x})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function za(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ce.Italic&&(t["font-style"]="italic"),e.fontStyle&Ce.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ce.Underline&&a.push("underline"),e.fontStyle&Ce.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function lo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var bi=new WeakMap;function Qa(e,t){bi.set(e,t)}function ta(e){return bi.get(e)}var St=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(If(a).map(r=>[r,Oa])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Tf(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Tf(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function vf(e,t){if(!(e instanceof St))throw new re("Invalid grammar state");return e.getInternalStack(t)}function Pf(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new re(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new re(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new re(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Cf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Af(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return bf(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new re(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],S="",g=-1,x=-1;if(d===0&&(g=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),g===-1||x===-1)for(let h=0;h<m.children.length;h++)S+=ki(m.children[h]),g===-1&&S.length===d&&(g=h+1),x===-1&&S.length===f&&(x=h+1);if(g===-1)throw new re(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new re(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let w=m.children.slice(g,x);if(!p.alwaysWrap&&w.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&w.length===1&&w[0].type==="element")i(w[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:w};i(h,p,"wrapper"),m.children.splice(g,w.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(S=>S);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Si(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function Af(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new re(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new re(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function ki(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(ki).join(""):""}var Rf=[Pf()];function ja(e){let t=Mf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Rf]}function Mf(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var lt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],so={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Ff(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function pi(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Bf(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)so[r]&&t.push({type:"setDecoration",value:so[r]});else if(r<=29){let o=so[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:lt[r-30]}});else if(r===38){let o=pi(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:lt[r-40]}});else if(r===48){let o=pi(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:lt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:lt[r-100+8]}})}return t}function Df(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Ff(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Bf(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var Ef={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function _f(e=Ef){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let r;function o(){if(r)return r;r=[];for(let u=0;u<lt.length;u++)r.push(t(lt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var Nf={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function Of(e,t,a){let r=Va(e,a),o=Ka(t),n=Object.fromEntries(lt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||Nf[l]]})),s=_f(n),i=Df();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=Qe(c,r),d=Qe(d,r),u.decorations.has("dim")&&(c=Uf(c));let f=Ce.None;return u.decorations.has("bold")&&(f|=Ce.Bold),u.decorations.has("italic")&&(f|=Ce.Italic),u.decorations.has("underline")&&(f|=Ce.Underline),u.decorations.has("strikethrough")&&(f|=Ce.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function Uf(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function ho(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(fo(o)||po(r))return Ka(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Of(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new re(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new re(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return qf(t,i,n,s,a)}function Hf(...e){if(e.length===2)return ta(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(fo(o)||po(n))throw new re("Plain language does not have grammar state");if(o==="ansi")throw new re("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new St(go(a,l,s,i,r).stateStack,l.name,s.name)}function qf(e,t,a,r,o){let n=go(e,t,a,r,o),s=new St(n.stateStack,t.name,a.name);return Qa(n.tokens,s),n.tokens}function go(e,t,a,r,o){let n=Va(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Ka(e),u=o.grammarState?vf(o.grammarState,a.name)??Oa:o.grammarContextCode!=null?go(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Oa,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,S]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:S,color:"",fontStyle:0}]);continue}let g,x,w;o.includeExplanation&&(g=t.tokenizeLine(m,u,i),x=g.tokens,w=0);let h=t.tokenizeLine2(m,u,i),C=h.tokens.length/2;for(let I=0;I<C;I++){let b=h.tokens[2*I],v=I+1<C?h.tokens[2*I+2]:m.length;if(b===v)continue;let P=h.tokens[2*I+1],A=Qe(r[it.getForeground(P)],n),M=it.getFontStyle(P),B={content:m.substring(b,v),offset:S+b,color:A,fontStyle:M};if(o.includeExplanation){let T=[];if(o.includeExplanation!=="scopeName")for(let X of a.settings){let L;switch(typeof X.scope){case"string":L=X.scope.split(/,/).map(E=>E.trim());break;case"object":L=X.scope;break;default:continue}T.push({settings:X,selectors:L.map(E=>E.split(/ /))})}B.explanation=[];let $=0;for(;b+$<v;){let X=x[w],L=m.substring(X.startIndex,X.endIndex);$+=L.length,B.explanation.push({content:L,scopes:o.includeExplanation==="scopeName"?Gf(X.scopes):Wf(T,X.scopes)}),w+=1}}c.push(B)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Gf(e){return e.map(t=>({scopeName:t}))}function Wf(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:zf(e,n,t.slice(0,r))}}return a}function mi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Vf(e,t,a){if(!mi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)mi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function zf(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Vf(s,t,a)){r.push(n);break}return r}function Ti(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=ho(e,t,{...a,theme:l.theme}),c=ta(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=jf(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:S,explanation:g,offset:x,...w}=p[u][d];f.variants[r[m].color]=w}),f})),i=o[0].state?new St(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Qa(s,i),s}function jf(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function $a(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,w)=>x.color===u?-1:w.color===u?1:0);if(f.length===0)throw new re("`themes` option must not be empty");let p=Ti(e,t,a);if(l=ta(p),u&&mo!==u&&!f.find(x=>x.color===u))throw new re(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),S=f.map(x=>x.color);n=p.map(x=>x.map(w=>kf(w,S,c,u,d))),l&&Qa(n,l);let g=f.map(x=>Va(x.theme,a));o=hi(f,m,g,c,u,"fg",d),r=hi(f,m,g,c,u,"bg",d),s=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Va(a.theme,a);n=ho(e,t,a);let c=e.getTheme(a.theme);r=Qe(c.bg,u),o=Qe(c.fg,u),s=c.name,l=ta(n)}else throw new re("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function hi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Qe(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===mo&&e.length>1){let d=e.findIndex(S=>S.color==="light"),f=e.findIndex(S=>S.color==="dark");if(d===-1||f===-1)throw new re('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Qe(t[d][n],a[d])||"inherit",m=Qe(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Xa(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Xa(e,o,n),codeToTokens:(o,n)=>$a(e,o,n)}){let o=t;for(let m of ja(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=$a(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=Xf(n):d==="never"&&(n=Kf(n)),f&&(n=Qf(n));let p={...r,get source(){return o}};for(let m of ja(a))n=m.tokens?.call(p,n)||n;return $f(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function $f(e,t,a,r=ta(e)){let o=ja(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[S,g]of Object.entries(t.meta||{}))S.startsWith("_")||(u[S]=g);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Si,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((S,g)=>{g&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
13
+ `}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},w=0;for(let h of S){let C={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},I=lo(h.htmlStyle||za(h));I&&(C.properties.style=I);for(let b of o)C=b?.span?.call(p,C,g+1,w,x,h)||C;i==="inline"?s.children.push(C):i==="classic"&&x.children.push(C),w+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,g+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let S of o)d=S?.code?.call(p,d)||d;c.children.push(d);for(let S of o)c=S?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let S=[],g={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(S.push(g),g={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&g.children.push(h);S.push(g);let w={type:"element",tagName:"code",properties:{},children:S};for(let h of o)w=h?.code?.call(p,w)||w;s.children=[];for(let h=0;h<w.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let C=w.children[h];C.type==="element"&&s.children.push(...C.children)}}let m=s;for(let S of o)m=S?.root?.call(p,m)||m;return r&&Qa(m,r),m}function Xf(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ce.Underline||n.fontStyle&Ce.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function Kf(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function Qf(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=lo(o.htmlStyle||za(o)),s=lo(r.htmlStyle||za(r)),i=o.fontStyle&&(o.fontStyle&Ce.Underline||o.fontStyle&Ce.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ce.Underline||r.fontStyle&Ce.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Jf=no;function Yf(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Xa(e,n,s),codeToTokens:(n,s)=>$a(e,n,s)},o=Jf(Xa(e,t,a,r));for(let n of ja(a))o=n.postprocess?.call(r,o,a)||o;return o}var gi={light:"#333333",dark:"#bbbbbb"},wi={light:"#fffffe",dark:"#1e1e1e"},xi="__shiki_resolved";function wo(e){if(e?.[xi])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?gi.light:gi.dark),a||(a=t.type==="light"?wi.light:wi.dark),t.fg=r,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,xi,{enumerable:!1,writable:!1,value:!0}),t}async function vi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ii(t)).map(async t=>await Li(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Pi(e){return(await Promise.all(e.map(async a=>Ci(a)?null:wo(await Li(a))))).filter(a=>!!a)}var io=3,Zf=!1;function ep(e,t=3){if(io&&!(typeof io=="number"&&t>io)){if(Zf)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Ke=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Ai(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new Ke(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var uo=class extends $s{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=wo(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=Xt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Ai(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Ke(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},co=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},ea=0;function tp(e){ea+=1,e.warnings!==!1&&ea>=10&&ea%10===0&&console.warn(`[Shiki] ${ea} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Ke("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(wo),o=new co(e.engine,a),n=new uo(o,r,a,e.langAlias),s;function i(h){return Ai(h,e.langAlias)}function l(h){x();let C=n.getGrammar(typeof h=="string"?h:h.name);if(!C)throw new Ke(`Language \`${h}\` not found, you may need to load it first`);return C}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let C=n.getTheme(h);if(!C)throw new Ke(`Theme \`${h}\` not found, you may need to load it first`);return C}function c(h){x();let C=u(h);s!==h&&(n.setTheme(C),s=h);let I=n.getColorMap();return{theme:C,colorMap:I}}function d(){return x(),n.getLoadedThemes()}function f(){return x(),n.getLoadedLanguages()}function p(...h){x(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await vi(h))}function S(...h){x();for(let C of h.flat(1))n.loadTheme(C)}async function g(...h){return x(),S(await Pi(h))}function x(){if(t)throw new Ke("Shiki instance has been disposed")}function w(){t||(t=!0,n.dispose(),ea-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:g,loadThemeSync:S,dispose:w,[Symbol.dispose]:w}}async function ap(e){e.engine||ep("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Pi(e.themes||[]),vi(e.langs||[]),e.engine]);return tp({...e,themes:t,langs:a,engine:r})}async function rp(e){let t=await ap(e);return{getLastGrammarState:(...a)=>Hf(t,...a),codeToTokensBase:(a,r)=>ho(t,a,r),codeToTokensWithThemes:(a,r)=>Ti(t,a,r),codeToTokens:(a,r)=>$a(t,a,r),codeToHast:(a,r)=>Xa(t,a,r),codeToHtml:(a,r)=>Yf(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Ri(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Ii(d))return[];let f=t[d];if(!f)throw new re(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(Ci(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new re(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await rp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function op(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function Mi(e,t){let a=op(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var xo=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-DFS2FCNO.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-FBR445XW.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-BMSTTQT4.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-OHP5YUT7.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-LJNKRWP5.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-KUYJX32Q.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-CPV3A4MM.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-XWCHWP6B.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-U57UBFBS.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-XNK5N5RZ.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-OEIJ72KK.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-FIH2DYBE.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],Fi=Object.fromEntries(xo.map(e=>[e.id,e.import])),Bi=Object.fromEntries(xo.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),aa={...Fi,...Bi};var np=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],Di=Object.fromEntries(np.map(e=>[e.id,e.import]));var ra=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function sp(){return 2147483648}function ip(){return typeof performance<"u"?performance.now():Date.now()}var lp=(e,t)=>e+(t-e%t)%t;async function up(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,S){r.HEAPU8.copyWithin(p,m,m+S)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let S=sp();if(p>S)return!1;for(let g=1;g<=4;g*=2){let x=m*(1+.2/g);x=Math.min(x,p+100663296);let w=Math.min(S,lp(Math.max(p,x),65536));if(s(w))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,S=1024){let g=m+S,x=m;for(;p[x]&&!(x>=g);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let w="";for(;m<x;){let h=p[m++];if(!(h&128)){w+=String.fromCharCode(h);continue}let C=p[m++]&63;if((h&224)===192){w+=String.fromCharCode((h&31)<<6|C);continue}let I=p[m++]&63;if((h&240)===224?h=(h&15)<<12|C<<6|I:h=(h&7)<<18|C<<12|I<<6|p[m++]&63,h<65536)w+=String.fromCharCode(h);else{let b=h-65536;w+=String.fromCharCode(55296|b>>10,56320|b&1023)}}return w}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:ip,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var dp=Object.defineProperty,cp=(e,t,a)=>t in e?dp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,me=(e,t,a)=>cp(e,typeof t!="symbol"?t+"":t,a),xe=null;function fp(e){throw new ra(e.UTF8ToString(e.getLastOnigError()))}var Ya=class e{constructor(t){me(this,"utf16Length"),me(this,"utf8Length"),me(this,"utf16Value"),me(this,"utf8Value"),me(this,"utf16OffsetToUtf8"),me(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},Za=class He{constructor(t){if(me(this,"id",++He.LAST_ID),me(this,"_onigBinding"),me(this,"content"),me(this,"utf16Length"),me(this,"utf8Length"),me(this,"utf16OffsetToUtf8"),me(this,"utf8OffsetToUtf16"),me(this,"ptr"),!xe)throw new ra("Must invoke loadWasm first.");this._onigBinding=xe,this.content=t;let a=new Ya(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!He._sharedPtrInUse?(He._sharedPtr||(He._sharedPtr=xe.omalloc(1e4)),He._sharedPtrInUse=!0,xe.HEAPU8.set(a.utf8Value,He._sharedPtr),this.ptr=He._sharedPtr):this.ptr=a.createString(xe)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===He._sharedPtr?He._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};me(Za,"LAST_ID",0);me(Za,"_sharedPtr",0);me(Za,"_sharedPtrInUse",!1);var Ei=Za,Io=class{constructor(t){if(me(this,"_onigBinding"),me(this,"_ptr"),!xe)throw new ra("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new Ya(t[i]);a[i]=u.createString(xe),r[i]=u.utf8Length}let o=xe.omalloc(4*t.length);xe.HEAPU32.set(a,o/4);let n=xe.omalloc(4*t.length);xe.HEAPU32.set(r,n/4);let s=xe.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)xe.ofree(a[i]);xe.ofree(n),xe.ofree(o),s===0&&fp(xe),this._onigBinding=xe,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Ei(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function pp(e){return typeof e.instantiator=="function"}function mp(e){return typeof e.default=="function"}function hp(e){return typeof e.data<"u"}function gp(e){return typeof Response<"u"&&e instanceof Response}function wp(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var Ja;function xp(e){if(Ja)return Ja;async function t(){xe=await up(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),pp(r)?r=await r.instantiator(a):mp(r)?r=await r.default(a):(hp(r)&&(r=r.data),gp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Lp(r)(a):r=await Ip(r)(a):wp(r)?r=await Lo(r)(a):r instanceof WebAssembly.Module?r=await Lo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Lo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Ja=t(),Ja}function Lo(e){return t=>WebAssembly.instantiate(e,t)}function Lp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Ip(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function _i(e){return e&&await xp(e),{createScanner(t){return new Io(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ei(t)}}}var er=Ri({langs:aa,themes:Di,engine:()=>_i(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Cp,codeToHast:Sp,codeToTokens:yp,codeToTokensBase:bp,codeToTokensWithThemes:kp,getSingletonHighlighter:Tp,getLastGrammarState:vp}=Mi(er,{guessEmbeddedLanguages:yi});var Ni=new Set(Object.keys(aa)),Co=new Map,So=new Map,yt=new Map,Pp=(e,t)=>`${e}-${t[0]}-${t[1]}`,Ap=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},Rp=(e,t)=>{let a=Pp(e,t);if(Co.has(a))return Co.get(a);let r=er({themes:t,langs:[e]});return Co.set(a,r),r};function Mp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Ni.has(r)},getSupportedLanguages(){return Array.from(Ni)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Ap(r,o,n);return So.has(i)?So.get(i):(s&&(yt.has(i)||yt.set(i,new Set),yt.get(i).add(s)),Rp(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});So.set(i,c);let d=yt.get(i);if(d){for(let f of d)f(c);yt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),yt.delete(i)}),null)}}}var Oi=Mp();import{memo as Ep}from"react";import{useEffect as Fp,useRef as tr,useState as Bp}from"react";var Dp=5,Ui=400;function Hi(e,t,a={}){let{msPerChar:r=Dp}=a,[o,n]=Bp(t?"":e),s=tr(e),i=tr(t?0:e.length),l=tr(0),u=tr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Fp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Ui&&(i.current=s.current.length-Ui),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let S=Math.min(Math.floor(m/r),p.length-i.current);i.current+=S,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as ar}from"react/jsx-runtime";var yo=({className:e,from:t,children:a,...r})=>ar("div",{className:k("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:ar("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),bo=({children:e,className:t,...a})=>ar("div",{className:k("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),_p={cjk:zr,code:Oi},Np={cjk:zr},Op={enabled:!1};function Up({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=Hi(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ar(Pt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Op,plugins:a?Np:_p,...o,children:i})}var rr=Ep(Up,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);rr.displayName="MessageResponse";import{createContext as Hp,useCallback as qp,useContext as Vi,useEffect as Gp,useMemo as To,useRef as Wp,useState as vo}from"react";import{Fragment as Wi,jsx as J,jsxs as ut}from"react/jsx-runtime";function Vp(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function zp({text:e,className:t}){let{t:a}=U(),[r,o]=vo(!1),n=Wp(null);Gp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=qp(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return J(Fe,{variant:"ghost",size:"sm",onClick:s,className:k("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?ut(Wi,{children:[J(Rt,{className:"ww:size-3.5"}),J("span",{children:a.tool.copied})]}):ut(Wi,{children:[J(Ft,{className:"ww:size-3.5"}),J("span",{children:a.tool.copy})]})})}function zi({data:e,label:t,className:a,...r}){let[o,n]=vo(!1),s=To(()=>JSON.stringify(e,null,2),[e]),i=Vp(e);return ut("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ut("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[J("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),J(zp,{text:s})]}),ut("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[J(Mt,{className:k("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?J("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:J("code",{children:s})}):J("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Po=Hp({open:!1,toggle:()=>{}});function ji({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=vo(t);return J(Po.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:J("div",{className:k("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function $i({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Vi(Po),s=a==="input-available"||a==="input-streaming",i=t??"";return ut("button",{type:"button",onClick:n,className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[J(tt,{className:"ww:size-4 ww:shrink-0"}),J("span",{className:"ww:truncate",children:s?J(_e,{duration:1.6,children:i}):i}),J(Ve,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Xi({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return J("div",{className:k("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:J("span",{className:"ww:truncate",children:o?J(_e,{duration:1.6,children:n}):n})})}function Ki({className:e,children:t,...a}){let{open:r}=Vi(Po);return J("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:k("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Ao({className:e,input:t,debug:a,...r}){let{t:o}=U(),n=To(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return J(zi,{data:n,label:o.tool.request,className:e,...r})}function ko(e){if(!(typeof e!="object"||e===null))return e}function Qi(e){return ko(e?.ui)}function Ji(e){return ko(ko(e)?._meta)}function qi(e){if(!e)return;let t=Qi(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function Gi(e){return Qi(e)?.autoHeight===!0}function oa(e,t,a){if(e){let r=qi(a?.[e]?._meta);if(r)return r}return qi(Ji(t))}function Yi(e,t,a){return e&&Gi(a?.[e]?._meta)?!0:Gi(Ji(t))}function Ro({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=U(),s=To(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?ut("div",{className:k("ww:space-y-2",e),...o,children:[J("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),J("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):J(zi,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Zi,jsxs as jp}from"react/jsx-runtime";function el(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function tl(e){return e.parts.some(el)}function al(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!el(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function rl({className:e,...t}){let{t:a}=U();return jp("div",{"aria-live":"polite",className:k("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[Zi(Ot,{className:"ww:size-4 ww:shrink-0"}),Zi(_e,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as $p,useEffect as Mo,useMemo as Xp,useRef as ke,useState as nl}from"react";function bt(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function ol(e,t){return!bt(e)&&!bt(t)?null:bt(e)?bt(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as nm}from"react/jsx-runtime";var Kp="/api/mcp/resource",Qp=500,Jp=0,Yp=16,Zp="2026-01-26",em=300,tm=3e3,am=3;function rm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function om(e,t,a){return oa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Fo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Kp,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=ke(null),S=ke(t),g=ke(a),x=ke({width:0,height:0}),w=ke(null),h=ke(!1),C=ke(0),I=ke("inline"),[b,v]=nl(Jp),[P,A]=nl(void 0),M=ke(l),B=ke(u),T=ke(c),$=ke(d),X=ke(o),L=ke(p);S.current=t,g.current=a,M.current=l,B.current=u,T.current=c,$.current=d,X.current=o,L.current=p;let E=$p(N=>i?Math.max(N+Yp,0):Math.min(Math.max(N,50),Qp),[i]),D=Xp(()=>{let N=r.includes("?")?"&":"?";return`${r}${N}uri=${encodeURIComponent(e)}`},[r,e]),ne=ke(n);ne.current=n;let ie=ke(f);return Mo(()=>{ie.current=f,x.current.height=-1,w.current&&(w.current.cancel(),w.current=null)},[f]),Mo(()=>{if(!h.current)return;let N=m.current;N?.contentWindow&&N.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Mo(()=>{let N=m.current;if(!N)return;let le=!1,Le=!1,Te=null,se=null,W=setTimeout(()=>{if(le||Le||C.current>=am)return;C.current+=1;let fe=new URL(N.src);fe.searchParams.set("_retry",String(C.current)),N.src=fe.toString()},tm),H=fe=>{N.contentWindow?.postMessage(fe,"*")},ue=fe=>{if(le||fe.source!==N.contentWindow)return;let j=fe.data;if(!j||typeof j!="object"||j.jsonrpc!=="2.0")return;let K=j.method,z=j.id;if(K==="ui/initialize"&&z!=null){Le=!0,clearTimeout(W),H({jsonrpc:"2.0",id:z,result:{protocolVersion:j.params?.protocolVersion??Zp,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ne.current?"dark":"light",displayMode:I.current}}});return}if(K==="ui/notifications/initialized"){h.current=!0;let G=S.current,Q=g.current,O=Q._meta&&typeof Q._meta=="object"?Q._meta:null,Y=rm(X.current),te=O&&typeof O.waniwani=="object"&&O.waniwani!==null?O.waniwani:null,R=te||Y?{...te??{},...Y?{sessionId:Y}:{}}:void 0,q=O||R?{...O??{},...R?{waniwani:R}:{}}:void 0;H({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:G}});let pe=Q.content??[{type:"text",text:JSON.stringify(Q)}];H({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:pe,structuredContent:Q.structuredContent,_meta:q,meta:q}});return}if(K==="ui/notifications/size-changed"){let G=j.params,Q=typeof G?.height=="number"?G.height:void 0,O=typeof G?.width=="number"?G.width:void 0,Y=x.current,te=Q!==void 0&&Q!==Y.height,R=O!==void 0&&O!==Y.width;if(!te&&!R)return;if(te&&Q!==void 0){if(Y.height=Q,ie.current)return;let q=E(Q),pe=N.getBoundingClientRect().height;if(w.current&&(w.current.cancel(),w.current=null),v(q),N.animate&&Math.abs(pe-q)>2){let ve=N.animate([{height:`${pe}px`},{height:`${q}px`}],{duration:em,easing:"ease-out",fill:"forwards"});w.current=ve,ve.onfinish=()=>{w.current===ve&&(ve.cancel(),w.current=null)}}}R&&i&&O!==void 0&&(Y.width=O,A(O));return}if(K==="ui/open-link"&&z!=null){let G=j.params?.url;typeof G=="string"&&(M.current?M.current(G):window.open(G,"_blank","noopener,noreferrer")),H({jsonrpc:"2.0",id:z,result:{}});return}if(K==="ui/message"&&z!=null){if(B.current&&j.params){let G=j.params,Q=Te;if(Te=null,se){clearTimeout(se.timer);let O=se.text;se=null;let Y=(G.content??[]).map(te=>te.text??"").join("").trim();G={...G,content:[{type:"text",text:`${Y}
14
14
 
15
- ${H}`}]}}O.current({...j,...$?{modelContext:$}:{}})}V({jsonrpc:"2.0",id:te,result:{}});return}if(K==="ui/update-model-context"&&te!=null){ke=Zi(ke,G.params),V({jsonrpc:"2.0",id:te,result:{}});return}if(K==="tools/call"&&te!=null){let j=y.current;if(!j){V({jsonrpc:"2.0",id:te,error:{code:-32601,message:"tools/call not supported"}});return}let $=G.params?.name;j({name:$,arguments:G.params?.arguments??{}}).then(H=>{V({jsonrpc:"2.0",id:te,result:H});let R=H.content?.map(B=>B.text??"").join("").trim();R&&em($,H,M.current)&&(le&&clearTimeout(le.timer),le={text:R,timer:setTimeout(()=>{if(ne)return;let B=ke;ke=null,le=null,O.current?.({role:"user",content:[{type:"text",text:R}],...B?{modelContext:B}:{}})},500)})}).catch(H=>{let R=H instanceof Error?H.message:"Tool call failed";V({jsonrpc:"2.0",id:te,error:{code:-32e3,message:R}})});return}if(K==="ui/request-display-mode"&&te!=null){let j=G.params?.mode,$=j==="fullscreen"||j==="inline"||j==="pip"?j:"inline";S.current=$,V({jsonrpc:"2.0",id:te,result:{mode:$}}),V({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:$}}),A.current?.($);return}if(K==="ui/resource-teardown"&&te!=null){V({jsonrpc:"2.0",id:te,result:{}});return}K==="ping"&&te!=null&&V({jsonrpc:"2.0",id:te,result:{}})};return window.addEventListener("message",ie),()=>{ne=!0,clearTimeout(W),le&&clearTimeout(le.timer),window.removeEventListener("message",ie)}},[i,_]),tm("iframe",{ref:m,src:ae,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":b,minWidth:f||!v?void 0:`min(${v}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as na,jsxs as am}from"react/jsx-runtime";function tl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return am("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&na("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),na("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&na("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&na("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>na("button",{type:"button",onClick:()=>o?.(n),className:T("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as rm}from"react";import{jsx as Mo,jsxs as nm}from"react/jsx-runtime";function om({onRetry:e}){let{t}=q();return nm("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Mo("span",{children:t.widgetErrorBoundary.failedToLoad}),Mo("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var ar=class extends rm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Mo(om,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as sm,jsx as Y,jsxs as Ze}from"react/jsx-runtime";function Fo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function al(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Dt:rt}function rr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m}){let{t:I}=q(),g=e[e.length-1],L=e.length>0,w=d!=null,h=!w&&Ji(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Ze(sm,{children:[!w&&(!L&&r?Y(tl,{...r,onSuggestionSelect:o}):a&&Y(Co,{from:"assistant",children:Y(So,{children:Y(tr,{children:a})})})),e.map(x=>{let S=x.parts.filter(P=>P.type==="text"),b=x.parts.filter(P=>P.type==="reasoning"),k=x.parts.filter(P=>P.type==="file"),v=x.parts.filter(P=>"toolCallId"in P),D=x.parts.filter(P=>P.type==="reasoning"||"toolCallId"in P),F=x===g&&x.role==="assistant",O=S.length>0,y=w?v.some(P=>P.toolCallId===d):!1,A=p!==!1&&!y&&D.length>=2;return w&&!y?Y("div",{style:{display:"none"}},x.id):x.role==="assistant"&&!Qi(x)?Y("div",{style:{display:"none"}},x.id):p===!1&&x.role==="assistant"&&!O&&k.length===0&&v.every(P=>{let M="output"in P?P.output:void 0;return M===void 0||!n||!oa(P.toolName,M,m)})?Y("div",{style:{display:"none"}},x.id):Ze(Co,{from:x.role,children:[p!==!1&&!y&&!A&&b.map((P,M)=>Ze(Gt,{isStreaming:P.state==="streaming",children:[Y(Wt,{}),Y(Vt,{children:P.text})]},`reasoning-${x.id}-${M}`)),A&&(()=>{let P=D[D.length-1],M=P.type==="reasoning"?{icon:We,label:I.reasoning.thinking}:{icon:al(P.toolName),label:P.title??Fo(P.toolName)};return Ze(Zn,{isWorking:F&&(t==="streaming"||t==="submitted"),activeStep:M,children:[Y(es,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Y(ts,{children:D.map((_,ae)=>{let Z=ae===D.length-1;if(_.type==="reasoning")return Y(rs,{isStreaming:_.state==="streaming",isLast:Z,children:_.text},`reasoning-${x.id}-${ae}`);let be=_.title??Fo(_.toolName),U=al(_.toolName);if(p==="titles-only")return Y(Hr,{icon:U,title:be,state:_.state,isLast:Z},_.toolCallId);let ne="output"in _?_.output:void 0;return Ze(Hr,{icon:U,title:be,state:_.state,isLast:Z,children:[Y(vo,{input:_.input,debug:f}),ne!==void 0&&Y(Po,{output:ne,errorText:"errorText"in _?_.errorText:void 0,debug:f})]},_.toolCallId)})})]})})(),p!==!1&&!y&&!A&&v.length===1&&(()=>{let P=v[0],M=P.title??Fo(P.toolName);if(p==="titles-only")return Y(Wi,{title:M,state:P.state});let _="output"in P?P.output:void 0;return Ze(qi,{children:[Y(Gi,{title:M,state:P.state}),Ze(Vi,{children:[Y(vo,{input:P.input,debug:f}),_!==void 0&&Y(Po,{output:_,errorText:"errorText"in P?P.errorText:void 0,debug:f})]})]})})(),v.map(P=>{let M="output"in P?P.output:void 0,_=oa(P.toolName,M,m),ae=$i(P.toolName,M,m),Z=P.toolCallId===d;return _&&n&&M!==void 0?Y("div",{style:Z?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:_&&n&&M!==void 0&&Y(ar,{children:Y(Ro,{isFullscreen:Z,resourceUri:_,toolInput:P.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:ae,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?be=>c(be,{toolCallId:P.toolCallId,resourceUri:_,toolInput:P.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},autoHeight:ae}):void 0})})},P.toolCallId):null}),!y&&Y("div",{children:Ze(So,{children:[k.length>0&&Y($n,{files:k}),O?S.map((P,M)=>{let _=F&&t==="streaming"&&M===S.length-1;return Y(tr,{isStreaming:_,children:P.type==="text"?P.text:""},`${x.id}-${M}`)}):null]})})]},x.id)}),h&&Y(Yi,{})]})}import{jsx as rl,jsxs as um}from"react/jsx-runtime";var im="https://app.waniwani.ai/assets/waniwani-logo.svg",lm="https://waniwani.ai";function or(){let{t:e}=q();return um("a",{href:lm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[rl("span",{children:e.poweredBy.label}),rl("img",{src:im,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as nr}from"react/jsx-runtime";function sr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:nr("div",{className:T("ww:px-4 ww:py-2",r),...o,children:nr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>nr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>nr("button",{type:"button",onClick:()=>a(n),className:T("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as dm,useRef as cm,useState as fm}from"react";import{jsx as oe,jsxs as ft}from"react/jsx-runtime";var ol=20;function pm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),oe("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function mm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),oe("polyline",{points:"3 4 3 9 8 9"}),oe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),oe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function hm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("polyline",{points:"3 6 5 6 21 6"}),oe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),oe("path",{d:"M10 11v6"}),oe("path",{d:"M14 11v6"})]})}function ir({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=q(),[i,l]=fm(!1),u=cm(null);dm(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,ol),d=Math.max(0,e.length-ol);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[oe("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(pm,{label:s.threadMenu.newChat})}),oe("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(mm,{label:s.threadMenu.threadHistory})}),i&&ft("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&oe("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return ft("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[ft("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[oe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),oe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Br(m,n)})]}),oe("button",{type:"button",onClick:I=>{I.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:oe(hm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&oe("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as gm,useRef as wm}from"react";function lr(e){let t=wm(e);return t.current=e,gm(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as Dm}from"@ai-sdk/react";import{useCallback as xe,useEffect as Be,useRef as ce,useState as mt}from"react";function et(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as xm,uiMessageChunkSchema as Lm}from"ai";function Im(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var ur=class extends xm{processResponseStream(t){let a="",r=Lm(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
16
- `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=Im(f.error);if(p?.length){let m={...d};for(let g of p)delete m[g];let I=await o(m);I.success&&s.enqueue(I.value)}}catch{}}}}))}};var Cm="waniwani-memory";var Pe="threads",dr="by_memoryUserId",Sm="by_updatedAt";var sl="memoryUserId",nl="waniwani-memory-user-id",Bo=null;function Do(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function ym(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Pe)){let a=e.createObjectStore(Pe,{keyPath:"threadId"});a.createIndex(dr,"memoryUserId",{unique:!1}),a.createIndex(Sm,"updatedAt",{unique:!1})}}async function Eo(){return new Promise((e,t)=>{let a=indexedDB.open(Cm,2);a.onupgradeneeded=r=>{ym(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function bm(){return Eo()}async function km(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(sl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Tm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,sl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function vm(){if(typeof indexedDB>"u")return null;try{let e=await bm();try{let t=await km(e);if(t)return t;let a=Do();return await Tm(e,a),a}finally{e.close()}}catch{return null}}function Pm(){try{let e=localStorage.getItem(nl);if(e)return e;let t=Do();return localStorage.setItem(nl,t),t}catch{return null}}async function il(){let e=await vm();if(e)return e;let t=Pm();return t||(Bo||(Bo=Do()),Bo)}var ll=50,ul=1e3;function cr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function fr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Eo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function _o(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function No(e){return await fr(async a=>{let n=a.transaction(Pe,"readonly").objectStore(Pe).index(dr),i=(await _o(n.getAll(e))??[]).filter(cr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function pr(e){return await fr(async a=>{let o=a.transaction(Pe,"readonly").objectStore(Pe),n=await _o(o.get(e));return cr(n)?n:null})??null}async function Oo(e){if(!cr(e))return;let t=e.messages.length>ul?{...e,messages:e.messages.slice(e.messages.length-ul)}:e;await fr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Pe,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Pe).put(t)});let r=a.transaction(Pe,"readwrite"),o=r.objectStore(Pe),n=o.index(dr),i=(await _o(n.getAll(t.memoryUserId))??[]).filter(cr);if(i.length>ll){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-ll);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function dl(e){await fr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Pe,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Pe).delete(e)}),null))}async function Uo(e){return(await No(e))[0]?.threadId??null}function cl(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var fl="waniwani-visitor-id";function pl(e,t){return e.match(t)?.[1]??null}function Am(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,r]of t){let o=pl(e,r);if(o)return{name:a,version:o}}return null}function Rm(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,r]of t){let o=pl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function Mm(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function Fm(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(r=>r.toString(16).padStart(2,"0")).join("")}async function Bm(){try{let a=localStorage.getItem(fl);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await Fm(e);try{localStorage.setItem(fl,t)}catch{}return t}async function pt(){let e=navigator.userAgent,[t,a]=await Promise.all([Bm(),il()]);return{userAgent:e,browser:Am(e),os:Rm(e),deviceType:Mm(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var Em="x-session-id",_m=250;function ml(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Ht()}function mr(){return new Date().toISOString()}function hl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Nm(e,t){let a=et(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function hr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=ce(a),c=ce(r),d=ce(s);Be(()=>{d.current=s},[s]);let f=ce(void 0),p=ce(null),[m,I]=mt(void 0),g=ce(m),[L,w]=mt(i),h=ce(L),[x,S]=mt([]),[b,k]=mt(!s),v=ce(void 0),D=ce(void 0),F=ce(void 0),O=ce(void 0),y=ce(0),A=ce(l);Be(()=>{A.current=l},[l]);let P=xe(C=>{h.current=C,w(C),C&&A.current?.(C)},[]),M=xe(async()=>{if(!s)return;let C=p.current?.memoryUserId;if(!C)return;let E=await No(C);S(E)},[s]),_=xe(()=>g.current,[]),ae=xe(C=>{let E=hl(C);E&&g.current!==E&&(g.current=E,I(E))},[]),Z=xe(()=>{g.current=void 0,I(void 0)},[]);Be(()=>{u.current=a},[a]),Be(()=>{c.current=r},[r]),Be(()=>{let C=!1,E=y.current;return(async()=>{try{let Ce=await pt();if(C)return;p.current=Ce}catch{}if(!s)return;let N=p.current?.memoryUserId;if(!N){k(!0);return}try{let Ce=i??await Uo(N);if(C||E!==y.current)return;if(Ce){let pe=await pr(Ce);if(C||E!==y.current)return;pe&&pe.memoryUserId===N&&(h.current=pe.threadId,w(pe.threadId),v.current=pe.createdAt,D.current=pe.title,pe.sessionId&&(g.current=pe.sessionId,I(pe.sessionId)),G(pe.messages))}await M()}finally{C||k(!0)}})(),()=>{C=!0}},[]);let be=ce(new ur({api:t,headers:()=>({...u.current}),body:()=>{let C={...c.current??{}},E=Object.hasOwn(C,"sessionId"),N=hl(C.sessionId);if(N)ae(N),C.sessionId=N;else if(E)Z(),delete C.sessionId;else{let Re=_();Re&&(C.sessionId=Re)}if(kt(f.current)&&(C.modelContext=f.current),p.current){let Re=p.current;C.visitorContext={timezone:Re.timezone,language:Re.language,languages:Re.languages,deviceType:Re.deviceType,referrer:Re.referrer,visitorId:Re.visitorId};let Ge=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},ru=typeof Ge.client=="object"&&Ge.client!==null?Ge.client:{};C.visitor={...Ge,id:Re.visitorId,client:{...ru,memoryUserId:Re.memoryUserId}}}let Ce=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,pe=p.current?.memoryUserId,ue=p.current?.language,ca={};if(pe&&(ca.memoryUserId=pe),ue&&(ca.locale=ue),(Object.keys(ca).length>0||Ce)&&(C.extra={...ca,...Ce??{}}),d.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(h.current=C.threadId);else{let Ge=h.current;Ge||(Ge=ml(),v.current=mr(),D.current=void 0,P(Ge)),C.threadId=Ge}return C},fetch:(async(C,E)=>{let N=await fetch(C,E);return f.current=void 0,ae(N.headers.get(Em)),N})})),U=ce(null),ne=ce(null),he=ce({}),[ke,le]=mt(0),W=e.skipRemoteConfig===!0,V=xe(async()=>{if(!W)try{let C=await Nm(t,u.current);he.current=C,le(E=>E+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,W]);Be(()=>{V()},[V]);let{messages:ie,sendMessage:ee,setMessages:G,status:K}=Dm({messages:e.initialMessages,transport:be.current,onFinish({message:C}){n?.(),U.current&&(ne.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),U.current&&(U.current.reject(C),U.current=null)}}),te=ce(ie);Be(()=>{te.current=ie},[ie]);let j=ce(s);Be(()=>{if(!s||j.current||(j.current=!0,te.current.length>0))return;let C=!1,E=y.current;return k(!1),(async()=>{try{let N=p.current;if(!N)try{N=await pt(),p.current=N}catch{}let Ce=N?.memoryUserId;if(!Ce||C||E!==y.current){C||k(!0);return}let pe=i??await Uo(Ce);if(C||E!==y.current)return;if(pe){let ue=await pr(pe);if(C||E!==y.current)return;ue&&ue.memoryUserId===Ce&&(h.current=ue.threadId,w(ue.threadId),v.current=ue.createdAt,D.current=ue.title,ue.sessionId&&(g.current=ue.sessionId,I(ue.sessionId)),G(ue.messages))}await M()}finally{C||k(!0)}})(),()=>{C=!0}},[s]),Be(()=>{if(K==="ready"&&U.current&&ne.current){let C=U.current,E=ne.current;U.current=null,ne.current=null,C.resolve(E)}},[K]);let[$,H]=mt(""),[R,B]=mt([]),Q=K==="submitted"||K==="streaming",Ie=xe(C=>{B(E=>E.filter(N=>N.id!==C))},[]),Oe=Q&&R.length>0,De=xe(C=>{let E=!!C.text?.trim(),N=!!C.files?.length;if(E||N){if(Q){if(R.length>0)return;B(Ce=>[...Ce,{id:Ht(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),H("");return}f.current=C.modelContext,ee({text:C.text||"",files:C.files}),o?.(C.text||""),H("")}},[ee,o,Q,R.length]),Sr=xe(C=>new Promise((E,N)=>{U.current={resolve:E,reject:N},ee({text:C}),o?.(C)}),[ee,o]);Be(()=>{if(K!=="ready"||R.length===0)return;let[C,...E]=R;B(E),f.current=C.modelContext,ee({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text)},[K,ee,o,R]);let Jl=xe(()=>{G([]),B([]),Z(),H(""),he.current={},le(C=>C+1),V()},[G,Z,V]),ua=xe(()=>{if(!d.current)return;let C=p.current?.memoryUserId,E=h.current,N=te.current;if(!(!C||!E||N.length===0)){if(v.current||(v.current=mr()),!D.current){let Ce=N.find(ue=>ue.role==="user"),pe=Ce?Ce.parts.map(ue=>"text"in ue&&typeof ue.text=="string"?ue.text:"").join(" "):"";D.current=cl(pe)}return{threadId:E,memoryUserId:C,title:D.current,messages:N,sessionId:g.current,createdAt:v.current,updatedAt:mr()}}},[]),en=xe(async()=>{let C=ua();C&&(await Oo(C),await M())},[ua,M]);Be(()=>{if(s&&b&&!(K==="submitted"||K==="streaming")&&ie.length!==0)return F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{F.current=void 0;let C=en().finally(()=>{O.current===C&&(O.current=void 0)});O.current=C},_m),()=>{F.current&&clearTimeout(F.current)}},[s,b,ie,K,en]);let da=xe(()=>{let C=O.current,E=F.current,N=E?ua():void 0;return E&&(clearTimeout(E),F.current=void 0),(async()=>{C&&await C,N&&(await Oo(N),await M())})()},[ua,M]),Yl=xe(()=>{y.current+=1,da(),G([]),B([]),Z(),H("");let C=ml();return v.current=mr(),D.current=void 0,P(C),M(),C},[G,Z,P,M,da]),yr=xe(async C=>{y.current+=1;let E=y.current;if(await da(),E!==y.current)return;let N=await pr(C);E===y.current&&N&&(P(N.threadId),v.current=N.createdAt,D.current=N.title,N.sessionId?(g.current=N.sessionId,I(N.sessionId)):Z(),G(N.messages),B([]),H(""))},[G,Z,P,da]),Zl=xe(async C=>{if(h.current===C){y.current+=1,F.current&&(clearTimeout(F.current),F.current=void 0);let E=O.current;E&&await E}await dl(C),await M(),h.current===C&&(G([]),B([]),Z(),H(""),h.current=void 0,w(void 0),v.current=void 0,D.current=void 0)},[G,Z,M]);Be(()=>{s&&b&&i!==void 0&&i!==h.current&&yr(i)},[i,s,b,yr]);let eu=xe(C=>{H(C.target.value)},[]),tn=ie[ie.length-1],an=ie.length>0,tu=Q&&(!an||tn.role==="user"),au=he.current;return{messages:ie,status:K,text:$,setText:H,handleSubmit:De,handleTextChange:eu,isLoading:Q,showLoaderBubble:tu,lastMessage:tn,hasMessages:an,sendMessage:ee,sendMessageAndWait:Sr,reset:Jl,queuedMessages:R,queueFull:Oe,removeQueuedMessage:Ie,sessionId:m,toolDefinitions:au,refreshToolDefinitions:V,threads:x,activeThreadId:L,isThreadHistoryReady:b,startNewThread:Yl,switchThread:yr,deleteThread:Zl}}import{useEffect as gl,useRef as Om,useState as Um}from"react";var Hm={debug:!1,eval:!1};function wl(e="/api/waniwani",t,a=!1){let[r,o]=Um(Hm),n=Om(t);return gl(()=>{n.current=t},[t]),gl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(et(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as qm,useEffect as Ho,useRef as Gm,useState as Wm}from"react";function Vm(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let r=a.data;if(r&&Array.isArray(r.suggestions))return r.suggestions}}return null}function xl(e){return typeof e=="object"&&e!==null&&"initial"in e}function gr(e){let{messages:t,status:a,config:r}=e,o=xl(r)&&r.initial?r.initial:void 0,[n,s]=Wm(o??[]),i=Gm(a),l=r===!0||xl(r)&&r.dynamic!==!1,u=qm(()=>{s([])},[]),c=t.length>0;Ho(()=>{!c&&o&&o.length>0&&s(o)},[o,c]);let d=t[t.length-1];return Ho(()=>{d?.role==="user"&&u()},[d,u]),Ho(()=>{let f=i.current;if(i.current=a,f==="streaming"&&a==="ready"&&l){let p=[...t].reverse().find(I=>I.role==="assistant");if(!p)return;let m=Vm(p);m&&s(m)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}import{useEffect as zm,useRef as jm,useState as $m}from"react";var Xm=80,Km=50,Qm=15e3,Ll=500;function wr(e,t=!0){let[a,r]=$m(""),o=jm(void 0);return zm(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Ll)):o.current=setTimeout(l,Km)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Qm)):o.current=setTimeout(l,Xm)))};return o.current=setTimeout(l,Ll),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function xr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return et(e,"/resource",r?{token:r}:void 0)}var Il={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:12,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5"},Jm={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626"},Ym={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"]};function qo(e){return{...Il,...e}}function sa(e){let t={};for(let[a,r]of Object.entries(Ym)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Le,jsxs as ia}from"react/jsx-runtime";var ah=Zm(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:I=!1,showToolCalls:g=!0}=t,L=p??"/api/waniwani",w=xr(L,t.headers),h=qo(r),x=sa(h),S=h.backgroundColor.replace("#",""),b=parseInt(S.substring(0,2),16),k=parseInt(S.substring(2,4),16),v=parseInt(S.substring(4,6),16),D=(b*299+k*587+v*114)/1e3<128,F=wl(L,t.headers,t.skipRemoteConfig),O=m??F.debug,y=hr({...t,api:L}),A=lr({...t,api:L,sessionId:y.sessionId}),P=wr(d,!y.text),[M,_]=Sl(!1),[ae,Z]=Sl(null),be=Cl(null),U=Cl(void 0),ne=Go(()=>{let W=be.current;if(!W)return;W.scrollIntoView({behavior:"smooth",block:"center"});let V=W.querySelector("textarea");V&&setTimeout(()=>V.focus(),300),_(!0),clearTimeout(U.current),U.current=setTimeout(()=>_(!1),2e3)},[]),he=gr({messages:y.messages,status:y.status,config:t.suggestions}),ke=Go(W=>{let V=W.content.map(ie=>ie.text??"").join("").trim();V&&y.handleSubmit({text:V,files:[],modelContext:W.modelContext})},[y.handleSubmit]),le=Go(W=>{he.clear(),y.handleSubmit({text:W,files:[]})},[he.clear,y.handleSubmit]);return th(a,()=>({sendMessage:W=>{y.handleSubmit({text:W,files:[]}),ne()},sendMessageAndWait:W=>y.sendMessageAndWait(W),reset:y.reset,focus:ne,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,ne]),eh(()=>{if(!f)return;let W=V=>{let ie=V.detail,ee=typeof ie?.message=="string"?ie.message:void 0;ee&&y.handleSubmit({text:ee,files:[]}),ne()};return window.addEventListener(f,W),()=>window.removeEventListener(f,W)},[f,y.handleSubmit,ne]),ia("div",{ref:be,style:{...x,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...D?{"data-waniwani-dark":""}:{},className:T("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",M&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ia("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[Le("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Le(jn,{messages:y.messages,evalEnabled:F.eval,api:L}),I&&Le(ir,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:W=>{y.switchThread(W)},onDeleteThread:W=>{y.deleteThread(W)}})]}),ia(yn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Le(bn,{scrollClassName:ae?"ww:!relative ww:!overflow-hidden":void 0,children:Le(rr,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:c,onSuggestionSelect:le,resourceEndpoint:w,chatSessionId:y.sessionId,isDark:D,onFollowUp:ke,onCallTool:A,fullscreenToolCallId:ae,debug:O,showToolCalls:g,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(W,V)=>{Z(W==="fullscreen"?V.toolCallId:null)}})}),Le(kn,{})]}),Le("div",{style:ae?{display:"none"}:void 0,children:Le(sr,{suggestions:he.suggestions,isLoading:he.isLoading,onSelect:le})}),Le("div",{style:ae?{display:"none"}:void 0,children:Le(Sa,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),Le("div",{style:ae?{display:"none"}:void 0,children:Le("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ia("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Le(xa,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ia("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Le(Ca,{}),Le(La,{onChange:y.handleTextChange,value:y.text,placeholder:P,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Le(Ia,{status:y.status,disabled:y.queueFull})]})}),Le(or,{})]})})})]})});import{forwardRef as bl,useCallback as Lr,useEffect as Tt,useImperativeHandle as oh,useRef as la,useState as Ir}from"react";import{jsx as rh}from"react/jsx-runtime";function yl({text:e}){let{t}=q();return e===!1?null:rh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as fe,jsxs as tt}from"react/jsx-runtime";var Wo=bl(function(t,a){let{locale:r,messages:o}=t;return fe(Fr,{locale:r,messages:o,children:fe(nh,{...t,ref:a})})}),nh=bl(function(t,a){let{t:r,ready:o}=q(),{appearance:n,className:s,allowAttachments:i=!1,welcomeMessage:l,welcome:u,placeholder:c=r.promptInput.placeholder,triggerEvent:d="triggerDemoRequest",api:f,mcp:p,debug:m=!1,readOnly:I=!1,title:g,headerActions:L,hideHeader:w=!1,enableThreadHistory:h=!1,showToolCalls:x=!0,initializing:S=!1,disclaimer:b}=t,k=n?.theme,v=n?.variables,D=v?sa(v):{},[F,O]=Ir(!1);Tt(()=>{if(k!=="auto"||typeof window>"u")return;let R=window.matchMedia("(prefers-color-scheme: dark)");O(R.matches);let B=()=>O(R.matches);return R.addEventListener("change",B),()=>R.removeEventListener("change",B)},[k]);let y=k==="dark"||k==="auto"&&F,A=hr({...t,api:f}),P=lr({...t,api:f,sessionId:A.sessionId,onCallTool:p?.onCallTool}),M=p?.resourceEndpoint??xr(f,t.headers),_=wr(c,!A.text),[ae,Z]=Ir(null),[be,U]=Ir(null),ne=la(null),he=la(null),ke=la(null),le=la(null),[W,V]=Ir(!0),ie=la(W);ie.current=W;let ee=Lr(()=>{let R=ne.current;if(!R)return;let B=R.querySelector("textarea");B&&B.focus()},[]),G=Lr((R="smooth")=>{let B=he.current;B&&B.scrollTo({top:B.scrollHeight,behavior:R})},[]);Tt(()=>{let R=le.current,B=he.current;if(!R||!B)return;let Q=new IntersectionObserver(([Ie])=>V(Ie.isIntersecting),{root:B,rootMargin:"0px 0px 200px 0px",threshold:0});return Q.observe(R),()=>Q.disconnect()},[]),Tt(()=>{(A.messages[A.messages.length-1]?.role==="user"||ie.current)&&G("smooth")},[A.messages.length,A.messages[A.messages.length-1]]),Tt(()=>{G("auto")},[G]),Tt(()=>{if(typeof ResizeObserver>"u")return;let R=he.current,B=ke.current;if(!R&&!B)return;let Q=R?.scrollHeight??0,Ie=R?.clientHeight??0,Oe=new ResizeObserver(()=>{let De=he.current;if(!De)return;let Sr=De.scrollTop+Ie>=Q-5;Q=De.scrollHeight,Ie=De.clientHeight,Sr&&G("auto")});return R&&Oe.observe(R),B&&Oe.observe(B),()=>Oe.disconnect()},[G]);let K=gr({messages:A.messages,status:A.status,config:t.suggestions}),te=Lr(R=>{let B=R.content.map(Q=>Q.text??"").join("").trim();B&&A.handleSubmit({text:B,files:[],modelContext:R.modelContext})},[A.handleSubmit]),j=Lr(R=>{K.clear(),A.handleSubmit({text:R,files:[]})},[K.clear,A.handleSubmit]);oh(a,()=>({sendMessage:R=>{A.handleSubmit({text:R,files:[]}),ee()},sendMessageAndWait:R=>A.sendMessageAndWait(R),reset:A.reset,focus:ee,get messages(){return A.messages},get sessionId(){return A.sessionId}}),[A.handleSubmit,A.sendMessageAndWait,A.reset,A.messages,A.sessionId,ee]),Tt(()=>{if(!d)return;let R=B=>{let Q=B.detail,Ie=typeof Q?.message=="string"?Q.message:void 0;Ie&&A.handleSubmit({text:Ie,files:[]}),ee()};return window.addEventListener(d,R),()=>window.removeEventListener(d,R)},[d,A.handleSubmit,ee]);let $=!w&&!!(g||h||L),H=S||!o;return tt("div",{ref:ne,style:{...D,maxHeight:"inherit",...ae&&be?{height:be}:{},opacity:H?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-color-scheme":k==="auto"?"auto":void 0,...H?{"data-waniwani-initializing":""}:{},...y?{"data-waniwani-dark":""}:{},className:T("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",k==="dark"&&"dark",s),children:[$&&tt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[g&&fe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:g}),!g&&fe("div",{className:"ww:flex-1"}),h&&fe(ir,{threads:A.threads,activeThreadId:A.activeThreadId,onNewThread:A.startNewThread,onSelectThread:R=>{A.switchThread(R)},onDeleteThread:R=>{A.deleteThread(R)}}),L]}),tt("div",{ref:he,className:T("ww:relative ww:flex-1 ww:min-h-0",ae?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[tt("div",{ref:ke,className:T("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",ae&&"ww:!py-0"),children:[fe(rr,{messages:A.messages,status:A.status,welcomeMessage:l,welcome:u,onSuggestionSelect:j,resourceEndpoint:M,chatSessionId:A.sessionId,isDark:y,onFollowUp:te,onCallTool:P,fullscreenToolCallId:ae,debug:m,showToolCalls:x,toolDefinitions:A.toolDefinitions,onWidgetDisplayModeChange:(R,B)=>{if(R==="fullscreen"){let Q=ne.current?.getBoundingClientRect().height??0;U(Q>0?Q:null),Z(B.toolCallId)}else U(null),Z(null)}}),fe("div",{ref:le,"aria-hidden":!0,style:{height:1}})]}),!W&&!ae&&fe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:fe(Me,{type:"button",onClick:()=>G("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:fe(at,{className:"ww:size-4"})})})]}),!I&&tt("div",{className:"ww:shrink-0 ww:bg-background",style:ae?{display:"none"}:void 0,children:[fe(sr,{suggestions:K.suggestions,isLoading:K.isLoading,onSelect:j}),fe(Sa,{queuedMessages:A.queuedMessages,onRemove:A.removeQueuedMessage}),fe("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:tt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[fe(xa,{onSubmit:A.handleSubmit,globalDrop:i,multiple:i,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:tt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[i&&fe(Ca,{}),fe(La,{onChange:A.handleTextChange,value:A.text,placeholder:_,className:"ww:min-h-0 ww:py-1 ww:px-0"}),fe(Ia,{status:A.status,disabled:A.queueFull})]})}),tt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[fe(or,{}),fe(yl,{text:b})]})]})})]})]})});import{forwardRef as Xh,useEffect as jl,useImperativeHandle as Kh,useMemo as $l,useRef as Xl,useState as Kl}from"react";var sh="https://app.waniwani.ai/api/mcp/chat",ih={api:sh};function lh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function uh(){let e=lh();if(!e)return{};let t=v=>e.getAttribute(v)??void 0,a=v=>{let D=e.getAttribute(v);if(D==null)return;let F=D.trim().toLowerCase();if(F==="true"||F==="1"||F==="")return!0;if(F==="false"||F==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-title");s&&(r.title=s);let i=t("data-welcome-message");i&&(r.welcomeMessage=i);let l=t("data-placeholder");l&&(r.placeholder=l);let u=t("data-mcp-server-url");u&&(r.mcpServerUrl=u);let c=t("data-channel-id");if(c&&(r.channelId=c),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let v=a("data-show-tool-calls");v!==void 0&&(r.showToolCalls=v)}let f=t("data-css");f&&(r.css=f);let p=t("data-suggestions");p&&(r.suggestions=p.split(",").map(v=>v.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(r.enableThreadHistory=m);let I=a("data-disable-page-view");I!==void 0&&(r.disablePageView=I);let g=a("data-hide-header");g!==void 0&&(r.hideHeader=g);let L=t("data-theme");(L==="light"||L==="dark"||L==="auto")&&(r.appearance={theme:L});let w=t("data-locale");(w==="en"||w==="fr"||w==="es")&&(r.locale=w);let h=t("data-mode");(h==="inline"||h==="floating")&&(r.mode=h);let x=t("data-height");x&&(r.height=x);let S=t("data-launcher-text");S&&(r.launcherText=S);let b=t("data-appear-delay");if(b!==void 0){let v=Number.parseInt(b.trim(),10);Number.isFinite(v)&&v>=0&&(r.appearDelay=v)}let k=t("data-disclaimer");if(k!==void 0){let v=k.trim(),D=v.toLowerCase();D==="false"||D==="0"?r.disclaimer=!1:v&&(r.disclaimer=v)}return r}function Vo(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function zo(e,t,a){let r=a??uh(),o=dh(t,r,e),n={token:"",...ih,...Vo(t),...Vo(r),...Vo(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function dh(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0;if(!r&&!n)return;let s={};return r&&(s.theme=r),n&&(s.variables=o),s}import{useEffect as wb,useState as xb}from"react";function ch(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function jo(...e){ch()&&console.log("[Waniwani]",...e)}var $o=new Set;function fh(e,t,a){return`${e}|${t}|${a??""}`}function Xo(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function Ko(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=fh(t,a,r);if(!$o.has(s)){$o.add(s);try{let i=await pt(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(Xo(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{$o.delete(s)}}}var ph="waniwani:config:";function kl(e,t,a){return`${ph}${e}|${t}|${a??""}`}function Qo(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(kl(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function Tl(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(kl(e,t,a),JSON.stringify(r))}catch{}}async function vl(e,t,a,r){try{let o=et(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?mh(i):{}}catch{return{}}}function mh(e){let t={};return e.source!=null&&(t.source=e.source),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}import{useEffect as xh,useSyncExternalStore as Lh}from"react";function hh(e){return e?.patterns??e?.rules??[]}var Pl="\0\0";function gh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Pl).replace(/\\\*/g,"[^/]*").split(Pl).join(".*");return new RegExp(`^${a}$`)}function wh(e,t){try{return gh(e).test(t)}catch{return!1}}function Al(e,t){if(!e)return!0;let a=!1;for(let r of hh(e))if(wh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var Jo="waniwani:locationchange",Rl=!1;function Ih(){if(!(Rl||typeof history>"u")){Rl=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(Jo)),o}}}}function Ch(e){return Ih(),window.addEventListener(Jo,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(Jo,e),window.removeEventListener("popstate",e)}}function Sh(){return window.location.pathname}function yh(){return"/"}function bh(){return Lh(Ch,Sh,yh)}function Ml(e,t){let a=bh(),r=t&&Al(e,a);return xh(()=>{jo("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function vt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var kh=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Th=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],vh=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],Ph=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],Ah=["waniwani/visitorId","visitorId"],Rh=["correlationId","openai/requestId"];function Fl(e){return e?vt(e,kh):void 0}function Bl(e){return e?vt(e,Th):void 0}function Dl(e){return e?vt(e,vh):void 0}function El(e){return e?vt(e,Ph):void 0}function _l(e){return e?vt(e,Ah):void 0}function Nl(e){return e?vt(e,Rh):void 0}var Mh=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Fh=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Ol(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Mh){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Fh)if(r.includes(o))return n}}var Bh="@waniwani/sdk";function Ul(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Dh,o=Nh(e),n=Cr(e.meta),s=Cr(e.metadata),i=Oh(e,n),l=Ae(e.eventId)??r(),u=Uh(e.timestamp,a),c=Ae(e.source)??Ol(n)??t.source??Bh,d=Yo(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:Eh(e,o),metadata:f,rawLegacy:d}}function Dh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Eh(e,t){if(!Yo(e))return Cr(e.properties);let a=_h(e,t),r=Cr(e.properties);return{...a,...r}}function _h(e,t){switch(t){case"tool.called":{let a={};return Ae(e.toolName)&&(a.name=e.toolName),Ae(e.toolType)&&(a.type=e.toolType),a}case"quote.succeeded":{let a={};return typeof e.quoteAmount=="number"&&(a.amount=e.quoteAmount),Ae(e.quoteCurrency)&&(a.currency=e.quoteCurrency),a}case"link.clicked":{let a={};return Ae(e.linkUrl)&&(a.url=e.linkUrl),a}case"purchase.completed":{let a={};return typeof e.purchaseAmount=="number"&&(a.amount=e.purchaseAmount),Ae(e.purchaseCurrency)&&(a.currency=e.purchaseCurrency),a}default:return{}}}function Nh(e){return Yo(e)?e.eventType:e.event}function Oh(e,t){let a=Ae(e.requestId)??Bl(t),r=Ae(e.sessionId)??Fl(t),o=Ae(e.traceId)??Dl(t),n=Ae(e.externalUserId)??El(t),s=Ae(e.visitorId)??_l(t),i=Ae(e.correlationId)??Nl(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function Uh(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function Cr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ae(e){if(typeof e=="string"&&e.trim().length!==0)return e}function Yo(e){return"eventType"in e}function Hl(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Hh="/api/mcp/events/v2/batch";var ql="@waniwani/sdk";var qh=new Set([401,403]),Gh=new Set([408,425,429,500,502,503,504]);function Gl(e){return new Zo(e)}var Zo=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=zh(t.apiUrl,t.endpointPath??Hh),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":ql};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:jh(n)}}if(qh.has(a.status))return{kind:"auth",status:a.status};if(Gh.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Vh(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:ql,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(Wh(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function Wh(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function Vh(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function zh(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function jh(e){return e instanceof Error?e.message:String(e)}function Wl(e){let{apiUrl:t,endpointPath:a}=$h(e.endpoint),r=Gl({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=Ul({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,Hl(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function $h(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Vl(e){let t;return pt().then(a=>{t=a.visitorId}).catch(()=>{}),Wl({endpoint:Xo(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:t})})}function zl(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as Yh}from"react/jsx-runtime";var Qh=600,Ql="https://app.waniwani.ai/api/mcp/chat",Jh=Xh(function(t,a){let{token:r,channelId:o,className:n,overrides:s}=t,i=Xl(null),l=Xl(null),u=$l(()=>({token:r,channelId:o,api:s?.api,mcpServerUrl:s?.mcpServerUrl,title:s?.title,hideHeader:s?.hideHeader,welcomeMessage:s?.welcomeMessage,placeholder:s?.placeholder,suggestions:s?.suggestions,enableThreadHistory:s?.enableThreadHistory,showToolCalls:s?.showToolCalls,appearance:s?.appearance,disclaimer:s?.disclaimer,locale:s?.locale}),[r,o,s?.api,s?.mcpServerUrl,s?.title,s?.hideHeader,s?.welcomeMessage,s?.placeholder,s?.suggestions,s?.enableThreadHistory,s?.showToolCalls,s?.appearance,s?.disclaimer,s?.locale]),c=s?.api??Ql,[d,f]=Kl({}),[p,m]=Kl(!1),I=s?.disablePageView;jl(()=>{if(!r){m(!0);return}let h=k=>{I||Ko({api:c,token:r,channelId:o,mode:"inline",source:k})},x=Qo(c,r,o);x&&(f(x),m(!0),h(x.source));let S=new AbortController,b=setTimeout(()=>m(!0),Qh);return vl(c,r,S.signal,o).then(k=>{S.signal.aborted||(Object.keys(k).length>0&&(Tl(c,r,o,k),f(k)),m(!0),h(k.source))}).catch(k=>{console.error("[Waniwani] Remote config fetch failed:",k),m(!0)}).finally(()=>clearTimeout(b)),()=>{S.abort(),clearTimeout(b)}},[c,r,o,I]);let g=$l(()=>zo(u,d,void 0),[u,d]);jl(()=>{if(!r)return;let h=Vl({api:c,token:r,channelId:o,getSource:()=>Qo(c,r,o)?.source??void 0,getSessionId:()=>i.current?.sessionId});return l.current=h,()=>{l.current=null,h.shutdown()}},[c,r,o]),Kh(a,()=>{let h=()=>l.current??zl("no public token configured"),x=Object.assign(S=>h().track(S),{priceShown:S=>h().track.priceShown(S),pricesCompared:S=>h().track.pricesCompared(S),optionSelected:S=>h().track.optionSelected(S),leadQualified:S=>h().track.leadQualified(S),converted:S=>h().track.converted(S)});return{sendMessage:S=>i.current?.sendMessage(S),sendMessageAndWait:S=>i.current?i.current.sendMessageAndWait(S):Promise.resolve(void 0),reset:()=>i.current?.reset(),focus:()=>i.current?.focus(),get messages(){return i.current?.messages??[]},get sessionId(){return i.current?.sessionId},track:x,identify:(S,b)=>h().identify(S,b)}},[]);let L=Ml(g.visibility,p),w={mode:"inline"};return g.mcpServerUrl&&(w.mcpServerUrl=g.mcpServerUrl),g.channelId&&(w.channelId=g.channelId),L?Yh(Wo,{ref:i,api:g.api??Ql,headers:{Authorization:`Bearer ${g.token}`},skipRemoteConfig:!0,body:w,appearance:g.appearance,title:g.title,hideHeader:g.hideHeader,welcomeMessage:g.welcomeMessage,welcome:s?.welcome,placeholder:g.placeholder,suggestions:g.suggestions?{initial:g.suggestions}:void 0,enableThreadHistory:g.enableThreadHistory,showToolCalls:g.showToolCalls,disclaimer:g.disclaimer,allowAttachments:s?.allowAttachments,locale:g.locale,messages:s?.messages,className:n,initializing:!p}):null});export{ah as ChatCard,Wo as ChatEmbed,Jm as DARK_THEME,Il as DEFAULT_THEME,Ro as McpAppFrame,Jh as WaniwaniChat,qo as mergeTheme,sa as themeToCSSProperties};
15
+ ${O}`}]}}B.current({...G,...Q?{modelContext:Q}:{}})}H({jsonrpc:"2.0",id:z,result:{}});return}if(K==="ui/update-model-context"&&z!=null){Te=ol(Te,j.params),H({jsonrpc:"2.0",id:z,result:{}});return}if(K==="tools/call"&&z!=null){let G=T.current;if(!G){H({jsonrpc:"2.0",id:z,error:{code:-32601,message:"tools/call not supported"}});return}let Q=j.params?.name;G({name:Q,arguments:j.params?.arguments??{}}).then(O=>{H({jsonrpc:"2.0",id:z,result:O});let Y=O.content?.map(te=>te.text??"").join("").trim();Y&&om(Q,O,L.current)&&(se&&clearTimeout(se.timer),se={text:Y,timer:setTimeout(()=>{if(le)return;let te=Te;Te=null,se=null,B.current?.({role:"user",content:[{type:"text",text:Y}],...te?{modelContext:te}:{}})},500)})}).catch(O=>{let Y=O instanceof Error?O.message:"Tool call failed";H({jsonrpc:"2.0",id:z,error:{code:-32e3,message:Y}})});return}if(K==="ui/request-display-mode"&&z!=null){let G=j.params?.mode,Q=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";I.current=Q,H({jsonrpc:"2.0",id:z,result:{mode:Q}}),H({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:Q}}),$.current?.(Q);return}if(K==="ui/resource-teardown"&&z!=null){H({jsonrpc:"2.0",id:z,result:{}});return}K==="ping"&&z!=null&&H({jsonrpc:"2.0",id:z,result:{}})};return window.addEventListener("message",ue),()=>{le=!0,clearTimeout(W),se&&clearTimeout(se.timer),window.removeEventListener("message",ue)}},[i,E]),nm("iframe",{ref:m,src:D,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":b,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as na,jsxs as sm}from"react/jsx-runtime";function sl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return sm("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&na("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),na("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&na("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&na("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>na("button",{type:"button",onClick:()=>o?.(n),className:k("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as im}from"react";import{jsx as Bo,jsxs as um}from"react/jsx-runtime";function lm({onRetry:e}){let{t}=U();return um("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Bo("span",{children:t.widgetErrorBoundary.failedToLoad}),Bo("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var or=class extends im{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Bo(lm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as dm,jsx as ee,jsxs as Je}from"react/jsx-runtime";function Do(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function il(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Dt:tt}function nr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:S}){let{t:g}=U(),x=e[e.length-1],w=e.length>0,h=d!=null,C=!h&&al(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Je(dm,{children:[!h&&(!w&&r?ee(sl,{...r,onSuggestionSelect:o}):a&&ee(yo,{from:"assistant",children:ee(bo,{children:ee(rr,{children:a})})})),e.map(I=>{let b=I.parts.filter(L=>L.type==="text"),v=I.parts.filter(L=>L.type==="reasoning"),P=I.parts.filter(L=>L.type==="file"),A=I.parts.filter(L=>"toolCallId"in L),M=I.parts.filter(L=>L.type==="reasoning"||"toolCallId"in L),B=I===x&&I.role==="assistant",T=b.length>0,$=h?A.some(L=>L.toolCallId===d):!1,X=p!==!1&&!$&&M.length>=2;return h&&!$?ee("div",{style:{display:"none"}},I.id):I.role==="assistant"&&!tl(I)?ee("div",{style:{display:"none"}},I.id):p===!1&&I.role==="assistant"&&!T&&P.length===0&&A.every(L=>{let E="output"in L?L.output:void 0;return E===void 0||!n||!oa(L.toolName,E,m)})?ee("div",{style:{display:"none"}},I.id):Je(yo,{from:I.role,className:S?.message,children:[p!==!1&&!$&&!X&&v.map((L,E)=>Je(Gt,{isStreaming:L.state==="streaming",children:[ee(Wt,{}),ee(Vt,{children:L.text})]},`reasoning-${I.id}-${E}`)),X&&(()=>{let L=M[M.length-1],E=L.type==="reasoning"?{icon:qe,label:g.reasoning.thinking}:{icon:il(L.toolName),label:L.title??Do(L.toolName)};return Je(os,{isWorking:B&&(t==="streaming"||t==="submitted"),activeStep:E,children:[ee(ns,{workingLabel:g.chainOfThought.working,label:g.chainOfThought.done}),ee(ss,{children:M.map((D,ne)=>{let ie=ne===M.length-1;if(D.type==="reasoning")return ee(ls,{isStreaming:D.state==="streaming",isLast:ie,children:D.text},`reasoning-${I.id}-${ne}`);let N=D.title??Do(D.toolName),le=il(D.toolName);if(p==="titles-only")return ee(Gr,{icon:le,title:N,state:D.state,isLast:ie},D.toolCallId);let Le="output"in D?D.output:void 0;return Je(Gr,{icon:le,title:N,state:D.state,isLast:ie,children:[ee(Ao,{input:D.input,debug:f}),Le!==void 0&&ee(Ro,{output:Le,errorText:"errorText"in D?D.errorText:void 0,debug:f})]},D.toolCallId)})})]})})(),p!==!1&&!$&&!X&&A.length===1&&(()=>{let L=A[0],E=L.title??Do(L.toolName);if(p==="titles-only")return ee(Xi,{title:E,state:L.state});let D="output"in L?L.output:void 0;return Je(ji,{children:[ee($i,{title:E,state:L.state}),Je(Ki,{children:[ee(Ao,{input:L.input,debug:f}),D!==void 0&&ee(Ro,{output:D,errorText:"errorText"in L?L.errorText:void 0,debug:f})]})]})})(),A.map(L=>{let E="output"in L?L.output:void 0,D=oa(L.toolName,E,m),ne=Yi(L.toolName,E,m),ie=L.toolCallId===d;return D&&n&&E!==void 0?ee("div",{style:ie?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:D&&n&&E!==void 0&&ee(or,{children:ee(Fo,{isFullscreen:ie,resourceUri:D,toolInput:L.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:ne,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?N=>c(N,{toolCallId:L.toolCallId,resourceUri:D,toolInput:L.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},autoHeight:ne}):void 0})})},L.toolCallId):null}),!$&&ee("div",{children:Je(bo,{className:k(I.role==="user"?S?.userBubble:S?.assistantBubble),children:[P.length>0&&ee(Yn,{files:P}),T?b.map((L,E)=>{let D=B&&t==="streaming"&&E===b.length-1;return ee(rr,{isStreaming:D,children:L.type==="text"?L.text:""},`${I.id}-${E}`)}):null]})})]},I.id)}),C&&ee(rl,{})]})}import{jsx as ll,jsxs as pm}from"react/jsx-runtime";var cm="https://app.waniwani.ai/assets/waniwani-logo.svg",fm="https://waniwani.ai";function sr(){let{t:e}=U();return pm("a",{href:fm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[ll("span",{children:e.poweredBy.label}),ll("img",{src:cm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as ir}from"react/jsx-runtime";function lr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:ir("div",{className:k("ww:px-4 ww:py-2",r),...o,children:ir("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>ir("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>ir("button",{type:"button",onClick:()=>a(n),className:k("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as mm,useRef as hm,useState as gm}from"react";import{jsx as oe,jsxs as dt}from"react/jsx-runtime";var ul=20;function wm({label:e}){return dt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),oe("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function xm({label:e}){return dt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),oe("polyline",{points:"3 4 3 9 8 9"}),oe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),oe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Lm({label:e}){return dt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("polyline",{points:"3 6 5 6 21 6"}),oe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),oe("path",{d:"M10 11v6"}),oe("path",{d:"M14 11v6"})]})}function ur({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=U(),[i,l]=gm(!1),u=hm(null);mm(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,ul),d=Math.max(0,e.length-ul);return dt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[oe("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(wm,{label:s.threadMenu.newChat})}),oe("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(xm,{label:s.threadMenu.threadHistory})}),i&&dt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&oe("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return dt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[dt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[oe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),oe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Er(m,n)})]}),oe("button",{type:"button",onClick:S=>{S.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:oe(Lm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&oe("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Im,useRef as Cm}from"react";function dr(e){let t=Cm(e);return t.current=e,Im(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as Nm}from"@ai-sdk/react";import{useCallback as Se,useEffect as De,useRef as he,useState as ct}from"react";function Ye(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as Sm,uiMessageChunkSchema as ym}from"ai";function bm(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var cr=class extends Sm{processResponseStream(t){let a="",r=ym(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
16
+ `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=bm(f.error);if(p?.length){let m={...d};for(let g of p)delete m[g];let S=await o(m);S.success&&s.enqueue(S.value)}}catch{}}}}))}};var km="waniwani-memory";var Re="threads",fr="by_memoryUserId",Tm="by_updatedAt";var cl="memoryUserId",dl="waniwani-memory-user-id",Eo=null;function _o(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function vm(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Re)){let a=e.createObjectStore(Re,{keyPath:"threadId"});a.createIndex(fr,"memoryUserId",{unique:!1}),a.createIndex(Tm,"updatedAt",{unique:!1})}}async function No(){return new Promise((e,t)=>{let a=indexedDB.open(km,2);a.onupgradeneeded=r=>{vm(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Pm(){return No()}async function Am(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(cl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Rm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,cl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Mm(){if(typeof indexedDB>"u")return null;try{let e=await Pm();try{let t=await Am(e);if(t)return t;let a=_o();return await Rm(e,a),a}finally{e.close()}}catch{return null}}function Fm(){try{let e=localStorage.getItem(dl);if(e)return e;let t=_o();return localStorage.setItem(dl,t),t}catch{return null}}async function fl(){let e=await Mm();if(e)return e;let t=Fm();return t||(Eo||(Eo=_o()),Eo)}var pl=50,ml=1e3;function pr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function mr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await No(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Oo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Uo(e){return await mr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(fr),i=(await Oo(n.getAll(e))??[]).filter(pr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function hr(e){return await mr(async a=>{let o=a.transaction(Re,"readonly").objectStore(Re),n=await Oo(o.get(e));return pr(n)?n:null})??null}async function Ho(e){if(!pr(e))return;let t=e.messages.length>ml?{...e,messages:e.messages.slice(e.messages.length-ml)}:e;await mr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Re,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Re).put(t)});let r=a.transaction(Re,"readwrite"),o=r.objectStore(Re),n=o.index(fr),i=(await Oo(n.getAll(t.memoryUserId))??[]).filter(pr);if(i.length>pl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-pl);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function hl(e){await mr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Re,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Re).delete(e)}),null))}async function qo(e){return(await Uo(e))[0]?.threadId??null}function gl(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var wl="waniwani-visitor-id";function xl(e,t){return e.match(t)?.[1]??null}function Bm(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,r]of t){let o=xl(e,r);if(o)return{name:a,version:o}}return null}function Dm(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,r]of t){let o=xl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function Em(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}function _m(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function sa(){try{let t=localStorage.getItem(wl);if(t)return t}catch{}let e=_m();try{localStorage.setItem(wl,e)}catch{}return e}async function ia(){let e=navigator.userAgent,t=sa(),a=await fl();return{userAgent:e,browser:Bm(e),os:Dm(e),deviceType:Em(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var Om="x-session-id",Um=250;function Ll(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Ht()}function gr(){return new Date().toISOString()}function Il(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Hm(e,t){let a=Ye(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function wr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=he(a),c=he(r),d=he(s);De(()=>{d.current=s},[s]);let f=he(void 0),p=he(null),[m,S]=ct(void 0),g=he(m),[x,w]=ct(i),h=he(x),[C,I]=ct([]),[b,v]=ct(!s),P=he(void 0),A=he(void 0),M=he(void 0),B=he(void 0),T=he(0),$=he(l);De(()=>{$.current=l},[l]);let X=Se(y=>{h.current=y,w(y),y&&$.current?.(y)},[]),L=Se(async()=>{if(!s)return;let y=p.current?.memoryUserId;if(!y)return;let F=await Uo(y);I(F)},[s]),E=Se(()=>g.current,[]),D=Se(y=>{let F=Il(y);F&&g.current!==F&&(g.current=F,S(F))},[]),ne=Se(()=>{g.current=void 0,S(void 0)},[]);De(()=>{u.current=a},[a]),De(()=>{c.current=r},[r]),De(()=>{let y=!1,F=T.current;return(async()=>{try{let ae=await ia();if(y)return;p.current=ae}catch{}if(!s)return;let _=p.current?.memoryUserId;if(!_){v(!0);return}try{let ae=i??await qo(_);if(y||F!==T.current)return;if(ae){let we=await hr(ae);if(y||F!==T.current)return;we&&we.memoryUserId===_&&(h.current=we.threadId,w(we.threadId),P.current=we.createdAt,A.current=we.title,we.sessionId&&(g.current=we.sessionId,S(we.sessionId)),j(we.messages))}await L()}finally{y||v(!0)}})(),()=>{y=!0}},[]);let ie=he(new cr({api:t,headers:()=>({...u.current}),body:()=>{let y={...c.current??{}},F=Object.hasOwn(y,"sessionId"),_=Il(y.sessionId);if(_)D(_),y.sessionId=_;else if(F)ne(),delete y.sessionId;else{let kr=E();kr&&(y.sessionId=kr)}bt(f.current)&&(y.modelContext=f.current);let ae=p.current,we=ae?.visitorId??sa();ae&&(y.visitorContext={timezone:ae.timezone,language:ae.language,languages:ae.languages,deviceType:ae.deviceType,referrer:ae.referrer,visitorId:we});let de=typeof y.visitor=="object"&&y.visitor!==null?y.visitor:{},iu=typeof de.client=="object"&&de.client!==null?de.client:{};y.visitor={...de,id:we,client:{...iu,...ae&&{memoryUserId:ae.memoryUserId}}};let nn=typeof y.extra=="object"&&y.extra!==null&&!Array.isArray(y.extra)?y.extra:void 0,sn=p.current?.memoryUserId,ln=p.current?.language,fa={};if(sn&&(fa.memoryUserId=sn),ln&&(fa.locale=ln),(Object.keys(fa).length>0||nn)&&(y.extra={...fa,...nn??{}}),d.current)if(Object.hasOwn(y,"threadId"))typeof y.threadId=="string"&&(h.current=y.threadId);else{let pa=h.current;pa||(pa=Ll(),P.current=gr(),A.current=void 0,X(pa)),y.threadId=pa}return y},fetch:(async(y,F)=>{let _=await fetch(y,F);return f.current=void 0,D(_.headers.get(Om)),_})})),N=he(null),le=he(null),Le=he({}),[Te,se]=ct(0),W=e.skipRemoteConfig===!0,H=Se(async()=>{if(!W)try{let y=await Hm(t,u.current);Le.current=y,se(F=>F+1)}catch(y){console.warn("[Waniwani] Failed to fetch tool definitions:",y instanceof Error?y.message:y)}},[t,W]);De(()=>{H()},[H]);let{messages:ue,sendMessage:fe,setMessages:j,status:K}=Nm({messages:e.initialMessages,transport:ie.current,onFinish({message:y}){n?.(),N.current&&(le.current=y)},onError(y){console.warn("[Waniwani] Chat error:",y.message),N.current&&(N.current.reject(y),N.current=null)}}),z=he(ue);De(()=>{z.current=ue},[ue]);let G=he(s);De(()=>{if(!s||G.current||(G.current=!0,z.current.length>0))return;let y=!1,F=T.current;return v(!1),(async()=>{try{let _=p.current;if(!_)try{_=await ia(),p.current=_}catch{}let ae=_?.memoryUserId;if(!ae||y||F!==T.current){y||v(!0);return}let we=i??await qo(ae);if(y||F!==T.current)return;if(we){let de=await hr(we);if(y||F!==T.current)return;de&&de.memoryUserId===ae&&(h.current=de.threadId,w(de.threadId),P.current=de.createdAt,A.current=de.title,de.sessionId&&(g.current=de.sessionId,S(de.sessionId)),j(de.messages))}await L()}finally{y||v(!0)}})(),()=>{y=!0}},[s]),De(()=>{if(K==="ready"&&N.current&&le.current){let y=N.current,F=le.current;N.current=null,le.current=null,y.resolve(F)}},[K]);let[Q,O]=ct(""),[Y,te]=ct([]),R=K==="submitted"||K==="streaming",q=Se(y=>{te(F=>F.filter(_=>_.id!==y))},[]),pe=R&&Y.length>0,ve=Se(y=>{let F=!!y.text?.trim(),_=!!y.files?.length;if(F||_){if(R){if(Y.length>0)return;te(ae=>[...ae,{id:Ht(),text:y.text||"",files:y.files??[],modelContext:y.modelContext}]),O("");return}f.current=y.modelContext,fe({text:y.text||"",files:y.files}),o?.(y.text||""),O("")}},[fe,o,R,Y.length]),vt=Se(y=>new Promise((F,_)=>{N.current={resolve:F,reject:_},fe({text:y}),o?.(y)}),[fe,o]);De(()=>{if(K!=="ready"||Y.length===0)return;let[y,...F]=Y;te(F),f.current=y.modelContext,fe({text:y.text,files:y.files.length>0?y.files:void 0}),o?.(y.text)},[K,fe,o,Y]);let ft=Se(()=>{j([]),te([]),ne(),O(""),Le.current={},se(y=>y+1),H()},[j,ne,H]),pt=Se(()=>{if(!d.current)return;let y=p.current?.memoryUserId,F=h.current,_=z.current;if(!(!y||!F||_.length===0)){if(P.current||(P.current=gr()),!A.current){let ae=_.find(de=>de.role==="user"),we=ae?ae.parts.map(de=>"text"in de&&typeof de.text=="string"?de.text:"").join(" "):"";A.current=gl(we)}return{threadId:F,memoryUserId:y,title:A.current,messages:_,sessionId:g.current,createdAt:P.current,updatedAt:gr()}}},[]),an=Se(async()=>{let y=pt();y&&(await Ho(y),await L())},[pt,L]);De(()=>{if(s&&b&&!(K==="submitted"||K==="streaming")&&ue.length!==0)return M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=void 0;let y=an().finally(()=>{B.current===y&&(B.current=void 0)});B.current=y},Um),()=>{M.current&&clearTimeout(M.current)}},[s,b,ue,K,an]);let ca=Se(()=>{let y=B.current,F=M.current,_=F?pt():void 0;return F&&(clearTimeout(F),M.current=void 0),(async()=>{y&&await y,_&&(await Ho(_),await L())})()},[pt,L]),au=Se(()=>{T.current+=1,ca(),j([]),te([]),ne(),O("");let y=Ll();return P.current=gr(),A.current=void 0,X(y),L(),y},[j,ne,X,L,ca]),br=Se(async y=>{T.current+=1;let F=T.current;if(await ca(),F!==T.current)return;let _=await hr(y);F===T.current&&_&&(X(_.threadId),P.current=_.createdAt,A.current=_.title,_.sessionId?(g.current=_.sessionId,S(_.sessionId)):ne(),j(_.messages),te([]),O(""))},[j,ne,X,ca]),ru=Se(async y=>{if(h.current===y){T.current+=1,M.current&&(clearTimeout(M.current),M.current=void 0);let F=B.current;F&&await F}await hl(y),await L(),h.current===y&&(j([]),te([]),ne(),O(""),h.current=void 0,w(void 0),P.current=void 0,A.current=void 0)},[j,ne,L]);De(()=>{s&&b&&i!==void 0&&i!==h.current&&br(i)},[i,s,b,br]);let ou=Se(y=>{O(y.target.value)},[]),rn=ue[ue.length-1],on=ue.length>0,nu=R&&(!on||rn.role==="user"),su=Le.current;return{messages:ue,status:K,text:Q,setText:O,handleSubmit:ve,handleTextChange:ou,isLoading:R,showLoaderBubble:nu,lastMessage:rn,hasMessages:on,sendMessage:fe,sendMessageAndWait:vt,reset:ft,queuedMessages:Y,queueFull:pe,removeQueuedMessage:q,sessionId:m,toolDefinitions:su,refreshToolDefinitions:H,threads:C,activeThreadId:x,isThreadHistoryReady:b,startNewThread:au,switchThread:br,deleteThread:ru}}import{useEffect as Cl,useRef as qm,useState as Gm}from"react";var Wm={debug:!1,eval:!1};function Sl(e="/api/waniwani",t,a=!1){let[r,o]=Gm(Wm),n=qm(t);return Cl(()=>{n.current=t},[t]),Cl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(Ye(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as Vm,useEffect as Go,useRef as zm,useState as jm}from"react";function $m(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let r=a.data;if(r&&Array.isArray(r.suggestions))return r.suggestions}}return null}function yl(e){return typeof e=="object"&&e!==null&&"initial"in e}function xr(e){let{messages:t,status:a,config:r}=e,o=yl(r)&&r.initial?r.initial:void 0,[n,s]=jm(o??[]),i=zm(a),l=r===!0||yl(r)&&r.dynamic!==!1,u=Vm(()=>{s([])},[]),c=t.length>0;Go(()=>{!c&&o&&o.length>0&&s(o)},[o,c]);let d=t[t.length-1];return Go(()=>{d?.role==="user"&&u()},[d,u]),Go(()=>{let f=i.current;if(i.current=a,f==="streaming"&&a==="ready"&&l){let p=[...t].reverse().find(S=>S.role==="assistant");if(!p)return;let m=$m(p);m&&s(m)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}import{useEffect as Xm,useRef as Km,useState as Qm}from"react";var Jm=80,Ym=50,Zm=15e3,bl=500;function Lr(e,t=!0){let[a,r]=Qm(""),o=Km(void 0);return Xm(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,bl)):o.current=setTimeout(l,Ym)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Zm)):o.current=setTimeout(l,Jm)))};return o.current=setTimeout(l,bl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Ir(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Ye(e,"/resource",r?{token:r}:void 0)}var kl={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5"},eh={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},th={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"]};function Wo(e){return{...kl,...e}}function la(e){let t={};for(let[a,r]of Object.entries(th)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as ye,jsxs as ua}from"react/jsx-runtime";var nh=ah(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:S=!1,showToolCalls:g=!0}=t,x=p??"/api/waniwani",w=Ir(x,t.headers),h=Wo(r),C=la(r??{}),I=h.backgroundColor.replace("#",""),b=parseInt(I.substring(0,2),16),v=parseInt(I.substring(2,4),16),P=parseInt(I.substring(4,6),16),A=(b*299+v*587+P*114)/1e3<128,M=Sl(x,t.headers,t.skipRemoteConfig),B=m??M.debug,T=wr({...t,api:x}),$=dr({...t,api:x,sessionId:T.sessionId}),X=Lr(d,!T.text),[L,E]=vl(!1),[D,ne]=vl(null),ie=Tl(null),N=Tl(void 0),le=Vo(()=>{let W=ie.current;if(!W)return;W.scrollIntoView({behavior:"smooth",block:"center"});let H=W.querySelector("textarea");H&&setTimeout(()=>H.focus(),300),E(!0),clearTimeout(N.current),N.current=setTimeout(()=>E(!1),2e3)},[]),Le=xr({messages:T.messages,status:T.status,config:t.suggestions}),Te=Vo(W=>{let H=W.content.map(ue=>ue.text??"").join("").trim();H&&T.handleSubmit({text:H,files:[],modelContext:W.modelContext})},[T.handleSubmit]),se=Vo(W=>{Le.clear(),T.handleSubmit({text:W,files:[]})},[Le.clear,T.handleSubmit]);return oh(a,()=>({sendMessage:W=>{T.handleSubmit({text:W,files:[]}),le()},sendMessageAndWait:W=>T.sendMessageAndWait(W),reset:T.reset,focus:le,get messages(){return T.messages},get sessionId(){return T.sessionId}}),[T.handleSubmit,T.sendMessageAndWait,T.reset,T.messages,T.sessionId,le]),rh(()=>{if(!f)return;let W=H=>{let ue=H.detail,fe=typeof ue?.message=="string"?ue.message:void 0;fe&&T.handleSubmit({text:fe,files:[]}),le()};return window.addEventListener(f,W),()=>window.removeEventListener(f,W)},[f,T.handleSubmit,le]),ua("div",{ref:ie,style:{...C,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...A?{"data-waniwani-dark":""}:{},className:k("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",L&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ua("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[ye("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),ye(Jn,{messages:T.messages,evalEnabled:M.eval,api:x}),S&&ye(ur,{threads:T.threads,activeThreadId:T.activeThreadId,onNewThread:T.startNewThread,onSelectThread:W=>{T.switchThread(W)},onDeleteThread:W=>{T.deleteThread(W)}})]}),ua(Pn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[ye(An,{scrollClassName:D?"ww:!relative ww:!overflow-hidden":void 0,children:ye(nr,{messages:T.messages,status:T.status,welcomeMessage:u,welcome:c,onSuggestionSelect:se,resourceEndpoint:w,chatSessionId:T.sessionId,isDark:A,onFollowUp:Te,onCallTool:$,fullscreenToolCallId:D,debug:B,showToolCalls:g,toolDefinitions:T.toolDefinitions,onWidgetDisplayModeChange:(W,H)=>{ne(W==="fullscreen"?H.toolCallId:null)}})}),ye(Rn,{})]}),ye("div",{style:D?{display:"none"}:void 0,children:ye(lr,{suggestions:Le.suggestions,isLoading:Le.isLoading,onSelect:se})}),ye("div",{style:D?{display:"none"}:void 0,children:ye(ba,{queuedMessages:T.queuedMessages,onRemove:T.removeQueuedMessage})}),ye("div",{style:D?{display:"none"}:void 0,children:ye("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ua("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ye(Ia,{onSubmit:T.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ua("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ye(ya,{}),ye(Ca,{onChange:T.handleTextChange,value:T.text,placeholder:X,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ye(Sa,{status:T.status,disabled:T.queueFull})]})}),ye(sr,{})]})})})]})});import{forwardRef as Al,useCallback as Cr,useEffect as kt,useImperativeHandle as ih,useRef as da,useState as Sr}from"react";import{jsx as sh}from"react/jsx-runtime";function Pl({text:e}){let{t}=U();return e===!1?null:sh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as ge,jsxs as Ze}from"react/jsx-runtime";var zo=Al(function(t,a){let{locale:r,messages:o}=t;return ge(Dr,{locale:r,messages:o,children:ge(lh,{...t,ref:a})})}),lh=Al(function(t,a){let{t:r,ready:o}=U(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:p,mcp:m,debug:S=!1,readOnly:g=!1,title:x,headerActions:w,hideHeader:h=!1,enableThreadHistory:C=!1,showToolCalls:I=!0,initializing:b=!1,disclaimer:v}=t,P=n?.theme,A=n?.variables,M=n?.assistantBubble??!1,B=A?la(A):{},[T,$]=Sr(!1);kt(()=>{if(P!=="auto"||typeof window>"u")return;let R=window.matchMedia("(prefers-color-scheme: dark)");$(R.matches);let q=()=>$(R.matches);return R.addEventListener("change",q),()=>R.removeEventListener("change",q)},[P]);let X=P==="dark"||P==="auto"&&T,L=wr({...t,api:p}),E=dr({...t,api:p,sessionId:L.sessionId,onCallTool:m?.onCallTool}),D=m?.resourceEndpoint??Ir(p,t.headers),ne=Lr(d,!L.text),[ie,N]=Sr(null),[le,Le]=Sr(null),Te=da(null),se=da(null),W=da(null),H=da(null),[ue,fe]=Sr(!0),j=da(ue);j.current=ue;let K=Cr(()=>{let R=Te.current;if(!R)return;let q=R.querySelector("textarea");q&&q.focus()},[]),z=Cr((R="smooth")=>{let q=se.current;q&&q.scrollTo({top:q.scrollHeight,behavior:R})},[]);kt(()=>{let R=H.current,q=se.current;if(!R||!q)return;let pe=new IntersectionObserver(([ve])=>fe(ve.isIntersecting),{root:q,rootMargin:"0px 0px 200px 0px",threshold:0});return pe.observe(R),()=>pe.disconnect()},[]),kt(()=>{(L.messages[L.messages.length-1]?.role==="user"||j.current)&&z("smooth")},[L.messages.length,L.messages[L.messages.length-1]]),kt(()=>{z("auto")},[z]),kt(()=>{if(typeof ResizeObserver>"u")return;let R=se.current,q=W.current;if(!R&&!q)return;let pe=R?.scrollHeight??0,ve=R?.clientHeight??0,vt=new ResizeObserver(()=>{let ft=se.current;if(!ft)return;let pt=ft.scrollTop+ve>=pe-5;pe=ft.scrollHeight,ve=ft.clientHeight,pt&&z("auto")});return R&&vt.observe(R),q&&vt.observe(q),()=>vt.disconnect()},[z]);let G=xr({messages:L.messages,status:L.status,config:t.suggestions}),Q=Cr(R=>{let q=R.content.map(pe=>pe.text??"").join("").trim();q&&L.handleSubmit({text:q,files:[],modelContext:R.modelContext})},[L.handleSubmit]),O=Cr(R=>{G.clear(),L.handleSubmit({text:R,files:[]})},[G.clear,L.handleSubmit]);ih(a,()=>({sendMessage:R=>{L.handleSubmit({text:R,files:[]}),K()},sendMessageAndWait:R=>L.sendMessageAndWait(R),reset:L.reset,focus:K,get messages(){return L.messages},get sessionId(){return L.sessionId}}),[L.handleSubmit,L.sendMessageAndWait,L.reset,L.messages,L.sessionId,K]),kt(()=>{if(!f)return;let R=q=>{let pe=q.detail,ve=typeof pe?.message=="string"?pe.message:void 0;ve&&L.handleSubmit({text:ve,files:[]}),K()};return window.addEventListener(f,R),()=>window.removeEventListener(f,R)},[f,L.handleSubmit,K]);let Y=!h&&!!(x||C||w),te=b||!o;return Ze("div",{ref:Te,style:{...B,maxHeight:"inherit",...ie&&le?{height:le}:{},opacity:te?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":M?"true":void 0,"data-color-scheme":P==="auto"?"auto":void 0,...te?{"data-waniwani-initializing":""}:{},...X?{"data-waniwani-dark":""}:{},className:k("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",P==="dark"&&"dark",s,i?.root),children:[Y&&Ze("div",{className:k("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[x&&ge("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:x}),!x&&ge("div",{className:"ww:flex-1"}),C&&ge(ur,{threads:L.threads,activeThreadId:L.activeThreadId,onNewThread:L.startNewThread,onSelectThread:R=>{L.switchThread(R)},onDeleteThread:R=>{L.deleteThread(R)}}),w]}),Ze("div",{ref:se,className:k("ww:relative ww:flex-1 ww:min-h-0",ie?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[Ze("div",{ref:W,className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",ie&&"ww:!py-0"),children:[ge(nr,{messages:L.messages,status:L.status,welcomeMessage:u,welcome:c,onSuggestionSelect:O,resourceEndpoint:D,chatSessionId:L.sessionId,isDark:X,onFollowUp:Q,onCallTool:E,fullscreenToolCallId:ie,debug:S,showToolCalls:I,toolDefinitions:L.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(R,q)=>{if(R==="fullscreen"){let pe=Te.current?.getBoundingClientRect().height??0;Le(pe>0?pe:null),N(q.toolCallId)}else Le(null),N(null)}}),ge("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!ue&&!ie&&ge("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ge(Fe,{type:"button",onClick:()=>z("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ge(et,{className:"ww:size-4"})})})]}),!g&&Ze("div",{className:"ww:shrink-0 ww:bg-background",style:ie?{display:"none"}:void 0,children:[ge(lr,{suggestions:G.suggestions,isLoading:G.isLoading,onSelect:O}),ge(ba,{queuedMessages:L.queuedMessages,onRemove:L.removeQueuedMessage}),ge("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:Ze("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ge(Ia,{onSubmit:L.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:Ze("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ge(ya,{}),ge(Ca,{onChange:L.handleTextChange,value:L.text,placeholder:ne,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ge(Sa,{status:L.status,disabled:L.queueFull})]})}),Ze("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[ge(sr,{}),ge(Pl,{text:v})]})]})})]})]})});import{forwardRef as Jh,useEffect as Jl,useImperativeHandle as Yh,useMemo as Yl,useRef as Zl,useState as eu}from"react";var uh="https://app.waniwani.ai/api/mcp/chat",dh={api:uh};function ch(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function fh(){let e=ch();if(!e)return{};let t=A=>e.getAttribute(A)??void 0,a=A=>{let M=e.getAttribute(A);if(M==null)return;let B=M.trim().toLowerCase();if(B==="true"||B==="1"||B==="")return!0;if(B==="false"||B==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-title");s&&(r.title=s);let i=t("data-welcome-message");i&&(r.welcomeMessage=i);let l=t("data-placeholder");l&&(r.placeholder=l);let u=t("data-mcp-server-url");u&&(r.mcpServerUrl=u);let c=t("data-channel-id");if(c&&(r.channelId=c),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let A=a("data-show-tool-calls");A!==void 0&&(r.showToolCalls=A)}let f=t("data-css");f&&(r.css=f);let p=t("data-suggestions");p&&(r.suggestions=p.split(",").map(A=>A.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(r.enableThreadHistory=m);let S=a("data-disable-page-view");S!==void 0&&(r.disablePageView=S);let g=a("data-hide-header");g!==void 0&&(r.hideHeader=g);let x=t("data-theme");(x==="light"||x==="dark"||x==="auto")&&(r.appearance={...r.appearance,theme:x});let w=a("data-assistant-bubble");w!==void 0&&(r.appearance={...r.appearance,assistantBubble:w});let h=t("data-locale");(h==="en"||h==="fr"||h==="es")&&(r.locale=h);let C=t("data-mode");(C==="inline"||C==="floating")&&(r.mode=C);let I=t("data-height");I&&(r.height=I);let b=t("data-launcher-text");b&&(r.launcherText=b);let v=t("data-appear-delay");if(v!==void 0){let A=Number.parseInt(v.trim(),10);Number.isFinite(A)&&A>=0&&(r.appearDelay=A)}let P=t("data-disclaimer");if(P!==void 0){let A=P.trim(),M=A.toLowerCase();M==="false"||M==="0"?r.disclaimer=!1:A&&(r.disclaimer=A)}return r}function jo(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function $o(e,t,a){let r=a??fh(),o=ph(t,r,e),n={token:"",...dh,...jo(t),...jo(r),...jo(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function ph(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as Cb,useState as Sb}from"react";function mh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Xo(...e){mh()&&console.log("[Waniwani]",...e)}var Ko=new Set;function hh(e,t,a){return`${e}|${t}|${a??""}`}function Qo(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function Jo(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=hh(t,a,r);if(!Ko.has(s)){Ko.add(s);try{let i=await ia(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(Qo(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{Ko.delete(s)}}}var gh="waniwani:config:";function Rl(e,t,a){return`${gh}${e}|${t}|${a??""}`}function Yo(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Rl(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function Ml(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Rl(e,t,a),JSON.stringify(r))}catch{}}async function Fl(e,t,a,r){try{let o=Ye(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?wh(i):{}}catch{return{}}}function wh(e){let t={};return e.source!=null&&(t.source=e.source),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}import{useEffect as Ch,useSyncExternalStore as Sh}from"react";function xh(e){return e?.patterns??e?.rules??[]}var Bl="\0\0";function Lh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Bl).replace(/\\\*/g,"[^/]*").split(Bl).join(".*");return new RegExp(`^${a}$`)}function Ih(e,t){try{return Lh(e).test(t)}catch{return!1}}function Dl(e,t){if(!e)return!0;let a=!1;for(let r of xh(e))if(Ih(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var Zo="waniwani:locationchange",El=!1;function yh(){if(!(El||typeof history>"u")){El=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(Zo)),o}}}}function bh(e){return yh(),window.addEventListener(Zo,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(Zo,e),window.removeEventListener("popstate",e)}}function kh(){return window.location.pathname}function Th(){return"/"}function vh(){return Sh(bh,kh,Th)}function _l(e,t){let a=vh(),r=t&&Dl(e,a);return Ch(()=>{Xo("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function Tt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Ph=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Ah=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Rh=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],Mh=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],Fh=["waniwani/visitorId","visitorId"],Bh=["correlationId","openai/requestId"];function Nl(e){return e?Tt(e,Ph):void 0}function Ol(e){return e?Tt(e,Ah):void 0}function Ul(e){return e?Tt(e,Rh):void 0}function Hl(e){return e?Tt(e,Mh):void 0}function ql(e){return e?Tt(e,Fh):void 0}function Gl(e){return e?Tt(e,Bh):void 0}var Dh=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Eh=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Wl(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Dh){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Eh)if(r.includes(o))return n}}var _h="@waniwani/sdk";function Vl(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Nh,o=Hh(e),n=yr(e.meta),s=yr(e.metadata),i=qh(e,n),l=Me(e.eventId)??r(),u=Gh(e.timestamp,a),c=Me(e.source)??Wl(n)??t.source??_h,d=en(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:Oh(e,o),metadata:f,rawLegacy:d}}function Nh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Oh(e,t){if(!en(e))return yr(e.properties);let a=Uh(e,t),r=yr(e.properties);return{...a,...r}}function Uh(e,t){switch(t){case"tool.called":{let a={};return Me(e.toolName)&&(a.name=e.toolName),Me(e.toolType)&&(a.type=e.toolType),a}case"quote.succeeded":{let a={};return typeof e.quoteAmount=="number"&&(a.amount=e.quoteAmount),Me(e.quoteCurrency)&&(a.currency=e.quoteCurrency),a}case"link.clicked":{let a={};return Me(e.linkUrl)&&(a.url=e.linkUrl),a}case"purchase.completed":{let a={};return typeof e.purchaseAmount=="number"&&(a.amount=e.purchaseAmount),Me(e.purchaseCurrency)&&(a.currency=e.purchaseCurrency),a}default:return{}}}function Hh(e){return en(e)?e.eventType:e.event}function qh(e,t){let a=Me(e.requestId)??Ol(t),r=Me(e.sessionId)??Nl(t),o=Me(e.traceId)??Ul(t),n=Me(e.externalUserId)??Hl(t),s=Me(e.visitorId)??ql(t),i=Me(e.correlationId)??Gl(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function Gh(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function yr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Me(e){if(typeof e=="string"&&e.trim().length!==0)return e}function en(e){return"eventType"in e}function zl(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Wh="/api/mcp/events/v2/batch";var jl="@waniwani/sdk";var Vh=new Set([401,403]),zh=new Set([408,425,429,500,502,503,504]);function $l(e){return new tn(e)}var tn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Xh(t.apiUrl,t.endpointPath??Wh),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":jl};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:Kh(n)}}if(Vh.has(a.status))return{kind:"auth",status:a.status};if(zh.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await $h(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:jl,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(jh(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function jh(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function $h(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Xh(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Kh(e){return e instanceof Error?e.message:String(e)}function Xl(e){let{apiUrl:t,endpointPath:a}=Qh(e.endpoint),r=$l({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=Vl({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,zl(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Qh(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Kl(e){let t=sa();return Xl({endpoint:Qo(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:t})})}function Ql(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as tg}from"react/jsx-runtime";var Zh=600,tu="https://app.waniwani.ai/api/mcp/chat",eg=Jh(function(t,a){let{token:r,channelId:o,className:n,overrides:s}=t,i=Zl(null),l=Zl(null),u=Yl(()=>({token:r,channelId:o,api:s?.api,mcpServerUrl:s?.mcpServerUrl,title:s?.title,hideHeader:s?.hideHeader,welcomeMessage:s?.welcomeMessage,placeholder:s?.placeholder,suggestions:s?.suggestions,enableThreadHistory:s?.enableThreadHistory,showToolCalls:s?.showToolCalls,appearance:s?.appearance,disclaimer:s?.disclaimer,locale:s?.locale}),[r,o,s?.api,s?.mcpServerUrl,s?.title,s?.hideHeader,s?.welcomeMessage,s?.placeholder,s?.suggestions,s?.enableThreadHistory,s?.showToolCalls,s?.appearance,s?.disclaimer,s?.locale]),c=s?.api??tu,[d,f]=eu({}),[p,m]=eu(!1),S=s?.disablePageView;Jl(()=>{if(!r){m(!0);return}let h=v=>{S||Jo({api:c,token:r,channelId:o,mode:"inline",source:v})},C=Yo(c,r,o);C&&(f(C),m(!0),h(C.source));let I=new AbortController,b=setTimeout(()=>m(!0),Zh);return Fl(c,r,I.signal,o).then(v=>{I.signal.aborted||(Object.keys(v).length>0&&(Ml(c,r,o,v),f(v)),m(!0),h(v.source))}).catch(v=>{console.error("[Waniwani] Remote config fetch failed:",v),m(!0)}).finally(()=>clearTimeout(b)),()=>{I.abort(),clearTimeout(b)}},[c,r,o,S]);let g=Yl(()=>$o(u,d,void 0),[u,d]);Jl(()=>{if(!r)return;let h=Kl({api:c,token:r,channelId:o,getSource:()=>Yo(c,r,o)?.source??void 0,getSessionId:()=>i.current?.sessionId});return l.current=h,()=>{l.current=null,h.shutdown()}},[c,r,o]),Yh(a,()=>{let h=()=>l.current??Ql("no public token configured"),C=Object.assign(I=>h().track(I),{priceShown:I=>h().track.priceShown(I),pricesCompared:I=>h().track.pricesCompared(I),optionSelected:I=>h().track.optionSelected(I),leadQualified:I=>h().track.leadQualified(I),converted:I=>h().track.converted(I)});return{sendMessage:I=>i.current?.sendMessage(I),sendMessageAndWait:I=>i.current?i.current.sendMessageAndWait(I):Promise.resolve(void 0),reset:()=>i.current?.reset(),focus:()=>i.current?.focus(),get messages(){return i.current?.messages??[]},get sessionId(){return i.current?.sessionId},track:C,identify:(I,b)=>h().identify(I,b)}},[]);let x=_l(g.visibility,p),w={mode:"inline"};return g.mcpServerUrl&&(w.mcpServerUrl=g.mcpServerUrl),g.channelId&&(w.channelId=g.channelId),x?tg(zo,{ref:i,api:g.api??tu,headers:{Authorization:`Bearer ${g.token}`},skipRemoteConfig:!0,body:w,appearance:g.appearance,classNames:s?.classNames,title:g.title,hideHeader:g.hideHeader,welcomeMessage:g.welcomeMessage,welcome:s?.welcome,placeholder:g.placeholder,suggestions:g.suggestions?{initial:g.suggestions}:void 0,enableThreadHistory:g.enableThreadHistory,showToolCalls:g.showToolCalls,disclaimer:g.disclaimer,allowAttachments:s?.allowAttachments,locale:g.locale,messages:s?.messages,className:n,initializing:!p}):null});export{nh as ChatCard,zo as ChatEmbed,eh as DARK_THEME,kl as DEFAULT_THEME,Fo as McpAppFrame,eg as WaniwaniChat,Wo as mergeTheme,la as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18
 
19
19
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: