@waniwani/sdk 0.18.0 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/embed.js +93 -93
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/express-js/index.d.ts +1 -23
- package/dist/chat/index.d.ts +134 -28
- package/dist/chat/index.js +7 -7
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/next-js/index.d.ts +1 -23
- package/dist/index.d.ts +2 -24
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy/chat/express-js/index.d.ts +1 -23
- package/dist/legacy/chat/next-js/index.d.ts +1 -23
- package/dist/legacy/index.d.ts +61 -27
- package/dist/legacy/index.js +13 -13
- package/dist/legacy/index.js.map +1 -1
- package/dist/mcp/index.d.ts +16 -23
- package/dist/mcp/index.js +5 -5
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/react/skybridge.d.ts +2 -24
- package/dist/mcp/react/skybridge.js +1 -1
- package/dist/mcp/react/skybridge.js.map +1 -1
- package/dist/mcp/react.d.ts +2 -24
- package/dist/mcp/react.js +5 -5
- package/dist/mcp/react.js.map +1 -1
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as on,b as nn,c as sn,d as ln,e as un,f as ma,g as dn,h as cn,i as fn,j as pn,k as kr,l as mn,m as wt,n as xt,o as ha,p as Lt,u as Mt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Zm,useCallback as Wo,useEffect as eh,useImperativeHandle as th,useRef as Sl,useState as yl}from"react";import{forwardRef as nu,createElement as su}from"react";var ga=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var hn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var gn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Tr=e=>{let t=gn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as ou,createElement as Ln}from"react";var wn={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 xn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var In=ou(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Ln("svg",{ref:l,...wn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ga("lucide",o),...!n&&!xn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Ln(u,c)),...Array.isArray(n)?n:[n]]));var V=(e,t)=>{let a=nu(({className:r,...o},n)=>su(In,{ref:n,iconNode:t,className:ga(`lucide-${hn(Tr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Tr(e),a};var iu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],at=V("arrow-down",iu);var lu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Ft=V("arrow-up",lu);var uu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Bt=V("check",uu);var du=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],je=V("chevron-down",du);var cu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Dt=V("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"}]],Et=V("clipboard-copy",fu);var pu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],We=V("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"}]],_t=V("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"}]],Nt=V("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"}]],Ot=V("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"}]],Ut=V("paperclip",wu);var xu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ht=V("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=V("wrench",Lu);var Iu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=V("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"}]],qt=V("zap",Cu);import{useCallback as Ou}from"react";import{useCallback as $e,useMemo as Su,useRef as yu,useState as vr}from"react";var bu={damping:.7,stiffness:.05,mass:1.25},ku=70,Tu=1e3/60,vu=350,wa=!1;globalThis.document?.addEventListener("mousedown",()=>{wa=!0});globalThis.document?.addEventListener("mouseup",()=>{wa=!1});globalThis.document?.addEventListener("click",()=>{wa=!1});var Sn=(e={})=>{let[t,a]=vr(!1),[r,o]=vr(e.initial!==!1),[n,s]=vr(!1),i=yu(null);i.current=e;let l=$e(()=>{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=$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||!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<=ku}}},[]),f=$e((w={})=>{typeof w=="string"&&(w={animation:w}),w.preserveScrollPosition||u(!0);let h=Date.now()+(Number(w.wait)||0),C=Ar(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))/Tu;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:Ar(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=$e(()=>{c(!0),u(!1)},[c,u]),m=$e(({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=$e(({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=Cn(w=>{g.current?.removeEventListener("scroll",m),g.current?.removeEventListener("wheel",S),w?.addEventListener("scroll",m,{passive:!0}),w?.addEventListener("wheel",S,{passive:!0})},[]),x=Cn(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=Ar(i.current,h?i.current.resize:i.current.initial);f({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:vu})}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 Cn(e,t){let a=$e(r=>(a.current=r,e(r)),t);return a}var Pr=new Map;function Ar(...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 Pr.has(r)||Pr.set(r,Object.freeze(t)),a?"instant":Pr.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 yn=Pu(null),Eu=typeof window<"u"?Fu:Ru;function Gt({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((I,b)=>(C?.targetScrollTop??i)?.(I,b)??I,[i]),f=Sn({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=Bu(()=>({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 Mu(l,()=>C,[C]),Eu(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),nt.createElement(yn.Provider,{value:C},nt.createElement("div",{...u},typeof t=="function"?t(C):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Rr();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})(Gt||(Gt={}));function Rr(){let e=Au(yn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var _u=nn({prefix:"ww"});function k(...e){return _u(on(e))}import{jsx as Nu}from"react/jsx-runtime";var Be=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Nu("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 bn=({className:e,...t})=>xa(Gt,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),kn=({className:e,...t})=>xa(Gt.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}),Tn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Rr(),o=Ou(()=>{r()},[r]);return!a&&xa(Be,{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(at,{className:"ww:size-4"})})};import Pn from"crypto";var vn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Uu=128,st,It,Hu=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*Uu),Pn.randomFillSync(st),It=0):It+e>st.length&&(Pn.randomFillSync(st),It=0),It+=e};var Wt=(e=21)=>{Hu(e|=0);let t="";for(let a=It-e;a<It;a++)t+=vn[st[a]&63];return t};import{createContext as Xu,useCallback as Ve,useContext as Ku,useEffect as Er,useMemo as Qu,useRef as _r,useState as Dn}from"react";import{createContext as qu,useContext as Gu,useEffect as Wu,useMemo as Vu,useState as Fn}from"react";var An=["en","fr","es"];function Ct(e){return An.includes(e)}function Mr(e){if(e&&Ct(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Ct(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(Ct(r))return r;let o=r.split("-")[0];if(o&&Ct(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 Rn={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 Mn={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 Fr={en:La,fr:Mn,es:Rn};import{jsx as $u}from"react/jsx-runtime";var Bn=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 Br({children:e,locale:t,messages:a}){let r=!!(t&&ju(t)),o=r?t:"en",[n,s]=Fn(o),[i,l]=Fn(r);Wu(()=>{s(Mr(t)),l(!0)},[t]);let u=Vu(()=>{let c=Fr[n]??Fr["en"];return{locale:n,t:zu(c,a),ready:i}},[n,a,i]);return $u(Bn.Provider,{value:u,children:e})}function ju(e){return e==="en"||e==="fr"||e==="es"}function U(){let e=Gu(Bn);return e||{locale:"en",t:La,ready:!0}}function Dr(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 _e,jsxs as Nn}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}},En=Xu(null),_n=()=>{let e=Ku(En);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=_r(null),d=_r(null),[f,p]=Dn([]),m=_r(f);Er(()=>{m.current=f},[f]);let S=Ve(()=>{c.current?.click()},[]),g=Ve(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:Wt(),mediaType:$.type,type:"file",url:URL.createObjectURL($)}))]})},[o,n]),x=Ve(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=Ve(()=>{p(b=>{for(let v of b)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);Er(()=>()=>{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]);Er(()=>{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=Ve(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 Ju(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=Qu(()=>({add:g,clear:w,files:f,openFileDialog:S,remove:x}),[f,g,x,w,S]);return Nn(En.Provider,{value:I,children:[_e("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),_e("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=_n(),[i,l]=Dn(!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 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 _e("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=_e(Ft,{className:"ww:size-4"});t==="submitted"?l=_e(Ot,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=_e(Ht,{className:"ww:size-4"}));let u=Ve(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return _e(Be,{"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=_n();return o.files.length>0?Nn(Be,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[_e("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}),_e(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):_e(Be,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??_e(Ut,{className:"ww:size-4"})})};import{memo as Yu,useCallback as Zu}from"react";import{jsx as yt}from"react/jsx-runtime";var On=({className:e,...t})=>yt("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Un=({className:e,...t})=>yt("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}),Hn=({className:e,...t})=>yt("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),qn=({className:e,...t})=>yt("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Gn=({className:e,...t})=>yt("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Wn=({className:e,...t})=>yt(Be,{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 Xe,jsxs as zn}from"react/jsx-runtime";var Vn=Yu(({message:e,onRemove:t})=>{let{t:a}=U(),r=Zu(()=>t(e.id),[t,e.id]);return zn(Un,{children:[Xe(Hn,{}),Xe(qn,{children:e.text||a.chatQueue.attachmentFallback}),Xe(Gn,{children:Xe(Wn,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Xe(ot,{className:"ww:size-3"})})})]})});Vn.displayName="ChatQueueItem";function ba({queuedMessages:e,onRemove:t,className:a}){let{t:r}=U();return e.length===0?null:zn(On,{className:k("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(Vn,{message:o,onRemove:t},o.id))})]})}import{useState as jn}from"react";import{jsx as ed}from"react/jsx-runtime";function $n({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=U(),[o,n]=jn(!1),[s,i]=jn(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 Vt,jsxs as ad}from"react/jsx-runtime";var Xn=({files:e,className:t,...a})=>e.length===0?null:Vt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Vt(td,{file:r},o))});function td({file:e}){let{t}=U();return e.mediaType?.startsWith("image/")&&e.url?Vt("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:[Vt(_t,{className:"ww:size-3 ww:shrink-0"}),Vt("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 Hr}from"react";import{createContext as sd,memo as Ur,useCallback as id,useContext as ld,useEffect as Nr,useMemo as ud,useRef as Kn,useState as Or}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:k("ww:inline-block",t),style:s,...n,children:o})},Ne=rd(od);Ne.displayName="Shimmer";import{Fragment as fd,jsx as Oe,jsxs as pd}from"react/jsx-runtime";var Qn=sd(null);function Jn(){let e=ld(Qn);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var dd=1e3,cd=1e3,zt=Ur(({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]=Or(l),p=c?a:d,m=id(v=>{c||f(v),o?.(v)},[c,o]),[S,g]=Or(void 0),x=n??S,w=Kn(t),[h,C]=Or(!1),I=Kn(null);Nr(()=>{t?(w.current=!0,I.current===null&&(I.current=Date.now())):I.current!==null&&(g(Math.ceil((Date.now()-I.current)/cd)),I.current=null)},[t]),Nr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Nr(()=>{if(w.current&&!t&&p&&!h){let v=setTimeout(()=>{m(!1),C(!0)},dd);return()=>clearTimeout(v)}},[t,p,h,m]);let b=ud(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return Oe(Qn.Provider,{value:b,children:Oe("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})})});zt.displayName="Reasoning";var jt=Ur(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=U(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=Jn(),f=a??((p,m)=>p||m===0?Oe(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(m)}));return Oe("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??pd(fd,{children:[!r&&Oe(We,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});jt.displayName="ReasoningTrigger";var $t=Ur(({className:e,children:t,...a})=>{let{isOpen:r}=Jn();return Oe("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:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Mt,{children:t})})})})});$t.displayName="ReasoningContent";import{jsx as Z,jsxs as Ke}from"react/jsx-runtime";var Ld=500,Yn=md(null);function Zn(){let e=gd(Yn);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function es({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Hr(o),d=l?r:u,f=hd(g=>{l||c(g),n?.(g)},[l,n]),[p,m]=Hr(!t);wd(()=>{if(t){m(!1);return}let g=setTimeout(()=>m(!0),Ld);return()=>clearTimeout(g)},[t]);let S=xd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return Z(Yn.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 ts({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Zn();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: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&&Z(c,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Z("span",{className:"ww:truncate",children:i?Z(Ne,{duration:2.6,children:d}):d})]},d)})}return Ke("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(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function as({className:e,children:t,...a}){let{open:r}=Zn();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 rs({icon:e,isLast:t,running:a,error:r}){return Ke("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 qr({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]=Hr(!1),f=a??"",p=i?Z(Ne,{duration:1.6,children:f}):Z("span",{className:"ww:truncate",children:f});return Ke("div",{className:k("ww:flex ww:gap-2",e),...s,children:[Z(rs,{icon:t,isLast:o,running:i,error:l}),Ke("div",{className:k("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,Z(je,{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 os({isStreaming:e=!1,isLast:t=!1,children:a}){return Ke("div",{className:"ww:flex ww:gap-2",children:[Z(rs,{icon:We,isLast:t,running:e}),Z("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Ke(zt,{isStreaming:e,className:"ww:mb-0",children:[Z(jt,{hideIcon:!0}),Z($t,{children:a})]})})]})}var Le={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 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 ns(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 ss(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function is(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 ls(e){return ns(e)?"ambiguous":ss(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":is(e)?"wide":"neutral"}function Id(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function us(e){return Id(e),ls(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(us(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=ds(/\p{P}|\p{S}/u),Ad=ds(/\s/);function ds(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 Qe(e){if(e===Le.eof||mn(e)||Ad(e))return Ue.characterGroupWhitespace;let t=0;if(e>=4352){if(vd(e))return Ae.nonEmojiGeneralUseVS;switch(kd(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Pd(e)&&(t|=Ue.characterGroupPunctuation),t}function ka(e,t,a){if(!Md(e))return e;let r=t(),o=Qe(r);return!r||it(o)?e:Td(r,a)?Ae.cjkPunctuation:Rd(o)}function Rd(e){return e&~Ae.ivs}function it(e){return!!(e&Ue.characterGroupWhitespace)}function bt(e){return(e&Ae.cjkPunctuation)===Ue.characterGroupPunctuation}function Xt(e){return!!(e&Ae.cjk)}function cs(e){return e===Ae.ivs}function fs(e){return!!(e&Ae.cjkOrIvs)}function Md(e){return e===Ae.nonEmojiGeneralUseVS}function Gr(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 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 Aa=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 Ra(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Wr={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};ps(d,-l),ps(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=xt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=xt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=xt(u,ha(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=xt(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=xt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,wt(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=va(n)?Pa(n,r(),o):n,i=Qe(s),l=new Aa(s,r(),o),u=ka(i,l.value.bind(l),s),c;return d;function d(p){return p===Le.asterisk||Le.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=Qe(S);let x=bt(u),w=x||it(u),h=bt(g),C=h||it(g),I=fs(u),b=!C||h&&(w||I)||a.includes(p),v=!w||x&&(C||Xt(g))||a.includes(s);return m._open=!!(c===Le.asterisk?b:b&&(Gr(u)||!v)),m._close=!!(c===Le.asterisk?v:v&&(Gr(g)||!b)),t(p)}}function ps(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function ms(){return{text:{[Le.asterisk]:Wr,[Le.underscore]:Wr},insideSpan:{null:[Wr]}}}function hs(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(ms())}function gs(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Le.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Le.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&&wt(f,f.length,0,ha(p,s.slice(u+1,l),i)),wt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),wt(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=Qe(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 Le.tilde,f===Le.tilde&&g[g.length-1][1].type!==Pe.characterEscape?l(C):(s.enter("strikethroughSequenceTemporary"),h(C))}function h(C){let I=Qe(f);if(C===Le.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=Qe(v),M=bt(S)||it(S),T=bt(P)||it(P),$=Xt(S)||cs(I);return b._open=!T||P===Ue.attentionSideAfter&&(M||$),b._close=!M||I===Ue.attentionSideAfter&&(T||Xt(P)),i(C)}}}function ws(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(gs(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=>{sn(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=[hs],t=[qd,ws],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Vr=Gd();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Wd(e){return eo(e)}function eo(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]=eo(e[a]);return t}function zd(e){let t={};for(let a in e)t[a]=eo(e[a]);return t}function Ts(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function vs(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?vs(e.substring(0,e.length-1)):e.substr(~t+1)}var zr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ma=class{static hasCaptures(e){return e===null?!1:(zr.lastIndex=0,zr.test(e))}static replaceCaptures(e,t,a){return e.replace(zr,(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 Ps(e,t){return e<t?-1:e>t?1:0}function As(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=Ps(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function xs(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 Rs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Ms=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}},Jt=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 Ms(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 Fs(r.fontStyle,r.foreground,r.background):null}},jr=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 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 Fs=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"&&xs(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&xs(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 Kd(S,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}},Ie=(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))(Ie||{});function Qd(e,t){e.sort((l,u)=>{let c=Ps(l.scope,u.scope);return c!==0||(c=As(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 Fs(a,n.getId(r),n.getId(o)),i=new Zd(new Xr(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 Jt(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([]),Xr=class Bs{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 Bs(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 Kr{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(Kr._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 Kr(this._mainRule.clone(),Xr.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(As(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 Xr(t,a,r,o,n))}},ut=class De{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=De.getLanguageId(t),r=De.getTokenType(t),o=De.getFontStyle(t),n=De.getForeground(t),s=De.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=De.getLanguageId(t),u=De.getTokenType(t),c=De.containsBalancedBrackets(t)?1:0,d=De.getFontStyle(t),f=De.getForeground(t),p=De.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=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(Ls(o)){let l=[];do l.push(o),o=r.next();while(Ls(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 Ls(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 Ds(e){typeof e.dispose=="function"&&e.dispose()}var Yt=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 Yt(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 Yt){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 Yt?Ba({baseGrammar:n,selfGrammar:o},r):Qr(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 Yt(i))}function Qr(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?Ts({},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=Es(n);switch(s.kind){case 0:Ba({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ba(t,a);break;case 2:Qr(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?Qr(s.ruleName,l,a):Ba(l,a)}else s.kind===4?a.add(new tc(s.scopeName,s.ruleName)):a.add(new Yt(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 Es(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+)/,Is=/\\(\d+)/g;var cc=-1,_s=-2;var ta=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?`${vs(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)}},fc=class extends ta{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 ta{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Zt(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 ea,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Cs=class extends ta{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 ea,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Jr=class extends ta{_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 Zt(o,this.id),this.beginCaptures=n,this._end=new Zt(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 ea;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 ta{_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 Zt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Zt(s,_s),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 ea;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 ea,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Ns=class be{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,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Ts({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Cs(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 Jr(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=Es(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 Cs||u instanceof Jr||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}}},Zt=class Os{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 Os(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 Is.lastIndex=0,this.source.replace(Is,(o,n)=>Rs(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}},ea=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 Ss(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 Ss(e,r,this._items.map(o=>o.ruleId))}},Ss=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}}
|
|
4
|
-
`;let n=this.createOnigString(e),s=n.content.length,i=new Tc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Hs(this,n,o,0,t,i,!0,r);return Ds(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ks(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 Qt=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=jr.push(o,n.scopeNames),r=new He(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new He(null,new jr(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new jr(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}},Zr=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)?Qt.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=Qt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new lt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Qt.fromExtension(r,a.contentNameScopesList))}},kc=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}},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)}},Ws=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new vc(Jt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Jt.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)}},Oa=Zr.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,Vs=new WeakMap;function zs(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=Vs.get(e);return t||(t=Bc(e),Vs.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 js(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Dc.test(String.fromCharCode(t))?r:r+";"}var Ec=/\d/;function $s(e,t,a){let r="&#"+String(e);return a&&t&&!Ec.test(String.fromCharCode(t))?r:r+";"}var Xs=["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 Ks=["cent","copy","divide","gt","lt","not","para","times"];var Qs={}.hasOwnProperty,to={},Ha;for(Ha in Ua)Qs.call(Ua,Ha)&&(to[Ua[Ha]]=Ha);var _c=/[^\dA-Za-z]/;function Js(e,t,a,r){let o=String.fromCharCode(e);if(Qs.call(to,o)){let n=to[o],s="&"+n;return a&&Xs.includes(n)&&!Ks.includes(n)&&(!r||t&&t!==61&&_c.test(String.fromCharCode(t)))?s:s+";"}return""}function Ys(e,t,a){let r=js(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Js(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=$s(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 zs(e,Object.assign({format:Ys},t))}var Nc=/^>|^->|<!--|-->|--!>|<!-$/g,Oc=[">"],Uc=["<",">"];function Zs(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 ei(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ue=ti(1),ao=ti(-1),Hc=[];function ti(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&&Lt(i);)s+=e,i=n[s];return i}}var qc={}.hasOwnProperty;function qa(e){return t;function t(a,r,o){return qc.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var aa=qa({body:Wc,caption:ro,colgroup:ro,dd:$c,dt:jc,head:ro,html:Gc,li:zc,optgroup:Xc,option:Kc,p:Vc,rp:ai,rt:ai,tbody:Jc,td:ri,tfoot:Yc,th:ri,thead:Qc,tr:Zc});function ro(e,t,a){let r=ue(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&Lt(r.value.charAt(0)))}function Gc(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function Wc(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function Vc(e,t,a){let r=ue(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=ue(a,t);return!r||r.type==="element"&&r.tagName==="li"}function jc(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function $c(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function ai(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Xc(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Kc(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Qc(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Jc(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Yc(e,t,a){return!ue(a,t)}function Zc(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function ri(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var oi=qa({body:af,colgroup:rf,head:tf,html:ef,tbody:of});function ef(e){let t=ue(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=ue(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Lt(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=ao(a,t),o=ue(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&aa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function of(e,t,a){let r=ao(a,t),o=ue(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&aa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ga={name:[[`
|
|
2
|
+
import{a as In,b as Ln,c as Cn,d as Sn,e as yn,f as wa,g as bn,h as kn,i as Tn,j as vn,k as Fr,l as Pn,m as gt,n as wt,o as xa,p as xt,u as Rt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Th,useCallback as Yo,useEffect as vh,useImperativeHandle as Ph,useRef as zl,useState as jl}from"react";import{forwardRef as Tu,createElement as vu}from"react";var Ia=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var An=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Rn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Br=e=>{let t=Rn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as ku,createElement as Bn}from"react";var Mn={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 Fn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var En=ku(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Bn("svg",{ref:l,...Mn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Ia("lucide",o),...!n&&!Fn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Bn(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Tu(({className:r,...o},n)=>vu(En,{ref:n,iconNode:t,className:Ia(`lucide-${An(Br(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Br(e),a};var Pu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],at=j("arrow-down",Pu);var Au=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Mt=j("arrow-up",Au);var Ru=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ft=j("check",Ru);var Mu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],je=j("chevron-down",Mu);var Fu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Bt=j("chevron-right",Fu);var Bu=[["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"}]],Et=j("clipboard-copy",Bu);var Eu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ge=j("clock",Eu);var Du=[["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"}]],Dt=j("file",Du);var _u=[["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"}]],_t=j("globe",_u);var Ou=[["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"}]],Ot=j("loader",Ou);var Nu=[["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"}]],Nt=j("paperclip",Nu);var Uu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ut=j("square",Uu);var Hu=[["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=j("wrench",Hu);var qu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=j("x",qu);var Gu=[["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"}]],Ht=j("zap",Gu);import{useCallback as nd}from"react";import{useCallback as $e,useMemo as Wu,useRef as Vu,useState as Er}from"react";var zu={damping:.7,stiffness:.05,mass:1.25},ju=70,$u=1e3/60,Xu=350,La=!1;globalThis.document?.addEventListener("mousedown",()=>{La=!0});globalThis.document?.addEventListener("mouseup",()=>{La=!1});globalThis.document?.addEventListener("click",()=>{La=!1});var _n=(e={})=>{let[t,a]=Er(!1),[r,o]=Er(e.initial!==!1),[n,s]=Er(!1),i=Vu(null);i.current=e;let l=$e(()=>{if(!La)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(I.current)||I.current?.contains(h.commonAncestorContainer)},[]),u=$e(g=>{d.isAtBottom=g,o(g)},[]),c=$e(g=>{d.escapedFromLock=g,a(g)},[]),d=Wu(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return I.current?.scrollTop??0},set scrollTop(h){I.current&&(I.current.scrollTop=h,d.ignoreScrollToTop=I.current.scrollTop)},get targetScrollTop(){return!I.current||!w.current?0:I.current.scrollHeight-1-I.current.clientHeight},get calculatedTargetScrollTop(){if(!I.current||!w.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let x=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:I.current,contentElement:w.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:x},requestAnimationFrame(()=>{g=void 0}),x},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=ju}}},[]),f=$e((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),x=_r(i.current,g.animation),{ignoreEscapes:y=!1}=g,T,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{T=Date.now()}):T=h+(g.duration??0);let A=async()=>{let R=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:F}=d,P=performance.now(),b=(P-(d.lastTick??P))/$u;if(d.animation||(d.animation={behavior:x,promise:R,ignoreEscapes:y}),d.animation.behavior===x&&(d.lastTick=P),l()||h>Date.now())return A();if(F<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===x){if(x==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(x.damping*d.velocity+x.stiffness*d.scrollDifference)/x.mass,d.accumulated+=d.velocity*b,d.scrollTop+=d.accumulated,d.scrollTop!==F&&(d.accumulated=0)}return A()}return T>Date.now()?(v=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:_r(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,T-Date.now())||void 0}):d.isAtBottom)});return R.then(F=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),F))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===x?d.animation.promise:A()},[u,l,d]),p=$e(()=>{c(!0),u(!1)},[c,u]),m=$e(({target:g})=>{if(g!==I.current)return;let{scrollTop:h,ignoreScrollToTop:x}=d,{lastScrollTop:y=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,x&&x>h&&(y=x),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===x)return;if(l()){c(!0),u(!1);return}let T=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(c(!0),u(!1)),T&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),L=$e(({target:g,deltaY:h})=>{let x=g;for(;!["scroll","auto"].includes(getComputedStyle(x).overflow);){if(!x.parentElement)return;x=x.parentElement}x===I.current&&h<0&&I.current.scrollHeight>I.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),I=Dn(g=>{I.current?.removeEventListener("scroll",m),I.current?.removeEventListener("wheel",L),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",L,{passive:!0})},[]),w=Dn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([x])=>{let{height:y}=x.contentRect,T=y-(h??y);if(d.resizeDifference=T,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),T>=0){let v=_r(i.current,h?i.current.resize:i.current.initial);f({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:Xu})}else d.isNearBottom&&(c(!1),u(!0));h=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===T&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:I,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function Dn(e,t){let a=$e(r=>(a.current=r,e(r)),t);return a}var Dr=new Map;function _r(...e){let t={...zu},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 Dr.has(r)||Dr.set(r,Object.freeze(t)),a?"instant":Dr.get(r)}import*as nt from"react";import{createContext as Ku,useContext as Qu,useEffect as Ju,useImperativeHandle as Yu,useLayoutEffect as Zu,useMemo as ed,useRef as td}from"react";var On=Ku(null),ad=typeof window<"u"?Zu:Ju;function qt({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=td(null),d=nt.useCallback((y,T)=>(x?.targetScrollTop??i)?.(y,T)??y,[i]),f=_n({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:L,stopScroll:I,isAtBottom:w,escapedFromLock:g,state:h}=e??f,x=ed(()=>({scrollToBottom:L,stopScroll:I,scrollRef:p,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(y){c.current=y}}),[L,w,m,p,I,g,h]);return Yu(l,()=>x,[x]),ad(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),nt.createElement(On.Provider,{value:x},nt.createElement("div",{...u},typeof t=="function"?t(x):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Or();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})(qt||(qt={}));function Or(){let e=Qu(On);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var rd=Ln({prefix:"ww"});function k(...e){return rd(In(e))}import{jsx as od}from"react/jsx-runtime";var Be=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>od("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 Ca}from"react/jsx-runtime";var Nn=({className:e,...t})=>Ca(qt,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Un=({className:e,...t})=>Ca(qt.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}),Hn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Or(),o=nd(()=>{r()},[r]);return!a&&Ca(Be,{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:Ca(at,{className:"ww:size-4"})})};import Gn from"crypto";var qn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var sd=128,st,It,id=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*sd),Gn.randomFillSync(st),It=0):It+e>st.length&&(Gn.randomFillSync(st),It=0),It+=e};var Gt=(e=21)=>{id(e|=0);let t="";for(let a=It-e;a<It;a++)t+=qn[st[a]&63];return t};import{createContext as hd,useCallback as We,useContext as gd,useEffect as Gr,useMemo as wd,useRef as Wr,useState as Xn}from"react";import{createContext as ld,useContext as ud,useEffect as dd,useMemo as cd,useState as jn}from"react";var Wn=["en","fr","es"];function Lt(e){return Wn.includes(e)}function Nr(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 Sa={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 Vn={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 zn={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 Ur={en:Sa,fr:zn,es:Vn};import{jsx as md}from"react/jsx-runtime";var $n=ld(null);function fd(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 Hr({children:e,locale:t,messages:a}){let r=!!(t&&pd(t)),o=r?t:"en",[n,s]=jn(o),[i,l]=jn(r);dd(()=>{s(Nr(t)),l(!0)},[t]);let u=cd(()=>{let c=Ur[n]??Ur["en"];return{locale:n,t:fd(c,a),ready:i}},[n,a,i]);return md($n.Provider,{value:u,children:e})}function pd(e){return e==="en"||e==="fr"||e==="es"}function z(){let e=ud($n);return e||{locale:"en",t:Sa,ready:!0}}function qr(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 De,jsxs as Jn}from"react/jsx-runtime";var xd=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}},Kn=hd(null),Qn=()=>{let e=gd(Kn);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ya=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=z(),c=Wr(null),d=Wr(null),[f,p]=Xn([]),m=Wr(f);Gr(()=>{m.current=f},[f]);let L=We(()=>{c.current?.click()},[]),I=We(T=>{let v=[...T];if(v.length===0)return;let A=F=>n?F.size<=n:!0,R=v.filter(A);p(F=>{let P=typeof o=="number"?Math.max(0,o-F.length):void 0,b=typeof P=="number"?R.slice(0,P):R;return[...F,...b.map(H=>({filename:H.name,id:Gt(),mediaType:H.type,type:"file",url:URL.createObjectURL(H)}))]})},[o,n]),w=We(T=>{p(v=>{let A=v.find(R=>R.id===T);return A?.url&&URL.revokeObjectURL(A.url),v.filter(R=>R.id!==T)})},[]),g=We(()=>{p(T=>{for(let v of T)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);Gr(()=>()=>{for(let T of m.current)T.url&&URL.revokeObjectURL(T.url)},[]);let h=We(T=>{T.currentTarget.files&&I(T.currentTarget.files),T.currentTarget.value=""},[I]);Gr(()=>{if(!r)return;let T=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault()},v=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault(),A.dataTransfer?.files&&A.dataTransfer.files.length>0&&I(A.dataTransfer.files)};return document.addEventListener("dragover",T),document.addEventListener("drop",v),()=>{document.removeEventListener("dragover",T),document.removeEventListener("drop",v)}},[I,r]);let x=We(async T=>{T.preventDefault();let v=T.currentTarget,R=new FormData(v).get("message")||"";v.reset();let F=await Promise.all(f.map(async({id:P,...b})=>{if(b.url?.startsWith("blob:")){let H=await xd(b.url);return{...b,url:H??b.url}}return b}));try{let P=s({files:F,text:R},T);P instanceof Promise&&await P,g()}catch{}},[f,s,g]),y=wd(()=>({add:I,clear:g,files:f,openFileDialog:L,remove:w}),[f,I,w,g,L]);return Jn(Kn.Provider,{value:y,children:[De("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),De("form",{className:k("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 ba=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=z(),s=Qn(),[i,l]=Xn(!1),u=r??n.promptInput.placeholder,c=We(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=We(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let I=L.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return De("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})},ka=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=z(),i=t==="submitted"||t==="streaming",l=De(Mt,{className:"ww:size-4"});t==="submitted"?l=De(Ot,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=De(Ut,{className:"ww:size-4"}));let u=We(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return De(Be,{"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})},Ta=({className:e,children:t,...a})=>{let{t:r}=z(),o=Qn();return o.files.length>0?Jn(Be,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[De("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}),De(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):De(Be,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??De(Nt,{className:"ww:size-4"})})};import{memo as Id,useCallback as Ld}from"react";import{jsx as St}from"react/jsx-runtime";var Yn=({className:e,...t})=>St("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Zn=({className:e,...t})=>St("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}),es=({className:e,...t})=>St("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ts=({className:e,...t})=>St("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),as=({className:e,...t})=>St("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),rs=({className:e,...t})=>St(Be,{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 Xe,jsxs as ns}from"react/jsx-runtime";var os=Id(({message:e,onRemove:t})=>{let{t:a}=z(),r=Ld(()=>t(e.id),[t,e.id]);return ns(Zn,{children:[Xe(es,{}),Xe(ts,{children:e.text||a.chatQueue.attachmentFallback}),Xe(as,{children:Xe(rs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Xe(ot,{className:"ww:size-3"})})})]})});os.displayName="ChatQueueItem";function va({queuedMessages:e,onRemove:t,className:a}){let{t:r}=z();return e.length===0?null:ns(Yn,{className:k("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(os,{message:o,onRemove:t},o.id))})]})}import{useState as ss}from"react";import{jsx as Cd}from"react/jsx-runtime";function is({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=z(),[o,n]=ss(!1),[s,i]=ss(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 Cd("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 Wt,jsxs as yd}from"react/jsx-runtime";var ls=({files:e,className:t,...a})=>e.length===0?null:Wt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Wt(Sd,{file:r},o))});function Sd({file:e}){let{t}=z();return e.mediaType?.startsWith("image/")&&e.url?Wt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):yd("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:[Wt(Dt,{className:"ww:size-3 ww:shrink-0"}),Wt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as Dd,useCallback as _d,useContext as Od,useEffect as Nd,useMemo as Ud,useState as $r}from"react";import{createContext as vd,memo as jr,useCallback as Pd,useContext as Ad,useEffect as Vr,useMemo as Rd,useRef as us,useState as zr}from"react";import{memo as bd}from"react";import{jsx as Td}from"react/jsx-runtime";var kd=({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 Td(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},_e=bd(kd);_e.displayName="Shimmer";import{Fragment as Bd,jsx as Oe,jsxs as Ed}from"react/jsx-runtime";var ds=vd(null);function cs(){let e=Ad(ds);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var Md=1e3,Fd=1e3,Vt=jr(({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]=zr(l),p=c?a:d,m=Pd(v=>{c||f(v),o?.(v)},[c,o]),[L,I]=zr(void 0),w=n??L,g=us(t),[h,x]=zr(!1),y=us(null);Vr(()=>{t?(g.current=!0,y.current===null&&(y.current=Date.now())):y.current!==null&&(I(Math.ceil((Date.now()-y.current)/Fd)),y.current=null)},[t]),Vr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Vr(()=>{if(g.current&&!t&&p&&!h){let v=setTimeout(()=>{m(!1),x(!0)},Md);return()=>clearTimeout(v)}},[t,p,h,m]);let T=Rd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return Oe(ds.Provider,{value:T,children:Oe("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})})});Vt.displayName="Reasoning";var zt=jr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=z(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=cs(),f=a??((p,m)=>p||m===0?Oe(_e,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(m)}));return Oe("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??Ed(Bd,{children:[!r&&Oe(Ge,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});zt.displayName="ReasoningTrigger";var jt=jr(({className:e,children:t,...a})=>{let{isOpen:r}=cs();return Oe("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:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Rt,{children:t})})})})});jt.displayName="ReasoningContent";import{jsx as J,jsxs as Ke}from"react/jsx-runtime";var Hd=500,fs=Dd(null);function ps(){let e=Od(fs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function ms({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=$r(o),d=l?r:u,f=_d(I=>{l||c(I),n?.(I)},[l,n]),[p,m]=$r(!t);Nd(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),Hd);return()=>clearTimeout(I)},[t]);let L=Ud(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return J(fs.Provider,{value:L,children:J("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 hs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=ps();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("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: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:k("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: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:[J("span",{className:"ww:truncate",children:r??t}),J(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function gs({className:e,children:t,...a}){let{open:r}=ps();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:flex ww:flex-col",e),...a,children:t})})})}function ws({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:k("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 Xr({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]=$r(!1),f=a??"",p=i?J(_e,{duration:1.6,children:f}):J("span",{className:"ww:truncate",children:f});return Ke("div",{className:k("ww:flex ww:gap-2",e),...s,children:[J(ws,{icon:t,isLast:o,running:i,error:l}),Ke("div",{className:k("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:k("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: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: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 xs({isStreaming:e=!1,isLast:t=!1,children:a}){return Ke("div",{className:"ww:flex ww:gap-2",children:[J(ws,{icon:Ge,isLast:t,running:e}),J("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Ke(Vt,{isStreaming:e,className:"ww:mb-0",children:[J(zt,{hideIcon:!0}),J(jt,{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 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 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 Is(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 Ls(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 Ss(e){return Is(e)?"ambiguous":Ls(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 qd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ys(e){return qd(e),Ss(e)}var Gd=Object.defineProperty,Wd=(e,t,a)=>t in e?Gd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Vd=(e,t,a)=>Wd(e,typeof t!="symbol"?t+"":t,a);function zd(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function jd(e){if(!e||e<4352)return!1;switch(ys(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!zd(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 $d(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Xd(e){return e!==null&&e>=65024&&e<=65038}var Kd=bs(/\p{P}|\p{S}/u),Qd=bs(/\s/);function bs(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 Qe(e){if(e===Ie.eof||Pn(e)||Qd(e))return Ue.characterGroupWhitespace;let t=0;if(e>=4352){if(Xd(e))return Ae.nonEmojiGeneralUseVS;switch(jd(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Kd(e)&&(t|=Ue.characterGroupPunctuation),t}function Pa(e,t,a){if(!Yd(e))return e;let r=t(),o=Qe(r);return!r||it(o)?e:$d(r,a)?Ae.cjkPunctuation:Jd(o)}function Jd(e){return e&~Ae.ivs}function it(e){return!!(e&Ue.characterGroupWhitespace)}function yt(e){return(e&Ae.cjkPunctuation)===Ue.characterGroupPunctuation}function $t(e){return!!(e&Ae.cjk)}function ks(e){return e===Ae.ivs}function Ts(e){return!!(e&Ae.cjkOrIvs)}function Yd(e){return e===Ae.nonEmojiGeneralUseVS}function Kr(e){return!!(e&Ae.spaceOrPunctuation)}function Aa(e){return!!(e&&e>=55296&&e<=56319)}function Ra(e){return!!(e&&e>=56320&&e<=57343)}function Ma(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 Zd(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 Fa=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=Zd(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ba(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Qr={name:"attention",resolveAll:ec,tokenize:tc};function ec(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};vs(d,-l),vs(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=wt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=wt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=wt(u,xa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=wt(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=wt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,gt(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 tc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ra(n)?Ma(n,r(),o):n,i=Qe(s),l=new Fa(s,r(),o),u=Pa(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"),L=Aa(p)?Ba(p,r(),o):p,I=Qe(L);let w=yt(u),g=w||it(u),h=yt(I),x=h||it(I),y=Ts(u),T=!x||h&&(g||y)||a.includes(p),v=!g||w&&(x||$t(I))||a.includes(s);return m._open=!!(c===Ie.asterisk?T:T&&(Kr(u)||!v)),m._close=!!(c===Ie.asterisk?v:v&&(Kr(I)||!T)),t(p)}}function vs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Ps(){return{text:{[Ie.asterisk]:Qr,[Ie.underscore]:Qr},insideSpan:{null:[Qr]}}}function As(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Ps())}function Rs(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&>(f,f.length,0,xa(p,s.slice(u+1,l),i)),gt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),gt(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=Ra(d)?Ma(d,u(),c):d,p=Qe(f),m=new Fa(f,u(),c),L=Pa(p,m.value.bind(m),f),I=this.events,w=0;return g;function g(x){return Ie.tilde,f===Ie.tilde&&I[I.length-1][1].type!==Pe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),h(x))}function h(x){let y=Qe(f);if(x===Ie.tilde)return w>1?l(x):(s.consume(x),w++,h);if(w<2&&!a)return l(x);let T=s.exit("strikethroughSequenceTemporary"),v=Aa(x)?Ba(x,u(),c):x,A=Qe(v),F=yt(L)||it(L),b=yt(A)||it(A),H=$t(L)||ks(y);return T._open=!b||A===Ue.attentionSideAfter&&(F||H),T._close=!F||y===Ue.attentionSideAfter&&(b||$t(A)),i(x)}}}function Ms(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Rs(e))}var ac=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),rc=/^(https?:\/\/|mailto:|www\.)/i,oc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},nc=e=>{let t=0;for(let a of e){if(ac.has(a))return t;t+=a.length}return null},sc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),ic=e=>({type:"text",value:e}),lc=()=>e=>{Cn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!oc(t)||!rc.test(t.url))return;let o=nc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=sc(n,t),l=ic(s);return r.children.splice(a,1,i,l),a+1})};function uc(){let e=[As],t=[lc,Ms],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Jr=uc();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function dc(e){return io(e)}function io(e){return Array.isArray(e)?cc(e):e instanceof RegExp?e:typeof e=="object"?fc(e):e}function cc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=io(e[a]);return t}function fc(e){let t={};for(let a in e)t[a]=io(e[a]);return t}function Hs(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function qs(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?qs(e.substring(0,e.length-1)):e.substr(~t+1)}var Yr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ea=class{static hasCaptures(e){return e===null?!1:(Yr.lastIndex=0,Yr.test(e))}static replaceCaptures(e,t,a){return e.replace(Yr,(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 Gs(e,t){return e<t?-1:e>t?1:0}function Ws(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=Gs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Fs(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 Vs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var zs=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}},Qt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(hc(e),t)}static createFromParsedTheme(e,t){return wc(e,t)}_cachedMatchRoot=new zs(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=>pc(e.parent,o.parentScopes));return r?new js(r.fontStyle,r.foreground,r.background):null}},Zr=class Da{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Da(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Da(a,t[r]);return a}push(t){return new Da(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 pc(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&&!mc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function mc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var js=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function hc(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"&&Fs(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Fs(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),L=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new gc(L,I,o,l,u,c)}}return a}var gc=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}},Le=(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))(Le||{});function wc(e,t){e.sort((l,u)=>{let c=Gs(l.scope,u.scope);return c!==0||(c=Ws(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 xc(t),s=new js(a,n.getId(r),n.getId(o)),i=new Lc(new to(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 Qt(n,s,i)}var xc=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)}},Ic=Object.freeze([]),to=class $s{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Ic,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new $s(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)}},Lc=class ao{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(ao._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 ao(this._mainRule.clone(),to.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(Ws(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 to(t,a,r,o,n))}},ut=class Ee{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ee.getLanguageId(t),r=Ee.getTokenType(t),o=Ee.getFontStyle(t),n=Ee.getForeground(t),s=Ee.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=Ee.getLanguageId(t),u=Ee.getTokenType(t),c=Ee.containsBalancedBrackets(t)?1:0,d=Ee.getFontStyle(t),f=Ee.getForeground(t),p=Ee.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 Oa(e,t){let a=[],r=Cc(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(Bs(o)){let l=[];do l.push(o),o=r.next();while(Bs(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 Bs(e){return!!e&&!!e.match(/[\w\.:]+/)}function Cc(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 Xs(e){typeof e.dispose=="function"&&e.dispose()}var Jt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Sc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},yc=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))}},bc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Jt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new yc;for(let a of e)kc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Jt){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 kc(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 Jt?_a({baseGrammar:n,selfGrammar:o},r):ro(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 Jt(i))}function ro(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Na([r],t,a)}}function _a(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Na(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Na(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Na(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Hs({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Na(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Ks(n);switch(s.kind){case 0:_a({...t,selfGrammar:t.baseGrammar},a);break;case 1:_a(t,a);break;case 2:ro(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?ro(s.ruleName,l,a):_a(l,a)}else s.kind===4?a.add(new Sc(s.scopeName,s.ruleName)):a.add(new Jt(s.scopeName));break}}}var Tc=class{kind=0},vc=class{kind=1},Pc=class{constructor(e){this.ruleName=e}kind=2},Ac=class{constructor(e){this.scopeName=e}kind=3},Rc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ks(e){if(e==="$base")return new Tc;if(e==="$self")return new vc;let t=e.indexOf("#");if(t===-1)return new Ac(e);if(t===0)return new Pc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new Rc(a,r)}}var Mc=/\\(\d+)/,Es=/\\(\d+)/g;var Fc=-1,Qs=-2;var ea=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ea.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ea.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${qs(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:Ea.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ea.replaceCaptures(this._contentName,e,t)}},Bc=class extends ea{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!")}},Ec=class extends ea{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Yt(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 Zt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Ds=class extends ea{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 Zt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},oo=class extends ea{_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 Yt(o,this.id),this.beginCaptures=n,this._end=new Yt(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 Zt;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}},Ua=class extends ea{_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 Yt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Yt(s,Qs),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 Zt;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 Zt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Js=class be{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new Bc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new Ec(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Hs({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Ds(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,r))}return t.while?new Ua(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 oo(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=Ks(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 Ds||u instanceof oo||u instanceof Ua)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Yt=class Ys{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 Ys(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 Es.lastIndex=0,this.source.replace(Es,(o,n)=>Vs(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}},Zt=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 _s(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 _s(e,r,this._items.map(o=>o.ruleId))}},_s=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}},eo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Dc=class no{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new eo(t,8),this._embeddedLanguagesMatcher=new _c(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?no._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new eo(0,0);_getBasicScopeAttributes=new zs(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new eo(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(no.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/},_c=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])=>Vs(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])}},lL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Zs=!1,Os=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function ei(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Oc(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 Os(o,!0);f()}return new Os(o,!1);function f(){let p=Nc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,I=m&&m.length>0?m[0].end>r:!1;if(L===Fc){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),Xt(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let g=o;if(o=o.parent,c=g.getAnchorPos(),!I&&g.getEnterPos()===r){o=g,n.produce(o,l),u=!0;return}}else{let w=e.getRule(L);n.produce(o,m[0].start);let g=o,h=w.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,c,m[0].end===l,null,x,x),w instanceof oo){let y=w;Xt(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.endHasBackReferences&&(o=o.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Ua){let y=w;Xt(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.whileHasBackReferences&&(o=o.withEndRule(y.getWhileWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(Xt(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!I){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Oc(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 Ua&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=qc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==Qs){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),Xt(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 Nc(e,t,a,r,o,n){let s=Uc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Hc(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 Uc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=ti(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Hc(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 L=t.getRule(m.ruleId),{ruleScanner:I,findOptions:w}=ti(L,t,null,r,o===s),g=I.findNextMatchSync(a,o,w);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function ti(e,t,a,r,o){if(Zs){let s=e.compile(t,a),i=ai(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function qc(e,t,a,r,o){if(Zs){let s=e.compileWhile(t,a),i=ai(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function ai(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Xt(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 L=f.getName(i,s),I=r.contentNameScopesList.pushAttributed(L,e),w=f.getContentName(i,s),g=I.pushAttributed(w,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,I,g),x=e.createOnigString(i.substring(0,p.end));ei(e,x,a&&p.start===0,p.start,h,o,!1,0),Xs(x);continue}let m=f.getName(i,s);if(m!==null){let I=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Gc(I,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Gc=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Wc(e,t,a,r,o,n,s,i){return new zc(e,t,a,r,o,n,s,i)}function Ns(e,t,a,r,o){let n=Oa(t,Ha),s=Js.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 Ha(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 zc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Dc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Us(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Oa(l,Ha);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)Ns(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&&Ns(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]=Us(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=Js.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===so.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=Kt.createRootAndLookUpScopeName(f,d,this):p=Kt.createRoot("unknown",d),t=new so(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 $c(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=ei(this,n,o,0,t,i,!0,r);return Xs(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Us(e,t){return e=dc(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 Kt=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}},so=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)?Kt.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=Kt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new lt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Kt.fromExtension(r,a.contentNameScopesList))}},jc=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Oa(a,Ha).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Oa(a,Ha).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}},$c=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}},Xc=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,Wc(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ri=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Xc(Qt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Qt.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 jc(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new bc(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)}},qa=so.NULL;var Kc=/["&'<>`]/g,Qc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Jc=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Yc=/[|\\{}()[\]^$+*?.]/g,oi=new WeakMap;function ni(e,t){if(e=e.replace(t.subset?Zc(t.subset):Kc,r),t.subset||t.escapeOnly)return e;return e.replace(Qc,a).replace(Jc,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 Zc(e){let t=oi.get(e);return t||(t=ef(e),oi.set(e,t)),t}function ef(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Yc,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var tf=/[\dA-Fa-f]/;function si(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!tf.test(String.fromCharCode(t))?r:r+";"}var af=/\d/;function ii(e,t,a){let r="&#"+String(e);return a&&t&&!af.test(String.fromCharCode(t))?r:r+";"}var li=["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 Ga={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 ui=["cent","copy","divide","gt","lt","not","para","times"];var di={}.hasOwnProperty,lo={},Wa;for(Wa in Ga)di.call(Ga,Wa)&&(lo[Ga[Wa]]=Wa);var rf=/[^\dA-Za-z]/;function ci(e,t,a,r){let o=String.fromCharCode(e);if(di.call(lo,o)){let n=lo[o],s="&"+n;return a&&li.includes(n)&&!ui.includes(n)&&(!r||t&&t!==61&&rf.test(String.fromCharCode(t)))?s:s+";"}return""}function fi(e,t,a){let r=si(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=ci(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=ii(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Ve(e,t){return ni(e,Object.assign({format:fi},t))}var of=/^>|^->|<!--|-->|--!>|<!-$/g,nf=[">"],sf=["<",">"];function pi(e,t,a,r){return r.settings.bogusComments?"<?"+Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:nf}))+">":"<!--"+e.value.replace(of,o)+"-->";function o(n){return Ve(n,Object.assign({},r.settings.characterReferences,{subset:sf}))}}function mi(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ue=hi(1),uo=hi(-1),lf=[];function hi(e){return t;function t(a,r,o){let n=a?a.children:lf,s=(r||0)+e,i=n[s];if(!o)for(;i&&xt(i);)s+=e,i=n[s];return i}}var uf={}.hasOwnProperty;function Va(e){return t;function t(a,r,o){return uf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ta=Va({body:cf,caption:co,colgroup:co,dd:hf,dt:mf,head:co,html:df,li:pf,optgroup:gf,option:wf,p:ff,rp:gi,rt:gi,tbody:If,td:wi,tfoot:Lf,th:wi,thead:xf,tr:Cf});function co(e,t,a){let r=ue(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&xt(r.value.charAt(0)))}function df(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function cf(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function ff(e,t,a){let r=ue(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 pf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="li"}function mf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function hf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function gi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function gf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function wf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function xf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function If(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Lf(e,t,a){return!ue(a,t)}function Cf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function wi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var xi=Va({body:bf,colgroup:kf,head:yf,html:Sf,tbody:Tf});function Sf(e){let t=ue(e,-1);return!t||t.type!=="comment"}function yf(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 bf(e){let t=ue(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&xt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function kf(e,t,a){let r=uo(a,t),o=ue(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ta(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Tf(e,t,a){let r=uo(a,t),o=ue(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ta(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var za={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 on,b as nn,c as sn,d as ln,e as un,f as ma,g as dn,h as cn,i as fn,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 ni(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=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||!oi(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||!aa(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=ln(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:Ga.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?dn:cn)(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:Ga.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&kr(a,s)>kr(a,e.alternative)&&(s=e.alternative),i=s+ze(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ga.single:Ga.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var lf=["<","&"];function Wa(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 si(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Wa(e,t,a,r)}function ii(e,t,a,r){return r.all(e)}var li=fn("type",{invalid:uf,unknown:df,handlers:{comment:Zs,doctype:ei,element:ni,raw:si,root:ii,text:Wa}});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 oo(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||pn,characterReferences:a.characterReferences||ff,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ma:un,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function mf(e,t,a){return li(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 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 Ye(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function gf(e){return Array.isArray(e)?e:[e]}async function hi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function co(e){return!e||["plaintext","txt","text","plain"].includes(e)}function gi(e){return e==="ansi"||co(e)}function fo(e){return e==="none"}function wi(e){return fo(e)}function xi(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 wf(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 Li(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 po="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=>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&&xf.includes(f))if(r===po&&s.length>1){let m=t.findIndex(w=>w==="light"),S=t.findIndex(w=>w==="dark");if(m===-1||S===-1)throw new ae('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&Ie.Italic&&(t["font-style"]="italic"),e.fontStyle&Ie.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ie.Underline&&a.push("underline"),e.fontStyle&Ie.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function io(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Ii=new WeakMap;function Qa(e,t){Ii.set(e,t)}function oa(e){return Ii.get(e)}var kt=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,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 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 kt))throw new ae("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 ae(`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 ae(`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 ae(`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 ae(`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+=Ci(m.children[h]),g===-1&&S.length===d&&(g=h+1),x===-1&&S.length===f&&(x=h+1);if(g===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new ae(`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&&xi(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 ae(`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 ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ci(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ci).join(""):""}var Tf=[bf()];function ja(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"],no={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 ui(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)no[r]&&t.push({type:"setDecoration",value:no[r]});else if(r<=29){let o=no[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=ui(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=ui(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=Va(e,a),o=Ka(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=Ie.None;return u.decorations.has("bold")&&(f|=Ie.Bold),u.decorations.has("italic")&&(f|=Ie.Italic),u.decorations.has("underline")&&(f|=Ie.Underline),u.decorations.has("strikethrough")&&(f|=Ie.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 mo(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(co(o)||fo(r))return Ka(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 ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`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 oa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(co(o)||fo(n))throw new ae("Plain language does not have grammar state");if(o==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new kt(ho(a,l,s,i,r).stateStack,l.name,s.name)}function Nf(e,t,a,r,o){let n=ho(e,t,a,r,o),s=new kt(n.stateStack,t.name,a.name);return Qa(n.tokens,s),n.tokens}function ho(e,t,a,r,o){let n=Va(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Ka(e),u=o.grammarState?yf(o.grammarState,a.name)??Oa:o.grammarContextCode!=null?ho(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=Ye(r[ut.getForeground(P)],n),M=ut.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"?Of(X.scopes):Uf(T,X.scopes)}),w+=1}}c.push(B)}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 di(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Hf(e,t,a){if(!di(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)di(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 Si(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=mo(e,t,{...a,theme:l.theme}),c=oa(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:S,explanation:g,offset:x,...w}=p[u][d];f.variants[r[m].color]=w}),f})),i=o[0].state?new kt(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 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 $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 ae("`themes` option must not be empty");let p=Si(e,t,a);if(l=oa(p),u&&po!==u&&!f.find(x=>x.color===u))throw new ae(`\`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=>Cf(w,S,c,u,d))),l&&Qa(n,l);let g=f.map(x=>Va(x.theme,a));o=ci(f,m,g,c,u,"fg",d),r=ci(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=mo(e,t,a);let c=e.getTheme(a.theme);r=Ye(c.bg,u),o=Ye(c.fg,u),s=c.name,l=oa(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function ci(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===po&&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 ae('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 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=Vf(n):d==="never"&&(n=zf(n)),f&&(n=jf(n));let p={...r,get source(){return o}};for(let m of ja(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=oa(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:xi,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=io(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 Vf(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ie.Underline||n.fontStyle&Ie.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=io(o.htmlStyle||za(o)),s=io(r.htmlStyle||za(r)),i=o.fontStyle&&(o.fontStyle&Ie.Underline||o.fontStyle&Ie.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ie.Underline||r.fontStyle&Ie.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var $f=oo;function Xf(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Xa(e,n,s),codeToTokens:(n,s)=>$a(e,n,s)},o=$f(Xa(e,t,a,r));for(let n of ja(a))o=n.postprocess?.call(r,o,a)||o;return o}var fi={light:"#333333",dark:"#bbbbbb"},pi={light:"#fffffe",dark:"#1e1e1e"},mi="__shiki_resolved";function go(e){if(e?.[mi])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"?fi.light:fi.dark),a||(a=t.type==="light"?pi.light:pi.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,mi,{enumerable:!1,writable:!1,value:!0}),t}async function yi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!gi(t)).map(async t=>await hi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function bi(e){return(await Promise.all(e.map(async a=>wi(a)?null:go(await hi(a))))).filter(a=>!!a)}var so=3,Kf=!1;function Qf(e,t=3){if(so&&!(typeof so=="number"&&t>so)){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 ki(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 lo=class extends Ws{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=go(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=Jt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=ki(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))}},uo=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}},ra=0;function Jf(e){ra+=1,e.warnings!==!1&&ra>=10&&ra%10===0&&console.warn(`[Shiki] ${ra} 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(go),o=new uo(e.engine,a),n=new lo(o,r,a,e.langAlias),s;function i(h){return ki(h,e.langAlias)}function l(h){x();let C=n.getGrammar(typeof h=="string"?h:h.name);if(!C)throw new Je(`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 Je(`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 yi(h))}function S(...h){x();for(let C of h.flat(1))n.loadTheme(C)}async function g(...h){return x(),S(await bi(h))}function x(){if(t)throw new Je("Shiki instance has been disposed")}function w(){t||(t=!0,n.dispose(),ra-=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 Yf(e){e.engine||Qf("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([bi(e.themes||[]),yi(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)=>mo(t,a,r),codeToTokensWithThemes:(a,r)=>Si(t,a,r),codeToTokens:(a,r)=>$a(t,a,r),codeToHast:(a,r)=>Xa(t,a,r),codeToHtml:(a,r)=>Xf(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Ti(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,gi(d))return[];let f=t[d];if(!f)throw new ae(`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(wi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new ae(`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 vi(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 wo=[{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"))}],Pi=Object.fromEntries(wo.map(e=>[e.id,e.import])),Ai=Object.fromEntries(wo.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),na={...Pi,...Ai};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"))}],Ri=Object.fromEntries(tp.map(e=>[e.id,e.import]));var sa=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,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=ap();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,op(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: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,pe=(e,t,a)=>ip(e,typeof t!="symbol"?t+"":t,a),we=null;function lp(e){throw new sa(e.UTF8ToString(e.getLastOnigError()))}var Ya=class e{constructor(t){pe(this,"utf16Length"),pe(this,"utf8Length"),pe(this,"utf16Value"),pe(this,"utf8Value"),pe(this,"utf16OffsetToUtf8"),pe(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 qe{constructor(t){if(pe(this,"id",++qe.LAST_ID),pe(this,"_onigBinding"),pe(this,"content"),pe(this,"utf16Length"),pe(this,"utf8Length"),pe(this,"utf16OffsetToUtf8"),pe(this,"utf8OffsetToUtf16"),pe(this,"ptr"),!we)throw new sa("Must invoke loadWasm first.");this._onigBinding=we,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&&!qe._sharedPtrInUse?(qe._sharedPtr||(qe._sharedPtr=we.omalloc(1e4)),qe._sharedPtrInUse=!0,we.HEAPU8.set(a.utf8Value,qe._sharedPtr),this.ptr=qe._sharedPtr):this.ptr=a.createString(we)}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)}};pe(Za,"LAST_ID",0);pe(Za,"_sharedPtr",0);pe(Za,"_sharedPtrInUse",!1);var Mi=Za,Lo=class{constructor(t){if(pe(this,"_onigBinding"),pe(this,"_ptr"),!we)throw new sa("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(we),r[i]=u.utf8Length}let o=we.omalloc(4*t.length);we.HEAPU32.set(a,o/4);let n=we.omalloc(4*t.length);we.HEAPU32.set(r,n/4);let s=we.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)we.ofree(a[i]);we.ofree(n),we.ofree(o),s===0&&lp(we),this._onigBinding=we,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 Mi(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 Ja;function mp(e){if(Ja)return Ja;async function t(){we=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 xo(r)(a):r instanceof WebAssembly.Module?r=await xo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await xo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Ja=t(),Ja}function xo(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 Fi(e){return e&&await mp(e),{createScanner(t){return new Lo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Mi(t)}}}var er=Ti({langs:na,themes:Ri,engine:()=>Fi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:wp,codeToHast:xp,codeToTokens:Lp,codeToTokensBase:Ip,codeToTokensWithThemes:Cp,getSingletonHighlighter:Sp,getLastGrammarState:yp}=vi(er,{guessEmbeddedLanguages:Li});var Bi=new Set(Object.keys(na)),Io=new Map,Co=new Map,Tt=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(Io.has(a))return Io.get(a);let r=er({themes:t,langs:[e]});return Io.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 Bi.has(r)},getSupportedLanguages(){return Array.from(Bi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=kp(r,o,n);return Co.has(i)?Co.get(i):(s&&(Tt.has(i)||Tt.set(i,new Set),Tt.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]}});Co.set(i,c);let d=Tt.get(i);if(d){for(let f of d)f(c);Tt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Tt.delete(i)}),null)}}}var Di=vp();import{memo as Mp}from"react";import{useEffect as Pp,useRef as tr,useState as Ap}from"react";var Rp=5,Ei=400;function _i(e,t,a={}){let{msPerChar:r=Rp}=a,[o,n]=Ap(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,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>Ei&&(i.current=s.current.length-Ei),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 So=({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})}),yo=({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}),Fp={cjk:Vr,code:Di},Bp={cjk:Vr},Dp={enabled:!1};function Ep({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=_i(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ar(Mt,{className:k("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 rr=Mp(Ep,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);rr.displayName="MessageResponse";import{createContext as _p,useCallback as Np,useContext as Hi,useEffect as Op,useMemo as ko,useRef as Up,useState as To}from"react";import{Fragment as Ui,jsx as J,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}=U(),[r,o]=To(!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 J(Be,{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?ct(Ui,{children:[J(Bt,{className:"ww:size-3.5"}),J("span",{children:a.tool.copied})]}):ct(Ui,{children:[J(Et,{className:"ww:size-3.5"}),J("span",{children:a.tool.copy})]})})}function qi({data:e,label:t,className:a,...r}){let[o,n]=To(!1),s=ko(()=>JSON.stringify(e,null,2),[e]),i=Hp(e);return ct("div",{className:k("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:[J("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),J(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:[J(Dt,{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 vo=_p({open:!1,toggle:()=>{}});function Gi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=To(t);return J(vo.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 Wi({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Hi(vo),s=a==="input-available"||a==="input-streaming",i=t??"";return ct("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(rt,{className:"ww:size-4 ww:shrink-0"}),J("span",{className:"ww:truncate",children:s?J(Ne,{duration:1.6,children:i}):i}),J(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Vi({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(Ne,{duration:1.6,children:n}):n})})}function zi({className:e,children:t,...a}){let{open:r}=Hi(vo);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 Po({className:e,input:t,debug:a,...r}){let{t:o}=U(),n=ko(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return J(qi,{data:n,label:o.tool.request,className:e,...r})}function bo(e){if(!(typeof e!="object"||e===null))return e}function ji(e){return bo(e?.ui)}function $i(e){return bo(bo(e)?._meta)}function Ni(e){if(!e)return;let t=ji(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 Oi(e){return ji(e)?.autoHeight===!0}function ia(e,t,a){if(e){let r=Ni(a?.[e]?._meta);if(r)return r}return Ni($i(t))}function Xi(e,t,a){return e&&Oi(a?.[e]?._meta)?!0:Oi($i(t))}function Ao({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=U(),s=ko(()=>{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: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(qi,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Ki,jsxs as Gp}from"react/jsx-runtime";function Qi(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Ji(e){return e.parts.some(Qi)}function Yi(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=>!(!Qi(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Zi({className:e,...t}){let{t:a}=U();return Gp("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:[Ki(qt,{className:"ww:size-4 ww:shrink-0"}),Ki(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as Wp,useEffect as Ro,useMemo as Vp,useRef as ke,useState as tl}from"react";function vt(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 el(e,t){return!vt(e)&&!vt(t)?null:vt(e)?vt(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 ia(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Mo({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=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]=tl($p),[P,A]=tl(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=Wp(N=>i?Math.max(N+Xp,0):Math.min(Math.max(N,50),jp),[i]),D=Vp(()=>{let N=r.includes("?")?"&":"?";return`${r}${N}uri=${encodeURIComponent(e)}`},[r,e]),oe=ke(n);oe.current=n;let se=ke(f);return Ro(()=>{se.current=f,x.current.height=-1,w.current&&(w.current.cancel(),w.current=null)},[f]),Ro(()=>{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]),Ro(()=>{let N=m.current;if(!N)return;let ie=!1,xe=!1,Te=null,ne=null,W=setTimeout(()=>{if(ie||xe||C.current>=Yp)return;C.current+=1;let de=new URL(N.src);de.searchParams.set("_retry",String(C.current)),N.src=de.toString()},Jp),H=de=>{N.contentWindow?.postMessage(de,"*")},le=de=>{if(ie||de.source!==N.contentWindow)return;let j=de.data;if(!j||typeof j!="object"||j.jsonrpc!=="2.0")return;let K=j.method,z=j.id;if(K==="ui/initialize"&&z!=null){xe=!0,clearTimeout(W),H({jsonrpc:"2.0",id:z,result:{protocolVersion:j.params?.protocolVersion??Kp,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:oe.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=Zp(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 ce=Q.content??[{type:"text",text:JSON.stringify(Q)}];H({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:ce,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,se.current)return;let q=E(Q),ce=N.getBoundingClientRect().height;if(w.current&&(w.current.cancel(),w.current=null),v(q),N.animate&&Math.abs(ce-q)>2){let ve=N.animate([{height:`${ce}px`},{height:`${q}px`}],{duration:Qp,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,ne){clearTimeout(ne.timer);let O=ne.text;ne=null;let Y=(G.content??[]).map(te=>te.text??"").join("").trim();G={...G,content:[{type:"text",text:`${Y}
|
|
12
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ii(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=wa);let u=vf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!xi(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||!ta(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function vf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Pf(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 Pf(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=Ve(r.attribute,Object.assign({},e.settings.characterReferences,{subset:za.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?bn:kn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ve(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:za.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Fr(a,s)>Fr(a,e.alternative)&&(s=e.alternative),i=s+Ve(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?za.single:za.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Af=["<","&"];function ja(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:Af}))}function Li(e,t,a,r){return r.settings.allowDangerousHtml?e.value:ja(e,t,a,r)}function Ci(e,t,a,r){return r.all(e)}var Si=Tn("type",{invalid:Rf,unknown:Mf,handlers:{comment:pi,doctype:mi,element:Ii,raw:Li,root:Ci,text:ja}});function Rf(e){throw new Error("Expected node, not `"+e+"`")}function Mf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Ff={},Bf={},Ef=[];function fo(e,t){let a=t||Ff,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Df,all:_f,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||vn,characterReferences:a.characterReferences||Bf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?wa:yn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Df(e,t,a){return Si(e,t,a,this)}function _f(e){let t=[],a=e&&e.children||Ef,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function $a(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 Of(e){return Array.isArray(e)?e:[e]}async function Ai(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function xo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ri(e){return e==="ansi"||xo(e)}function Io(e){return e==="none"}function Mi(e){return Io(e)}function Fi(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 Ya(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 Nf(e){let t=Ya(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 Bi(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 Lo="light-dark()",Uf=["color","background-color"];function Hf(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 qf(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?Hf(o,n):o})):e}function Gf(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Xa(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&&Uf.includes(f))if(r===Lo&&s.length>1){let m=t.findIndex(g=>g==="light"),L=t.findIndex(g=>g==="dark");if(m===-1||L===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",w=s[L][f]||"inherit";l[f]=`light-dark(${I}, ${w})`,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 Xa(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Le.Italic&&(t["font-style"]="italic"),e.fontStyle&Le.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Le.Underline&&a.push("underline"),e.fontStyle&Le.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function ho(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Ei=new WeakMap;function Za(e,t){Ei.set(e,t)}function ra(e){return Ei.get(e)}var bt=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(Of(a).map(r=>[r,qa])),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 Wf(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Wf(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 bt))throw new ae("Invalid grammar state");return e.getInternalStack(t)}function zf(){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 ae(`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 ae(`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 ae(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Nf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));jf(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 qf(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 ae(`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],L="",I=-1,w=-1;if(d===0&&(I=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),I===-1||w===-1)for(let h=0;h<m.children.length;h++)L+=Di(m.children[h]),I===-1&&L.length===d&&(I=h+1),w===-1&&L.length===f&&(w=h+1);if(I===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new ae(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(I,w);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(I,g.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||(L=>L);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Fi(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 jf(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ae(`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 ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Di(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Di).join(""):""}var $f=[zf()];function Ka(e){let t=Xf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...$f]}function Xf(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"],po={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Kf(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 yi(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 Qf(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)po[r]&&t.push({type:"setDecoration",value:po[r]});else if(r<=29){let o=po[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=yi(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=yi(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 Jf(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Kf(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=Qf(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 Yf={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 Zf(e=Yf){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 ep={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 tp(e,t,a){let r=$a(e,a),o=Ya(t),n=Object.fromEntries(dt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||ep[l]]})),s=Zf(n),i=Jf();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=ap(c));let f=Le.None;return u.decorations.has("bold")&&(f|=Le.Bold),u.decorations.has("italic")&&(f|=Le.Italic),u.decorations.has("underline")&&(f|=Le.Underline),u.decorations.has("strikethrough")&&(f|=Le.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function ap(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 Co(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(xo(o)||Io(r))return Ya(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return tp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return op(t,i,n,s,a)}function rp(...e){if(e.length===2)return ra(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(xo(o)||Io(n))throw new ae("Plain language does not have grammar state");if(o==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new bt(So(a,l,s,i,r).stateStack,l.name,s.name)}function op(e,t,a,r,o){let n=So(e,t,a,r,o),s=new bt(n.stateStack,t.name,a.name);return Za(n.tokens,s),n.tokens}function So(e,t,a,r,o){let n=$a(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Ya(e),u=o.grammarState?Vf(o.grammarState,a.name)??qa:o.grammarContextCode!=null?So(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:qa,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let I,w,g;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),w=I.tokens,g=0);let h=t.tokenizeLine2(m,u,i),x=h.tokens.length/2;for(let y=0;y<x;y++){let T=h.tokens[2*y],v=y+1<x?h.tokens[2*y+2]:m.length;if(T===v)continue;let A=h.tokens[2*y+1],R=Ye(r[ut.getForeground(A)],n),F=ut.getFontStyle(A),P={content:m.substring(T,v),offset:L+T,color:R,fontStyle:F};if(o.includeExplanation){let b=[];if(o.includeExplanation!=="scopeName")for(let G of a.settings){let S;switch(typeof G.scope){case"string":S=G.scope.split(/,/).map(D=>D.trim());break;case"object":S=G.scope;break;default:continue}b.push({settings:G,selectors:S.map(D=>D.split(/ /))})}P.explanation=[];let H=0;for(;T+H<v;){let G=w[g],S=m.substring(G.startIndex,G.endIndex);H+=S.length,P.explanation.push({content:S,scopes:o.includeExplanation==="scopeName"?np(G.scopes):sp(b,G.scopes)}),g+=1}}c.push(P)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function np(e){return e.map(t=>({scopeName:t}))}function sp(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:lp(e,n,t.slice(0,r))}}return a}function bi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function ip(e,t,a){if(!bi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)bi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function lp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(ip(s,t,a)){r.push(n);break}return r}function _i(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=Co(e,t,{...a,theme:l.theme}),c=ra(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=up(...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:L,explanation:I,offset:w,...g}=p[u][d];f.variants[r[m].color]=g}),f})),i=o[0].state?new bt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Za(s,i),s}function up(...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 Qa(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(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(f.length===0)throw new ae("`themes` option must not be empty");let p=_i(e,t,a);if(l=ra(p),u&&Lo!==u&&!f.find(w=>w.color===u))throw new ae(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),L=f.map(w=>w.color);n=p.map(w=>w.map(g=>Gf(g,L,c,u,d))),l&&Za(n,l);let I=f.map(w=>$a(w.theme,a));o=ki(f,m,I,c,u,"fg",d),r=ki(f,m,I,c,u,"bg",d),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=$a(a.theme,a);n=Co(e,t,a);let c=e.getTheme(a.theme);r=Ye(c.bg,u),o=Ye(c.fg,u),s=c.name,l=ra(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function ki(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===Lo&&e.length>1){let d=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(d===-1||f===-1)throw new ae('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)=>Qa(e,o,n)}){let o=t;for(let m of Ka(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=Qa(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=cp(n):d==="never"&&(n=fp(n)),f&&(n=pp(n));let p={...r,get source(){return o}};for(let m of Ka(a))n=m.tokens?.call(p,n)||n;return dp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function dp(e,t,a,r=ra(e)){let o=Ka(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[L,I]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=I);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:Fi,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((L,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
13
|
+
`}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of L){let x={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},y=ho(h.htmlStyle||Xa(h));y&&(x.properties.style=y);for(let T of o)x=T?.span?.call(p,x,I+1,g,w,h)||x;i==="inline"?s.children.push(x):i==="classic"&&w.children.push(x),g+=h.content.length}if(i==="classic"){for(let h of o)w=h?.line?.call(p,w,I+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let L of o)d=L?.code?.call(p,d)||d;c.children.push(d);for(let L of o)c=L?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let L=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);L.push(I);let g={type:"element",tagName:"code",properties:{},children:L};for(let h of o)g=h?.code?.call(p,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=g.children[h];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&Za(m,r),m}function cp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Le.Underline||n.fontStyle&Le.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 fp(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 pp(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=ho(o.htmlStyle||Xa(o)),s=ho(r.htmlStyle||Xa(r)),i=o.fontStyle&&(o.fontStyle&Le.Underline||o.fontStyle&Le.Strikethrough),l=r.fontStyle&&(r.fontStyle&Le.Underline||r.fontStyle&Le.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var mp=fo;function hp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Ja(e,n,s),codeToTokens:(n,s)=>Qa(e,n,s)},o=mp(Ja(e,t,a,r));for(let n of Ka(a))o=n.postprocess?.call(r,o,a)||o;return o}var Ti={light:"#333333",dark:"#bbbbbb"},vi={light:"#fffffe",dark:"#1e1e1e"},Pi="__shiki_resolved";function yo(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"?Ti.light:Ti.dark),a||(a=t.type==="light"?vi.light:vi.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 Oi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ri(t)).map(async t=>await Ai(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ni(e){return(await Promise.all(e.map(async a=>Mi(a)?null:yo(await Ai(a))))).filter(a=>!!a)}var mo=3,gp=!1;function wp(e,t=3){if(mo&&!(typeof mo=="number"&&t>mo)){if(gp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Je=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Ui(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 go=class extends ri{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=yo(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=Qt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Ui(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))}},wo=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}},aa=0;function xp(e){aa+=1,e.warnings!==!1&&aa>=10&&aa%10===0&&console.warn(`[Shiki] ${aa} 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(yo),o=new wo(e.engine,a),n=new go(o,r,a,e.langAlias),s;function i(h){return Ui(h,e.langAlias)}function l(h){w();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"};w();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){w();let x=u(h);s!==h&&(n.setTheme(x),s=h);let y=n.getColorMap();return{theme:x,colorMap:y}}function d(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Oi(h))}function L(...h){w();for(let x of h.flat(1))n.loadTheme(x)}async function I(...h){return w(),L(await Ni(h))}function w(){if(t)throw new Je("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),aa-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:L,dispose:g,[Symbol.dispose]:g}}async function Ip(e){e.engine||wp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Ni(e.themes||[]),Oi(e.langs||[]),e.engine]);return xp({...e,themes:t,langs:a,engine:r})}async function Lp(e){let t=await Ip(e);return{getLastGrammarState:(...a)=>rp(t,...a),codeToTokensBase:(a,r)=>Co(t,a,r),codeToTokensWithThemes:(a,r)=>_i(t,a,r),codeToTokens:(a,r)=>Qa(t,a,r),codeToHast:(a,r)=>Ja(t,a,r),codeToHtml:(a,r)=>hp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Hi(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,Ri(d))return[];let f=t[d];if(!f)throw new ae(`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(Mi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new ae(`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 Lp({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 Cp(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 qi(e,t){let a=Cp(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 bo=[{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"))}],Gi=Object.fromEntries(bo.map(e=>[e.id,e.import])),Wi=Object.fromEntries(bo.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),oa={...Gi,...Wi};var Sp=[{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"))}],Vi=Object.fromEntries(Sp.map(e=>[e.id,e.import]));var na=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function yp(){return 2147483648}function bp(){return typeof performance<"u"?performance.now():Date.now()}var kp=(e,t)=>e+(t-e%t)%t;async function Tp(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}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 L=yp();if(p>L)return!1;for(let I=1;I<=4;I*=2){let w=m*(1+.2/I);w=Math.min(w,p+100663296);let g=Math.min(L,kp(Math.max(p,w),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let I=m+L,w=m;for(;p[w]&&!(w>=I);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let g="";for(;m<w;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let x=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|x);continue}let y=p[m++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|y:h=(h&7)<<18|x<<12|y<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let T=h-65536;g+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return g}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:bp,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 vp=Object.defineProperty,Pp=(e,t,a)=>t in e?vp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ce=(e,t,a)=>Pp(e,typeof t!="symbol"?t+"":t,a),ge=null;function Ap(e){throw new na(e.UTF8ToString(e.getLastOnigError()))}var tr=class e{constructor(t){ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16Value"),ce(this,"utf8Value"),ce(this,"utf16OffsetToUtf8"),ce(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}},ar=class qe{constructor(t){if(ce(this,"id",++qe.LAST_ID),ce(this,"_onigBinding"),ce(this,"content"),ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16"),ce(this,"ptr"),!ge)throw new na("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new tr(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=ge.omalloc(1e4)),qe._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,qe._sharedPtr),this.ptr=qe._sharedPtr):this.ptr=a.createString(ge)}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)}};ce(ar,"LAST_ID",0);ce(ar,"_sharedPtr",0);ce(ar,"_sharedPtrInUse",!1);var zi=ar,To=class{constructor(t){if(ce(this,"_onigBinding"),ce(this,"_ptr"),!ge)throw new na("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new tr(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&Ap(ge),this._onigBinding=ge,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 zi(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 Rp(e){return typeof e.instantiator=="function"}function Mp(e){return typeof e.default=="function"}function Fp(e){return typeof e.data<"u"}function Bp(e){return typeof Response<"u"&&e instanceof Response}function Ep(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 er;function Dp(e){if(er)return er;async function t(){ge=await Tp(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Rp(r)?r=await r.instantiator(a):Mp(r)?r=await r.default(a):(Fp(r)&&(r=r.data),Bp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await _p(r)(a):r=await Op(r)(a):Ep(r)?r=await ko(r)(a):r instanceof WebAssembly.Module?r=await ko(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await ko(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return er=t(),er}function ko(e){return t=>WebAssembly.instantiate(e,t)}function _p(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Op(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ji(e){return e&&await Dp(e),{createScanner(t){return new To(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new zi(t)}}}var rr=Hi({langs:oa,themes:Vi,engine:()=>ji(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Np,codeToHast:Up,codeToTokens:Hp,codeToTokensBase:qp,codeToTokensWithThemes:Gp,getSingletonHighlighter:Wp,getLastGrammarState:Vp}=qi(rr,{guessEmbeddedLanguages:Bi});var $i=new Set(Object.keys(oa)),vo=new Map,Po=new Map,kt=new Map,zp=(e,t)=>`${e}-${t[0]}-${t[1]}`,jp=(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}`},$p=(e,t)=>{let a=zp(e,t);if(vo.has(a))return vo.get(a);let r=rr({themes:t,langs:[e]});return vo.set(a,r),r};function Xp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return $i.has(r)},getSupportedLanguages(){return Array.from($i)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=jp(r,o,n);return Po.has(i)?Po.get(i):(s&&(kt.has(i)||kt.set(i,new Set),kt.get(i).add(s)),$p(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]}});Po.set(i,c);let d=kt.get(i);if(d){for(let f of d)f(c);kt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),kt.delete(i)}),null)}}}var Xi=Xp();import{memo as Yp}from"react";import{useEffect as Kp,useRef as or,useState as Qp}from"react";var Jp=5,Ki=400;function Qi(e,t,a={}){let{msPerChar:r=Jp}=a,[o,n]=Qp(t?"":e),s=or(e),i=or(t?0:e.length),l=or(0),u=or(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Kp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Ki&&(i.current=s.current.length-Ki),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 L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,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 nr}from"react/jsx-runtime";var Ao=({className:e,from:t,children:a,...r})=>nr("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:nr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Ro=({children:e,className:t,...a})=>nr("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}),Zp={cjk:Jr,code:Xi},em={cjk:Jr},tm={enabled:!1};function am({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=Qi(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return nr(Rt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??tm,plugins:a?em:Zp,...o,children:i})}var sr=Yp(am,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);sr.displayName="MessageResponse";import{createContext as rm,useCallback as om,useContext as el,useEffect as nm,useMemo as Fo,useRef as sm,useState as Bo}from"react";import{Fragment as Zi,jsx as X,jsxs as ct}from"react/jsx-runtime";function im(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 lm({text:e,className:t}){let{t:a}=z(),[r,o]=Bo(!1),n=sm(null);nm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=om(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(Be,{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?ct(Zi,{children:[X(Ft,{className:"ww:size-3.5"}),X("span",{children:a.tool.copied})]}):ct(Zi,{children:[X(Et,{className:"ww:size-3.5"}),X("span",{children:a.tool.copy})]})})}function tl({data:e,label:t,className:a,...r}){let[o,n]=Bo(!1),s=Fo(()=>JSON.stringify(e,null,2),[e]),i=im(e);return ct("div",{className:k("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(lm,{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(Bt,{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?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 Eo=rm({open:!1,toggle:()=>{}});function al({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Bo(t);return X(Eo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:X("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 rl({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=el(Eo),s=a==="input-available"||a==="input-streaming",i=t??"";return ct("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:[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:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ol({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return X("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:X("span",{className:"ww:truncate",children:o?X(_e,{duration:1.6,children:n}):n})})}function nl({className:e,children:t,...a}){let{open:r}=el(Eo);return X("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:X("div",{className:"ww:min-h-0 ww:overflow-hidden",children:X("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 Do({className:e,input:t,debug:a,...r}){let{t:o}=z(),n=Fo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return X(tl,{data:n,label:o.tool.request,className:e,...r})}function Mo(e){if(!(typeof e!="object"||e===null))return e}function sl(e){return Mo(e?.ui)}function il(e){return Mo(Mo(e)?._meta)}function Ji(e){if(!e)return;let t=sl(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 Yi(e){return sl(e)?.autoHeight===!0}function sa(e,t,a){if(e){let r=Ji(a?.[e]?._meta);if(r)return r}return Ji(il(t))}function ll(e,t,a){return e&&Yi(a?.[e]?._meta)?!0:Yi(il(t))}function _o({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=z(),s=Fo(()=>{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:k("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(tl,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as ul,jsxs as um}from"react/jsx-runtime";function dl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function cl(e){return e.parts.some(dl)}function fl(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=>!(!dl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function pl({className:e,...t}){let{t:a}=z();return um("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:[ul(Ht,{className:"ww:size-4 ww:shrink-0"}),ul(_e,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as dm,useEffect as Oo,useMemo as cm,useRef as ke,useState as hl}from"react";function Tt(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 ml(e,t){return!Tt(e)&&!Tt(t)?null:Tt(e)?Tt(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 Sm}from"react/jsx-runtime";var fm="/api/mcp/resource",pm=500,mm=0,hm=16,gm="2026-01-26",wm=300,xm=3e3,Im=3;function Lm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Cm(e,t,a){return sa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function No({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=fm,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),L=ke(t),I=ke(a),w=ke({width:0,height:0}),g=ke(null),h=ke(!1),x=ke(0),y=ke("inline"),[T,v]=hl(mm),[A,R]=hl(void 0),F=ke(l),P=ke(u),b=ke(c),H=ke(d),G=ke(o),S=ke(p);L.current=t,I.current=a,F.current=l,P.current=u,b.current=c,H.current=d,G.current=o,S.current=p;let D=dm(_=>i?Math.max(_+hm,0):Math.min(Math.max(_,50),pm),[i]),B=cm(()=>{let _=r.includes("?")?"&":"?";return`${r}${_}uri=${encodeURIComponent(e)}`},[r,e]),Te=ke(n);Te.current=n;let we=ke(f);return Oo(()=>{we.current=f,w.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[f]),Oo(()=>{if(!h.current)return;let _=m.current;_?.contentWindow&&_.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Oo(()=>{let _=m.current;if(!_)return;let me=!1,oe=!1,ye=null,ne=null,V=setTimeout(()=>{if(me||oe||x.current>=Im)return;x.current+=1;let de=new URL(_.src);de.searchParams.set("_retry",String(x.current)),_.src=de.toString()},xm),$=de=>{_.contentWindow?.postMessage(de,"*")},ve=de=>{if(me||de.source!==_.contentWindow)return;let K=de.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let se=K.method,W=K.id;if(se==="ui/initialize"&&W!=null){oe=!0,clearTimeout(V),$({jsonrpc:"2.0",id:W,result:{protocolVersion:K.params?.protocolVersion??gm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Te.current?"dark":"light",displayMode:y.current}}});return}if(se==="ui/notifications/initialized"){h.current=!0;let O=L.current,q=I.current,Q=q._meta&&typeof q._meta=="object"?q._meta:null,ie=Lm(G.current),te=Q&&typeof Q.waniwani=="object"&&Q.waniwani!==null?Q.waniwani:null,xe=te||ie?{...te??{},...ie?{sessionId:ie}:{}}:void 0,M=Q||xe?{...Q??{},...xe?{waniwani:xe}:{}}:void 0;$({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:O}});let N=q.content??[{type:"text",text:JSON.stringify(q)}];$({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:N,structuredContent:q.structuredContent,_meta:M,meta:M}});return}if(se==="ui/notifications/size-changed"){let O=K.params,q=typeof O?.height=="number"?O.height:void 0,Q=typeof O?.width=="number"?O.width:void 0,ie=w.current,te=q!==void 0&&q!==ie.height,xe=Q!==void 0&&Q!==ie.width;if(!te&&!xe)return;if(te&&q!==void 0){if(ie.height=q,we.current)return;let M=D(q),N=_.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(M),_.animate&&Math.abs(N-M)>2){let Z=_.animate([{height:`${N}px`},{height:`${M}px`}],{duration:wm,easing:"ease-out",fill:"forwards"});g.current=Z,Z.onfinish=()=>{g.current===Z&&(Z.cancel(),g.current=null)}}}xe&&i&&Q!==void 0&&(ie.width=Q,R(Q));return}if(se==="ui/open-link"&&W!=null){let O=K.params?.url;typeof O=="string"&&(F.current?F.current(O):window.open(O,"_blank","noopener,noreferrer")),$({jsonrpc:"2.0",id:W,result:{}});return}if(se==="ui/message"&&W!=null){if(P.current&&K.params){let O=K.params,q=ye;if(ye=null,ne){clearTimeout(ne.timer);let Q=ne.text;ne=null;let ie=(O.content??[]).map(te=>te.text??"").join("").trim();O={...O,content:[{type:"text",text:`${ie}
|
|
14
14
|
|
|
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=el(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&&em(Q,O,L.current)&&(ne&&clearTimeout(ne.timer),ne={text:Y,timer:setTimeout(()=>{if(ie)return;let te=Te;Te=null,ne=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",le),()=>{ie=!0,clearTimeout(W),ne&&clearTimeout(ne.timer),window.removeEventListener("message",le)}},[i,E]),tm("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 la,jsxs as am}from"react/jsx-runtime";function al({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&&la("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}),la("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&la("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&la("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)=>la("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 rm}from"react";import{jsx as Fo,jsxs as nm}from"react/jsx-runtime";function om({onRetry:e}){let{t}=U();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:[Fo("span",{children:t.widgetErrorBoundary.failedToLoad}),Fo("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 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?Fo(om,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as sm,jsx as ee,jsxs as Ze}from"react/jsx-runtime";function Bo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function rl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Nt:rt}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&&Yi(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Ze(sm,{children:[!h&&(!w&&r?ee(al,{...r,onSuggestionSelect:o}):a&&ee(So,{from:"assistant",children:ee(yo,{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"&&!Ji(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||!ia(L.toolName,E,m)})?ee("div",{style:{display:"none"}},I.id):Ze(So,{from:I.role,className:S?.message,children:[p!==!1&&!$&&!X&&v.map((L,E)=>Ze(zt,{isStreaming:L.state==="streaming",children:[ee(jt,{}),ee($t,{children:L.text})]},`reasoning-${I.id}-${E}`)),X&&(()=>{let L=M[M.length-1],E=L.type==="reasoning"?{icon:We,label:g.reasoning.thinking}:{icon:rl(L.toolName),label:L.title??Bo(L.toolName)};return Ze(es,{isWorking:B&&(t==="streaming"||t==="submitted"),activeStep:E,children:[ee(ts,{workingLabel:g.chainOfThought.working,label:g.chainOfThought.done}),ee(as,{children:M.map((D,oe)=>{let se=oe===M.length-1;if(D.type==="reasoning")return ee(os,{isStreaming:D.state==="streaming",isLast:se,children:D.text},`reasoning-${I.id}-${oe}`);let N=D.title??Bo(D.toolName),ie=rl(D.toolName);if(p==="titles-only")return ee(qr,{icon:ie,title:N,state:D.state,isLast:se},D.toolCallId);let xe="output"in D?D.output:void 0;return Ze(qr,{icon:ie,title:N,state:D.state,isLast:se,children:[ee(Po,{input:D.input,debug:f}),xe!==void 0&&ee(Ao,{output:xe,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??Bo(L.toolName);if(p==="titles-only")return ee(Vi,{title:E,state:L.state});let D="output"in L?L.output:void 0;return Ze(Gi,{children:[ee(Wi,{title:E,state:L.state}),Ze(zi,{children:[ee(Po,{input:L.input,debug:f}),D!==void 0&&ee(Ao,{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=ia(L.toolName,E,m),oe=Xi(L.toolName,E,m),se=L.toolCallId===d;return D&&n&&E!==void 0?ee("div",{style:se?{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(Mo,{isFullscreen:se,resourceUri:D,toolInput:L.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:oe,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:oe}):void 0})})},L.toolCallId):null}),!$&&ee("div",{children:Ze(yo,{className:k(I.role==="user"?S?.userBubble:S?.assistantBubble),children:[P.length>0&&ee(Xn,{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(Zi,{})]})}import{jsx as ol,jsxs as um}from"react/jsx-runtime";var im="https://app.waniwani.ai/assets/waniwani-logo.svg",lm="https://waniwani.ai";function sr(){let{t:e}=U();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:[ol("span",{children:e.poweredBy.label}),ol("img",{src:im,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 dm,useRef as cm,useState as fm}from"react";import{jsx as re,jsxs as ft}from"react/jsx-runtime";var nl=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:[re("title",{children:e}),re("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),re("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:[re("title",{children:e}),re("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),re("polyline",{points:"3 4 3 9 8 9"}),re("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),re("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:[re("title",{children:e}),re("polyline",{points:"3 6 5 6 21 6"}),re("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),re("path",{d:"M10 11v6"}),re("path",{d:"M14 11v6"})]})}function ur({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=U(),[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,nl),d=Math.max(0,e.length-nl);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[re("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:re(pm,{label:s.threadMenu.newChat})}),re("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:re(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&&re("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:[re("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),re("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Dr(m,n)})]}),re("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:re(hm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&re("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 dr(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 Ce,useEffect as Ee,useRef as me,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 cr=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 S=await o(m);S.success&&s.enqueue(S.value)}}catch{}}}}))}};var Cm="waniwani-memory";var Re="threads",fr="by_memoryUserId",Sm="by_updatedAt";var il="memoryUserId",sl="waniwani-memory-user-id",Do=null;function Eo(){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(Re)){let a=e.createObjectStore(Re,{keyPath:"threadId"});a.createIndex(fr,"memoryUserId",{unique:!1}),a.createIndex(Sm,"updatedAt",{unique:!1})}}async function _o(){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 _o()}async function km(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(il);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,il);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=Eo();return await Tm(e,a),a}finally{e.close()}}catch{return null}}function Pm(){try{let e=localStorage.getItem(sl);if(e)return e;let t=Eo();return localStorage.setItem(sl,t),t}catch{return null}}async function ll(){let e=await vm();if(e)return e;let t=Pm();return t||(Do||(Do=Eo()),Do)}var ul=50,dl=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 _o(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function No(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Oo(e){return await mr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(fr),i=(await No(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 No(o.get(e));return pr(n)?n:null})??null}async function Uo(e){if(!pr(e))return;let t=e.messages.length>dl?{...e,messages:e.messages.slice(e.messages.length-dl)}: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 No(n.getAll(t.memoryUserId))??[]).filter(pr);if(i.length>ul){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-ul);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 cl(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 Ho(e){return(await Oo(e))[0]?.threadId??null}function fl(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 pl="waniwani-visitor-id";function ml(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=ml(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=ml(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(pl);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(pl,t)}catch{}return t}async function pt(){let e=navigator.userAgent,[t,a]=await Promise.all([Bm(),ll()]);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 hl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Wt()}function gr(){return new Date().toISOString()}function gl(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 wr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=me(a),c=me(r),d=me(s);Ee(()=>{d.current=s},[s]);let f=me(void 0),p=me(null),[m,S]=mt(void 0),g=me(m),[x,w]=mt(i),h=me(x),[C,I]=mt([]),[b,v]=mt(!s),P=me(void 0),A=me(void 0),M=me(void 0),B=me(void 0),T=me(0),$=me(l);Ee(()=>{$.current=l},[l]);let X=Ce(y=>{h.current=y,w(y),y&&$.current?.(y)},[]),L=Ce(async()=>{if(!s)return;let y=p.current?.memoryUserId;if(!y)return;let F=await Oo(y);I(F)},[s]),E=Ce(()=>g.current,[]),D=Ce(y=>{let F=gl(y);F&&g.current!==F&&(g.current=F,S(F))},[]),oe=Ce(()=>{g.current=void 0,S(void 0)},[]);Ee(()=>{u.current=a},[a]),Ee(()=>{c.current=r},[r]),Ee(()=>{let y=!1,F=T.current;return(async()=>{try{let ye=await pt();if(y)return;p.current=ye}catch{}if(!s)return;let _=p.current?.memoryUserId;if(!_){v(!0);return}try{let ye=i??await Ho(_);if(y||F!==T.current)return;if(ye){let ge=await hr(ye);if(y||F!==T.current)return;ge&&ge.memoryUserId===_&&(h.current=ge.threadId,w(ge.threadId),P.current=ge.createdAt,A.current=ge.title,ge.sessionId&&(g.current=ge.sessionId,S(ge.sessionId)),j(ge.messages))}await L()}finally{y||v(!0)}})(),()=>{y=!0}},[]);let se=me(new cr({api:t,headers:()=>({...u.current}),body:()=>{let y={...c.current??{}},F=Object.hasOwn(y,"sessionId"),_=gl(y.sessionId);if(_)D(_),y.sessionId=_;else if(F)oe(),delete y.sessionId;else{let Fe=E();Fe&&(y.sessionId=Fe)}if(vt(f.current)&&(y.modelContext=f.current),p.current){let Fe=p.current;y.visitorContext={timezone:Fe.timezone,language:Fe.language,languages:Fe.languages,deviceType:Fe.deviceType,referrer:Fe.referrer,visitorId:Fe.visitorId};let Ge=typeof y.visitor=="object"&&y.visitor!==null?y.visitor:{},ru=typeof Ge.client=="object"&&Ge.client!==null?Ge.client:{};y.visitor={...Ge,id:Fe.visitorId,client:{...ru,memoryUserId:Fe.memoryUserId}}}let ye=typeof y.extra=="object"&&y.extra!==null&&!Array.isArray(y.extra)?y.extra:void 0,ge=p.current?.memoryUserId,fe=p.current?.language,pa={};if(ge&&(pa.memoryUserId=ge),fe&&(pa.locale=fe),(Object.keys(pa).length>0||ye)&&(y.extra={...pa,...ye??{}}),d.current)if(Object.hasOwn(y,"threadId"))typeof y.threadId=="string"&&(h.current=y.threadId);else{let Ge=h.current;Ge||(Ge=hl(),P.current=gr(),A.current=void 0,X(Ge)),y.threadId=Ge}return y},fetch:(async(y,F)=>{let _=await fetch(y,F);return f.current=void 0,D(_.headers.get(Em)),_})})),N=me(null),ie=me(null),xe=me({}),[Te,ne]=mt(0),W=e.skipRemoteConfig===!0,H=Ce(async()=>{if(!W)try{let y=await Nm(t,u.current);xe.current=y,ne(F=>F+1)}catch(y){console.warn("[Waniwani] Failed to fetch tool definitions:",y instanceof Error?y.message:y)}},[t,W]);Ee(()=>{H()},[H]);let{messages:le,sendMessage:de,setMessages:j,status:K}=Dm({messages:e.initialMessages,transport:se.current,onFinish({message:y}){n?.(),N.current&&(ie.current=y)},onError(y){console.warn("[Waniwani] Chat error:",y.message),N.current&&(N.current.reject(y),N.current=null)}}),z=me(le);Ee(()=>{z.current=le},[le]);let G=me(s);Ee(()=>{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 pt(),p.current=_}catch{}let ye=_?.memoryUserId;if(!ye||y||F!==T.current){y||v(!0);return}let ge=i??await Ho(ye);if(y||F!==T.current)return;if(ge){let fe=await hr(ge);if(y||F!==T.current)return;fe&&fe.memoryUserId===ye&&(h.current=fe.threadId,w(fe.threadId),P.current=fe.createdAt,A.current=fe.title,fe.sessionId&&(g.current=fe.sessionId,S(fe.sessionId)),j(fe.messages))}await L()}finally{y||v(!0)}})(),()=>{y=!0}},[s]),Ee(()=>{if(K==="ready"&&N.current&&ie.current){let y=N.current,F=ie.current;N.current=null,ie.current=null,y.resolve(F)}},[K]);let[Q,O]=mt(""),[Y,te]=mt([]),R=K==="submitted"||K==="streaming",q=Ce(y=>{te(F=>F.filter(_=>_.id!==y))},[]),ce=R&&Y.length>0,ve=Ce(y=>{let F=!!y.text?.trim(),_=!!y.files?.length;if(F||_){if(R){if(Y.length>0)return;te(ye=>[...ye,{id:Wt(),text:y.text||"",files:y.files??[],modelContext:y.modelContext}]),O("");return}f.current=y.modelContext,de({text:y.text||"",files:y.files}),o?.(y.text||""),O("")}},[de,o,R,Y.length]),Rt=Ce(y=>new Promise((F,_)=>{N.current={resolve:F,reject:_},de({text:y}),o?.(y)}),[de,o]);Ee(()=>{if(K!=="ready"||Y.length===0)return;let[y,...F]=Y;te(F),f.current=y.modelContext,de({text:y.text,files:y.files.length>0?y.files:void 0}),o?.(y.text)},[K,de,o,Y]);let ht=Ce(()=>{j([]),te([]),oe(),O(""),xe.current={},ne(y=>y+1),H()},[j,oe,H]),gt=Ce(()=>{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 ye=_.find(fe=>fe.role==="user"),ge=ye?ye.parts.map(fe=>"text"in fe&&typeof fe.text=="string"?fe.text:"").join(" "):"";A.current=fl(ge)}return{threadId:F,memoryUserId:y,title:A.current,messages:_,sessionId:g.current,createdAt:P.current,updatedAt:gr()}}},[]),tn=Ce(async()=>{let y=gt();y&&(await Uo(y),await L())},[gt,L]);Ee(()=>{if(s&&b&&!(K==="submitted"||K==="streaming")&&le.length!==0)return M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=void 0;let y=tn().finally(()=>{B.current===y&&(B.current=void 0)});B.current=y},_m),()=>{M.current&&clearTimeout(M.current)}},[s,b,le,K,tn]);let fa=Ce(()=>{let y=B.current,F=M.current,_=F?gt():void 0;return F&&(clearTimeout(F),M.current=void 0),(async()=>{y&&await y,_&&(await Uo(_),await L())})()},[gt,L]),Yl=Ce(()=>{T.current+=1,fa(),j([]),te([]),oe(),O("");let y=hl();return P.current=gr(),A.current=void 0,X(y),L(),y},[j,oe,X,L,fa]),br=Ce(async y=>{T.current+=1;let F=T.current;if(await fa(),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)):oe(),j(_.messages),te([]),O(""))},[j,oe,X,fa]),Zl=Ce(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 cl(y),await L(),h.current===y&&(j([]),te([]),oe(),O(""),h.current=void 0,w(void 0),P.current=void 0,A.current=void 0)},[j,oe,L]);Ee(()=>{s&&b&&i!==void 0&&i!==h.current&&br(i)},[i,s,b,br]);let eu=Ce(y=>{O(y.target.value)},[]),an=le[le.length-1],rn=le.length>0,tu=R&&(!rn||an.role==="user"),au=xe.current;return{messages:le,status:K,text:Q,setText:O,handleSubmit:ve,handleTextChange:eu,isLoading:R,showLoaderBubble:tu,lastMessage:an,hasMessages:rn,sendMessage:de,sendMessageAndWait:Rt,reset:ht,queuedMessages:Y,queueFull:ce,removeQueuedMessage:q,sessionId:m,toolDefinitions:au,refreshToolDefinitions:H,threads:C,activeThreadId:x,isThreadHistoryReady:b,startNewThread:Yl,switchThread:br,deleteThread:Zl}}import{useEffect as wl,useRef as Om,useState as Um}from"react";var Hm={debug:!1,eval:!1};function xl(e="/api/waniwani",t,a=!1){let[r,o]=Um(Hm),n=Om(t);return wl(()=>{n.current=t},[t]),wl(()=>{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 qo,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 Ll(e){return typeof e=="object"&&e!==null&&"initial"in e}function xr(e){let{messages:t,status:a,config:r}=e,o=Ll(r)&&r.initial?r.initial:void 0,[n,s]=Wm(o??[]),i=Gm(a),l=r===!0||Ll(r)&&r.dynamic!==!1,u=qm(()=>{s([])},[]),c=t.length>0;qo(()=>{!c&&o&&o.length>0&&s(o)},[o,c]);let d=t[t.length-1];return qo(()=>{d?.role==="user"&&u()},[d,u]),qo(()=>{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=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,Il=500;function Lr(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,Il)):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,Il),()=>{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 et(e,"/resource",r?{token:r}:void 0)}var Cl={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"},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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},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"],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 Go(e){return{...Cl,...e}}function ua(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 Se,jsxs as da}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:S=!1,showToolCalls:g=!0}=t,x=p??"/api/waniwani",w=Ir(x,t.headers),h=Go(r),C=ua(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=xl(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]=yl(!1),[D,oe]=yl(null),se=Sl(null),N=Sl(void 0),ie=Wo(()=>{let W=se.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)},[]),xe=xr({messages:T.messages,status:T.status,config:t.suggestions}),Te=Wo(W=>{let H=W.content.map(le=>le.text??"").join("").trim();H&&T.handleSubmit({text:H,files:[],modelContext:W.modelContext})},[T.handleSubmit]),ne=Wo(W=>{xe.clear(),T.handleSubmit({text:W,files:[]})},[xe.clear,T.handleSubmit]);return th(a,()=>({sendMessage:W=>{T.handleSubmit({text:W,files:[]}),ie()},sendMessageAndWait:W=>T.sendMessageAndWait(W),reset:T.reset,focus:ie,get messages(){return T.messages},get sessionId(){return T.sessionId}}),[T.handleSubmit,T.sendMessageAndWait,T.reset,T.messages,T.sessionId,ie]),eh(()=>{if(!f)return;let W=H=>{let le=H.detail,de=typeof le?.message=="string"?le.message:void 0;de&&T.handleSubmit({text:de,files:[]}),ie()};return window.addEventListener(f,W),()=>window.removeEventListener(f,W)},[f,T.handleSubmit,ie]),da("div",{ref:se,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:[da("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:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se($n,{messages:T.messages,evalEnabled:M.eval,api:x}),S&&Se(ur,{threads:T.threads,activeThreadId:T.activeThreadId,onNewThread:T.startNewThread,onSelectThread:W=>{T.switchThread(W)},onDeleteThread:W=>{T.deleteThread(W)}})]}),da(bn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(kn,{scrollClassName:D?"ww:!relative ww:!overflow-hidden":void 0,children:Se(nr,{messages:T.messages,status:T.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ne,resourceEndpoint:w,chatSessionId:T.sessionId,isDark:A,onFollowUp:Te,onCallTool:$,fullscreenToolCallId:D,debug:B,showToolCalls:g,toolDefinitions:T.toolDefinitions,onWidgetDisplayModeChange:(W,H)=>{oe(W==="fullscreen"?H.toolCallId:null)}})}),Se(Tn,{})]}),Se("div",{style:D?{display:"none"}:void 0,children:Se(lr,{suggestions:xe.suggestions,isLoading:xe.isLoading,onSelect:ne})}),Se("div",{style:D?{display:"none"}:void 0,children:Se(ba,{queuedMessages:T.queuedMessages,onRemove:T.removeQueuedMessage})}),Se("div",{style:D?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:da("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(Ia,{onSubmit:T.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:da("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(ya,{}),Se(Ca,{onChange:T.handleTextChange,value:T.text,placeholder:X,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(Sa,{status:T.status,disabled:T.queueFull})]})}),Se(sr,{})]})})})]})});import{forwardRef as kl,useCallback as Cr,useEffect as Pt,useImperativeHandle as oh,useRef as ca,useState as Sr}from"react";import{jsx as rh}from"react/jsx-runtime";function bl({text:e}){let{t}=U();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 he,jsxs as tt}from"react/jsx-runtime";var Vo=kl(function(t,a){let{locale:r,messages:o}=t;return he(Br,{locale:r,messages:o,children:he(nh,{...t,ref:a})})}),nh=kl(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?ua(A):{},[T,$]=Sr(!1);Pt(()=>{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),oe=Lr(d,!L.text),[se,N]=Sr(null),[ie,xe]=Sr(null),Te=ca(null),ne=ca(null),W=ca(null),H=ca(null),[le,de]=Sr(!0),j=ca(le);j.current=le;let K=Cr(()=>{let R=Te.current;if(!R)return;let q=R.querySelector("textarea");q&&q.focus()},[]),z=Cr((R="smooth")=>{let q=ne.current;q&&q.scrollTo({top:q.scrollHeight,behavior:R})},[]);Pt(()=>{let R=H.current,q=ne.current;if(!R||!q)return;let ce=new IntersectionObserver(([ve])=>de(ve.isIntersecting),{root:q,rootMargin:"0px 0px 200px 0px",threshold:0});return ce.observe(R),()=>ce.disconnect()},[]),Pt(()=>{(L.messages[L.messages.length-1]?.role==="user"||j.current)&&z("smooth")},[L.messages.length,L.messages[L.messages.length-1]]),Pt(()=>{z("auto")},[z]),Pt(()=>{if(typeof ResizeObserver>"u")return;let R=ne.current,q=W.current;if(!R&&!q)return;let ce=R?.scrollHeight??0,ve=R?.clientHeight??0,Rt=new ResizeObserver(()=>{let ht=ne.current;if(!ht)return;let gt=ht.scrollTop+ve>=ce-5;ce=ht.scrollHeight,ve=ht.clientHeight,gt&&z("auto")});return R&&Rt.observe(R),q&&Rt.observe(q),()=>Rt.disconnect()},[z]);let G=xr({messages:L.messages,status:L.status,config:t.suggestions}),Q=Cr(R=>{let q=R.content.map(ce=>ce.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]);oh(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]),Pt(()=>{if(!f)return;let R=q=>{let ce=q.detail,ve=typeof ce?.message=="string"?ce.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 tt("div",{ref:Te,style:{...B,maxHeight:"inherit",...se&&ie?{height:ie}:{},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&&tt("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&&he("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:x}),!x&&he("div",{className:"ww:flex-1"}),C&&he(ur,{threads:L.threads,activeThreadId:L.activeThreadId,onNewThread:L.startNewThread,onSelectThread:R=>{L.switchThread(R)},onDeleteThread:R=>{L.deleteThread(R)}}),w]}),tt("div",{ref:ne,className:k("ww:relative ww:flex-1 ww:min-h-0",se?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[tt("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",se&&"ww:!py-0"),children:[he(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:se,debug:S,showToolCalls:I,toolDefinitions:L.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(R,q)=>{if(R==="fullscreen"){let ce=Te.current?.getBoundingClientRect().height??0;xe(ce>0?ce:null),N(q.toolCallId)}else xe(null),N(null)}}),he("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!le&&!se&&he("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:he(Be,{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:he(at,{className:"ww:size-4"})})})]}),!g&&tt("div",{className:"ww:shrink-0 ww:bg-background",style:se?{display:"none"}:void 0,children:[he(lr,{suggestions:G.suggestions,isLoading:G.isLoading,onSelect:O}),he(ba,{queuedMessages:L.queuedMessages,onRemove:L.removeQueuedMessage}),he("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:[he(Ia,{onSubmit:L.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:tt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&he(ya,{}),he(Ca,{onChange:L.handleTextChange,value:L.text,placeholder:oe,className:"ww:min-h-0 ww:py-1 ww:px-0"}),he(Sa,{status:L.status,disabled:L.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:[he(sr,{}),he(bl,{text:v})]})]})})]})]})});import{forwardRef as Xh,useEffect as $l,useImperativeHandle as Kh,useMemo as Xl,useRef as Kl,useState as Ql}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=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 zo(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function jo(e,t,a){let r=a??uh(),o=dh(t,r,e),n={token:"",...ih,...zo(t),...zo(r),...zo(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,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 xb,useState as Lb}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 $o(...e){ch()&&console.log("[Waniwani]",...e)}var Xo=new Set;function fh(e,t,a){return`${e}|${t}|${a??""}`}function Ko(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function Qo(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(!Xo.has(s)){Xo.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(Ko(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{Xo.delete(s)}}}var ph="waniwani:config:";function Tl(e,t,a){return`${ph}${e}|${t}|${a??""}`}function Jo(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Tl(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function vl(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Tl(e,t,a),JSON.stringify(r))}catch{}}async function Pl(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 Al="\0\0";function gh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Al).replace(/\\\*/g,"[^/]*").split(Al).join(".*");return new RegExp(`^${a}$`)}function wh(e,t){try{return gh(e).test(t)}catch{return!1}}function Rl(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 Yo="waniwani:locationchange",Ml=!1;function Ih(){if(!(Ml||typeof history>"u")){Ml=!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(Yo)),o}}}}function Ch(e){return Ih(),window.addEventListener(Yo,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(Yo,e),window.removeEventListener("popstate",e)}}function Sh(){return window.location.pathname}function yh(){return"/"}function bh(){return Lh(Ch,Sh,yh)}function Fl(e,t){let a=bh(),r=t&&Rl(e,a);return xh(()=>{$o("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function At(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 Bl(e){return e?At(e,kh):void 0}function Dl(e){return e?At(e,Th):void 0}function El(e){return e?At(e,vh):void 0}function _l(e){return e?At(e,Ph):void 0}function Nl(e){return e?At(e,Ah):void 0}function Ol(e){return e?At(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 Ul(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 Hl(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Dh,o=Nh(e),n=yr(e.meta),s=yr(e.metadata),i=Oh(e,n),l=Me(e.eventId)??r(),u=Uh(e.timestamp,a),c=Me(e.source)??Ul(n)??t.source??Bh,d=Zo(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(!Zo(e))return yr(e.properties);let a=_h(e,t),r=yr(e.properties);return{...a,...r}}function _h(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 Nh(e){return Zo(e)?e.eventType:e.event}function Oh(e,t){let a=Me(e.requestId)??Dl(t),r=Me(e.sessionId)??Bl(t),o=Me(e.traceId)??El(t),n=Me(e.externalUserId)??_l(t),s=Me(e.visitorId)??Nl(t),i=Me(e.correlationId)??Ol(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 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 Zo(e){return"eventType"in e}function ql(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 Gl="@waniwani/sdk";var qh=new Set([401,403]),Gh=new Set([408,425,429,500,502,503,504]);function Wl(e){return new en(e)}var en=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":Gl};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:Gl,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 Vl(e){let{apiUrl:t,endpointPath:a}=$h(e.endpoint),r=Wl({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=Hl({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,ql(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 zl(e){let t;return pt().then(a=>{t=a.visitorId}).catch(()=>{}),Vl({endpoint:Ko(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:t})})}function jl(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,Jl="https://app.waniwani.ai/api/mcp/chat",Jh=Xh(function(t,a){let{token:r,channelId:o,className:n,overrides:s}=t,i=Kl(null),l=Kl(null),u=Xl(()=>({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??Jl,[d,f]=Ql({}),[p,m]=Ql(!1),S=s?.disablePageView;$l(()=>{if(!r){m(!0);return}let h=v=>{S||Qo({api:c,token:r,channelId:o,mode:"inline",source:v})},C=Jo(c,r,o);C&&(f(C),m(!0),h(C.source));let I=new AbortController,b=setTimeout(()=>m(!0),Qh);return Pl(c,r,I.signal,o).then(v=>{I.signal.aborted||(Object.keys(v).length>0&&(vl(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=Xl(()=>jo(u,d,void 0),[u,d]);$l(()=>{if(!r)return;let h=zl({api:c,token:r,channelId:o,getSource:()=>Jo(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??jl("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=Fl(g.visibility,p),w={mode:"inline"};return g.mcpServerUrl&&(w.mcpServerUrl=g.mcpServerUrl),g.channelId&&(w.channelId=g.channelId),x?Yh(Vo,{ref:i,api:g.api??Jl,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{ah as ChatCard,Vo as ChatEmbed,Jm as DARK_THEME,Cl as DEFAULT_THEME,Mo as McpAppFrame,Jh as WaniwaniChat,Go as mergeTheme,ua as themeToCSSProperties};
|
|
15
|
+
${Q}`}]}}P.current({...O,...q?{modelContext:q}:{}})}$({jsonrpc:"2.0",id:W,result:{}});return}if(se==="ui/update-model-context"&&W!=null){ye=ml(ye,K.params),$({jsonrpc:"2.0",id:W,result:{}});return}if(se==="tools/call"&&W!=null){let O=b.current;if(!O){$({jsonrpc:"2.0",id:W,error:{code:-32601,message:"tools/call not supported"}});return}let q=K.params?.name;O({name:q,arguments:K.params?.arguments??{}}).then(Q=>{$({jsonrpc:"2.0",id:W,result:Q});let ie=Q.content?.map(te=>te.text??"").join("").trim();ie&&Cm(q,Q,S.current)&&(ne&&clearTimeout(ne.timer),ne={text:ie,timer:setTimeout(()=>{if(me)return;let te=ye;ye=null,ne=null,P.current?.({role:"user",content:[{type:"text",text:ie}],...te?{modelContext:te}:{}})},500)})}).catch(Q=>{let ie=Q instanceof Error?Q.message:"Tool call failed";$({jsonrpc:"2.0",id:W,error:{code:-32e3,message:ie}})});return}if(se==="ui/request-display-mode"&&W!=null){let O=K.params?.mode,q=O==="fullscreen"||O==="inline"||O==="pip"?O:"inline";y.current=q,$({jsonrpc:"2.0",id:W,result:{mode:q}}),$({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),H.current?.(q);return}if(se==="ui/resource-teardown"&&W!=null){$({jsonrpc:"2.0",id:W,result:{}});return}se==="ping"&&W!=null&&$({jsonrpc:"2.0",id:W,result:{}})};return window.addEventListener("message",ve),()=>{me=!0,clearTimeout(V),ne&&clearTimeout(ne.timer),window.removeEventListener("message",ve)}},[i,D]),Sm("iframe",{ref:m,src:B,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%":T,minWidth:f||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as ia,jsxs as ym}from"react/jsx-runtime";function gl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return ym("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&&ia("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}),ia("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&ia("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&ia("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)=>ia("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 bm}from"react";import{jsx as Uo,jsxs as Tm}from"react/jsx-runtime";function km({onRetry:e}){let{t}=z();return Tm("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:[Uo("span",{children:t.widgetErrorBoundary.failedToLoad}),Uo("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var ir=class extends bm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Uo(km,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as vm,jsx as Y,jsxs as Ze}from"react/jsx-runtime";function Ho(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function wl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?_t:rt}function lr({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:L}){let{t:I}=z(),w=e[e.length-1],g=e.length>0,h=d!=null,x=!h&&fl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Ze(vm,{children:[!h&&(!g&&r?Y(gl,{...r,onSuggestionSelect:o}):a&&Y(Ao,{from:"assistant",children:Y(Ro,{children:Y(sr,{children:a})})})),e.map(y=>{let T=y.parts.filter(S=>S.type==="text"),v=y.parts.filter(S=>S.type==="reasoning"),A=y.parts.filter(S=>S.type==="file"),R=y.parts.filter(S=>"toolCallId"in S),F=y.parts.filter(S=>S.type==="reasoning"||"toolCallId"in S),P=y===w&&y.role==="assistant",b=T.length>0,H=h?R.some(S=>S.toolCallId===d):!1,G=p!==!1&&!H&&F.length>=2;return h&&!H?Y("div",{style:{display:"none"}},y.id):y.role==="assistant"&&!cl(y)?Y("div",{style:{display:"none"}},y.id):p===!1&&y.role==="assistant"&&!b&&A.length===0&&R.every(S=>{let D="output"in S?S.output:void 0;return D===void 0||!n||!sa(S.toolName,D,m)})?Y("div",{style:{display:"none"}},y.id):Ze(Ao,{from:y.role,className:L?.message,children:[p!==!1&&!H&&!G&&v.map((S,D)=>Ze(Vt,{isStreaming:S.state==="streaming",children:[Y(zt,{}),Y(jt,{children:S.text})]},`reasoning-${y.id}-${D}`)),G&&(()=>{let S=F[F.length-1],D=S.type==="reasoning"?{icon:Ge,label:I.reasoning.thinking}:{icon:wl(S.toolName),label:S.title??Ho(S.toolName)};return Ze(ms,{isWorking:P&&(t==="streaming"||t==="submitted"),activeStep:D,children:[Y(hs,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Y(gs,{children:F.map((B,Te)=>{let we=Te===F.length-1;if(B.type==="reasoning")return Y(xs,{isStreaming:B.state==="streaming",isLast:we,children:B.text},`reasoning-${y.id}-${Te}`);let _=B.title??Ho(B.toolName),me=wl(B.toolName);if(p==="titles-only")return Y(Xr,{icon:me,title:_,state:B.state,isLast:we},B.toolCallId);let oe="output"in B?B.output:void 0;return Ze(Xr,{icon:me,title:_,state:B.state,isLast:we,children:[Y(Do,{input:B.input,debug:f}),oe!==void 0&&Y(_o,{output:oe,errorText:"errorText"in B?B.errorText:void 0,debug:f})]},B.toolCallId)})})]})})(),p!==!1&&!H&&!G&&R.length===1&&(()=>{let S=R[0],D=S.title??Ho(S.toolName);if(p==="titles-only")return Y(ol,{title:D,state:S.state});let B="output"in S?S.output:void 0;return Ze(al,{children:[Y(rl,{title:D,state:S.state}),Ze(nl,{children:[Y(Do,{input:S.input,debug:f}),B!==void 0&&Y(_o,{output:B,errorText:"errorText"in S?S.errorText:void 0,debug:f})]})]})})(),R.map(S=>{let D="output"in S?S.output:void 0,B=sa(S.toolName,D,m),Te=ll(S.toolName,D,m),we=S.toolCallId===d;return B&&n&&D!==void 0?Y("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:B&&n&&D!==void 0&&Y(ir,{children:Y(No,{isFullscreen:we,resourceUri:B,toolInput:S.input??{},toolResult:{content:D.content,structuredContent:D.structuredContent,_meta:D._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Te,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?_=>c(_,{toolCallId:S.toolCallId,resourceUri:B,toolInput:S.input??{},toolResult:{content:D.content,structuredContent:D.structuredContent,_meta:D._meta},autoHeight:Te}):void 0})})},S.toolCallId):null}),!H&&Y("div",{children:Ze(Ro,{className:k(y.role==="user"?L?.userBubble:L?.assistantBubble),children:[A.length>0&&Y(ls,{files:A}),b?T.map((S,D)=>{let B=P&&t==="streaming"&&D===T.length-1;return Y(sr,{isStreaming:B,children:S.type==="text"?S.text:""},`${y.id}-${D}`)}):null]})})]},y.id)}),x&&Y(pl,{})]})}import{jsx as xl,jsxs as Rm}from"react/jsx-runtime";var Pm="https://app.waniwani.ai/assets/waniwani-logo.svg",Am="https://waniwani.ai";function ur(){let{t:e}=z();return Rm("a",{href:Am,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:[xl("span",{children:e.poweredBy.label}),xl("img",{src:Pm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as dr}from"react/jsx-runtime";function cr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:dr("div",{className:k("ww:px-4 ww:py-2",r),...o,children:dr("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=>dr("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)=>dr("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 Fm,useState as Bm}from"react";import{jsx as re,jsxs as ft}from"react/jsx-runtime";var Il=20;function Em({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:[re("title",{children:e}),re("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),re("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Dm({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:[re("title",{children:e}),re("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),re("polyline",{points:"3 4 3 9 8 9"}),re("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function _m({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:[re("title",{children:e}),re("polyline",{points:"3 6 5 6 21 6"}),re("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),re("path",{d:"M10 11v6"}),re("path",{d:"M14 11v6"})]})}function fr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=z(),[i,l]=Bm(!1),u=Fm(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,Il),d=Math.max(0,e.length-Il);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[re("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:re(Em,{label:s.threadMenu.newChat})}),re("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:re(Dm,{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&&re("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:[re("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),re("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":qr(m,n)})]}),re("button",{type:"button",onClick:L=>{L.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:re(_m,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&re("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 Om,useRef as Nm}from"react";function pr(e){let t=Nm(e);return t.current=e,Om(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 rh}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Me,useRef as fe,useState as pt}from"react";import{createContext as Um,useContext as Hm}from"react";function Ll(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function Cl(){return{subscribe(){return()=>{}},emit(){}}}var Sl=Um(Cl());function mr(){return Hm(Sl)}var yl=Sl.Provider;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 qm,uiMessageChunkSchema as Gm}from"ai";function Wm(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 hr=class extends qm{processResponseStream(t){let a="",r=Gm(),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=Wm(f.error);if(p?.length){let m={...d};for(let I of p)delete m[I];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var Vm="waniwani-memory";var Re="threads",gr="by_memoryUserId",zm="by_updatedAt";var kl="memoryUserId",bl="waniwani-memory-user-id",qo=null;function Go(){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 jm(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(gr,"memoryUserId",{unique:!1}),a.createIndex(zm,"updatedAt",{unique:!1})}}async function Wo(){return new Promise((e,t)=>{let a=indexedDB.open(Vm,2);a.onupgradeneeded=r=>{jm(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function $m(){return Wo()}async function Xm(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(kl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Km(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,kl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Qm(){if(typeof indexedDB>"u")return null;try{let e=await $m();try{let t=await Xm(e);if(t)return t;let a=Go();return await Km(e,a),a}finally{e.close()}}catch{return null}}function Jm(){try{let e=localStorage.getItem(bl);if(e)return e;let t=Go();return localStorage.setItem(bl,t),t}catch{return null}}async function Tl(){let e=await Qm();if(e)return e;let t=Jm();return t||(qo||(qo=Go()),qo)}var vl=50,Pl=1e3;function wr(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 xr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Wo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Vo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function zo(e){return await xr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(gr),i=(await Vo(n.getAll(e))??[]).filter(wr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Ir(e){return await xr(async a=>{let o=a.transaction(Re,"readonly").objectStore(Re),n=await Vo(o.get(e));return wr(n)?n:null})??null}async function jo(e){if(!wr(e))return;let t=e.messages.length>Pl?{...e,messages:e.messages.slice(e.messages.length-Pl)}:e;await xr(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(gr),i=(await Vo(n.getAll(t.memoryUserId))??[]).filter(wr);if(i.length>vl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-vl);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 Al(e){await xr(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 $o(e){return(await zo(e))[0]?.threadId??null}function Rl(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 Xo="waniwani-visitor-id";function Fl(e,t){return e.match(t)?.[1]??null}function Ym(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=Fl(e,r);if(o)return{name:a,version:o}}return null}function Zm(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=Fl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function eh(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 th(){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 vt(){try{let t=localStorage.getItem(Xo);if(t)return t}catch{}let e=th();try{localStorage.setItem(Xo,e)}catch{}return e}function Ml(e){let t=typeof e=="string"?e.trim():"";if(!t)return vt();try{localStorage.setItem(Xo,t)}catch{}return t}function ah(e){return e!=null&&typeof e.then=="function"}function Bl(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return ah(r)?r.then(o=>{t||Ml(o??"")},()=>{}):Ml(r??""),a}async function la(){let e=navigator.userAgent,t=vt(),a=await Tl();return{userAgent:e,browser:Ym(e),os:Zm(e),deviceType:eh(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 oh="x-session-id",nh=250,sh=200;function El(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Gt()}function Lr(){return new Date().toISOString()}function Dl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function ih(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 Cr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Me(()=>Bl(u),[u]);let c=mr(),d=fe(a),f=fe(r),p=fe(s);Me(()=>{p.current=s},[s]);let m=fe(void 0),L=fe(null),[I,w]=pt(void 0),g=fe(I),[h,x]=pt(i),y=fe(h),[T,v]=pt([]),[A,R]=pt(!s),F=fe(void 0),P=fe(void 0),b=fe(void 0),H=fe(void 0),G=fe(0),S=fe(l);Me(()=>{S.current=l},[l]);let D=Ce(C=>{y.current=C,x(C),C&&(S.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),B=Ce(async()=>{if(!s)return;let C=L.current?.memoryUserId;if(!C)return;let E=await zo(C);v(E)},[s]),Te=Ce(()=>g.current,[]),we=Ce(C=>{let E=Dl(C);if(!E||g.current===E)return;let U=g.current===void 0;g.current=E,w(E),U&&c.emit({name:"session.started",properties:{sessionId:E}})},[c]),_=Ce(()=>{g.current=void 0,w(void 0)},[]);Me(()=>{d.current=a},[a]),Me(()=>{f.current=r},[r]),Me(()=>{let C=!1,E=G.current;return(async()=>{try{let ee=await la();if(C)return;L.current=ee}catch{}if(!s)return;let U=L.current?.memoryUserId;if(!U){R(!0);return}try{let ee=i??await $o(U);if(C||E!==G.current)return;if(ee){let he=await Ir(ee);if(C||E!==G.current)return;he&&he.memoryUserId===U&&(y.current=he.threadId,x(he.threadId),F.current=he.createdAt,P.current=he.title,he.sessionId&&(g.current=he.sessionId,w(he.sessionId)),W(he.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[]);let me=fe(new hr({api:t,headers:()=>({...d.current}),body:()=>{let C={...f.current??{}},E=Object.hasOwn(C,"sessionId"),U=Dl(C.sessionId);if(U)we(U),C.sessionId=U;else if(E)_(),delete C.sessionId;else{let Mr=Te();Mr&&(C.sessionId=Mr)}Tt(m.current)&&(C.modelContext=m.current);let ee=L.current,he=vt();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let le=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},bu=typeof le.client=="object"&&le.client!==null?le.client:{};C.visitor={...le,id:he,client:{...bu,...ee&&{memoryUserId:ee.memoryUserId}}};let gn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,wn=L.current?.memoryUserId,xn=L.current?.language,ha={};if(wn&&(ha.memoryUserId=wn),xn&&(ha.locale=xn),(Object.keys(ha).length>0||gn)&&(C.extra={...ha,...gn??{}}),p.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(y.current=C.threadId);else{let ga=y.current;ga||(ga=El(),F.current=Lr(),P.current=void 0,D(ga)),C.threadId=ga}return C},fetch:(async(C,E)=>{let U=await fetch(C,E);return m.current=void 0,we(U.headers.get(oh)),U})})),oe=fe(null),ye=fe(null),ne=fe({}),[V,$]=pt(0),ve=e.skipRemoteConfig===!0,de=Ce(async()=>{if(!ve)try{let C=await ih(t,d.current);ne.current=C,$(E=>E+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,ve]);Me(()=>{de()},[de]);let{messages:K,sendMessage:se,setMessages:W,status:O}=rh({messages:e.initialMessages,transport:me.current,onFinish({message:C,isAbort:E,isDisconnect:U,isError:ee}){n?.(),!E&&!U&&!ee&&c.emit({name:"message.received"}),oe.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,sh)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),q=fe(K);Me(()=>{q.current=K},[K]);let Q=fe(s);Me(()=>{if(!s||Q.current||(Q.current=!0,q.current.length>0))return;let C=!1,E=G.current;return R(!1),(async()=>{try{let U=L.current;if(!U)try{U=await la(),L.current=U}catch{}let ee=U?.memoryUserId;if(!ee||C||E!==G.current){C||R(!0);return}let he=i??await $o(ee);if(C||E!==G.current)return;if(he){let le=await Ir(he);if(C||E!==G.current)return;le&&le.memoryUserId===ee&&(y.current=le.threadId,x(le.threadId),F.current=le.createdAt,P.current=le.title,le.sessionId&&(g.current=le.sessionId,w(le.sessionId)),W(le.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[s]),Me(()=>{if(O==="ready"&&oe.current&&ye.current){let C=oe.current,E=ye.current;oe.current=null,ye.current=null,C.resolve(E)}},[O]);let[ie,te]=pt(""),[xe,M]=pt([]),N=O==="submitted"||O==="streaming",Z=Ce(C=>{M(E=>E.filter(U=>U.id!==C))},[]),Fe=N&&xe.length>0,ze=Ce(C=>{let E=!!C.text?.trim(),U=!!C.files?.length;if(E||U){if(N){if(xe.length>0)return;M(ee=>[...ee,{id:Gt(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),te("");return}m.current=C.modelContext,se({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),te("")}},[se,o,N,xe.length,c]),ht=Ce(C=>new Promise((E,U)=>{oe.current={resolve:E,reject:U},se({text:C}),o?.(C),c.emit({name:"message.sent"})}),[se,o,c]);Me(()=>{if(O!=="ready"||xe.length===0)return;let[C,...E]=xe;M(E),m.current=C.modelContext,se({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[O,se,o,xe,c]);let Ar=Ce(()=>{W([]),M([]),_(),te(""),ne.current={},$(C=>C+1),de()},[W,_,de]),pa=Ce(()=>{if(!p.current)return;let C=L.current?.memoryUserId,E=y.current,U=q.current;if(!(!C||!E||U.length===0)){if(F.current||(F.current=Lr()),!P.current){let ee=U.find(le=>le.role==="user"),he=ee?ee.parts.map(le=>"text"in le&&typeof le.text=="string"?le.text:"").join(" "):"";P.current=Rl(he)}return{threadId:E,memoryUserId:C,title:P.current,messages:U,sessionId:g.current,createdAt:F.current,updatedAt:Lr()}}},[]),pn=Ce(async()=>{let C=pa();C&&(await jo(C),await B())},[pa,B]);Me(()=>{if(s&&A&&!(O==="submitted"||O==="streaming")&&K.length!==0)return b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=void 0;let C=pn().finally(()=>{H.current===C&&(H.current=void 0)});H.current=C},nh),()=>{b.current&&clearTimeout(b.current)}},[s,A,K,O,pn]);let ma=Ce(()=>{let C=H.current,E=b.current,U=E?pa():void 0;return E&&(clearTimeout(E),b.current=void 0),(async()=>{C&&await C,U&&(await jo(U),await B())})()},[pa,B]),Iu=Ce(()=>{G.current+=1,ma(),W([]),M([]),_(),te("");let C=El();return F.current=Lr(),P.current=void 0,D(C),B(),C},[W,_,D,B,ma]),Rr=Ce(async C=>{G.current+=1;let E=G.current;if(await ma(),E!==G.current)return;let U=await Ir(C);E===G.current&&U&&(U.sessionId?(g.current=U.sessionId,w(U.sessionId)):_(),D(U.threadId),F.current=U.createdAt,P.current=U.title,W(U.messages),M([]),te(""))},[W,_,D,ma]),Lu=Ce(async C=>{if(y.current===C){G.current+=1,b.current&&(clearTimeout(b.current),b.current=void 0);let E=H.current;E&&await E}await Al(C),await B(),y.current===C&&(W([]),M([]),_(),te(""),y.current=void 0,x(void 0),F.current=void 0,P.current=void 0)},[W,_,B]);Me(()=>{s&&A&&i!==void 0&&i!==y.current&&Rr(i)},[i,s,A,Rr]);let Cu=Ce(C=>{te(C.target.value)},[]),mn=K[K.length-1],hn=K.length>0,Su=N&&(!hn||mn.role==="user"),yu=ne.current;return{messages:K,status:O,text:ie,setText:te,handleSubmit:ze,handleTextChange:Cu,isLoading:N,showLoaderBubble:Su,lastMessage:mn,hasMessages:hn,sendMessage:se,sendMessageAndWait:ht,reset:Ar,queuedMessages:xe,queueFull:Fe,removeQueuedMessage:Z,sessionId:I,toolDefinitions:yu,refreshToolDefinitions:de,threads:T,activeThreadId:h,isThreadHistoryReady:A,startNewThread:Iu,switchThread:Rr,deleteThread:Lu}}import{useEffect as _l,useRef as lh,useState as uh}from"react";var dh={debug:!1,eval:!1};function Ol(e="/api/waniwani",t,a=!1){let[r,o]=uh(dh),n=lh(t);return _l(()=>{n.current=t},[t]),_l(()=>{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 mh,useEffect as Qo,useRef as hh,useState as Hl}from"react";var ua=["channel","page","flow","followup"];var Ko="waniwani/suggestions";function Pt(e){return typeof e=="object"&&e!==null}function Nl(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ch(e){if(!Pt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Pt(t)||!Pt(t._meta))return null;let a=t._meta[Ko];return!Pt(a)||!Nl(a.suggestions)?null:a.suggestions}function fh(e){let t=null;for(let a of e.parts){let r=ch(a);r!==null&&(t=r.length>0?r:null)}return t}function ph(e){for(let t of e.parts){if(!Pt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Pt(a)&&Nl(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Ul(e,t={}){let{includeFlow:a=!0}=t,r=a?fh(e):null;if(r)return{suggestions:r,source:"flow"};let o=ph(e);return o?{suggestions:o,source:"followup"}:null}function ql(e){return typeof e=="object"&&e!==null}var gh=["channel","page","followup"];function wh(e){if(e===!1)return[];if(e===!0)return[...ua];if(ql(e)){if(e.origins!==void 0)return e.origins;if(e.dynamic===!0)return[...ua];if(e.dynamic===!1)return[]}return[...gh]}function Gl(e){let{suggestions:t,suggestionOrigins:a}=e;if(!(!t&&a===void 0))return{initial:t,origins:a}}function Sr(e){let{messages:t,status:a,config:r}=e,o=ql(r)&&r.initial?r.initial:void 0,[n,s]=Hl(o??[]),[i,l]=Hl("channel"),u=hh(a),c=wh(r),d=c.includes("flow"),f=c.includes("followup"),p=mh(()=>{s([])},[]),m=t.length>0;Qo(()=>{m||(s(o??[]),l("channel"))},[o,m]);let L=t[t.length-1];return Qo(()=>{L?.role==="user"&&p()},[L,p]),Qo(()=>{let I=u.current;if(u.current=a,I==="streaming"&&a==="ready"&&(d||f)){let w=[...t].reverse().find(x=>x.role==="assistant");if(!w)return;let g=Ul(w,{includeFlow:d}),h=g&&(g.source==="flow"&&d||g.source==="followup"&&f);s(h?g.suggestions:[]),l(h?g.source:"channel")}},[a,d,f,t]),{suggestions:n,source:i,isLoading:!1,clear:p}}import{useEffect as xh,useRef as Ih,useState as Lh}from"react";var Ch=80,Sh=50,yh=15e3,Wl=500;function yr(e,t=!0){let[a,r]=Lh(""),o=Ih(void 0);return xh(()=>{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,Wl)):o.current=setTimeout(l,Sh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,yh)):o.current=setTimeout(l,Ch)))};return o.current=setTimeout(l,Wl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function br(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 Vl={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"},bh={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"},kh={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 Jo(e){return{...Vl,...e}}function da(e){let t={};for(let[a,r]of Object.entries(kh)){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 Se,jsxs as ca}from"react/jsx-runtime";var Ah=Th(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:L=!1,showToolCalls:I=!0}=t,w=p??"/api/waniwani",g=br(w,t.headers),h=Jo(r),x=da(r??{}),y=h.backgroundColor.replace("#",""),T=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),A=parseInt(y.substring(4,6),16),R=(T*299+v*587+A*114)/1e3<128,F=Ol(w,t.headers,t.skipRemoteConfig),P=m??F.debug,b=Cr({...t,api:w}),H=pr({...t,api:w,sessionId:b.sessionId}),G=yr(d,!b.text),[S,D]=jl(!1),[B,Te]=jl(null),we=zl(null),_=zl(void 0),me=Yo(()=>{let V=we.current;if(!V)return;V.scrollIntoView({behavior:"smooth",block:"center"});let $=V.querySelector("textarea");$&&setTimeout(()=>$.focus(),300),D(!0),clearTimeout(_.current),_.current=setTimeout(()=>D(!1),2e3)},[]),oe=Sr({messages:b.messages,status:b.status,config:t.suggestions}),ye=Yo(V=>{let $=V.content.map(ve=>ve.text??"").join("").trim();$&&b.handleSubmit({text:$,files:[],modelContext:V.modelContext})},[b.handleSubmit]),ne=Yo(V=>{oe.clear(),b.handleSubmit({text:V,files:[]})},[oe.clear,b.handleSubmit]);return Ph(a,()=>({sendMessage:V=>{b.handleSubmit({text:V,files:[]}),me()},sendMessageAndWait:V=>b.sendMessageAndWait(V),reset:b.reset,focus:me,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,me]),vh(()=>{if(!f)return;let V=$=>{let ve=$.detail,de=typeof ve?.message=="string"?ve.message:void 0;de&&b.handleSubmit({text:de,files:[]}),me()};return window.addEventListener(f,V),()=>window.removeEventListener(f,V)},[f,b.handleSubmit,me]),ca("div",{ref:we,style:{...x,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...R?{"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",S&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ca("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:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(is,{messages:b.messages,evalEnabled:F.eval,api:w}),L&&Se(fr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:V=>{b.switchThread(V)},onDeleteThread:V=>{b.deleteThread(V)}})]}),ca(Nn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(Un,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:Se(lr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ne,resourceEndpoint:g,chatSessionId:b.sessionId,isDark:R,onFollowUp:ye,onCallTool:H,fullscreenToolCallId:B,debug:P,showToolCalls:I,toolDefinitions:b.toolDefinitions,onWidgetDisplayModeChange:(V,$)=>{Te(V==="fullscreen"?$.toolCallId:null)}})}),Se(Hn,{})]}),Se("div",{style:B?{display:"none"}:void 0,children:Se(cr,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:ne})}),Se("div",{style:B?{display:"none"}:void 0,children:Se(va,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage})}),Se("div",{style:B?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ca("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(ya,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ca("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(Ta,{}),Se(ba,{onChange:b.handleTextChange,value:b.text,placeholder:G,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(ka,{status:b.status,disabled:b.queueFull})]})}),Se(ur,{})]})})})]})});import{forwardRef as Xl,useCallback as kr,useEffect as mt,useImperativeHandle as Mh,useRef as fa,useState as Tr}from"react";import{jsx as Rh}from"react/jsx-runtime";function $l({text:e}){let{t}=z();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 pe,jsxs as tt}from"react/jsx-runtime";var Zo=Xl(function(t,a){let{locale:r,messages:o}=t;return pe(Hr,{locale:r,messages:o,children:pe(Fh,{...t,ref:a})})}),Fh=Xl(function(t,a){let{t:r,ready:o}=z(),{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:L=!1,readOnly:I=!1,title:w,headerActions:g,hideHeader:h=!1,enableThreadHistory:x=!1,showToolCalls:y=!0,initializing:T=!1,disclaimer:v}=t,A=n?.theme,R=n?.variables,F=n?.assistantBubble??!1,P=R?da(R):{},[b,H]=Tr(!1);mt(()=>{if(A!=="auto"||typeof window>"u")return;let M=window.matchMedia("(prefers-color-scheme: dark)");H(M.matches);let N=()=>H(M.matches);return M.addEventListener("change",N),()=>M.removeEventListener("change",N)},[A]);let G=A==="dark"||A==="auto"&&b,S=Cr({...t,api:p}),D=mr(),B=pr({...t,api:p,sessionId:S.sessionId,onCallTool:m?.onCallTool}),Te=m?.resourceEndpoint??br(p,t.headers),we=yr(d,!S.text),[_,me]=Tr(null),[oe,ye]=Tr(null),ne=fa(null),V=fa(null),$=fa(null),ve=fa(null),[de,K]=Tr(!0),se=fa(de);se.current=de;let W=kr(()=>{let M=ne.current;if(!M)return;let N=M.querySelector("textarea");N&&N.focus()},[]),O=kr((M="smooth")=>{let N=V.current;N&&N.scrollTo({top:N.scrollHeight,behavior:M})},[]);mt(()=>{let M=ve.current,N=V.current;if(!M||!N)return;let Z=new IntersectionObserver(([Fe])=>K(Fe.isIntersecting),{root:N,rootMargin:"0px 0px 200px 0px",threshold:0});return Z.observe(M),()=>Z.disconnect()},[]),mt(()=>{let M=V.current;if(!M)return;let N=Z=>{let ze=(Z.target instanceof Element?Z.target:null)?.closest("a");ze?.href&&D.emit({name:"link.clicked",properties:{url:ze.href}})};return M.addEventListener("click",N),()=>M.removeEventListener("click",N)},[D]),mt(()=>{(S.messages[S.messages.length-1]?.role==="user"||se.current)&&O("smooth")},[S.messages.length,S.messages[S.messages.length-1]]),mt(()=>{O("auto")},[O]),mt(()=>{if(typeof ResizeObserver>"u")return;let M=V.current,N=$.current;if(!M&&!N)return;let Z=M?.scrollHeight??0,Fe=M?.clientHeight??0,ze=new ResizeObserver(()=>{let ht=V.current;if(!ht)return;let Ar=ht.scrollTop+Fe>=Z-5;Z=ht.scrollHeight,Fe=ht.clientHeight,Ar&&O("auto")});return M&&ze.observe(M),N&&ze.observe(N),()=>ze.disconnect()},[O]);let q=Sr({messages:S.messages,status:S.status,config:t.suggestions}),Q=kr(M=>{let N=M.content.map(Z=>Z.text??"").join("").trim();N&&S.handleSubmit({text:N,files:[],modelContext:M.modelContext})},[S.handleSubmit]),ie=kr(M=>{let N=q.suggestions.indexOf(M),Z=N>=0?N:c?.suggestions?.indexOf(M)??-1,Fe=N>=0?q.source:"channel";D.emit({name:"suggestion.clicked",properties:{text:M,index:Z,origin:Fe}}),q.clear(),S.handleSubmit({text:M,files:[]})},[q.suggestions,q.source,q.clear,S.handleSubmit,c,D]);Mh(a,()=>({sendMessage:M=>{S.handleSubmit({text:M,files:[]}),W()},sendMessageAndWait:M=>S.sendMessageAndWait(M),reset:S.reset,focus:W,get messages(){return S.messages},get sessionId(){return S.sessionId}}),[S.handleSubmit,S.sendMessageAndWait,S.reset,S.messages,S.sessionId,W]),mt(()=>{if(!f)return;let M=N=>{let Z=N.detail,Fe=typeof Z?.message=="string"?Z.message:void 0;Fe&&S.handleSubmit({text:Fe,files:[]}),W()};return window.addEventListener(f,M),()=>window.removeEventListener(f,M)},[f,S.handleSubmit,W]);let te=!h&&!!(w||x||g),xe=T||!o;return tt("div",{ref:ne,style:{...P,maxHeight:"inherit",..._&&oe?{height:oe}:{},opacity:xe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":F?"true":void 0,"data-color-scheme":A==="auto"?"auto":void 0,...xe?{"data-waniwani-initializing":""}:{},...G?{"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",A==="dark"&&"dark",s,i?.root),children:[te&&tt("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:[w&&pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:w}),!w&&pe("div",{className:"ww:flex-1"}),x&&pe(fr,{threads:S.threads,activeThreadId:S.activeThreadId,onNewThread:S.startNewThread,onSelectThread:M=>{S.switchThread(M)},onDeleteThread:M=>{S.deleteThread(M)}}),g]}),tt("div",{ref:V,className:k("ww:relative ww:flex-1 ww:min-h-0",_?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[tt("div",{ref:$,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",_&&"ww:!py-0"),children:[pe(lr,{messages:S.messages,status:S.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ie,resourceEndpoint:Te,chatSessionId:S.sessionId,isDark:G,onFollowUp:Q,onCallTool:B,fullscreenToolCallId:_,debug:L,showToolCalls:y,toolDefinitions:S.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(M,N)=>{if(M==="fullscreen"){let Z=ne.current?.getBoundingClientRect().height??0;ye(Z>0?Z:null),me(N.toolCallId)}else ye(null),me(null)}}),pe("div",{ref:ve,"aria-hidden":!0,style:{height:1}})]}),!de&&!_&&pe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:pe(Be,{type:"button",onClick:()=>O("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:pe(at,{className:"ww:size-4"})})})]}),!I&&tt("div",{className:"ww:shrink-0 ww:bg-background",style:_?{display:"none"}:void 0,children:[pe(cr,{suggestions:q.suggestions,isLoading:q.isLoading,onSelect:ie}),pe(va,{queuedMessages:S.queuedMessages,onRemove:S.removeQueuedMessage}),pe("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:[pe(ya,{onSubmit:S.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:tt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(Ta,{}),pe(ba,{onChange:S.handleTextChange,value:S.text,placeholder:we,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ka,{status:S.status,disabled:S.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:[pe(ur,{}),pe($l,{text:v})]})]})})]})]})});import{forwardRef as Cg,useEffect as Pr,useImperativeHandle as Sg,useMemo as cn,useRef as fn,useState as gu}from"react";var Bh="https://app.waniwani.ai/api/mcp/chat",Eh={api:Bh};function Dh(){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 _h(){let e=Dh();if(!e)return{};let t=P=>e.getAttribute(P)??void 0,a=P=>{let b=e.getAttribute(P);if(b==null)return;let H=b.trim().toLowerCase();if(H==="true"||H==="1"||H==="")return!0;if(H==="false"||H==="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-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let P=a("data-show-tool-calls");P!==void 0&&(r.showToolCalls=P)}let p=t("data-css");p&&(r.css=p);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(P=>P.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let I=e.getAttribute("data-suggestion-origins");I!==null&&(r.suggestionOrigins=I.split(",").map(P=>P.trim()).filter(P=>ua.includes(P)));let w=a("data-disable-page-view");w!==void 0&&(r.disablePageView=w);let g=a("data-hide-header");g!==void 0&&(r.hideHeader=g);let h=t("data-theme");(h==="light"||h==="dark"||h==="auto")&&(r.appearance={...r.appearance,theme:h});let x=a("data-assistant-bubble");x!==void 0&&(r.appearance={...r.appearance,assistantBubble:x});let y=t("data-locale");(y==="en"||y==="fr"||y==="es")&&(r.locale=y);let T=t("data-mode");(T==="inline"||T==="floating")&&(r.mode=T);let v=t("data-height");v&&(r.height=v);let A=t("data-launcher-text");A&&(r.launcherText=A);let R=t("data-appear-delay");if(R!==void 0){let P=Number.parseInt(R.trim(),10);Number.isFinite(P)&&P>=0&&(r.appearDelay=P)}let F=t("data-disclaimer");if(F!==void 0){let P=F.trim(),b=P.toLowerCase();b==="false"||b==="0"?r.disclaimer=!1:P&&(r.disclaimer=P)}return r}function en(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function tn(e,t,a){let r=a??_h(),o=Oh(t,r,e),n={token:"",...Eh,...en(t),...en(r),...en(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 Oh(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 rk,useState as ok}from"react";function Nh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function an(...e){Nh()&&console.log("[Waniwani]",...e)}var rn=new Set;function Uh(e,t,a){return`${e}|${t}|${a??""}`}function on(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function nn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Uh(t,a,r);if(!rn.has(s)){rn.add(s);try{let i=await la(),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(on(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{rn.delete(s)}}}var Hh="waniwani:config:";function Kl(e,t,a){return`${Hh}${e}|${t}|${a??""}`}function sn(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 Ql(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Kl(e,t,a),JSON.stringify(r))}catch{}}async function Jl(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?qh(i):{}}catch{return{}}}function qh(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 zh,useSyncExternalStore as jh}from"react";function Gh(e){return e?.patterns??e?.rules??[]}var Yl="\0\0";function Wh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Yl).replace(/\\\*/g,"[^/]*").split(Yl).join(".*");return new RegExp(`^${a}$`)}function Vh(e,t){try{return Wh(e).test(t)}catch{return!1}}function Zl(e,t){if(!e)return!0;let a=!1;for(let r of Gh(e))if(Vh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var ln="waniwani:locationchange",eu=!1;function $h(){if(!(eu||typeof history>"u")){eu=!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(ln)),o}}}}function Xh(e){return $h(),window.addEventListener(ln,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(ln,e),window.removeEventListener("popstate",e)}}function Kh(){return window.location.pathname}function Qh(){return"/"}function Jh(){return jh(Xh,Kh,Qh)}function tu(e,t){let a=Jh(),r=t&&Zl(e,a);return zh(()=>{an("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function At(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Yh=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Zh=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],eg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],tg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],ag=["waniwani/visitorId","visitorId"],rg=["correlationId","openai/requestId"];function au(e){return e?At(e,Yh):void 0}function ru(e){return e?At(e,Zh):void 0}function ou(e){return e?At(e,eg):void 0}function nu(e){return e?At(e,tg):void 0}function su(e){return e?At(e,ag):void 0}function iu(e){return e?At(e,rg):void 0}var og=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],ng=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function lu(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 og){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 ng)if(r.includes(o))return n}}var sg="@waniwani/sdk";function uu(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??ig,o=dg(e),n=vr(e.meta),s=vr(e.metadata),i=cg(e,n),l=Ne(e.eventId)??r(),u=fg(e.timestamp,a),c=Ne(e.source)??lu(n)??t.source??sg,d=un(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:lg(e,o),metadata:f,rawLegacy:d}}function ig(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function lg(e,t){if(!un(e))return vr(e.properties);let a=ug(e,t),r=vr(e.properties);return{...a,...r}}function ug(e,t){switch(t){case"tool.called":{let a={};return Ne(e.toolName)&&(a.name=e.toolName),Ne(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return Ne(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function dg(e){return un(e)?e.eventType:e.event}function cg(e,t){let a=Ne(e.requestId)??ru(t),r=Ne(e.sessionId)??au(t),o=Ne(e.traceId)??ou(t),n=Ne(e.externalUserId)??nu(t),s=Ne(e.visitorId)??su(t),i=Ne(e.correlationId)??iu(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 fg(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 vr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ne(e){if(typeof e=="string"&&e.trim().length!==0)return e}function un(e){return"eventType"in e}function du(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 pg="/api/mcp/events/v2/batch";var cu="@waniwani/sdk";var mg=new Set([401,403]),hg=new Set([408,425,429,500,502,503,504]);function fu(e){return new dn(e)}var dn=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=xg(t.apiUrl,t.endpointPath??pg),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":cu};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:Ig(n)}}if(mg.has(a.status))return{kind:"auth",status:a.status};if(hg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await wg(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:cu,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(gg(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 gg(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 wg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function xg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Ig(e){return e instanceof Error?e.message:String(e)}function pu(e){let{apiUrl:t,endpointPath:a}=Lg(e.endpoint),r=fu({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=uu({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,du(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Lg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function mu(e){return pu({endpoint:on(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:vt()})})}function hu(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 xu}from"react/jsx-runtime";var yg=600,wu="https://app.waniwani.ai/api/mcp/chat",bg=Cg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=fn(null),c=fn(null),d=cn(()=>Ll({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Pr(()=>{if(l)return d.subscribe(l)},[l,d]);let f=cn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,suggestionOrigins:i?.suggestionOrigins,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.suggestionOrigins,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??wu,[m,L]=gu({}),[I,w]=gu(!1),g=fn(!1);Pr(()=>{I&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[I,d]);let h=i?.disablePageView;Pr(()=>{if(!r){w(!0);return}let v=P=>{h||nn({api:p,token:r,channelId:o,mode:"inline",source:P})},A=sn(p,r,o);A&&(L(A),w(!0),v(A.source));let R=new AbortController,F=setTimeout(()=>w(!0),yg);return Jl(p,r,R.signal,o).then(P=>{R.signal.aborted||(Object.keys(P).length>0&&(Ql(p,r,o,P),L(P)),w(!0),v(P.source))}).catch(P=>{console.error("[Waniwani] Remote config fetch failed:",P),w(!0)}).finally(()=>clearTimeout(F)),()=>{R.abort(),clearTimeout(F)}},[p,r,o,h]);let x=cn(()=>tn(f,m,void 0),[f,m]);Pr(()=>{if(!r)return;let v=mu({api:p,token:r,channelId:o,getSource:()=>sn(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=v,()=>{c.current=null,v.shutdown()}},[p,r,o]),Sg(a,()=>{let v=()=>c.current??hu("no public token configured"),A=Object.assign(R=>v().track(R),{priceShown:R=>v().track.priceShown(R),pricesCompared:R=>v().track.pricesCompared(R),optionSelected:R=>v().track.optionSelected(R),leadQualified:R=>v().track.leadQualified(R),converted:R=>v().track.converted(R)});return{sendMessage:R=>u.current?.sendMessage(R),sendMessageAndWait:R=>u.current?u.current.sendMessageAndWait(R):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:A,identify:(R,F)=>v().identify(R,F)}},[]);let y=tu(x.visibility,I),T={mode:"inline"};return x.mcpServerUrl&&(T.mcpServerUrl=x.mcpServerUrl),x.channelId&&(T.channelId=x.channelId),y?xu(yl,{value:d,children:xu(Zo,{ref:u,api:x.api??wu,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:T,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:Gl({suggestions:x.suggestions,suggestionOrigins:x.suggestionOrigins}),enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{Ah as ChatCard,Zo as ChatEmbed,bh as DARK_THEME,Vl as DEFAULT_THEME,No as McpAppFrame,bg as WaniwaniChat,Jo as mergeTheme,da as themeToCSSProperties};
|
|
17
17
|
/*! Bundled license information:
|
|
18
18
|
|
|
19
19
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|