@waniwani/sdk 0.20.4 → 0.20.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/{angular-html-EOIKHM3D.js → angular-html-PU3MXNBE.js} +2 -2
  2. package/dist/{angular-ts-DFS2FCNO.js → angular-ts-WMZKXXGP.js} +2 -2
  3. package/dist/{apl-FBR445XW.js → apl-YU3KF3Y6.js} +2 -2
  4. package/dist/{blade-OHP5YUT7.js → blade-YKL22AM4.js} +2 -2
  5. package/dist/chat/embed.js +62 -62
  6. package/dist/chat/embed.js.map +1 -1
  7. package/dist/chat/index.js +7 -7
  8. package/dist/chat/index.js.map +1 -1
  9. package/dist/{chunk-AI3BZXLG.js → chunk-C5BU72RY.js} +2 -2
  10. package/dist/{chunk-HMEGK7JX.js → chunk-IS746YRY.js} +2 -2
  11. package/dist/{chunk-HMEGK7JX.js.map → chunk-IS746YRY.js.map} +1 -1
  12. package/dist/{chunk-VNL3EXC2.js → chunk-ITMYIBN5.js} +2 -2
  13. package/dist/{chunk-F4UUXA3U.js → chunk-QIQG7C7A.js} +57 -57
  14. package/dist/chunk-QIQG7C7A.js.map +1 -0
  15. package/dist/{chunk-ED2SBPIQ.js → chunk-USNZZOYV.js} +2 -2
  16. package/dist/{chunk-M4CKEROZ.js → chunk-UVLNWQRP.js} +2 -2
  17. package/dist/{cobol-LJNKRWP5.js → cobol-YD3RINFS.js} +2 -2
  18. package/dist/{code-block-37QAKDTI-HV355RRX.js → code-block-37QAKDTI-FHGJZOOY.js} +2 -2
  19. package/dist/{crystal-ZDP3FIUI.js → crystal-AUUIRTAZ.js} +2 -2
  20. package/dist/{edge-CCLQ2CKA.js → edge-44UF6IIM.js} +2 -2
  21. package/dist/{elixir-F6DQGRKA.js → elixir-ZJ4WTHOY.js} +2 -2
  22. package/dist/{erb-KUYJX32Q.js → erb-ZF7YKJP7.js} +2 -2
  23. package/dist/{glimmer-js-RSUW6JYN.js → glimmer-js-TKADNZF5.js} +2 -2
  24. package/dist/{glimmer-js-RSUW6JYN.js.map → glimmer-js-TKADNZF5.js.map} +1 -1
  25. package/dist/{glimmer-ts-EZGWLX5T.js → glimmer-ts-WFYWDU2O.js} +2 -2
  26. package/dist/{glimmer-ts-EZGWLX5T.js.map → glimmer-ts-WFYWDU2O.js.map} +1 -1
  27. package/dist/{hack-3TGPQNR2.js → hack-HCRIHDCF.js} +2 -2
  28. package/dist/{handlebars-73IS6B2J.js → handlebars-7EKNR6OR.js} +2 -2
  29. package/dist/{handlebars-73IS6B2J.js.map → handlebars-7EKNR6OR.js.map} +1 -1
  30. package/dist/html-G4Q6FSTL.js +3 -0
  31. package/dist/{html-derivative-CMQ7BFDQ.js → html-derivative-2AGKXLI2.js} +2 -2
  32. package/dist/index.d.ts +5 -3
  33. package/dist/{jinja-WPD26JJ6.js → jinja-K2EDFFOP.js} +2 -2
  34. package/dist/kb/index.d.ts +5 -3
  35. package/dist/{liquid-7CFNUD3V.js → liquid-YEOV5OY7.js} +2 -2
  36. package/dist/mcp/index.d.ts +5 -3
  37. package/dist/{mdc-XWCHWP6B.js → mdc-I5IJFJ2O.js} +2 -2
  38. package/dist/mermaid-4DMBBIKO-YNUUOSE3.js +3 -0
  39. package/dist/{nim-U57UBFBS.js → nim-JXWLGPJS.js} +2 -2
  40. package/dist/{perl-IZHDGBO6.js → perl-HORNVRGS.js} +2 -2
  41. package/dist/php-JGPDZKQ3.js +3 -0
  42. package/dist/{pug-P7LS6DER.js → pug-3YFWZUJ6.js} +2 -2
  43. package/dist/{razor-4QOCK4UD.js → razor-7T4OK2LD.js} +2 -2
  44. package/dist/{rst-6KQSGP2V.js → rst-SR6APMGO.js} +2 -2
  45. package/dist/{ruby-OWE2HOOR.js → ruby-IYOQSPDU.js} +2 -2
  46. package/dist/{soy-VW3CKXWF.js → soy-WHPD3NJL.js} +2 -2
  47. package/dist/{templ-3XM7DLQ3.js → templ-VI6LYHRW.js} +2 -2
  48. package/dist/{templ-3XM7DLQ3.js.map → templ-VI6LYHRW.js.map} +1 -1
  49. package/dist/{ts-tags-XNK5N5RZ.js → ts-tags-MU4UAPH3.js} +2 -2
  50. package/dist/twig-OY2C64LG.js +3 -0
  51. package/dist/{twig-OEIJ72KK.js.map → twig-OY2C64LG.js.map} +1 -1
  52. package/dist/vue-M6XWA362.js +3 -0
  53. package/dist/{vue-FIH2DYBE.js.map → vue-M6XWA362.js.map} +1 -1
  54. package/package.json +3 -2
  55. package/dist/chunk-F4UUXA3U.js.map +0 -1
  56. package/dist/html-654LNGWF.js +0 -3
  57. package/dist/mermaid-4DMBBIKO-IGH2CKFF.js +0 -3
  58. package/dist/php-MNP62HWP.js +0 -3
  59. package/dist/twig-OEIJ72KK.js +0 -3
  60. package/dist/vue-FIH2DYBE.js +0 -3
  61. /package/dist/{angular-html-EOIKHM3D.js.map → angular-html-PU3MXNBE.js.map} +0 -0
  62. /package/dist/{angular-ts-DFS2FCNO.js.map → angular-ts-WMZKXXGP.js.map} +0 -0
  63. /package/dist/{apl-FBR445XW.js.map → apl-YU3KF3Y6.js.map} +0 -0
  64. /package/dist/{blade-OHP5YUT7.js.map → blade-YKL22AM4.js.map} +0 -0
  65. /package/dist/{chunk-AI3BZXLG.js.map → chunk-C5BU72RY.js.map} +0 -0
  66. /package/dist/{chunk-VNL3EXC2.js.map → chunk-ITMYIBN5.js.map} +0 -0
  67. /package/dist/{chunk-ED2SBPIQ.js.map → chunk-USNZZOYV.js.map} +0 -0
  68. /package/dist/{chunk-M4CKEROZ.js.map → chunk-UVLNWQRP.js.map} +0 -0
  69. /package/dist/{cobol-LJNKRWP5.js.map → cobol-YD3RINFS.js.map} +0 -0
  70. /package/dist/{code-block-37QAKDTI-HV355RRX.js.map → code-block-37QAKDTI-FHGJZOOY.js.map} +0 -0
  71. /package/dist/{crystal-ZDP3FIUI.js.map → crystal-AUUIRTAZ.js.map} +0 -0
  72. /package/dist/{edge-CCLQ2CKA.js.map → edge-44UF6IIM.js.map} +0 -0
  73. /package/dist/{elixir-F6DQGRKA.js.map → elixir-ZJ4WTHOY.js.map} +0 -0
  74. /package/dist/{erb-KUYJX32Q.js.map → erb-ZF7YKJP7.js.map} +0 -0
  75. /package/dist/{hack-3TGPQNR2.js.map → hack-HCRIHDCF.js.map} +0 -0
  76. /package/dist/{html-654LNGWF.js.map → html-G4Q6FSTL.js.map} +0 -0
  77. /package/dist/{html-derivative-CMQ7BFDQ.js.map → html-derivative-2AGKXLI2.js.map} +0 -0
  78. /package/dist/{jinja-WPD26JJ6.js.map → jinja-K2EDFFOP.js.map} +0 -0
  79. /package/dist/{liquid-7CFNUD3V.js.map → liquid-YEOV5OY7.js.map} +0 -0
  80. /package/dist/{mdc-XWCHWP6B.js.map → mdc-I5IJFJ2O.js.map} +0 -0
  81. /package/dist/{mermaid-4DMBBIKO-IGH2CKFF.js.map → mermaid-4DMBBIKO-YNUUOSE3.js.map} +0 -0
  82. /package/dist/{nim-U57UBFBS.js.map → nim-JXWLGPJS.js.map} +0 -0
  83. /package/dist/{perl-IZHDGBO6.js.map → perl-HORNVRGS.js.map} +0 -0
  84. /package/dist/{php-MNP62HWP.js.map → php-JGPDZKQ3.js.map} +0 -0
  85. /package/dist/{pug-P7LS6DER.js.map → pug-3YFWZUJ6.js.map} +0 -0
  86. /package/dist/{razor-4QOCK4UD.js.map → razor-7T4OK2LD.js.map} +0 -0
  87. /package/dist/{rst-6KQSGP2V.js.map → rst-SR6APMGO.js.map} +0 -0
  88. /package/dist/{ruby-OWE2HOOR.js.map → ruby-IYOQSPDU.js.map} +0 -0
  89. /package/dist/{soy-VW3CKXWF.js.map → soy-WHPD3NJL.js.map} +0 -0
  90. /package/dist/{ts-tags-XNK5N5RZ.js.map → ts-tags-MU4UAPH3.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import{a as Ln,b as Cn,c as Sn,d as yn,e as bn,f as va,g as kn,h as Tn,i as vn,j as Pn,k as Rr,l as An,m as yt,n as bt,o as Pa,p as kt,u as qt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{useCallback as Pd,useEffect as Vr,useMemo as Ad,useRef as Te,useState as Jn}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 Rn(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{forwardRef as zu,createElement as ju}from"react";var Aa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Mn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Fn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Mr=e=>{let t=Fn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Vu,createElement as Bn}from"react";var Dn={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 En=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var _n=Vu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Bn("svg",{ref:l,...Dn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Aa("lucide",o),...!n&&!En(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Bn(u,d)),...Array.isArray(n)?n:[n]]));var Y=(e,t)=>{let a=zu(({className:r,...o},n)=>ju(_n,{ref:n,iconNode:t,className:Aa(`lucide-${Mn(Mr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Mr(e),a};var $u=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Wt=Y("arrow-down",$u);var Xu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Gt=Y("arrow-up",Xu);var Ku=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Vt=Y("check",Ku);var Qu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],et=Y("chevron-down",Qu);var Ju=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zt=Y("chevron-right",Ju);var Yu=[["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"}]],jt=Y("clipboard-copy",Yu);var Zu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Xe=Y("clock",Zu);var ed=[["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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],$t=Y("file-text",ed);var td=[["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"}]],vt=Y("file",td);var ad=[["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"}]],Xt=Y("globe",ad);var rd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Kt=Y("image",rd);var od=[["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"}]],Qt=Y("loader",od);var nd=[["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"}]],Pt=Y("paperclip",nd);var sd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Jt=Y("square",sd);var id=[["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"}]],dt=Y("wrench",id);var ld=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],tt=Y("x",ld);var ud=[["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"}]],Yt=Y("zap",ud);import{createContext as Sd,useCallback as yd,useContext as Vn,useEffect as bd,useMemo as Nr,useRef as kd,useState as Hr}from"react";function Fr(e){if(!(typeof e!="object"||e===null))return e}function Un(e){return Fr(e?.ui)}function Dr(e){if(!e)return;let t=Un(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 Zt(e){return Un(e)?.autoHeight===!0}function Er(e){return Fr(Fr(e)?._meta)}import{createContext as dd,useContext as cd,useEffect as fd,useMemo as pd,useState as qn}from"react";var On=["en","fr","es"];function At(e){return On.includes(e)}function Br(e){if(e&&At(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&At(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(At(r))return r;let o=r.split("-")[0];if(o&&At(o))return o}return"en"}var Ra={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",uploadFilesUpTo:"Upload a document, up to {limit}",uploadFilesUpToWithPages:"Upload a document, up to {limit} and {pages} pages",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments",removeAttachment:"Remove attachment",uploading:"Uploading\u2026",retry:"Retry",retryUpload:"Retry the upload",uploadFailed:"The upload did not finish.",dropToAttach:"Drop to attach",errorAccept:"{name} is not a file type this chat accepts.",errorTooLarge:"{name} is larger than {limit}.",errorTooMany:"You can attach up to {limit} files."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"File",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 Nn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",uploadFilesUpTo:"Subir un documento, hasta {limit}",uploadFilesUpToWithPages:"Subir un documento, hasta {limit} y {pages} p\xE1ginas",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos",removeAttachment:"Quitar archivo",uploading:"Subiendo\u2026",retry:"Reintentar",retryUpload:"Reintentar la subida",uploadFailed:"La subida no se complet\xF3.",dropToAttach:"Suelta para adjuntar",errorAccept:"{name} no es un tipo de archivo que acepte este chat.",errorTooLarge:"{name} supera {limit}.",errorTooMany:"Puedes adjuntar hasta {limit} archivos."},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",kindPdf:"PDF",kindImage:"Imagen",kindFile:"Archivo",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 Hn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",uploadFilesUpTo:"Joindre un document, jusqu'\xE0 {limit}",uploadFilesUpToWithPages:"Envoyer un document, jusqu'\xE0 {limit} et {pages} pages",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes",removeAttachment:"Retirer la pi\xE8ce jointe",uploading:"Envoi en cours\u2026",retry:"R\xE9essayer",retryUpload:"R\xE9essayer l'envoi",uploadFailed:"L'envoi ne s'est pas termin\xE9.",dropToAttach:"D\xE9posez pour joindre",errorAccept:"{name} n'est pas un type de fichier accept\xE9 par ce chat.",errorTooLarge:"{name} d\xE9passe {limit}.",errorTooMany:"Vous pouvez joindre jusqu'\xE0 {limit} fichiers."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"Fichier",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 _r={en:Ra,fr:Hn,es:Nn};import{jsx as gd}from"react/jsx-runtime";var Wn=dd(null);function md(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 Ur({children:e,locale:t,messages:a}){let r=!!(t&&hd(t)),o=r?t:"en",[n,s]=qn(o),[i,l]=qn(r);fd(()=>{s(Br(t)),l(!0)},[t]);let u=pd(()=>{let d=_r[n]??_r["en"];return{locale:n,t:md(d,a),ready:i}},[n,a,i]);return gd(Wn.Provider,{value:u,children:e})}function hd(e){return e==="en"||e==="fr"||e==="es"}function K(){let e=cd(Wn);return e||{locale:"en",t:Ra,ready:!0}}function Or(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`}}var wd=Cn({prefix:"ww"});function k(...e){return wd(Ln(e))}import{jsx as xd}from"react/jsx-runtime";var Ge=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>xd("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{memo as Id}from"react";import{jsx as Cd}from"react/jsx-runtime";var Ld=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Cd(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},Ne=Id(Ld);Ne.displayName="Shimmer";import{Fragment as Gn,jsx as re,jsxs as ct}from"react/jsx-runtime";function Td(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 d=`${l}\u2009${u}`;o.push(d),n-=d.length+3}return`{${o.join(", ")}}`}function vd({text:e,className:t}){let{t:a}=K(),[r,o]=Hr(!1),n=kd(null);bd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=yd(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 re(Ge,{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(Gn,{children:[re(Vt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copied})]}):ct(Gn,{children:[re(jt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copy})]})})}function zn({data:e,label:t,className:a,...r}){let[o,n]=Hr(!1),s=Nr(()=>JSON.stringify(e,null,2),[e]),i=Td(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:[re("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),re(vd,{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:[re(zt,{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?re("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:re("code",{children:s})}):re("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var qr=Sd({open:!1,toggle:()=>{}});function jn({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Hr(t);return re(qr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:re("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 $n({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Vn(qr),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:[re(dt,{className:"ww:size-4 ww:shrink-0"}),re("span",{className:"ww:truncate",children:s?re(Ne,{duration:1.6,children:i}):i}),re(et,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Xn({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return re("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:re("span",{className:"ww:truncate",children:o?re(Ne,{duration:1.6,children:n}):n})})}function Kn({className:e,children:t,...a}){let{open:r}=Vn(qr);return re("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:re("div",{className:"ww:min-h-0 ww:overflow-hidden",children:re("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 Wr({className:e,input:t,debug:a,...r}){let{t:o}=K(),n=Nr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return re(zn,{data:n,label:o.tool.request,className:e,...r})}function ea(e,t,a){if(e){let r=Dr(a?.[e]?._meta);if(r)return r}return Dr(Er(t))}function Qn(e,t,a){return e&&Zt(a?.[e]?._meta)?!0:Zt(Er(t))}function Gr({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=K(),s=Nr(()=>{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:[re("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),re("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):re(zn,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Hd}from"react/jsx-runtime";var Rd="/api/mcp/resource",Md=500,Fd=0,Dd=16,Ed="2026-01-26",Bd=300,_d=3e3,Ud=3;function Od(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Nd(e,t,a){return ea(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function ta({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Rd,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=Te(null),C=Te(t),L=Te(a),w=Te({width:0,height:0}),I=Te(null),g=Te(!1),x=Te(0),S=Te("inline"),[M,E]=Jn(Fd),[v,Z]=Jn(void 0),R=Te(l),A=Te(u),N=Te(d),j=Te(c),Q=Te(o),$=Te(p);C.current=t,L.current=a,R.current=l,A.current=u,N.current=d,j.current=c,Q.current=o,$.current=p;let T=Pd(W=>i?Math.max(W+Dd,0):Math.min(Math.max(W,50),Md),[i]),y=Ad(()=>{let W=r.includes("?")?"&":"?";return`${r}${W}uri=${encodeURIComponent(e)}`},[r,e]),U=Te(n);U.current=n;let he=Te(f);return Vr(()=>{he.current=f,w.current.height=-1,I.current&&(I.current.cancel(),I.current=null)},[f]),Vr(()=>{if(!g.current)return;let W=m.current;W?.contentWindow&&W.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Vr(()=>{let W=m.current;if(!W)return;let Pe=!1,ne=!1,b=null,G=null,O=setTimeout(()=>{if(Pe||ne||x.current>=Ud)return;x.current+=1;let ee=new URL(W.src);ee.searchParams.set("_retry",String(x.current)),W.src=ee.toString()},_d),H=ee=>{W.contentWindow?.postMessage(ee,"*")},Se=ee=>{if(Pe||ee.source!==W.contentWindow)return;let ae=ee.data;if(!ae||typeof ae!="object"||ae.jsonrpc!=="2.0")return;let J=ae.method,F=ae.id;if(J==="ui/initialize"&&F!=null){ne=!0,clearTimeout(O),H({jsonrpc:"2.0",id:F,result:{protocolVersion:ae.params?.protocolVersion??Ed,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:U.current?"dark":"light",displayMode:S.current}}});return}if(J==="ui/notifications/initialized"){g.current=!0;let V=C.current,X=L.current,_=X._meta&&typeof X._meta=="object"?X._meta:null,z=Od(Q.current),te=_&&typeof _.waniwani=="object"&&_.waniwani!==null?_.waniwani:null,_e=te||z?{...te??{},...z?{sessionId:z}:{}}:void 0,Me=_||_e?{..._??{},..._e?{waniwani:_e}:{}}:void 0;H({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:V}});let ke=X.content??[{type:"text",text:JSON.stringify(X)}];H({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:ke,structuredContent:X.structuredContent,_meta:Me,meta:Me}});return}if(J==="ui/notifications/size-changed"){let V=ae.params,X=typeof V?.height=="number"?V.height:void 0,_=typeof V?.width=="number"?V.width:void 0,z=w.current,te=X!==void 0&&X!==z.height,_e=_!==void 0&&_!==z.width;if(!te&&!_e)return;if(te&&X!==void 0){if(z.height=X,he.current)return;let Me=T(X),ke=W.getBoundingClientRect().height;if(I.current&&(I.current.cancel(),I.current=null),E(Me),W.animate&&Math.abs(ke-Me)>2){let Ae=W.animate([{height:`${ke}px`},{height:`${Me}px`}],{duration:Bd,easing:"ease-out",fill:"forwards"});I.current=Ae,Ae.onfinish=()=>{I.current===Ae&&(Ae.cancel(),I.current=null)}}}_e&&i&&_!==void 0&&(z.width=_,Z(_));return}if(J==="ui/open-link"&&F!=null){let V=ae.params?.url;typeof V=="string"&&(R.current?R.current(V):window.open(V,"_blank","noopener,noreferrer")),H({jsonrpc:"2.0",id:F,result:{}});return}if(J==="ui/message"&&F!=null){if(A.current&&ae.params){let V=ae.params,X=b;if(b=null,G){clearTimeout(G.timer);let _=G.text;G=null;let z=(V.content??[]).map(te=>te.text??"").join("").trim();V={...V,content:[{type:"text",text:`${z}
2
+ import{a as Ln,b as Cn,c as Sn,d as yn,e as bn,f as ba,g as kn,h as Tn,i as vn,j as Pn,k as Ar,l as An,m as St,n as yt,o as ka,p as bt,u as Ot}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Pd,useEffect as Gr,useMemo as Ad,useRef as Te,useState as Jn}from"react";function kt(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function Rn(e,t){return!kt(e)&&!kt(t)?null:kt(e)?kt(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{forwardRef as zu,createElement as ju}from"react";var Ta=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Mn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Fn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Rr=e=>{let t=Fn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Vu,createElement as Bn}from"react";var Dn={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 En=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var _n=Vu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Bn("svg",{ref:l,...Dn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Ta("lucide",o),...!n&&!En(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Bn(u,d)),...Array.isArray(n)?n:[n]]));var Y=(e,t)=>{let a=zu(({className:r,...o},n)=>ju(_n,{ref:n,iconNode:t,className:Ta(`lucide-${Mn(Rr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Rr(e),a};var $u=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Nt=Y("arrow-down",$u);var Xu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Ht=Y("arrow-up",Xu);var Ku=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],qt=Y("check",Ku);var Qu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],at=Y("chevron-down",Qu);var Ju=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Wt=Y("chevron-right",Ju);var Yu=[["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"}]],Gt=Y("clipboard-copy",Yu);var Zu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Qe=Y("clock",Zu);var ed=[["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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Vt=Y("file-text",ed);var td=[["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"}]],Tt=Y("file",td);var ad=[["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"}]],zt=Y("globe",ad);var rd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],jt=Y("image",rd);var od=[["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"}]],$t=Y("loader",od);var nd=[["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"}]],vt=Y("paperclip",nd);var sd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Xt=Y("square",sd);var id=[["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"}]],pt=Y("wrench",id);var ld=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],rt=Y("x",ld);var ud=[["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"}]],Kt=Y("zap",ud);import{createContext as Sd,useCallback as yd,useContext as Vn,useEffect as bd,useMemo as Or,useRef as kd,useState as Nr}from"react";function Mr(e){if(!(typeof e!="object"||e===null))return e}function Un(e){return Mr(e?.ui)}function Fr(e){if(!e)return;let t=Un(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 Qt(e){return Un(e)?.autoHeight===!0}function Dr(e){return Mr(Mr(e)?._meta)}import{createContext as dd,useContext as cd,useEffect as fd,useMemo as pd,useState as qn}from"react";var On=["en","fr","es"];function Pt(e){return On.includes(e)}function Er(e){if(e&&Pt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Pt(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(Pt(r))return r;let o=r.split("-")[0];if(o&&Pt(o))return o}return"en"}var va={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",uploadFilesUpTo:"Upload a document, up to {limit}",uploadFilesUpToWithPages:"Upload a document, up to {limit} and {pages} pages",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments",removeAttachment:"Remove attachment",uploading:"Uploading\u2026",retry:"Retry",retryUpload:"Retry the upload",uploadFailed:"The upload did not finish.",dropToAttach:"Drop to attach",errorAccept:"{name} is not a file type this chat accepts.",errorTooLarge:"{name} is larger than {limit}.",errorTooMany:"You can attach up to {limit} files."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"File",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 Nn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",uploadFilesUpTo:"Subir un documento, hasta {limit}",uploadFilesUpToWithPages:"Subir un documento, hasta {limit} y {pages} p\xE1ginas",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos",removeAttachment:"Quitar archivo",uploading:"Subiendo\u2026",retry:"Reintentar",retryUpload:"Reintentar la subida",uploadFailed:"La subida no se complet\xF3.",dropToAttach:"Suelta para adjuntar",errorAccept:"{name} no es un tipo de archivo que acepte este chat.",errorTooLarge:"{name} supera {limit}.",errorTooMany:"Puedes adjuntar hasta {limit} archivos."},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",kindPdf:"PDF",kindImage:"Imagen",kindFile:"Archivo",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 Hn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",uploadFilesUpTo:"Joindre un document, jusqu'\xE0 {limit}",uploadFilesUpToWithPages:"Envoyer un document, jusqu'\xE0 {limit} et {pages} pages",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes",removeAttachment:"Retirer la pi\xE8ce jointe",uploading:"Envoi en cours\u2026",retry:"R\xE9essayer",retryUpload:"R\xE9essayer l'envoi",uploadFailed:"L'envoi ne s'est pas termin\xE9.",dropToAttach:"D\xE9posez pour joindre",errorAccept:"{name} n'est pas un type de fichier accept\xE9 par ce chat.",errorTooLarge:"{name} d\xE9passe {limit}.",errorTooMany:"Vous pouvez joindre jusqu'\xE0 {limit} fichiers."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"Fichier",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Br={en:va,fr:Hn,es:Nn};import{jsx as gd}from"react/jsx-runtime";var Wn=dd(null);function md(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 _r({children:e,locale:t,messages:a}){let r=!!(t&&hd(t)),o=r?t:"en",[n,s]=qn(o),[i,l]=qn(r);fd(()=>{s(Er(t)),l(!0)},[t]);let u=pd(()=>{let d=Br[n]??Br["en"];return{locale:n,t:md(d,a),ready:i}},[n,a,i]);return gd(Wn.Provider,{value:u,children:e})}function hd(e){return e==="en"||e==="fr"||e==="es"}function K(){let e=cd(Wn);return e||{locale:"en",t:va,ready:!0}}function Ur(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`}}var wd=Cn({prefix:"ww"});function k(...e){return wd(Ln(e))}import{jsx as xd}from"react/jsx-runtime";var ze=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>xd("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{memo as Id}from"react";import{jsx as Cd}from"react/jsx-runtime";var Ld=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Cd(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},qe=Id(Ld);qe.displayName="Shimmer";import{Fragment as Gn,jsx as re,jsxs as mt}from"react/jsx-runtime";function Td(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 d=`${l}\u2009${u}`;o.push(d),n-=d.length+3}return`{${o.join(", ")}}`}function vd({text:e,className:t}){let{t:a}=K(),[r,o]=Nr(!1),n=kd(null);bd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=yd(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 re(ze,{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?mt(Gn,{children:[re(qt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copied})]}):mt(Gn,{children:[re(Gt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copy})]})})}function zn({data:e,label:t,className:a,...r}){let[o,n]=Nr(!1),s=Or(()=>JSON.stringify(e,null,2),[e]),i=Td(e);return mt("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[mt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[re("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),re(vd,{text:s})]}),mt("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:[re(Wt,{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?re("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:re("code",{children:s})}):re("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Hr=Sd({open:!1,toggle:()=>{}});function jn({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Nr(t);return re(Hr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:re("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 $n({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Vn(Hr),s=a==="input-available"||a==="input-streaming",i=t??"";return mt("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:[re(pt,{className:"ww:size-4 ww:shrink-0"}),re("span",{className:"ww:truncate",children:s?re(qe,{duration:1.6,children:i}):i}),re(at,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Xn({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return re("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:re("span",{className:"ww:truncate",children:o?re(qe,{duration:1.6,children:n}):n})})}function Kn({className:e,children:t,...a}){let{open:r}=Vn(Hr);return re("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:re("div",{className:"ww:min-h-0 ww:overflow-hidden",children:re("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 qr({className:e,input:t,debug:a,...r}){let{t:o}=K(),n=Or(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return re(zn,{data:n,label:o.tool.request,className:e,...r})}function Jt(e,t,a){if(e){let r=Fr(a?.[e]?._meta);if(r)return r}return Fr(Dr(t))}function Qn(e,t,a){return e&&Qt(a?.[e]?._meta)?!0:Qt(Dr(t))}function Wr({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=K(),s=Or(()=>{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?mt("div",{className:k("ww:space-y-2",e),...o,children:[re("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),re("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):re(zn,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Hd}from"react/jsx-runtime";var Rd="/api/mcp/resource",Md=500,Fd=0,Dd=16,Ed="2026-01-26",Bd=300,_d=3e3,Ud=3;function Od(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Nd(e,t,a){return Jt(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Yt({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Rd,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=Te(null),C=Te(t),L=Te(a),w=Te({width:0,height:0}),I=Te(null),g=Te(!1),x=Te(0),S=Te("inline"),[M,E]=Jn(Fd),[P,Z]=Jn(void 0),R=Te(l),A=Te(u),N=Te(d),z=Te(c),Q=Te(o),j=Te(p);C.current=t,L.current=a,R.current=l,A.current=u,N.current=d,z.current=c,Q.current=o,j.current=p;let T=Pd(q=>i?Math.max(q+Dd,0):Math.min(Math.max(q,50),Md),[i]),y=Ad(()=>{let q=r.includes("?")?"&":"?";return`${r}${q}uri=${encodeURIComponent(e)}`},[r,e]),U=Te(n);U.current=n;let ge=Te(f);return Gr(()=>{ge.current=f,w.current.height=-1,I.current&&(I.current.cancel(),I.current=null)},[f]),Gr(()=>{if(!g.current)return;let q=m.current;q?.contentWindow&&q.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Gr(()=>{let q=m.current;if(!q)return;let Pe=!1,ne=!1,b=null,W=null,O=setTimeout(()=>{if(Pe||ne||x.current>=Ud)return;x.current+=1;let ee=new URL(q.src);ee.searchParams.set("_retry",String(x.current)),q.src=ee.toString()},_d),H=ee=>{q.contentWindow?.postMessage(ee,"*")},Se=ee=>{if(Pe||ee.source!==q.contentWindow)return;let ae=ee.data;if(!ae||typeof ae!="object"||ae.jsonrpc!=="2.0")return;let J=ae.method,F=ae.id;if(J==="ui/initialize"&&F!=null){ne=!0,clearTimeout(O),H({jsonrpc:"2.0",id:F,result:{protocolVersion:ae.params?.protocolVersion??Ed,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:U.current?"dark":"light",displayMode:S.current}}});return}if(J==="ui/notifications/initialized"){g.current=!0;let G=C.current,$=L.current,_=$._meta&&typeof $._meta=="object"?$._meta:null,V=Od(Q.current),te=_&&typeof _.waniwani=="object"&&_.waniwani!==null?_.waniwani:null,Me=te||V?{...te??{},...V?{sessionId:V}:{}}:void 0,Ae=_||Me?{..._??{},...Me?{waniwani:Me}:{}}:void 0;H({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:G}});let Ve=$.content??[{type:"text",text:JSON.stringify($)}];H({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Ve,structuredContent:$.structuredContent,_meta:Ae,meta:Ae}});return}if(J==="ui/notifications/size-changed"){let G=ae.params,$=typeof G?.height=="number"?G.height:void 0,_=typeof G?.width=="number"?G.width:void 0,V=w.current,te=$!==void 0&&$!==V.height,Me=_!==void 0&&_!==V.width;if(!te&&!Me)return;if(te&&$!==void 0){if(V.height=$,ge.current)return;let Ae=T($),Ve=q.getBoundingClientRect().height;if(I.current&&(I.current.cancel(),I.current=null),E(Ae),q.animate&&Math.abs(Ve-Ae)>2){let tt=q.animate([{height:`${Ve}px`},{height:`${Ae}px`}],{duration:Bd,easing:"ease-out",fill:"forwards"});I.current=tt,tt.onfinish=()=>{I.current===tt&&(tt.cancel(),I.current=null)}}}Me&&i&&_!==void 0&&(V.width=_,Z(_));return}if(J==="ui/open-link"&&F!=null){let G=ae.params?.url;typeof G=="string"&&(R.current?R.current(G):window.open(G,"_blank","noopener,noreferrer")),H({jsonrpc:"2.0",id:F,result:{}});return}if(J==="ui/message"&&F!=null){if(A.current&&ae.params){let G=ae.params,$=b;if(b=null,W){clearTimeout(W.timer);let _=W.text;W=null;let V=(G.content??[]).map(te=>te.text??"").join("").trim();G={...G,content:[{type:"text",text:`${V}
3
3
 
4
- ${_}`}]}}A.current({...V,...X?{modelContext:X}:{}})}H({jsonrpc:"2.0",id:F,result:{}});return}if(J==="ui/update-model-context"&&F!=null){b=Rn(b,ae.params),H({jsonrpc:"2.0",id:F,result:{}});return}if(J==="tools/call"&&F!=null){let V=N.current;if(!V){H({jsonrpc:"2.0",id:F,error:{code:-32601,message:"tools/call not supported"}});return}let X=ae.params?.name;V({name:X,arguments:ae.params?.arguments??{}}).then(_=>{H({jsonrpc:"2.0",id:F,result:_});let z=_.content?.map(te=>te.text??"").join("").trim();z&&Nd(X,_,$.current)&&(G&&clearTimeout(G.timer),G={text:z,timer:setTimeout(()=>{if(Pe)return;let te=b;b=null,G=null,A.current?.({role:"user",content:[{type:"text",text:z}],...te?{modelContext:te}:{}})},500)})}).catch(_=>{let z=_ instanceof Error?_.message:"Tool call failed";H({jsonrpc:"2.0",id:F,error:{code:-32e3,message:z}})});return}if(J==="ui/request-display-mode"&&F!=null){let V=ae.params?.mode,X=V==="fullscreen"||V==="inline"||V==="pip"?V:"inline";S.current=X,H({jsonrpc:"2.0",id:F,result:{mode:X}}),H({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:X}}),j.current?.(X);return}if(J==="ui/resource-teardown"&&F!=null){H({jsonrpc:"2.0",id:F,result:{}});return}J==="ping"&&F!=null&&H({jsonrpc:"2.0",id:F,result:{}})};return window.addEventListener("message",Se),()=>{Pe=!0,clearTimeout(O),G&&clearTimeout(G.timer),window.removeEventListener("message",Se)}},[i,T]),Hd("iframe",{ref:m,src:y,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%":M,minWidth:f||!v?void 0:`min(${v}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as qd,useEffect as zr,useState as Wd}from"react";import{jsx as jr,jsxs as Vd}from"react/jsx-runtime";var Yn=672,Zn=32;function Gd({widget:e,toolsEndpoint:t,resourceEndpoint:a,headers:r,onClose:o,isDark:n=!1}){let[s,i]=Wd(null);zr(()=>{let f=()=>i({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let l=e?.preview===!0;zr(()=>{if(!e||!l)return;let f=p=>{p.key==="Escape"&&o()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,l,o]),zr(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let u=qd(async f=>{let p=await fetch(t,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...f})});if(!p.ok)throw new Error(`webmcp tool call failed: ${p.status}`);return await p.json()},[t,r]);if(!e)return null;let d=s?Math.min(Yn,s.width-Zn):Yn,c=s?s.height-Zn:void 0;return Vd("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:k("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",n&&"dark"),children:[l&&jr("button",{type:"button","aria-label":"Close",onClick:o,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),jr("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:c},children:jr(ta,{resourceUri:e.viewUri,resourceEndpoint:a,toolInput:e.data,toolResult:e.result,autoHeight:Zt(e.result._meta),isDark:n,onCallTool:u,onOpenLink:f=>window.open(f,"_blank","noopener")},`${a}|${e.viewUri}`)})]})}import{forwardRef as nu,useCallback as Sr,useEffect as Qe,useImperativeHandle as Gh,useRef as Lt,useState as yr}from"react";import ts from"crypto";var es="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var zd=128,ft,Mt,jd=e=>{!ft||ft.length<e?(ft=Buffer.allocUnsafe(e*zd),ts.randomFillSync(ft),Mt=0):Mt+e>ft.length&&(ts.randomFillSync(ft),Mt=0),Mt+=e};var aa=(e=21)=>{jd(e|=0);let t="";for(let a=Mt-e;a<Mt;a++)t+=es[ft[a]&63];return t};import{createContext as Jd,useCallback as Re,useContext as Yd,useEffect as ra,useMemo as Zd,useRef as at,useState as Kr}from"react";var pt=new Map;function as(e,t){if(pt.has(e)){URL.revokeObjectURL(t);return}for(pt.set(e,t);pt.size>20;){let a=pt.keys().next();if(a.done)return;let r=pt.get(a.value);pt.delete(a.value),r&&URL.revokeObjectURL(r)}}function rs(e){return pt.get(e)}import{useState as $d}from"react";import{jsx as Le,jsxs as $r}from"react/jsx-runtime";var os=({files:e,className:t,...a})=>e.length===0?null:Le("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Le(Xd,{file:r},o))});function Xd({file:e}){let{t}=K();return e.mediaType?.startsWith("image/")&&e.url?Le("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):$r("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:[Le(vt,{className:"ww:size-3 ww:shrink-0"}),Le("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function ns(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function Kd({mediaType:e}){return e.startsWith("image/")?Le(Kt,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?Le($t,{className:"ww:size-5 ww:text-muted-foreground"}):Le(vt,{className:"ww:size-5 ww:text-muted-foreground"})}function Xr({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=K(),l=ns(t,i);return $r("li",{"aria-label":`${e}, ${l}`,className:k("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[Le("span",{className:"ww:flex ww:size-10 ww:shrink-0 ww:items-center ww:justify-center ww:overflow-hidden ww:rounded-xl ww:bg-muted",children:a?Le("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):Le(Kd,{mediaType:t})}),$r("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[Le("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),Le("span",{className:k("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function ss(e){if(typeof e!="object"||e===null)return[];let t=e.documents;return Array.isArray(t)?t.filter(a=>typeof a=="object"&&a!==null&&typeof a.documentId=="string"&&typeof a.filename=="string"&&typeof a.mediaType=="string"):[]}var is=({documents:e,className:t,...a})=>e.length===0?null:Le("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:items-end ww:justify-end ww:gap-2 ww:p-0",t),...a,children:e.map((r,o)=>Le(Qd,{document:r},`${r.documentId}-${o}`))});function Qd({document:e}){let{t}=K(),[a,r]=$d(!1),o=e.mediaType.startsWith("image/")?rs(e.documentId):void 0;return o&&!a?Le("li",{children:Le("img",{alt:`${e.filename}, ${ns(e.mediaType,t)}`,className:"ww:max-h-80 ww:max-w-72 ww:rounded-xl ww:border ww:border-border ww:object-contain",onError:()=>r(!0),src:o,title:e.filename})}):Le(Xr,{filename:e.filename,mediaType:e.mediaType})}import{jsx as ge,jsxs as Fa}from"react/jsx-runtime";var ec=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}},tc=(e,t)=>{if(!t)return!0;let a=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);if(a.length===0)return!0;let r=e.type.toLowerCase(),o=e.name.toLowerCase();return a.some(n=>n.startsWith(".")?o.endsWith(n):n.endsWith("/*")?r.startsWith(n.slice(0,-1)):r===n)},us=Jd(null),Ma=()=>{let e=Yd(us);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ds=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:C}=K(),L=at(null),w=at(null),[I,g]=Kr([]),x=at(I),S=at(new Map),M=at(l),E=at(d),v=at(u);ra(()=>{M.current=l,E.current=d,v.current=u},[l,d,u]);let Z=Re(b=>{x.current=b,g(b)},[]),R=Re(()=>{L.current?.click()},[]),A=Re((b,G)=>{Z(x.current.map(O=>O.id===b?{...O,...G}:O))},[Z]),N=Re((b,G)=>{let O=M.current;if(!O)return;let H=new AbortController,Se=O(G,H.signal,ee=>{A(b,{progress:ee})}).then(ee=>(A(b,{status:"ready",progress:1,documentId:ee.documentId,error:void 0}),ee)).catch(ee=>{if(H.signal.aborted)return null;let ae=ee instanceof Error?ee.message:m.promptInput.uploadFailed;return A(b,{status:"failed",error:ae}),E.current?.({code:"upload_failed",message:ae}),null});S.current.set(b,{file:G,controller:H,done:Se})},[A,m]),j=Re(b=>{let G=[...b];if(!i||G.length===0)return;let O=(F,V)=>E.current?.({code:F,message:V}),H=[];for(let F of G){if(!tc(F,t)){O("accept",m.promptInput.errorAccept.replace("{name}",F.name));continue}if(n&&F.size>n){O("max_file_size",m.promptInput.errorTooLarge.replace("{name}",F.name).replace("{limit}",cs(n,C)));continue}H.push(F)}if(H.length===0)return;let Se=typeof o=="number"?Math.max(0,o-x.current.length):void 0,ee=typeof Se=="number"?H.slice(0,Se):H;if(ee.length<H.length&&O("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),ee.length===0)return;let ae=!!M.current,J=ee.map(F=>({file:F,item:{filename:F.name,id:aa(),mediaType:F.type,type:"file",url:URL.createObjectURL(F),status:ae?"uploading":"ready",progress:0}}));Z([...x.current,...J.map(F=>F.item)]);for(let F of J)N(F.item.id,F.file)},[o,n,t,i,N,Z,m,C]),Q=Re(b=>{let G=S.current.get(b);G&&(A(b,{status:"uploading",progress:0,error:void 0}),N(b,G.file))},[A,N]),$=Re((b,G)=>{S.current.get(b.id)?.controller.abort(),S.current.delete(b.id),b.url&&(!G&&!!b.documentId&&!!b.mediaType?.startsWith("image/")&&b.documentId?as(b.documentId,b.url):URL.revokeObjectURL(b.url)),G&&b.documentId&&v.current?.({documentId:b.documentId,filename:b.filename??"",mediaType:b.mediaType??""})},[]),T=Re(b=>{let G=x.current.find(O=>O.id===b);G&&$(G,!0),Z(x.current.filter(O=>O.id!==b))},[$,Z]),y=Re(()=>{for(let b of x.current)$(b,!0);Z([])},[$,Z]),U=at(i);ra(()=>{let b=U.current;U.current=i,b&&!i&&y()},[i,y]);let he=Re(()=>{for(let b of x.current)$(b,!1);Z([])},[$,Z]);ra(()=>()=>{for(let b of x.current)S.current.get(b.id)?.controller.abort(),b.url&&URL.revokeObjectURL(b.url)},[]);let W=Re(b=>{b.currentTarget.files&&j(b.currentTarget.files),b.currentTarget.value=""},[j]);ra(()=>{if(!r)return;let b=O=>{O.dataTransfer?.types?.includes("Files")&&O.preventDefault()},G=O=>{O.dataTransfer?.types?.includes("Files")&&O.preventDefault(),O.dataTransfer?.files&&O.dataTransfer.files.length>0&&j(O.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",G),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",G)}},[j,r]);let Pe=Re(async b=>{b.preventDefault();let G=b.currentTarget,O=new FormData(G).get("message")||"",H=new Map;for(;H.size<S.current.size;)await Promise.all([...S.current.entries()].filter(([J])=>!H.has(J)).map(async([J,F])=>{H.set(J,await F.done)}));for(let J of H.keys())S.current.has(J)||H.delete(J);if([...H.values()].some(J=>J===null)){E.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let Se=[...H.values()].filter(J=>J!==null),ee=M.current?[]:x.current,ae=await Promise.all(ee.map(async({id:J,status:F,progress:V,error:X,..._})=>{if(_.url?.startsWith("blob:")){let z=await ec(_.url);return{..._,url:z??_.url}}return _}));try{let J=c({documents:Se,files:ae,text:O},b);J instanceof Promise&&await J,G.reset(),he()}catch{}},[c,he,m]),ne=Zd(()=>({add:j,clear:y,files:I,openFileDialog:R,remove:T,retry:Q,maxFileSize:n,maxPdfPages:s}),[I,j,T,Q,y,R,n,s]);return Fa(us.Provider,{value:ne,children:[ge("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:W,ref:L,title:m.promptInput.uploadFiles,type:"file"}),ge("form",{className:k("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Pe,ref:w,...p,children:f})]})},ls=1024*1024;function cs(e,t){let a=e>=ls;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ls:Math.max(1,e/1024))}var fs=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=K(),s=Ma(),[i,l]=Kr(!1),u=r??n.promptInput.placeholder,d=Re(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]),c=Re(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let C of p)if(C.kind==="file"){let L=C.getAsFile();L&&m.push(L)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return ge("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:d,onPaste:c,placeholder:u,onChange:e,...o})},ps=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=K(),i=t==="submitted"||t==="streaming",l=ge(Gt,{className:"ww:size-4"});t==="submitted"?l=ge(Qt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=ge(Jt,{className:"ww:size-4"}));let u=Re(d=>{if(i&&a){d.preventDefault(),a();return}r?.(d)},[i,a,r]);return ge(Ge,{"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})},ms=({className:e,children:t,...a})=>{let{t:r,locale:o}=K(),n=Ma();if(n.files.length>0)return Fa(Ge,{className:k("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[ge("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:n.files.length}),ge(tt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]});let i=n.maxFileSize?(n.maxPdfPages?r.promptInput.uploadFilesUpToWithPages.replace("{pages}",String(n.maxPdfPages)):r.promptInput.uploadFilesUpTo).replace("{limit}",cs(n.maxFileSize,o)):r.promptInput.uploadFiles;return ge(Ge,{"aria-label":i,className:k(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??ge(Pt,{className:"ww:size-4"})})},hs=({className:e,...t})=>{let a=Ma();return a.files.length===0?null:ge("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>ge(ac,{file:r},r.id))})};function ac({file:e}){let{t}=K(),a=Ma(),r=e.status==="failed",o=e.status==="uploading";return Fa(Xr,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?ge("button",{"aria-label":t.promptInput.retryUpload,className:"ww:ml-auto ww:shrink-0 ww:text-destructive ww:text-xs ww:underline ww:underline-offset-2",onClick:()=>a.retry(e.id),type:"button",children:t.promptInput.retry}):null,ge("button",{"aria-label":t.promptInput.removeAttachment,className:k("ww:shrink-0 ww:rounded-full ww:p-1 ww:opacity-60 ww:transition-opacity hover:ww:bg-muted hover:ww:opacity-100",r?null:"ww:ml-auto"),onClick:()=>a.remove(e.id),type:"button",children:ge(tt,{className:"ww:size-3.5"})}),o?ge("span",{"aria-hidden":!0,className:"ww:absolute ww:bottom-0 ww:left-0 ww:h-0.5 ww:bg-primary ww:transition-[width] ww:duration-200",style:{width:`${Math.round(e.progress*100)}%`}}):null]})}var gs=({enabled:e=!0})=>{let{t}=K(),[a,r]=Kr(!1);return ra(()=>{if(!e)return;let o=0,n=u=>!!u.dataTransfer?.types?.includes("Files"),s=u=>{n(u)&&(o+=1,r(!0))},i=u=>{n(u)&&(o=Math.max(0,o-1),o===0&&r(!1))},l=()=>{o=0,r(!1)};return document.addEventListener("dragenter",s),document.addEventListener("dragleave",i),document.addEventListener("drop",l),()=>{document.removeEventListener("dragenter",s),document.removeEventListener("dragleave",i),document.removeEventListener("drop",l)}},[e]),e&&a?ge("div",{className:"ww:pointer-events-none ww:absolute ww:inset-0 ww:z-50 ww:flex ww:items-center ww:justify-center ww:rounded-2xl ww:border-2 ww:border-primary ww:border-dashed ww:bg-background/85",children:Fa("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[ge(Pt,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as rc}from"react/jsx-runtime";function ws({text:e}){let{t}=K();return e===!1?null:rc("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{memo as oc,useCallback as nc}from"react";import{jsx as Ft}from"react/jsx-runtime";var xs=({className:e,...t})=>Ft("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Is=({className:e,...t})=>Ft("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}),Ls=({className:e,...t})=>Ft("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Cs=({className:e,...t})=>Ft("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ss=({className:e,...t})=>Ft("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),ys=({className:e,...t})=>Ft(Ge,{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 rt,jsxs as Ts}from"react/jsx-runtime";var bs=oc(({message:e,onRemove:t})=>{let{t:a}=K(),r=nc(()=>t(e.id),[t,e.id]);return Ts(Is,{children:[rt(Ls,{}),rt(Cs,{children:e.text||a.chatQueue.attachmentFallback}),rt(Ss,{children:rt(ys,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:rt(tt,{className:"ww:size-3"})})})]})});bs.displayName="ChatQueueItem";function ks({queuedMessages:e,onRemove:t,className:a}){let{t:r}=K();return e.length===0?null:Ts(xs,{className:k("ww:border-t ww:border-border",a),children:[rt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),rt("ul",{children:e.map(o=>rt(bs,{message:o,onRemove:t},o.id))})]})}import{createContext as mc,useCallback as hc,useContext as gc,useEffect as wc,useMemo as xc,useState as Zr}from"react";import{createContext as sc,memo as Yr,useCallback as ic,useContext as lc,useEffect as Qr,useMemo as uc,useRef as vs,useState as Jr}from"react";import{Fragment as fc,jsx as He,jsxs as pc}from"react/jsx-runtime";var Ps=sc(null);function As(){let e=lc(Ps);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var dc=1e3,cc=1e3,oa=Yr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=Jr(l),p=d?a:c,m=ic(E=>{d||f(E),o?.(E)},[d,o]),[C,L]=Jr(void 0),w=n??C,I=vs(t),[g,x]=Jr(!1),S=vs(null);Qr(()=>{t?(I.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(L(Math.ceil((Date.now()-S.current)/cc)),S.current=null)},[t]),Qr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Qr(()=>{if(I.current&&!t&&p&&!g){let E=setTimeout(()=>{m(!1),x(!0)},dc);return()=>clearTimeout(E)}},[t,p,g,m]);let M=uc(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return He(Ps.Provider,{value:M,children:He("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})})});oa.displayName="Reasoning";var na=Yr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=K(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=As(),f=a??((p,m)=>p||m===0?He(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?He("span",{children:s.reasoning.thoughtBrief}):He("span",{children:s.reasoning.thoughtForSeconds(m)}));return He("button",{type:"button","aria-expanded":l,onClick:p=>{d(!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??pc(fc,{children:[!r&&He(Xe,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});na.displayName="ReasoningTrigger";var sa=Yr(({className:e,children:t,...a})=>{let{isOpen:r}=As();return He("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:He("div",{className:"ww:min-h-0 ww:overflow-hidden",children:He("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:He(qt,{children:t})})})})});sa.displayName="ReasoningContent";import{jsx as ie,jsxs as ot}from"react/jsx-runtime";var Ic=500,Rs=mc(null);function Ms(){let e=gc(Rs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Fs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=Zr(o),c=l?r:u,f=hc(L=>{l||d(L),n?.(L)},[l,n]),[p,m]=Zr(!t);wc(()=>{if(t){m(!1);return}let L=setTimeout(()=>m(!0),Ic);return()=>clearTimeout(L)},[t]);let C=xc(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return ie(Rs.Provider,{value:C,children:ie("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":c?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Ds({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Ms();if(!l){let d=u?.icon,c=u?.label??a??t??"";return ie("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:ot("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:[d&&ie(d,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),ie("span",{className:"ww:truncate",children:i?ie(Ne,{duration:2.6,children:c}):c})]},c)})}return ot("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:[ie("span",{className:"ww:truncate",children:r??t}),ie(et,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Es({className:e,children:t,...a}){let{open:r}=Ms();return ie("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:ie("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ie("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function Bs({icon:e,isLast:t,running:a,error:r}){return ot("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[ie("span",{className:"ww:flex ww:h-5 ww:items-center",children:ie(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&&ie("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function eo({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,[d,c]=Zr(!1),f=a??"",p=i?ie(Ne,{duration:1.6,children:f}):ie("span",{className:"ww:truncate",children:f});return ot("div",{className:k("ww:flex ww:gap-2",e),...s,children:[ie(Bs,{icon:t,isLast:o,running:i,error:l}),ot("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?ot("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,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,ie(et,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):ie("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&ie("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",d?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ie("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ie("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 _s({isStreaming:e=!1,isLast:t=!1,children:a}){return ot("div",{className:"ww:flex ww:gap-2",children:[ie(Bs,{icon:Xe,isLast:t,running:e}),ie("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:ot(oa,{isStreaming:e,className:"ww:mb-0",children:[ie(na,{hideIcon:!0}),ie(sa,{children:a})]})})]})}var ye={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 Ve={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 Fe={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function Us(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Os(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Ns(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 Hs(e){return Us(e)?"ambiguous":Os(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":Ns(e)?"wide":"neutral"}function Lc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function qs(e){return Lc(e),Hs(e)}var Cc=Object.defineProperty,Sc=(e,t,a)=>t in e?Cc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,yc=(e,t,a)=>Sc(e,typeof t!="symbol"?t+"":t,a);function bc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function kc(e){if(!e||e<4352)return!1;switch(qs(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!bc(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 Tc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function vc(e){return e!==null&&e>=65024&&e<=65038}var Pc=Ws(/\p{P}|\p{S}/u),Ac=Ws(/\s/);function Ws(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var De;(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})(De||(De={}));function nt(e){if(e===ye.eof||An(e)||Ac(e))return Ve.characterGroupWhitespace;let t=0;if(e>=4352){if(vc(e))return De.nonEmojiGeneralUseVS;switch(kc(e)){case null:return De.ivs;case!0:t|=De.cjk;break}}return Pc(e)&&(t|=Ve.characterGroupPunctuation),t}function Da(e,t,a){if(!Mc(e))return e;let r=t(),o=nt(r);return!r||mt(o)?e:Tc(r,a)?De.cjkPunctuation:Rc(o)}function Rc(e){return e&~De.ivs}function mt(e){return!!(e&Ve.characterGroupWhitespace)}function Dt(e){return(e&De.cjkPunctuation)===Ve.characterGroupPunctuation}function ia(e){return!!(e&De.cjk)}function Gs(e){return e===De.ivs}function Vs(e){return!!(e&De.cjkOrIvs)}function Mc(e){return e===De.nonEmojiGeneralUseVS}function to(e){return!!(e&De.spaceOrPunctuation)}function Ea(e){return!!(e&&e>=55296&&e<=56319)}function Ba(e){return!!(e&&e>=56320&&e<=57343)}function _a(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 Fc(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 Ua=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,yc(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Fc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var ao={name:"attention",resolveAll:Dc,tokenize:Ec};function Dc(e,t){let a=-1,r,o,n,s,i,l,u,d;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 c={...e[r][1].end},f={...e[a][1].start};zs(c,-l),zs(f,l),s={type:l>1?Fe.strongSequence:Fe.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?Fe.strongSequence:Fe.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Fe.strongText:Fe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Fe.strong:Fe.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=bt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=bt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=bt(u,Pa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=bt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=bt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,yt(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Ec(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ba(n)?_a(n,r(),o):n,i=nt(s),l=new Ua(s,r(),o),u=Da(i,l.value.bind(l),s),d;return c;function c(p){return p===ye.asterisk||ye.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),C=Ea(p)?Oa(p,r(),o):p,L=nt(C);let w=Dt(u),I=w||mt(u),g=Dt(L),x=g||mt(L),S=Vs(u),M=!x||g&&(I||S)||a.includes(p),E=!I||w&&(x||ia(L))||a.includes(s);return m._open=!!(d===ye.asterisk?M:M&&(to(u)||!E)),m._close=!!(d===ye.asterisk?E:E&&(to(L)||!M)),t(p)}}function zs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function js(){return{text:{[ye.asterisk]:ao,[ye.underscore]:ao},insideSpan:{null:[ao]}}}function $s(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(js())}function Xs(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[ye.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[ye.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 d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&yt(f,f.length,0,Pa(p,s.slice(u+1,l),i)),yt(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),yt(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=Fe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Ba(c)?_a(c,u(),d):c,p=nt(f),m=new Ua(f,u(),d),C=Da(p,m.value.bind(m),f),L=this.events,w=0;return I;function I(x){return ye.tilde,f===ye.tilde&&L[L.length-1][1].type!==Fe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),g(x))}function g(x){let S=nt(f);if(x===ye.tilde)return w>1?l(x):(s.consume(x),w++,g);if(w<2&&!a)return l(x);let M=s.exit("strikethroughSequenceTemporary"),E=Ea(x)?Oa(x,u(),d):x,v=nt(E),R=Dt(C)||mt(C),N=Dt(v)||mt(v),j=ia(C)||Gs(S);return M._open=!N||v===Ve.attentionSideAfter&&(R||j),M._close=!R||S===Ve.attentionSideAfter&&(N||ia(v)),i(x)}}}function Ks(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Xs(e))}var Bc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),_c=/^(https?:\/\/|mailto:|www\.)/i,Uc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Oc=e=>{let t=0;for(let a of e){if(Bc.has(a))return t;t+=a.length}return null},Nc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Hc=e=>({type:"text",value:e}),qc=()=>e=>{Sn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Uc(t)||!_c.test(t.url))return;let o=Oc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Nc(n,t),l=Hc(s);return r.children.splice(a,1,i,l),a+1})};function Wc(){let e=[$s],t=[qc,Ks],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var ro=Wc();var le=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Gc(e){return mo(e)}function mo(e){return Array.isArray(e)?Vc(e):e instanceof RegExp?e:typeof e=="object"?zc(e):e}function Vc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=mo(e[a]);return t}function zc(e){let t={};for(let a in e)t[a]=mo(e[a]);return t}function oi(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function ni(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?ni(e.substring(0,e.length-1)):e.substr(~t+1)}var oo=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Na=class{static hasCaptures(e){return e===null?!1:(oo.lastIndex=0,oo.test(e))}static replaceCaptures(e,t,a){return e.replace(oo,(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 si(e,t){return e<t?-1:e>t?1:0}function ii(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=si(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Qs(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 li(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var ui=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}},da=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Xc(e),t)}static createFromParsedTheme(e,t){return Qc(e,t)}_cachedMatchRoot=new ui(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=>jc(e.parent,o.parentScopes));return r?new di(r.fontStyle,r.foreground,r.background):null}},no=class Ha{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ha(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ha(a,t[r]);return a}push(t){return new Ha(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 jc(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&&!$c(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function $c(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var di=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Xc(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 c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[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"&&Qs(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Qs(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),C=m[m.length-1],L=null;m.length>1&&(L=m.slice(0,m.length-1),L.reverse()),a[r++]=new Kc(C,L,o,l,u,d)}}return a}var Kc=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}},be=(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))(be||{});function Qc(e,t){e.sort((l,u)=>{let d=si(l.scope,u.scope);return d!==0||(d=ii(l.parentScopes,u.parentScopes),d!==0)?d: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 Jc(t),s=new di(a,n.getId(r),n.getId(o)),i=new Zc(new io(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new da(n,s,i)}var Jc=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)}},Yc=Object.freeze([]),io=class ci{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Yc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new ci(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)}},Zc=class lo{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(lo._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 d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new lo(this._mainRule.clone(),io.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.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(ii(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 io(t,a,r,o,n))}},gt=class Oe{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Oe.getLanguageId(t),r=Oe.getTokenType(t),o=Oe.getFontStyle(t),n=Oe.getForeground(t),s=Oe.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=Oe.getLanguageId(t),u=Oe.getTokenType(t),d=Oe.containsBalancedBrackets(t)?1:0,c=Oe.getFontStyle(t),f=Oe.getForeground(t),p=Oe.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function Wa(e,t){let a=[],r=ef(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(Js(o)){let l=[];do l.push(o),o=r.next();while(Js(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return d=>l.every(c=>c(d))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return d=>l.some(c=>c(d))}}function Js(e){return!!e&&!!e.match(/[\w\.:]+/)}function ef(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 fi(e){typeof e.dispose=="function"&&e.dispose()}var ca=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},tf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},af=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))}},rf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ca(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new af;for(let a of e)of(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ca){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 of(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 ca?qa({baseGrammar:n,selfGrammar:o},r):uo(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 ca(i))}function uo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ga([r],t,a)}}function qa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ga(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ga(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ga(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?oi({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ga(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=pi(n);switch(s.kind){case 0:qa({...t,selfGrammar:t.baseGrammar},a);break;case 1:qa(t,a);break;case 2:uo(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?uo(s.ruleName,l,a):qa(l,a)}else s.kind===4?a.add(new tf(s.scopeName,s.ruleName)):a.add(new ca(s.scopeName));break}}}var nf=class{kind=0},sf=class{kind=1},lf=class{constructor(e){this.ruleName=e}kind=2},uf=class{constructor(e){this.scopeName=e}kind=3},df=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function pi(e){if(e==="$base")return new nf;if(e==="$self")return new sf;let t=e.indexOf("#");if(t===-1)return new uf(e);if(t===0)return new lf(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new df(a,r)}}var cf=/\\(\d+)/,Ys=/\\(\d+)/g;var ff=-1,mi=-2;var ma=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Na.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Na.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ni(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:Na.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Na.replaceCaptures(this._contentName,e,t)}},pf=class extends ma{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!")}},mf=class extends ma{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new fa(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 pa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Zs=class extends ma{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 pa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},co=class extends ma{_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 fa(o,this.id),this.beginCaptures=n,this._end=new fa(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 pa;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}},Va=class extends ma{_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 fa(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new fa(s,mi),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 pa;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 pa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},hi=class ve{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new pf(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new mf(t.$vscodeTextmateLocation,t.id,t.name,t.match,ve._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=oi({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Zs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ve._compilePatterns(n,a,r))}return t.while?new Va(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ve._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,ve._compileCaptures(t.whileCaptures||t.captures,a,r),ve._compilePatterns(t.patterns,a,r)):new co(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ve._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,ve._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,ve._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=ve.getCompiledRuleId(t[s],a,r)),o[i]=ve.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=pi(i.include);switch(u.kind){case 0:case 1:l=ve.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=ve.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=ve.getCompiledRuleId(m,a,p.repository))}else l=ve.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=ve.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Zs||u instanceof co||u instanceof Va)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},fa=class gi{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=cf.test(this.source):this.hasBackReferences=!1}clone(){return new gi(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 Ys.lastIndex=0,this.source.replace(Ys,(o,n)=>li(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}},pa=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 ei(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 ei(e,r,this._items.map(o=>o.ruleId))}},ei=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(`
5
- `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},so=class{constructor(e,t){this.languageId=e,this.tokenType=t}},hf=class fo{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new so(t,8),this._embeddedLanguagesMatcher=new gf(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?fo._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new so(0,0);_getBasicScopeAttributes=new ui(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new so(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(fo.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/},gf=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])=>li(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])}},KL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},wi=!1,ti=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function xi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=wf(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,d=p.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new ti(o,!0);f()}return new ti(o,!1);function f(){let p=xf(e,t,a,r,o,d);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,C=p.matchedRuleId,L=m&&m.length>0?m[0].end>r:!1;if(C===ff){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),la(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let I=o;if(o=o.parent,d=I.getAnchorPos(),!L&&I.getEnterPos()===r){o=I,n.produce(o,l),u=!0;return}}else{let w=e.getRule(C);n.produce(o,m[0].start);let I=o,g=w.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(g,e);if(o=o.push(C,r,d,m[0].end===l,null,x,x),w instanceof co){let S=w;la(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let M=S.getContentName(t.content,m),E=x.pushAttributed(M,e);if(o=o.withContentNameScopesList(E),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!L&&I.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Va){let S=w;la(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let M=S.getContentName(t.content,m),E=x.pushAttributed(M,e);if(o=o.withContentNameScopesList(E),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!L&&I.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(la(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!L){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function wf(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 Va&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=Cf(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==mi){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),la(e,t,a,l.stack,n,l.rule.whileCaptures,c.captureIndices),n.produce(l.stack,c.captureIndices[0].end),s=c.captureIndices[0].end,c.captureIndices[0].end>r&&(r=c.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function xf(e,t,a,r,o,n){let s=If(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Lf(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,d=l.captureIndices[0].start;return d<u||l.priorityMatch&&d===u?l:s}function If(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Ii(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Lf(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(c))continue;let C=t.getRule(m.ruleId),{ruleScanner:L,findOptions:w}=Ii(C,t,null,r,o===s),I=L.findNextMatchSync(a,o,w);if(!I)continue;let g=I.captureIndices[0].start;if(!(g>=i)&&(i=g,l=I.captureIndices,u=I.ruleId,d=m.priority,i===o))break}return l?{priorityMatch:d===-1,captureIndices:l,matchedRuleId:u}:null}function Ii(e,t,a,r,o){if(wi){let s=e.compile(t,a),i=Li(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Cf(e,t,a,r,o){if(wi){let s=e.compileWhile(t,a),i=Li(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Li(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function la(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],d=s[0].end;for(let c=0;c<l;c++){let f=n[c];if(f===null)continue;let p=s[c];if(p.length===0)continue;if(p.start>d)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 C=f.getName(i,s),L=r.contentNameScopesList.pushAttributed(C,e),w=f.getContentName(i,s),I=L.pushAttributed(w,e),g=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,L,I),x=e.createOnigString(i.substring(0,p.end));xi(e,x,a&&p.start===0,p.start,g,o,!1,0),fi(x);continue}let m=f.getName(i,s);if(m!==null){let L=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Sf(L,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Sf=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function yf(e,t,a,r,o,n,s,i){return new kf(e,t,a,r,o,n,s,i)}function ai(e,t,a,r,o){let n=Wa(t,za),s=hi.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 za(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(bf(t[o],r))return a=o+1,!0;return!1})}function bf(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 kf=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new hf(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ri(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Wa(l,za);for(let d of u)this._tokenTypeMatchers.push({matcher:d.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)ai(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&&ai(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]=ri(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=hi.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===po.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=gt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=ua.createRootAndLookUpScopeName(f,c,this):p=ua.createRoot("unknown",c),t=new po(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
6
- `;let n=this.createOnigString(e),s=n.content.length,i=new vf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=xi(this,n,o,0,t,i,!0,r);return fi(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ri(e,t){return e=Gc(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 ua=class ze{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=no.push(o,n.scopeNames),r=new ze(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new ze(null,new no(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new no(null,t),s=r.themeProvider.themeMatch(n),i=ze.mergeAttributes(a,o,s);return new ze(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return ze.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),gt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return ze._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=ze._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=ze.mergeAttributes(t.tokenAttributes,o,s);return new ze(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}},po=class ht{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 ht(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:ht._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ua.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(){ht._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new ht(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 ht(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=ua.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new ht(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,ua.fromExtension(r,a.contentNameScopesList))}},Tf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Wa(a,za).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Wa(a,za).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}},vf=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=gt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=gt.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}},Pf=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,yf(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Ci=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Pf(da.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(da.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 Tf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new rf(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)}},ja=po.NULL;var Af=/["&'<>`]/g,Rf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Mf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ff=/[|\\{}()[\]^$+*?.]/g,Si=new WeakMap;function yi(e,t){if(e=e.replace(t.subset?Df(t.subset):Af,r),t.subset||t.escapeOnly)return e;return e.replace(Rf,a).replace(Mf,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 Df(e){let t=Si.get(e);return t||(t=Ef(e),Si.set(e,t)),t}function Ef(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Ff,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Bf=/[\dA-Fa-f]/;function bi(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Bf.test(String.fromCharCode(t))?r:r+";"}var _f=/\d/;function ki(e,t,a){let r="&#"+String(e);return a&&t&&!_f.test(String.fromCharCode(t))?r:r+";"}var Ti=["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 $a={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 vi=["cent","copy","divide","gt","lt","not","para","times"];var Pi={}.hasOwnProperty,ho={},Xa;for(Xa in $a)Pi.call($a,Xa)&&(ho[$a[Xa]]=Xa);var Uf=/[^\dA-Za-z]/;function Ai(e,t,a,r){let o=String.fromCharCode(e);if(Pi.call(ho,o)){let n=ho[o],s="&"+n;return a&&Ti.includes(n)&&!vi.includes(n)&&(!r||t&&t!==61&&Uf.test(String.fromCharCode(t)))?s:s+";"}return""}function Ri(e,t,a){let r=bi(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=Ai(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=ki(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Ke(e,t){return yi(e,Object.assign({format:Ri},t))}var Of=/^>|^->|<!--|-->|--!>|<!-$/g,Nf=[">"],Hf=["<",">"];function Mi(e,t,a,r){return r.settings.bogusComments?"<?"+Ke(e.value,Object.assign({},r.settings.characterReferences,{subset:Nf}))+">":"<!--"+e.value.replace(Of,o)+"-->";function o(n){return Ke(n,Object.assign({},r.settings.characterReferences,{subset:Hf}))}}function Fi(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var fe=Di(1),go=Di(-1),qf=[];function Di(e){return t;function t(a,r,o){let n=a?a.children:qf,s=(r||0)+e,i=n[s];if(!o)for(;i&&kt(i);)s+=e,i=n[s];return i}}var Wf={}.hasOwnProperty;function Ka(e){return t;function t(a,r,o){return Wf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ha=Ka({body:Vf,caption:wo,colgroup:wo,dd:Xf,dt:$f,head:wo,html:Gf,li:jf,optgroup:Kf,option:Qf,p:zf,rp:Ei,rt:Ei,tbody:Yf,td:Bi,tfoot:Zf,th:Bi,thead:Jf,tr:ep});function wo(e,t,a){let r=fe(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&kt(r.value.charAt(0)))}function Gf(e,t,a){let r=fe(a,t);return!r||r.type!=="comment"}function Vf(e,t,a){let r=fe(a,t);return!r||r.type!=="comment"}function zf(e,t,a){let r=fe(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 jf(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&r.tagName==="li"}function $f(e,t,a){let r=fe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Xf(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Ei(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Kf(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Qf(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Jf(e,t,a){let r=fe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Yf(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Zf(e,t,a){return!fe(a,t)}function ep(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Bi(e,t,a){let r=fe(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var _i=Ka({body:rp,colgroup:op,head:ap,html:tp,tbody:np});function tp(e){let t=fe(e,-1);return!t||t.type!=="comment"}function ap(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 rp(e){let t=fe(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&kt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function op(e,t,a){let r=go(a,t),o=fe(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ha(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function np(e,t,a){let r=go(a,t),o=fe(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ha(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Qa={name:[[`
4
+ ${_}`}]}}A.current({...G,...$?{modelContext:$}:{}})}H({jsonrpc:"2.0",id:F,result:{}});return}if(J==="ui/update-model-context"&&F!=null){b=Rn(b,ae.params),H({jsonrpc:"2.0",id:F,result:{}});return}if(J==="tools/call"&&F!=null){let G=N.current;if(!G){H({jsonrpc:"2.0",id:F,error:{code:-32601,message:"tools/call not supported"}});return}let $=ae.params?.name;G({name:$,arguments:ae.params?.arguments??{}}).then(_=>{H({jsonrpc:"2.0",id:F,result:_});let V=_.content?.map(te=>te.text??"").join("").trim();V&&Nd($,_,j.current)&&(W&&clearTimeout(W.timer),W={text:V,timer:setTimeout(()=>{if(Pe)return;let te=b;b=null,W=null,A.current?.({role:"user",content:[{type:"text",text:V}],...te?{modelContext:te}:{}})},500)})}).catch(_=>{let V=_ instanceof Error?_.message:"Tool call failed";H({jsonrpc:"2.0",id:F,error:{code:-32e3,message:V}})});return}if(J==="ui/request-display-mode"&&F!=null){let G=ae.params?.mode,$=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";S.current=$,H({jsonrpc:"2.0",id:F,result:{mode:$}}),H({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:$}}),z.current?.($);return}if(J==="ui/resource-teardown"&&F!=null){H({jsonrpc:"2.0",id:F,result:{}});return}J==="ping"&&F!=null&&H({jsonrpc:"2.0",id:F,result:{}})};return window.addEventListener("message",Se),()=>{Pe=!0,clearTimeout(O),W&&clearTimeout(W.timer),window.removeEventListener("message",Se)}},[i,T]),Hd("iframe",{ref:m,src:y,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%":M,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as qd,useEffect as Vr,useState as Wd}from"react";import{jsx as zr,jsxs as Vd}from"react/jsx-runtime";var Yn=672,Zn=32;function Gd({widget:e,toolsEndpoint:t,resourceEndpoint:a,headers:r,onClose:o,isDark:n=!1}){let[s,i]=Wd(null);Vr(()=>{let f=()=>i({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let l=e?.preview===!0;Vr(()=>{if(!e||!l)return;let f=p=>{p.key==="Escape"&&o()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,l,o]),Vr(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let u=qd(async f=>{let p=await fetch(t,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...f})});if(!p.ok)throw new Error(`webmcp tool call failed: ${p.status}`);return await p.json()},[t,r]);if(!e)return null;let d=s?Math.min(Yn,s.width-Zn):Yn,c=s?s.height-Zn:void 0;return Vd("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:k("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",n&&"dark"),children:[l&&zr("button",{type:"button","aria-label":"Close",onClick:o,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),zr("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:c},children:zr(Yt,{resourceUri:e.viewUri,resourceEndpoint:a,toolInput:e.data,toolResult:e.result,autoHeight:Qt(e.result._meta),isDark:n,onCallTool:u,onOpenLink:f=>window.open(f,"_blank","noopener")},`${a}|${e.viewUri}`)})]})}import{forwardRef as au,useCallback as Lr,useEffect as Ze,useImperativeHandle as zh,useRef as Ct,useState as Cr}from"react";var Zt=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");import{createContext as Kd,useCallback as Re,useContext as Qd,useEffect as ea,useMemo as Jd,useRef as ot,useState as Xr}from"react";var ht=new Map;function es(e,t){if(ht.has(e)){URL.revokeObjectURL(t);return}for(ht.set(e,t);ht.size>20;){let a=ht.keys().next();if(a.done)return;let r=ht.get(a.value);ht.delete(a.value),r&&URL.revokeObjectURL(r)}}function ts(e){return ht.get(e)}import{useState as zd}from"react";import{jsx as Le,jsxs as jr}from"react/jsx-runtime";var as=({files:e,className:t,...a})=>e.length===0?null:Le("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Le(jd,{file:r},o))});function jd({file:e}){let{t}=K();return e.mediaType?.startsWith("image/")&&e.url?Le("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):jr("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:[Le(Tt,{className:"ww:size-3 ww:shrink-0"}),Le("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function rs(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function $d({mediaType:e}){return e.startsWith("image/")?Le(jt,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?Le(Vt,{className:"ww:size-5 ww:text-muted-foreground"}):Le(Tt,{className:"ww:size-5 ww:text-muted-foreground"})}function $r({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=K(),l=rs(t,i);return jr("li",{"aria-label":`${e}, ${l}`,className:k("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[Le("span",{className:"ww:flex ww:size-10 ww:shrink-0 ww:items-center ww:justify-center ww:overflow-hidden ww:rounded-xl ww:bg-muted",children:a?Le("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):Le($d,{mediaType:t})}),jr("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[Le("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),Le("span",{className:k("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function os(e){if(typeof e!="object"||e===null)return[];let t=e.documents;return Array.isArray(t)?t.filter(a=>typeof a=="object"&&a!==null&&typeof a.documentId=="string"&&typeof a.filename=="string"&&typeof a.mediaType=="string"):[]}var ns=({documents:e,className:t,...a})=>e.length===0?null:Le("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:items-end ww:justify-end ww:gap-2 ww:p-0",t),...a,children:e.map((r,o)=>Le(Xd,{document:r},`${r.documentId}-${o}`))});function Xd({document:e}){let{t}=K(),[a,r]=zd(!1),o=e.mediaType.startsWith("image/")?ts(e.documentId):void 0;return o&&!a?Le("li",{children:Le("img",{alt:`${e.filename}, ${rs(e.mediaType,t)}`,className:"ww:max-h-80 ww:max-w-72 ww:rounded-xl ww:border ww:border-border ww:object-contain",onError:()=>r(!0),src:o,title:e.filename})}):Le($r,{filename:e.filename,mediaType:e.mediaType})}import{jsx as we,jsxs as Aa}from"react/jsx-runtime";var Yd=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}},Zd=(e,t)=>{if(!t)return!0;let a=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);if(a.length===0)return!0;let r=e.type.toLowerCase(),o=e.name.toLowerCase();return a.some(n=>n.startsWith(".")?o.endsWith(n):n.endsWith("/*")?r.startsWith(n.slice(0,-1)):r===n)},is=Kd(null),Pa=()=>{let e=Qd(is);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ls=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:C}=K(),L=ot(null),w=ot(null),[I,g]=Xr([]),x=ot(I),S=ot(new Map),M=ot(l),E=ot(d),P=ot(u);ea(()=>{M.current=l,E.current=d,P.current=u},[l,d,u]);let Z=Re(b=>{x.current=b,g(b)},[]),R=Re(()=>{L.current?.click()},[]),A=Re((b,W)=>{Z(x.current.map(O=>O.id===b?{...O,...W}:O))},[Z]),N=Re((b,W)=>{let O=M.current;if(!O)return;let H=new AbortController,Se=O(W,H.signal,ee=>{A(b,{progress:ee})}).then(ee=>(A(b,{status:"ready",progress:1,documentId:ee.documentId,error:void 0}),ee)).catch(ee=>{if(H.signal.aborted)return null;let ae=ee instanceof Error?ee.message:m.promptInput.uploadFailed;return A(b,{status:"failed",error:ae}),E.current?.({code:"upload_failed",message:ae}),null});S.current.set(b,{file:W,controller:H,done:Se})},[A,m]),z=Re(b=>{let W=[...b];if(!i||W.length===0)return;let O=(F,G)=>E.current?.({code:F,message:G}),H=[];for(let F of W){if(!Zd(F,t)){O("accept",m.promptInput.errorAccept.replace("{name}",F.name));continue}if(n&&F.size>n){O("max_file_size",m.promptInput.errorTooLarge.replace("{name}",F.name).replace("{limit}",us(n,C)));continue}H.push(F)}if(H.length===0)return;let Se=typeof o=="number"?Math.max(0,o-x.current.length):void 0,ee=typeof Se=="number"?H.slice(0,Se):H;if(ee.length<H.length&&O("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),ee.length===0)return;let ae=!!M.current,J=ee.map(F=>({file:F,item:{filename:F.name,id:Zt(),mediaType:F.type,type:"file",url:URL.createObjectURL(F),status:ae?"uploading":"ready",progress:0}}));Z([...x.current,...J.map(F=>F.item)]);for(let F of J)N(F.item.id,F.file)},[o,n,t,i,N,Z,m,C]),Q=Re(b=>{let W=S.current.get(b);W&&(A(b,{status:"uploading",progress:0,error:void 0}),N(b,W.file))},[A,N]),j=Re((b,W)=>{S.current.get(b.id)?.controller.abort(),S.current.delete(b.id),b.url&&(!W&&!!b.documentId&&!!b.mediaType?.startsWith("image/")&&b.documentId?es(b.documentId,b.url):URL.revokeObjectURL(b.url)),W&&b.documentId&&P.current?.({documentId:b.documentId,filename:b.filename??"",mediaType:b.mediaType??""})},[]),T=Re(b=>{let W=x.current.find(O=>O.id===b);W&&j(W,!0),Z(x.current.filter(O=>O.id!==b))},[j,Z]),y=Re(()=>{for(let b of x.current)j(b,!0);Z([])},[j,Z]),U=ot(i);ea(()=>{let b=U.current;U.current=i,b&&!i&&y()},[i,y]);let ge=Re(()=>{for(let b of x.current)j(b,!1);Z([])},[j,Z]);ea(()=>()=>{for(let b of x.current)S.current.get(b.id)?.controller.abort(),b.url&&URL.revokeObjectURL(b.url)},[]);let q=Re(b=>{b.currentTarget.files&&z(b.currentTarget.files),b.currentTarget.value=""},[z]);ea(()=>{if(!r)return;let b=O=>{O.dataTransfer?.types?.includes("Files")&&O.preventDefault()},W=O=>{O.dataTransfer?.types?.includes("Files")&&O.preventDefault(),O.dataTransfer?.files&&O.dataTransfer.files.length>0&&z(O.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",W),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",W)}},[z,r]);let Pe=Re(async b=>{b.preventDefault();let W=b.currentTarget,O=new FormData(W).get("message")||"",H=new Map;for(;H.size<S.current.size;)await Promise.all([...S.current.entries()].filter(([J])=>!H.has(J)).map(async([J,F])=>{H.set(J,await F.done)}));for(let J of H.keys())S.current.has(J)||H.delete(J);if([...H.values()].some(J=>J===null)){E.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let Se=[...H.values()].filter(J=>J!==null),ee=M.current?[]:x.current,ae=await Promise.all(ee.map(async({id:J,status:F,progress:G,error:$,..._})=>{if(_.url?.startsWith("blob:")){let V=await Yd(_.url);return{..._,url:V??_.url}}return _}));try{let J=c({documents:Se,files:ae,text:O},b);J instanceof Promise&&await J,W.reset(),ge()}catch{}},[c,ge,m]),ne=Jd(()=>({add:z,clear:y,files:I,openFileDialog:R,remove:T,retry:Q,maxFileSize:n,maxPdfPages:s}),[I,z,T,Q,y,R,n,s]);return Aa(is.Provider,{value:ne,children:[we("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:q,ref:L,title:m.promptInput.uploadFiles,type:"file"}),we("form",{className:k("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Pe,ref:w,...p,children:f})]})},ss=1024*1024;function us(e,t){let a=e>=ss;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ss:Math.max(1,e/1024))}var ds=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=K(),s=Pa(),[i,l]=Xr(!1),u=r??n.promptInput.placeholder,d=Re(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('[data-submit-blocked="true"]')||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]),c=Re(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let C of p)if(C.kind==="file"){let L=C.getAsFile();L&&m.push(L)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return we("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:d,onPaste:c,placeholder:u,onChange:e,...o})},cs=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=K(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=we(Ht,{className:"ww:size-4"});t==="submitted"?d=we($t,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=we(Xt,{className:"ww:size-4"}));let c=Re(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return we(ze,{"aria-label":l?i.promptInput.stop:i.promptInput.submit,className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),"data-submit-blocked":n?"true":void 0,disabled:u?!1:n,onClick:c,size:"icon-sm",type:u?"button":"submit",variant:"ghost",...s,children:o??d})},fs=({className:e,children:t,...a})=>{let{t:r,locale:o}=K(),n=Pa();if(n.files.length>0)return Aa(ze,{className:k("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[we("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:n.files.length}),we(rt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]});let i=n.maxFileSize?(n.maxPdfPages?r.promptInput.uploadFilesUpToWithPages.replace("{pages}",String(n.maxPdfPages)):r.promptInput.uploadFilesUpTo).replace("{limit}",us(n.maxFileSize,o)):r.promptInput.uploadFiles;return we(ze,{"aria-label":i,className:k(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??we(vt,{className:"ww:size-4"})})},ps=({className:e,...t})=>{let a=Pa();return a.files.length===0?null:we("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>we(ec,{file:r},r.id))})};function ec({file:e}){let{t}=K(),a=Pa(),r=e.status==="failed",o=e.status==="uploading";return Aa($r,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?we("button",{"aria-label":t.promptInput.retryUpload,className:"ww:ml-auto ww:shrink-0 ww:text-destructive ww:text-xs ww:underline ww:underline-offset-2",onClick:()=>a.retry(e.id),type:"button",children:t.promptInput.retry}):null,we("button",{"aria-label":t.promptInput.removeAttachment,className:k("ww:shrink-0 ww:rounded-full ww:p-1 ww:opacity-60 ww:transition-opacity hover:ww:bg-muted hover:ww:opacity-100",r?null:"ww:ml-auto"),onClick:()=>a.remove(e.id),type:"button",children:we(rt,{className:"ww:size-3.5"})}),o?we("span",{"aria-hidden":!0,className:"ww:absolute ww:bottom-0 ww:left-0 ww:h-0.5 ww:bg-primary ww:transition-[width] ww:duration-200",style:{width:`${Math.round(e.progress*100)}%`}}):null]})}var ms=({enabled:e=!0})=>{let{t}=K(),[a,r]=Xr(!1);return ea(()=>{if(!e)return;let o=0,n=u=>!!u.dataTransfer?.types?.includes("Files"),s=u=>{n(u)&&(o+=1,r(!0))},i=u=>{n(u)&&(o=Math.max(0,o-1),o===0&&r(!1))},l=()=>{o=0,r(!1)};return document.addEventListener("dragenter",s),document.addEventListener("dragleave",i),document.addEventListener("drop",l),()=>{document.removeEventListener("dragenter",s),document.removeEventListener("dragleave",i),document.removeEventListener("drop",l)}},[e]),e&&a?we("div",{className:"ww:pointer-events-none ww:absolute ww:inset-0 ww:z-50 ww:flex ww:items-center ww:justify-center ww:rounded-2xl ww:border-2 ww:border-primary ww:border-dashed ww:bg-background/85",children:Aa("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[we(vt,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as tc}from"react/jsx-runtime";function hs({text:e}){let{t}=K();return e===!1?null:tc("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{memo as ac,useCallback as rc}from"react";import{jsx as Rt}from"react/jsx-runtime";var gs=({className:e,...t})=>Rt("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ws=({className:e,...t})=>Rt("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}),xs=({className:e,...t})=>Rt("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Is=({className:e,...t})=>Rt("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ls=({className:e,...t})=>Rt("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Cs=({className:e,...t})=>Rt(ze,{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 nt,jsxs as bs}from"react/jsx-runtime";var Ss=ac(({message:e,onRemove:t})=>{let{t:a}=K(),r=rc(()=>t(e.id),[t,e.id]);return bs(ws,{children:[nt(xs,{}),nt(Is,{children:e.text||a.chatQueue.attachmentFallback}),nt(Ls,{children:nt(Cs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:nt(rt,{className:"ww:size-3"})})})]})});Ss.displayName="ChatQueueItem";function ys({queuedMessages:e,onRemove:t,className:a}){let{t:r}=K();return e.length===0?null:bs(gs,{className:k("ww:border-t ww:border-border",a),children:[nt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),nt("ul",{children:e.map(o=>nt(Ss,{message:o,onRemove:t},o.id))})]})}import{createContext as fc,useCallback as pc,useContext as mc,useEffect as hc,useMemo as gc,useState as Yr}from"react";import{createContext as oc,memo as Jr,useCallback as nc,useContext as sc,useEffect as Kr,useMemo as ic,useRef as ks,useState as Qr}from"react";import{Fragment as dc,jsx as We,jsxs as cc}from"react/jsx-runtime";var Ts=oc(null);function vs(){let e=sc(Ts);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var lc=1e3,uc=1e3,ta=Jr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=Qr(l),p=d?a:c,m=nc(E=>{d||f(E),o?.(E)},[d,o]),[C,L]=Qr(void 0),w=n??C,I=ks(t),[g,x]=Qr(!1),S=ks(null);Kr(()=>{t?(I.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(L(Math.ceil((Date.now()-S.current)/uc)),S.current=null)},[t]),Kr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Kr(()=>{if(I.current&&!t&&p&&!g){let E=setTimeout(()=>{m(!1),x(!0)},lc);return()=>clearTimeout(E)}},[t,p,g,m]);let M=ic(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return We(Ts.Provider,{value:M,children:We("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})})});ta.displayName="Reasoning";var aa=Jr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=K(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=vs(),f=a??((p,m)=>p||m===0?We(qe,{duration:1.6,children:s.reasoning.thinking}):m===void 0?We("span",{children:s.reasoning.thoughtBrief}):We("span",{children:s.reasoning.thoughtForSeconds(m)}));return We("button",{type:"button","aria-expanded":l,onClick:p=>{d(!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??cc(dc,{children:[!r&&We(Qe,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});aa.displayName="ReasoningTrigger";var ra=Jr(({className:e,children:t,...a})=>{let{isOpen:r}=vs();return We("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:We("div",{className:"ww:min-h-0 ww:overflow-hidden",children:We("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:We(Ot,{children:t})})})})});ra.displayName="ReasoningContent";import{jsx as ie,jsxs as st}from"react/jsx-runtime";var wc=500,Ps=fc(null);function As(){let e=mc(Ps);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Rs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=Yr(o),c=l?r:u,f=pc(L=>{l||d(L),n?.(L)},[l,n]),[p,m]=Yr(!t);hc(()=>{if(t){m(!1);return}let L=setTimeout(()=>m(!0),wc);return()=>clearTimeout(L)},[t]);let C=gc(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return ie(Ps.Provider,{value:C,children:ie("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":c?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Ms({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=As();if(!l){let d=u?.icon,c=u?.label??a??t??"";return ie("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:st("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:[d&&ie(d,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),ie("span",{className:"ww:truncate",children:i?ie(qe,{duration:2.6,children:c}):c})]},c)})}return st("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:[ie("span",{className:"ww:truncate",children:r??t}),ie(at,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Fs({className:e,children:t,...a}){let{open:r}=As();return ie("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:ie("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ie("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function Ds({icon:e,isLast:t,running:a,error:r}){return st("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[ie("span",{className:"ww:flex ww:h-5 ww:items-center",children:ie(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&&ie("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Zr({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,[d,c]=Yr(!1),f=a??"",p=i?ie(qe,{duration:1.6,children:f}):ie("span",{className:"ww:truncate",children:f});return st("div",{className:k("ww:flex ww:gap-2",e),...s,children:[ie(Ds,{icon:t,isLast:o,running:i,error:l}),st("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?st("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,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,ie(at,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):ie("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&ie("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",d?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ie("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ie("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 Es({isStreaming:e=!1,isLast:t=!1,children:a}){return st("div",{className:"ww:flex ww:gap-2",children:[ie(Ds,{icon:Qe,isLast:t,running:e}),ie("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:st(ta,{isStreaming:e,className:"ww:mb-0",children:[ie(aa,{hideIcon:!0}),ie(ra,{children:a})]})})]})}var ye={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 je={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 De={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 Bs(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 _s(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Us(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 Os(e){return Bs(e)?"ambiguous":_s(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":Us(e)?"wide":"neutral"}function xc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ns(e){return xc(e),Os(e)}var Ic=Object.defineProperty,Lc=(e,t,a)=>t in e?Ic(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Cc=(e,t,a)=>Lc(e,typeof t!="symbol"?t+"":t,a);function Sc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function yc(e){if(!e||e<4352)return!1;switch(Ns(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Sc(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 bc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function kc(e){return e!==null&&e>=65024&&e<=65038}var Tc=Hs(/\p{P}|\p{S}/u),vc=Hs(/\s/);function Hs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ee;(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})(Ee||(Ee={}));function it(e){if(e===ye.eof||An(e)||vc(e))return je.characterGroupWhitespace;let t=0;if(e>=4352){if(kc(e))return Ee.nonEmojiGeneralUseVS;switch(yc(e)){case null:return Ee.ivs;case!0:t|=Ee.cjk;break}}return Tc(e)&&(t|=je.characterGroupPunctuation),t}function Ra(e,t,a){if(!Ac(e))return e;let r=t(),o=it(r);return!r||gt(o)?e:bc(r,a)?Ee.cjkPunctuation:Pc(o)}function Pc(e){return e&~Ee.ivs}function gt(e){return!!(e&je.characterGroupWhitespace)}function Mt(e){return(e&Ee.cjkPunctuation)===je.characterGroupPunctuation}function oa(e){return!!(e&Ee.cjk)}function qs(e){return e===Ee.ivs}function Ws(e){return!!(e&Ee.cjkOrIvs)}function Ac(e){return e===Ee.nonEmojiGeneralUseVS}function eo(e){return!!(e&Ee.spaceOrPunctuation)}function Ma(e){return!!(e&&e>=55296&&e<=56319)}function Fa(e){return!!(e&&e>=56320&&e<=57343)}function Da(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 Rc(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 Ea=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Cc(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Rc(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 to={name:"attention",resolveAll:Mc,tokenize:Fc};function Mc(e,t){let a=-1,r,o,n,s,i,l,u,d;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 c={...e[r][1].end},f={...e[a][1].start};Gs(c,-l),Gs(f,l),s={type:l>1?De.strongSequence:De.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?De.strongSequence:De.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?De.strongText:De.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?De.strong:De.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=yt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=yt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=yt(u,ka(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=yt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=yt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,St(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Fc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Fa(n)?Da(n,r(),o):n,i=it(s),l=new Ea(s,r(),o),u=Ra(i,l.value.bind(l),s),d;return c;function c(p){return p===ye.asterisk||ye.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),C=Ma(p)?Ba(p,r(),o):p,L=it(C);let w=Mt(u),I=w||gt(u),g=Mt(L),x=g||gt(L),S=Ws(u),M=!x||g&&(I||S)||a.includes(p),E=!I||w&&(x||oa(L))||a.includes(s);return m._open=!!(d===ye.asterisk?M:M&&(eo(u)||!E)),m._close=!!(d===ye.asterisk?E:E&&(eo(L)||!M)),t(p)}}function Gs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Vs(){return{text:{[ye.asterisk]:to,[ye.underscore]:to},insideSpan:{null:[to]}}}function zs(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Vs())}function js(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[ye.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[ye.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 d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&St(f,f.length,0,ka(p,s.slice(u+1,l),i)),St(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),St(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=De.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Fa(c)?Da(c,u(),d):c,p=it(f),m=new Ea(f,u(),d),C=Ra(p,m.value.bind(m),f),L=this.events,w=0;return I;function I(x){return ye.tilde,f===ye.tilde&&L[L.length-1][1].type!==De.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),g(x))}function g(x){let S=it(f);if(x===ye.tilde)return w>1?l(x):(s.consume(x),w++,g);if(w<2&&!a)return l(x);let M=s.exit("strikethroughSequenceTemporary"),E=Ma(x)?Ba(x,u(),d):x,P=it(E),R=Mt(C)||gt(C),N=Mt(P)||gt(P),z=oa(C)||qs(S);return M._open=!N||P===je.attentionSideAfter&&(R||z),M._close=!R||S===je.attentionSideAfter&&(N||oa(P)),i(x)}}}function $s(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(js(e))}var Dc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Ec=/^(https?:\/\/|mailto:|www\.)/i,Bc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},_c=e=>{let t=0;for(let a of e){if(Dc.has(a))return t;t+=a.length}return null},Uc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Oc=e=>({type:"text",value:e}),Nc=()=>e=>{Sn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Bc(t)||!Ec.test(t.url))return;let o=_c(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Uc(n,t),l=Oc(s);return r.children.splice(a,1,i,l),a+1})};function Hc(){let e=[zs],t=[Nc,$s],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var ao=Hc();var le=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function qc(e){return po(e)}function po(e){return Array.isArray(e)?Wc(e):e instanceof RegExp?e:typeof e=="object"?Gc(e):e}function Wc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=po(e[a]);return t}function Gc(e){let t={};for(let a in e)t[a]=po(e[a]);return t}function ai(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function ri(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?ri(e.substring(0,e.length-1)):e.substr(~t+1)}var ro=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,_a=class{static hasCaptures(e){return e===null?!1:(ro.lastIndex=0,ro.test(e))}static replaceCaptures(e,t,a){return e.replace(ro,(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 oi(e,t){return e<t?-1:e>t?1:0}function ni(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=oi(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 si(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var ii=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}},ia=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(jc(e),t)}static createFromParsedTheme(e,t){return Xc(e,t)}_cachedMatchRoot=new ii(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=>Vc(e.parent,o.parentScopes));return r?new li(r.fontStyle,r.foreground,r.background):null}},oo=class Ua{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ua(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ua(a,t[r]);return a}push(t){return new Ua(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 Vc(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&&!zc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function zc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var li=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function jc(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 c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[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 d=null;typeof s.settings.background=="string"&&Xs(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),C=m[m.length-1],L=null;m.length>1&&(L=m.slice(0,m.length-1),L.reverse()),a[r++]=new $c(C,L,o,l,u,d)}}return a}var $c=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}},be=(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))(be||{});function Xc(e,t){e.sort((l,u)=>{let d=oi(l.scope,u.scope);return d!==0||(d=ni(l.parentScopes,u.parentScopes),d!==0)?d: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 Kc(t),s=new li(a,n.getId(r),n.getId(o)),i=new Jc(new so(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new ia(n,s,i)}var Kc=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)}},Qc=Object.freeze([]),so=class ui{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Qc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new ui(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)}},Jc=class io{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(io._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 d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new io(this._mainRule.clone(),so.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.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(ni(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 so(t,a,r,o,n))}},xt=class Ue{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ue.getLanguageId(t),r=Ue.getTokenType(t),o=Ue.getFontStyle(t),n=Ue.getForeground(t),s=Ue.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=Ue.getLanguageId(t),u=Ue.getTokenType(t),d=Ue.containsBalancedBrackets(t)?1:0,c=Ue.getFontStyle(t),f=Ue.getForeground(t),p=Ue.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function Na(e,t){let a=[],r=Yc(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(Ks(o)){let l=[];do l.push(o),o=r.next();while(Ks(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return d=>l.every(c=>c(d))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return d=>l.some(c=>c(d))}}function Ks(e){return!!e&&!!e.match(/[\w\.:]+/)}function Yc(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 di(e){typeof e.dispose=="function"&&e.dispose()}var la=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Zc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ef=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))}},tf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new la(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ef;for(let a of e)af(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof la){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 af(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 la?Oa({baseGrammar:n,selfGrammar:o},r):lo(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 la(i))}function lo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ha([r],t,a)}}function Oa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ha(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ha(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ha(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?ai({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ha(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=ci(n);switch(s.kind){case 0:Oa({...t,selfGrammar:t.baseGrammar},a);break;case 1:Oa(t,a);break;case 2:lo(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?lo(s.ruleName,l,a):Oa(l,a)}else s.kind===4?a.add(new Zc(s.scopeName,s.ruleName)):a.add(new la(s.scopeName));break}}}var rf=class{kind=0},of=class{kind=1},nf=class{constructor(e){this.ruleName=e}kind=2},sf=class{constructor(e){this.scopeName=e}kind=3},lf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ci(e){if(e==="$base")return new rf;if(e==="$self")return new of;let t=e.indexOf("#");if(t===-1)return new sf(e);if(t===0)return new nf(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new lf(a,r)}}var uf=/\\(\d+)/,Qs=/\\(\d+)/g;var df=-1,fi=-2;var ca=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=_a.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=_a.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ri(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:_a.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:_a.replaceCaptures(this._contentName,e,t)}},cf=class extends ca{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!")}},ff=class extends ca{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ua(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 da,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Js=class extends ca{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 da,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},uo=class extends ca{_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 ua(o,this.id),this.beginCaptures=n,this._end=new ua(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 da;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}},qa=class extends ca{_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 ua(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ua(s,fi),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 da;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 da,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},pi=class ve{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new cf(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new ff(t.$vscodeTextmateLocation,t.id,t.name,t.match,ve._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=ai({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Js(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ve._compilePatterns(n,a,r))}return t.while?new qa(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ve._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,ve._compileCaptures(t.whileCaptures||t.captures,a,r),ve._compilePatterns(t.patterns,a,r)):new uo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ve._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,ve._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,ve._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=ve.getCompiledRuleId(t[s],a,r)),o[i]=ve.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=ci(i.include);switch(u.kind){case 0:case 1:l=ve.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=ve.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=ve.getCompiledRuleId(m,a,p.repository))}else l=ve.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=ve.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Js||u instanceof uo||u instanceof qa)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ua=class mi{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=uf.test(this.source):this.hasBackReferences=!1}clone(){return new mi(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 Qs.lastIndex=0,this.source.replace(Qs,(o,n)=>si(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}},da=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 Ys(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 Ys(e,r,this._items.map(o=>o.ruleId))}},Ys=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(`
5
+ `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},no=class{constructor(e,t){this.languageId=e,this.tokenType=t}},pf=class co{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new no(t,8),this._embeddedLanguagesMatcher=new mf(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?co._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new no(0,0);_getBasicScopeAttributes=new ii(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new no(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(co.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/},mf=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])=>si(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])}},YL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},hi=!1,Zs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function gi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=hf(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,d=p.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new Zs(o,!0);f()}return new Zs(o,!1);function f(){let p=gf(e,t,a,r,o,d);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,C=p.matchedRuleId,L=m&&m.length>0?m[0].end>r:!1;if(C===df){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),na(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let I=o;if(o=o.parent,d=I.getAnchorPos(),!L&&I.getEnterPos()===r){o=I,n.produce(o,l),u=!0;return}}else{let w=e.getRule(C);n.produce(o,m[0].start);let I=o,g=w.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(g,e);if(o=o.push(C,r,d,m[0].end===l,null,x,x),w instanceof uo){let S=w;na(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let M=S.getContentName(t.content,m),E=x.pushAttributed(M,e);if(o=o.withContentNameScopesList(E),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!L&&I.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof qa){let S=w;na(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let M=S.getContentName(t.content,m),E=x.pushAttributed(M,e);if(o=o.withContentNameScopesList(E),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!L&&I.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(na(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!L){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function hf(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 qa&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=If(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==fi){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),na(e,t,a,l.stack,n,l.rule.whileCaptures,c.captureIndices),n.produce(l.stack,c.captureIndices[0].end),s=c.captureIndices[0].end,c.captureIndices[0].end>r&&(r=c.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function gf(e,t,a,r,o,n){let s=wf(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=xf(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,d=l.captureIndices[0].start;return d<u||l.priorityMatch&&d===u?l:s}function wf(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=wi(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function xf(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(c))continue;let C=t.getRule(m.ruleId),{ruleScanner:L,findOptions:w}=wi(C,t,null,r,o===s),I=L.findNextMatchSync(a,o,w);if(!I)continue;let g=I.captureIndices[0].start;if(!(g>=i)&&(i=g,l=I.captureIndices,u=I.ruleId,d=m.priority,i===o))break}return l?{priorityMatch:d===-1,captureIndices:l,matchedRuleId:u}:null}function wi(e,t,a,r,o){if(hi){let s=e.compile(t,a),i=xi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function If(e,t,a,r,o){if(hi){let s=e.compileWhile(t,a),i=xi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function xi(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function na(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],d=s[0].end;for(let c=0;c<l;c++){let f=n[c];if(f===null)continue;let p=s[c];if(p.length===0)continue;if(p.start>d)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 C=f.getName(i,s),L=r.contentNameScopesList.pushAttributed(C,e),w=f.getContentName(i,s),I=L.pushAttributed(w,e),g=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,L,I),x=e.createOnigString(i.substring(0,p.end));gi(e,x,a&&p.start===0,p.start,g,o,!1,0),di(x);continue}let m=f.getName(i,s);if(m!==null){let L=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Lf(L,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Lf=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Cf(e,t,a,r,o,n,s,i){return new yf(e,t,a,r,o,n,s,i)}function ei(e,t,a,r,o){let n=Na(t,Wa),s=pi.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 Wa(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(Sf(t[o],r))return a=o+1,!0;return!1})}function Sf(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 yf=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new pf(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ti(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Na(l,Wa);for(let d of u)this._tokenTypeMatchers.push({matcher:d.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)ei(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&&ei(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]=ti(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=pi.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===fo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=xt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=sa.createRootAndLookUpScopeName(f,c,this):p=sa.createRoot("unknown",c),t=new fo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
6
+ `;let n=this.createOnigString(e),s=n.content.length,i=new kf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=gi(this,n,o,0,t,i,!0,r);return di(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ti(e,t){return e=qc(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 sa=class $e{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=oo.push(o,n.scopeNames),r=new $e(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new $e(null,new oo(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new oo(null,t),s=r.themeProvider.themeMatch(n),i=$e.mergeAttributes(a,o,s);return new $e(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return $e.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),xt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return $e._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=$e._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=$e.mergeAttributes(t.tokenAttributes,o,s);return new $e(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}},fo=class wt{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 wt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:wt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?sa.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(){wt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new wt(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 wt(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=sa.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new wt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,sa.fromExtension(r,a.contentNameScopesList))}},bf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Na(a,Wa).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Na(a,Wa).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}},kf=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=xt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=xt.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}},Tf=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,Cf(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Ii=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Tf(ia.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ia.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 bf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new tf(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)}},Ga=fo.NULL;var vf=/["&'<>`]/g,Pf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Af=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Rf=/[|\\{}()[\]^$+*?.]/g,Li=new WeakMap;function Ci(e,t){if(e=e.replace(t.subset?Mf(t.subset):vf,r),t.subset||t.escapeOnly)return e;return e.replace(Pf,a).replace(Af,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 Mf(e){let t=Li.get(e);return t||(t=Ff(e),Li.set(e,t)),t}function Ff(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Rf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Df=/[\dA-Fa-f]/;function Si(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Df.test(String.fromCharCode(t))?r:r+";"}var Ef=/\d/;function yi(e,t,a){let r="&#"+String(e);return a&&t&&!Ef.test(String.fromCharCode(t))?r:r+";"}var bi=["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 Va={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 ki=["cent","copy","divide","gt","lt","not","para","times"];var Ti={}.hasOwnProperty,mo={},za;for(za in Va)Ti.call(Va,za)&&(mo[Va[za]]=za);var Bf=/[^\dA-Za-z]/;function vi(e,t,a,r){let o=String.fromCharCode(e);if(Ti.call(mo,o)){let n=mo[o],s="&"+n;return a&&bi.includes(n)&&!ki.includes(n)&&(!r||t&&t!==61&&Bf.test(String.fromCharCode(t)))?s:s+";"}return""}function Pi(e,t,a){let r=Si(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=vi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=yi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Je(e,t){return Ci(e,Object.assign({format:Pi},t))}var _f=/^>|^->|<!--|-->|--!>|<!-$/g,Uf=[">"],Of=["<",">"];function Ai(e,t,a,r){return r.settings.bogusComments?"<?"+Je(e.value,Object.assign({},r.settings.characterReferences,{subset:Uf}))+">":"<!--"+e.value.replace(_f,o)+"-->";function o(n){return Je(n,Object.assign({},r.settings.characterReferences,{subset:Of}))}}function Ri(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var pe=Mi(1),ho=Mi(-1),Nf=[];function Mi(e){return t;function t(a,r,o){let n=a?a.children:Nf,s=(r||0)+e,i=n[s];if(!o)for(;i&&bt(i);)s+=e,i=n[s];return i}}var Hf={}.hasOwnProperty;function ja(e){return t;function t(a,r,o){return Hf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var fa=ja({body:Wf,caption:go,colgroup:go,dd:jf,dt:zf,head:go,html:qf,li:Vf,optgroup:$f,option:Xf,p:Gf,rp:Fi,rt:Fi,tbody:Qf,td:Di,tfoot:Jf,th:Di,thead:Kf,tr:Yf});function go(e,t,a){let r=pe(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&bt(r.value.charAt(0)))}function qf(e,t,a){let r=pe(a,t);return!r||r.type!=="comment"}function Wf(e,t,a){let r=pe(a,t);return!r||r.type!=="comment"}function Gf(e,t,a){let r=pe(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 Vf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&r.tagName==="li"}function zf(e,t,a){let r=pe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function jf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Fi(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function $f(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Xf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Kf(e,t,a){let r=pe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Qf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Jf(e,t,a){return!pe(a,t)}function Yf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Di(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Ei=ja({body:tp,colgroup:ap,head:ep,html:Zf,tbody:rp});function Zf(e){let t=pe(e,-1);return!t||t.type!=="comment"}function ep(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 tp(e){let t=pe(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&bt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function ap(e,t,a){let r=ho(a,t),o=pe(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&fa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function rp(e,t,a){let r=ho(a,t),o=pe(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&fa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var $a={name:[[`
7
7
  \f\r &/=>`.split(""),`
8
8
  \f\r "&'/=>\``.split("")],[`\0
9
9
  \f\r "&'/<=>`.split(""),`\0
@@ -11,9 +11,9 @@ ${_}`}]}}A.current({...V,...X?{modelContext:X}:{}})}H({jsonrpc:"2.0",id:F,result
11
11
  \f\r &>`.split(""),`\0
12
12
  \f\r "&'<=>\``.split("")],[`\0
13
13
  \f\r "&'<=>\``.split(""),`\0
14
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ui(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=va);let u=sp(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!_i(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(d),!s&&(!n||!ha(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function sp(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=ip(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 ip(e,t,a){let r=yn(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=Ke(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Qa.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?kn:Tn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ke(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qa.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Rr(a,s)>Rr(a,e.alternative)&&(s=e.alternative),i=s+Ke(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qa.single:Qa.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var lp=["<","&"];function Ja(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ke(e.value,Object.assign({},r.settings.characterReferences,{subset:lp}))}function Oi(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Ja(e,t,a,r)}function Ni(e,t,a,r){return r.all(e)}var Hi=vn("type",{invalid:up,unknown:dp,handlers:{comment:Mi,doctype:Fi,element:Ui,raw:Oi,root:Ni,text:Ja}});function up(e){throw new Error("Expected node, not `"+e+"`")}function dp(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var cp={},fp={},pp=[];function xo(e,t){let a=t||cp,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:mp,all:hp,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||fp,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?va:bn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function mp(e,t,a){return Hi(e,t,a,this)}function hp(e){let t=[],a=e&&e.children||pp,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ya(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 it(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function gp(e){return Array.isArray(e)?e:[e]}async function $i(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function bo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Xi(e){return e==="ansi"||bo(e)}function ko(e){return e==="none"}function Ki(e){return ko(e)}function Qi(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 rr(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 wp(e){let t=rr(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 Ji(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 To="light-dark()",xp=["color","background-color"];function Ip(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 Lp(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?Ip(o,n):o})):e}function Cp(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>Za(e.variants[d])),i=new Set(s.flatMap(d=>Object.keys(d))),l={},u=(d,c)=>{let f=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":f)};return s.forEach((d,c)=>{for(let f of i){let p=d[f]||"inherit";if(c===0&&r&&xp.includes(f))if(r===To&&s.length>1){let m=t.findIndex(I=>I==="light"),C=t.findIndex(I=>I==="dark");if(m===-1||C===-1)throw new le('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=s[m][f]||"inherit",w=s[C][f]||"inherit";l[f]=`light-dark(${L}, ${w})`,o==="css-vars"&&(l[u(c,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(c,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&be.Italic&&(t["font-style"]="italic"),e.fontStyle&be.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&be.Underline&&a.push("underline"),e.fontStyle&be.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Co(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Yi=new WeakMap;function or(e,t){Yi.set(e,t)}function wa(e){return Yi.get(e)}var Et=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(gp(a).map(r=>[r,ja])),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 Sp(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Sp(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 yp(e,t){if(!(e instanceof Et))throw new le("Invalid grammar state");return e.getInternalStack(t)}function bp(){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 le(`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 le(`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 le(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=wp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));kp(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 Lp(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==r.converter.lines.length)throw new le(`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(d,c,f,p){let m=o[d],C="",L=-1,w=-1;if(c===0&&(L=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),L===-1||w===-1)for(let g=0;g<m.children.length;g++)C+=Zi(m.children[g]),L===-1&&C.length===c&&(L=g+1),w===-1&&C.length===f&&(w=g+1);if(L===-1)throw new le(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new le(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let I=m.children.slice(L,w);if(!p.alwaysWrap&&I.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&I.length===1&&I[0].type==="element")i(I[0],p,"token");else{let g={type:"element",tagName:"span",properties:{},children:I};i(g,p,"wrapper"),m.children.splice(L,I.length,g)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,f){let p=c.properties||{},m=c.transform||(C=>C);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&Qi(d,c.properties.class),d=m(d,f)||d,d}let l=[],u=r.decorations.sort((d,c)=>c.start.offset-d.start.offset||d.end.offset-c.end.offset);for(let d of u){let{start:c,end:f}=d;if(c.line===f.line)n(c.line,c.character,f.character,d);else if(c.line<f.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let p=c.line+1;p<f.line;p++)l.unshift(()=>s(p,d));n(f.line,0,f.character,d)}}l.forEach(d=>d())}}}function kp(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new le(`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 le(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Zi(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Zi).join(""):""}var Tp=[bp()];function er(e){let t=vp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Tp]}function vp(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 wt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Io={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Pp(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 qi(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 Ap(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)Io[r]&&t.push({type:"setDecoration",value:Io[r]});else if(r<=29){let o=Io[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:wt[r-30]}});else if(r===38){let o=qi(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:wt[r-40]}});else if(r===48){let o=qi(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:wt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:wt[r-100+8]}})}return t}function Rp(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Pp(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=Ap(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 Mp={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 Fp(e=Mp){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<wt.length;u++)r.push(t(wt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let d=0;d<6;d++)for(let c=0;c<6;c++)r.push(a([i[u],i[d],i[c]]));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 Dp={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 Ep(e,t,a){let r=Ya(e,a),o=rr(t),n=Object.fromEntries(wt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Dp[l]]})),s=Fp(n),i=Rp();return o.map(l=>i.parse(l[0]).map(u=>{let d,c;u.decorations.has("reverse")?(d=u.background?s.value(u.background):e.bg,c=u.foreground?s.value(u.foreground):e.fg):(d=u.foreground?s.value(u.foreground):e.fg,c=u.background?s.value(u.background):void 0),d=it(d,r),c=it(c,r),u.decorations.has("dim")&&(d=Bp(d));let f=be.None;return u.decorations.has("bold")&&(f|=be.Bold),u.decorations.has("italic")&&(f|=be.Italic),u.decorations.has("underline")&&(f|=be.Underline),u.decorations.has("strikethrough")&&(f|=be.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function Bp(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 vo(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(bo(o)||ko(r))return rr(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Ep(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new le(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new le(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Up(t,i,n,s,a)}function _p(...e){if(e.length===2)return wa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(bo(o)||ko(n))throw new le("Plain language does not have grammar state");if(o==="ansi")throw new le("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Et(Po(a,l,s,i,r).stateStack,l.name,s.name)}function Up(e,t,a,r,o){let n=Po(e,t,a,r,o),s=new Et(n.stateStack,t.name,a.name);return or(n.tokens,s),n.tokens}function Po(e,t,a,r,o){let n=Ya(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=rr(e),u=o.grammarState?yp(o.grammarState,a.name)??ja:o.grammarContextCode!=null?Po(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:ja,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,C]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:C,color:"",fontStyle:0}]);continue}let L,w,I;o.includeExplanation&&(L=t.tokenizeLine(m,u,i),w=L.tokens,I=0);let g=t.tokenizeLine2(m,u,i),x=g.tokens.length/2;for(let S=0;S<x;S++){let M=g.tokens[2*S],E=S+1<x?g.tokens[2*S+2]:m.length;if(M===E)continue;let v=g.tokens[2*S+1],Z=it(r[gt.getForeground(v)],n),R=gt.getFontStyle(v),A={content:m.substring(M,E),offset:C+M,color:Z,fontStyle:R};if(o.includeExplanation){let N=[];if(o.includeExplanation!=="scopeName")for(let Q of a.settings){let $;switch(typeof Q.scope){case"string":$=Q.scope.split(/,/).map(T=>T.trim());break;case"object":$=Q.scope;break;default:continue}N.push({settings:Q,selectors:$.map(T=>T.split(/ /))})}A.explanation=[];let j=0;for(;M+j<E;){let Q=w[I],$=m.substring(Q.startIndex,Q.endIndex);j+=$.length,A.explanation.push({content:$,scopes:o.includeExplanation==="scopeName"?Op(Q.scopes):Np(N,Q.scopes)}),I+=1}}d.push(A)}c.push(d),d=[],u=g.ruleStack}return{tokens:c,stateStack:u}}function Op(e){return e.map(t=>({scopeName:t}))}function Np(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:qp(e,n,t.slice(0,r))}}return a}function Wi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Hp(e,t,a){if(!Wi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Wi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function qp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Hp(s,t,a)){r.push(n);break}return r}function el(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=vo(e,t,{...a,theme:l.theme}),d=wa(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Wp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=d.explanation),n.forEach((p,m)=>{let{content:C,explanation:L,offset:w,...I}=p[u][c];f.variants[r[m].color]=I}),f})),i=o[0].state?new Et(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&or(s,i),s}function Wp(...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 d=i[u];d.content.length===l?(n[u].push(d),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...d,content:d.content.slice(0,l)}),i[u]={...d,content:d.content.slice(l),offset:d.offset+l})}}}return t}function tr(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:d="--shiki-",colorsRendering:c="css-vars"}=a,f=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,I)=>w.color===u?-1:I.color===u?1:0);if(f.length===0)throw new le("`themes` option must not be empty");let p=el(e,t,a);if(l=wa(p),u&&To!==u&&!f.find(w=>w.color===u))throw new le(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),C=f.map(w=>w.color);n=p.map(w=>w.map(I=>Cp(I,C,d,u,c))),l&&or(n,l);let L=f.map(w=>Ya(w.theme,a));o=Gi(f,m,L,d,u,"fg",c),r=Gi(f,m,L,d,u,"bg",c),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ya(a.theme,a);n=vo(e,t,a);let d=e.getTheme(a.theme);r=it(d.bg,u),o=it(d.fg,u),s=d.name,l=wa(n)}else throw new le("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Gi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=it(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===To&&e.length>1){let c=e.findIndex(C=>C.color==="light"),f=e.findIndex(C=>C.color==="dark");if(c===-1||f===-1)throw new le('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=it(t[c][n],a[c])||"inherit",m=it(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${d}`}return u}return s==="css-vars"?d:null}).filter(i=>!!i).join(";")}function ar(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ar(e,o,n),codeToTokens:(o,n)=>tr(e,o,n)}){let o=t;for(let m of er(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=tr(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=Vp(n):c==="never"&&(n=zp(n)),f&&(n=jp(n));let p={...r,get source(){return o}};for(let m of er(a))n=m.tokens?.call(p,n)||n;return Gp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Gp(e,t,a,r=wa(e)){let o=er(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[C,L]of Object.entries(t.meta||{}))C.startsWith("_")||(u[C]=L);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Qi,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return d},get code(){return c},get lines(){return f}};if(e.forEach((C,L)=>{L&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
15
- `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},I=0;for(let g of C){let x={type:"element",tagName:"span",properties:{...g.htmlAttrs},children:[{type:"text",value:g.content}]},S=Co(g.htmlStyle||Za(g));S&&(x.properties.style=S);for(let M of o)x=M?.span?.call(p,x,L+1,I,w,g)||x;i==="inline"?s.children.push(x):i==="classic"&&w.children.push(x),I+=g.content.length}if(i==="classic"){for(let g of o)w=g?.line?.call(p,w,L+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let C of o)c=C?.code?.call(p,c)||c;d.children.push(c);for(let C of o)d=C?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let C=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let g of s.children)g.type==="element"&&g.tagName==="br"?(C.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(g.type==="element"||g.type==="text")&&L.children.push(g);C.push(L);let I={type:"element",tagName:"code",properties:{},children:C};for(let g of o)I=g?.code?.call(p,I)||I;s.children=[];for(let g=0;g<I.children.length;g++){g>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=I.children[g];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let C of o)m=C?.root?.call(p,m)||m;return r&&or(m,r),m}function Vp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&be.Underline||n.fontStyle&be.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 zp(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 jp(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=Co(o.htmlStyle||Za(o)),s=Co(r.htmlStyle||Za(r)),i=o.fontStyle&&(o.fontStyle&be.Underline||o.fontStyle&be.Strikethrough),l=r.fontStyle&&(r.fontStyle&be.Underline||r.fontStyle&be.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var $p=xo;function Xp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ar(e,n,s),codeToTokens:(n,s)=>tr(e,n,s)},o=$p(ar(e,t,a,r));for(let n of er(a))o=n.postprocess?.call(r,o,a)||o;return o}var Vi={light:"#333333",dark:"#bbbbbb"},zi={light:"#fffffe",dark:"#1e1e1e"},ji="__shiki_resolved";function Ao(e){if(e?.[ji])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"?Vi.light:Vi.dark),a||(a=t.type==="light"?zi.light:zi.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 d={...i,settings:{...i.settings}};if(l){let c=s(i.settings.foreground);t.colorReplacements[c]=i.settings.foreground,d.settings.foreground=c}if(u){let c=s(i.settings.background);t.colorReplacements[c]=i.settings.background,d.settings.background=c}return d});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,ji,{enumerable:!1,writable:!1,value:!0}),t}async function tl(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Xi(t)).map(async t=>await $i(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function al(e){return(await Promise.all(e.map(async a=>Ki(a)?null:Ao(await $i(a))))).filter(a=>!!a)}var Lo=3,Kp=!1;function Qp(e,t=3){if(Lo&&!(typeof Lo=="number"&&t>Lo)){if(Kp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var st=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function rl(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 st(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var So=class extends Ci{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=Ao(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=da.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=rl(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 st(`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))}},yo=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}},ga=0;function Jp(e){ga+=1,e.warnings!==!1&&ga>=10&&ga%10===0&&console.warn(`[Shiki] ${ga} 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 st("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Ao),o=new yo(e.engine,a),n=new So(o,r,a,e.langAlias),s;function i(g){return rl(g,e.langAlias)}function l(g){w();let x=n.getGrammar(typeof g=="string"?g:g.name);if(!x)throw new st(`Language \`${g}\` not found, you may need to load it first`);return x}function u(g){if(g==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let x=n.getTheme(g);if(!x)throw new st(`Theme \`${g}\` not found, you may need to load it first`);return x}function d(g){w();let x=u(g);s!==g&&(n.setTheme(x),s=g);let S=n.getColorMap();return{theme:x,colorMap:S}}function c(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...g){w(),n.loadLanguages(g.flat(1))}async function m(...g){return p(await tl(g))}function C(...g){w();for(let x of g.flat(1))n.loadTheme(x)}async function L(...g){return w(),C(await al(g))}function w(){if(t)throw new st("Shiki instance has been disposed")}function I(){t||(t=!0,n.dispose(),ga-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:L,loadThemeSync:C,dispose:I,[Symbol.dispose]:I}}async function Yp(e){e.engine||Qp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([al(e.themes||[]),tl(e.langs||[]),e.engine]);return Jp({...e,themes:t,langs:a,engine:r})}async function Zp(e){let t=await Yp(e);return{getLastGrammarState:(...a)=>_p(t,...a),codeToTokensBase:(a,r)=>vo(t,a,r),codeToTokensWithThemes:(a,r)=>el(t,a,r),codeToTokens:(a,r)=>tr(t,a,r),codeToHast:(a,r)=>ar(t,a,r),codeToHtml:(a,r)=>Xp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ol(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(c){if(typeof c=="string"){if(c=n.langAlias?.[c]||c,Xi(c))return[];let f=t[c];if(!f)throw new le(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}function i(c){if(Ki(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new le(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Zp({engine:n.engine??r(),...n,themes:l,langs:u});return{...d,loadLanguage(...c){return d.loadLanguage(...c.map(s))},loadTheme(...c){return d.loadTheme(...c.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function em(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 nl(e,t){let a=em(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 Ro=[{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"))}],sl=Object.fromEntries(Ro.map(e=>[e.id,e.import])),il=Object.fromEntries(Ro.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),xa={...sl,...il};var tm=[{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"))}],ll=Object.fromEntries(tm.map(e=>[e.id,e.import]));var Ia=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function am(){return 2147483648}function rm(){return typeof performance<"u"?performance.now():Date.now()}var om=(e,t)=>e+(t-e%t)%t;async function nm(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,C){r.HEAPU8.copyWithin(p,m,m+C)}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 C=am();if(p>C)return!1;for(let L=1;L<=4;L*=2){let w=m*(1+.2/L);w=Math.min(w,p+100663296);let I=Math.min(C,om(Math.max(p,w),65536));if(s(I))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,C=1024){let L=m+C,w=m;for(;p[w]&&!(w>=L);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let I="";for(;m<w;){let g=p[m++];if(!(g&128)){I+=String.fromCharCode(g);continue}let x=p[m++]&63;if((g&224)===192){I+=String.fromCharCode((g&31)<<6|x);continue}let S=p[m++]&63;if((g&240)===224?g=(g&15)<<12|x<<6|S:g=(g&7)<<18|x<<12|S<<6|p[m++]&63,g<65536)I+=String.fromCharCode(g);else{let M=g-65536;I+=String.fromCharCode(55296|M>>10,56320|M&1023)}}return I}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:rm,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:c,wasi_snapshot_preview1:c});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=d}return await f(),r}var sm=Object.defineProperty,im=(e,t,a)=>t in e?sm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,we=(e,t,a)=>im(e,typeof t!="symbol"?t+"":t,a),Ce=null;function lm(e){throw new Ia(e.UTF8ToString(e.getLastOnigError()))}var sr=class e{constructor(t){we(this,"utf16Length"),we(this,"utf8Length"),we(this,"utf16Value"),we(this,"utf8Value"),we(this,"utf16OffsetToUtf8"),we(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 d=t.charCodeAt(u),c=d,f=!1;if(d>=55296&&d<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(c=(d-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),c<=127?s[l+0]=u:c<=2047?(s[l+0]=u,s[l+1]=u):c<=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)),c<=127?i[l++]=c:c<=2047?(i[l++]=192|(c&1984)>>>6,i[l++]=128|(c&63)>>>0):c<=65535?(i[l++]=224|(c&61440)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0):(i[l++]=240|(c&1835008)>>>18,i[l++]=128|(c&258048)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&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}},ir=class je{constructor(t){if(we(this,"id",++je.LAST_ID),we(this,"_onigBinding"),we(this,"content"),we(this,"utf16Length"),we(this,"utf8Length"),we(this,"utf16OffsetToUtf8"),we(this,"utf8OffsetToUtf16"),we(this,"ptr"),!Ce)throw new Ia("Must invoke loadWasm first.");this._onigBinding=Ce,this.content=t;let a=new sr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!je._sharedPtrInUse?(je._sharedPtr||(je._sharedPtr=Ce.omalloc(1e4)),je._sharedPtrInUse=!0,Ce.HEAPU8.set(a.utf8Value,je._sharedPtr),this.ptr=je._sharedPtr):this.ptr=a.createString(Ce)}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===je._sharedPtr?je._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};we(ir,"LAST_ID",0);we(ir,"_sharedPtr",0);we(ir,"_sharedPtrInUse",!1);var ul=ir,Fo=class{constructor(t){if(we(this,"_onigBinding"),we(this,"_ptr"),!Ce)throw new Ia("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new sr(t[i]);a[i]=u.createString(Ce),r[i]=u.utf8Length}let o=Ce.omalloc(4*t.length);Ce.HEAPU32.set(a,o/4);let n=Ce.omalloc(4*t.length);Ce.HEAPU32.set(r,n/4);let s=Ce.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)Ce.ofree(a[i]);Ce.ofree(n),Ce.ofree(o),s===0&&lm(Ce),this._onigBinding=Ce,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 ul(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++],d=i[l++],c=[];for(let f=0;f<d;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:c}}};function um(e){return typeof e.instantiator=="function"}function dm(e){return typeof e.default=="function"}function cm(e){return typeof e.data<"u"}function fm(e){return typeof Response<"u"&&e instanceof Response}function pm(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 nr;function mm(e){if(nr)return nr;async function t(){Ce=await nm(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),um(r)?r=await r.instantiator(a):dm(r)?r=await r.default(a):(cm(r)&&(r=r.data),fm(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await hm(r)(a):r=await gm(r)(a):pm(r)?r=await Mo(r)(a):r instanceof WebAssembly.Module?r=await Mo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Mo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return nr=t(),nr}function Mo(e){return t=>WebAssembly.instantiate(e,t)}function hm(e){return t=>WebAssembly.instantiateStreaming(e,t)}function gm(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function dl(e){return e&&await mm(e),{createScanner(t){return new Fo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new ul(t)}}}var lr=ol({langs:xa,themes:ll,engine:()=>dl(import("../wasm-EOPKAILK.js"))}),{codeToHtml:wm,codeToHast:xm,codeToTokens:Im,codeToTokensBase:Lm,codeToTokensWithThemes:Cm,getSingletonHighlighter:Sm,getLastGrammarState:ym}=nl(lr,{guessEmbeddedLanguages:Ji});var cl=new Set(Object.keys(xa)),Do=new Map,Eo=new Map,Bt=new Map,bm=(e,t)=>`${e}-${t[0]}-${t[1]}`,km=(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}`},Tm=(e,t)=>{let a=bm(e,t);if(Do.has(a))return Do.get(a);let r=lr({themes:t,langs:[e]});return Do.set(a,r),r};function vm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return cl.has(r)},getSupportedLanguages(){return Array.from(cl)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=km(r,o,n);return Eo.has(i)?Eo.get(i):(s&&(Bt.has(i)||Bt.set(i,new Set),Bt.get(i).add(s)),Tm(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",d=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Eo.set(i,d);let c=Bt.get(i);if(c){for(let f of c)f(d);Bt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Bt.delete(i)}),null)}}}var fl=vm();import{memo as Mm}from"react";import{useEffect as Pm,useRef as ur,useState as Am}from"react";var Rm=5,pl=400;function ml(e,t,a={}){let{msPerChar:r=Rm}=a,[o,n]=Am(t?"":e),s=ur(e),i=ur(t?0:e.length),l=ur(0),u=ur(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Pm(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>pl&&(i.current=s.current.length-pl),u.current!==null)return;let c=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 C=Math.min(Math.floor(m/r),p.length-i.current);i.current+=C,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(c)};return u.current=requestAnimationFrame(c),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as dr}from"react/jsx-runtime";var Bo=({className:e,from:t,children:a,...r})=>dr("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:dr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),_o=({children:e,className:t,...a})=>dr("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}),Fm={cjk:ro,code:fl},Dm={cjk:ro},Em={enabled:!1};function Bm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=ml(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return dr(qt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Em,plugins:a?Dm:Fm,...o,children:i})}var cr=Mm(Bm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);cr.displayName="MessageResponse";import{jsx as hl,jsxs as _m}from"react/jsx-runtime";function gl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function wl(e){return e.parts.some(gl)}function xl(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=>!(!gl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Il({className:e,...t}){let{t:a}=K();return _m("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:[hl(Yt,{className:"ww:size-4 ww:shrink-0"}),hl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as La,jsxs as Um}from"react/jsx-runtime";function Ll({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Um("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 Om}from"react";import{jsx as Uo,jsxs as Hm}from"react/jsx-runtime";function Nm({onRetry:e}){let{t}=K();return Hm("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 fr=class extends Om{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(Nm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as qm,jsx as oe,jsxs as lt}from"react/jsx-runtime";function Oo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Cl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Xt:dt}function Sl({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:C}){let{t:L}=K(),w=e[e.length-1],I=e.length>0,g=c!=null,x=!g&&xl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return lt(qm,{children:[!g&&(!I&&r?oe(Ll,{...r,onSuggestionSelect:o}):a&&oe(Bo,{from:"assistant",children:oe(_o,{children:oe(cr,{children:a})})})),e.map(S=>{let M=S.parts.filter(T=>T.type==="text"),E=S.parts.filter(T=>T.type==="reasoning"),v=S.parts.filter(T=>T.type==="file"),Z=ss(S.metadata),R=S.parts.filter(T=>"toolCallId"in T),A=S.parts.filter(T=>T.type==="reasoning"||"toolCallId"in T),N=S===w&&S.role==="assistant",j=M.length>0,Q=g?R.some(T=>T.toolCallId===c):!1,$=p!==!1&&!Q&&A.length>=2;return g&&!Q?oe("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!wl(S)?oe("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!j&&v.length===0&&R.every(T=>{let y="output"in T?T.output:void 0;return y===void 0||!n||!ea(T.toolName,y,m)})?oe("div",{style:{display:"none"}},S.id):lt(Bo,{from:S.role,className:C?.message,children:[p!==!1&&!Q&&!$&&E.map((T,y)=>lt(oa,{isStreaming:T.state==="streaming",children:[oe(na,{}),oe(sa,{children:T.text})]},`reasoning-${S.id}-${y}`)),$&&(()=>{let T=A[A.length-1],y=T.type==="reasoning"?{icon:Xe,label:L.reasoning.thinking}:{icon:Cl(T.toolName),label:T.title??Oo(T.toolName)};return lt(Fs,{isWorking:N&&(t==="streaming"||t==="submitted"),activeStep:y,children:[oe(Ds,{workingLabel:L.chainOfThought.working,label:L.chainOfThought.done}),oe(Es,{children:A.map((U,he)=>{let W=he===A.length-1;if(U.type==="reasoning")return oe(_s,{isStreaming:U.state==="streaming",isLast:W,children:U.text},`reasoning-${S.id}-${he}`);let Pe=U.title??Oo(U.toolName),ne=Cl(U.toolName);if(p==="titles-only")return oe(eo,{icon:ne,title:Pe,state:U.state,isLast:W},U.toolCallId);let b="output"in U?U.output:void 0;return lt(eo,{icon:ne,title:Pe,state:U.state,isLast:W,children:[oe(Wr,{input:U.input,debug:f}),b!==void 0&&oe(Gr,{output:b,errorText:"errorText"in U?U.errorText:void 0,debug:f})]},U.toolCallId)})})]})})(),p!==!1&&!Q&&!$&&R.length===1&&(()=>{let T=R[0],y=T.title??Oo(T.toolName);if(p==="titles-only")return oe(Xn,{title:y,state:T.state});let U="output"in T?T.output:void 0;return lt(jn,{children:[oe($n,{title:y,state:T.state}),lt(Kn,{children:[oe(Wr,{input:T.input,debug:f}),U!==void 0&&oe(Gr,{output:U,errorText:"errorText"in T?T.errorText:void 0,debug:f})]})]})})(),R.map(T=>{let y="output"in T?T.output:void 0,U=ea(T.toolName,y,m),he=Qn(T.toolName,y,m),W=T.toolCallId===c;return U&&n&&y!==void 0?oe("div",{style:W?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:U&&n&&y!==void 0&&oe(fr,{children:oe(ta,{isFullscreen:W,resourceUri:U,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:he,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Pe=>d(Pe,{toolCallId:T.toolCallId,resourceUri:U,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},autoHeight:he}):void 0})})},T.toolCallId):null}),!Q&&Z.length>0&&oe(is,{documents:Z}),!Q&&oe("div",{children:lt(_o,{className:k(S.role==="user"?C?.userBubble:C?.assistantBubble),children:[v.length>0&&oe(os,{files:v}),j?M.map((T,y)=>{let U=N&&t==="streaming"&&y===M.length-1;return oe(cr,{isStreaming:U,children:T.type==="text"?T.text:""},`${S.id}-${y}`)}):null]})})]},S.id)}),x&&oe(Il,{})]})}import{jsx as yl,jsxs as Vm}from"react/jsx-runtime";var Wm="https://app.waniwani.ai/assets/waniwani-logo.svg",Gm="https://waniwani.ai";function bl(){let{t:e}=K();return Vm("a",{href:Gm,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:[yl("span",{children:e.poweredBy.label}),yl("img",{src:Wm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as pr}from"react/jsx-runtime";function kl({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:pr("div",{className:k("ww:px-4 ww:py-2",r),...o,children:pr("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=>pr("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)=>pr("button",{type:"button",onClick:()=>a(n),className:k("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border 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 zm,useRef as jm,useState as $m}from"react";import{jsx as ue,jsxs as xt}from"react/jsx-runtime";var Tl=20;function Xm({label:e}){return xt("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:[ue("title",{children:e}),ue("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ue("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Km({label:e}){return xt("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:[ue("title",{children:e}),ue("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ue("polyline",{points:"3 4 3 9 8 9"}),ue("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ue("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Qm({label:e}){return xt("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:[ue("title",{children:e}),ue("polyline",{points:"3 6 5 6 21 6"}),ue("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ue("path",{d:"M10 11v6"}),ue("path",{d:"M14 11v6"})]})}function vl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=K(),[i,l]=$m(!1),u=jm(null);zm(()=>{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 d=e.slice(0,Tl),c=Math.max(0,e.length-Tl);return xt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ue("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:ue(Xm,{label:s.threadMenu.newChat})}),ue("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:ue(Km,{label:s.threadMenu.threadHistory})}),i&&xt("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:[d.length===0&&ue("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return xt("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:[xt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ue("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),ue("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Or(m,n)})]}),ue("button",{type:"button",onClick:C=>{C.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:ue(Qm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&ue("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(c)})]})]})}import{createContext as Jm,useContext as Ym}from"react";function Pl(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 Al(){return{subscribe(){return()=>{}},emit(){}}}var Rl=Jm(Al());function mr(){return Ym(Rl)}var Ml=Rl.Provider;import{useCallback as Zm,useRef as eh}from"react";function Fl(e){let t=eh(e);return t.current=e,Zm(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 Ch}from"@ai-sdk/react";import{useCallback as xe,useEffect as Be,useRef as de,useState as It}from"react";function _t(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}`:""}`}var Dl="/api/mcp/modules/documents";var qe=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function El(e,t){try{return`${new URL(e).origin}${Dl}${t}`}catch{return`${Dl}${t}`}}function th(e){return El(e,"/upload-url")}function Bl(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function ah(e){let t=e?.data;if(typeof t?.documentId!="string"||typeof t.uploadUrl!="string"||!(t.documentId&&t.uploadUrl))return null;let a={};for(let[r,o]of Object.entries(t.headers??{}))typeof o=="string"&&(a[r]=o);return{documentId:t.documentId,uploadUrl:t.uploadUrl,headers:a}}function rh(e){return e===403?new qe("upload_disabled","This agent does not accept document uploads."):e===413?new qe("max_file_size","That file is too large."):e===422||e===400?new qe("accept","That file type is not accepted."):new qe("upload_failed",`The upload could not be started (${e}).`)}function oh(e){return new Promise((t,a)=>{let r=new XMLHttpRequest;r.open("PUT",e.url,!0);for(let[s,i]of Object.entries(e.headers))r.setRequestHeader(s,i);r.timeout=3e5;let o=()=>r.abort();e.signal.addEventListener("abort",o,{once:!0});let n=()=>e.signal.removeEventListener("abort",o);r.upload.onprogress=s=>{s.lengthComputable&&s.total>0&&e.onProgress?.(s.loaded/s.total)},r.onload=()=>{if(n(),r.status>=200&&r.status<300||r.status===412){e.onProgress?.(1),t();return}a(new qe("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new qe("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new qe("upload_failed","The upload timed out."))},r.onabort=()=>{n(),a(e.signal.reason instanceof Error?e.signal.reason:new Error("aborted"))},r.send(e.file)})}async function hr(e){try{await fetch(El(e.api,`/${e.documentId}`),{method:"DELETE",headers:Bl(e.headers,e.uploadHeaders)})}catch{}}async function _l(e){e.signal.throwIfAborted();let t=new AbortController,a=setTimeout(()=>t.abort(),2e4),r=()=>t.abort(e.signal.reason);e.signal.addEventListener("abort",r,{once:!0});let o;try{let s=Bl(e.headers,e.uploadHeaders);s.set("Content-Type","application/json"),o=await fetch(th(e.api),{method:"POST",headers:s,signal:t.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(s){throw e.signal.aborted?s:new qe("upload_failed","The upload could not be started.")}finally{clearTimeout(a),e.signal.removeEventListener("abort",r)}if(!o.ok)throw rh(o.status);let n=ah(await o.json().catch(()=>null));if(e.signal.throwIfAborted(),!n)throw new qe("upload_failed","The upload could not be started.");return await oh({url:n.uploadUrl,headers:n.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:n.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as nh,uiMessageChunkSchema as sh}from"ai";function ih(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 gr=class extends nh{processResponseStream(t){let a="",r=sh(),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 d=u.slice(5).trim();if(d!=="[DONE]")try{let c=JSON.parse(d);if(!o){s.enqueue(c);continue}let f=await o(c);if(f.success){s.enqueue(f.value);continue}let p=ih(f.error);if(p?.length){let m={...c};for(let L of p)delete m[L];let C=await o(m);C.success&&s.enqueue(C.value)}}catch{}}}}))}};var lh="waniwani-memory";var Ee="threads",wr="by_memoryUserId",uh="by_updatedAt";var Ol="memoryUserId",Ul="waniwani-memory-user-id",No=null;function Ho(){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 dh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ee)){let a=e.createObjectStore(Ee,{keyPath:"threadId"});a.createIndex(wr,"memoryUserId",{unique:!1}),a.createIndex(uh,"updatedAt",{unique:!1})}}async function qo(){return new Promise((e,t)=>{let a=indexedDB.open(lh,2);a.onupgradeneeded=r=>{dh(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function ch(){return qo()}async function fh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Ol);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function ph(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Ol);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function mh(){if(typeof indexedDB>"u")return null;try{let e=await ch();try{let t=await fh(e);if(t)return t;let a=Ho();return await ph(e,a),a}finally{e.close()}}catch{return null}}function hh(){try{let e=localStorage.getItem(Ul);if(e)return e;let t=Ho();return localStorage.setItem(Ul,t),t}catch{return null}}async function Nl(){let e=await mh();if(e)return e;let t=hh();return t||(No||(No=Ho()),No)}var Hl=50,ql=1e3;function xr(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 Ir(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await qo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Wo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Go(e){return await Ir(async a=>{let n=a.transaction(Ee,"readonly").objectStore(Ee).index(wr),i=(await Wo(n.getAll(e))??[]).filter(xr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Lr(e){return await Ir(async a=>{let o=a.transaction(Ee,"readonly").objectStore(Ee),n=await Wo(o.get(e));return xr(n)?n:null})??null}async function Vo(e){if(!xr(e))return;let t=e.messages.length>ql?{...e,messages:e.messages.slice(e.messages.length-ql)}:e;await Ir(async a=>{await new Promise((l,u)=>{let d=a.transaction(Ee,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(Ee).put(t)});let r=a.transaction(Ee,"readwrite"),o=r.objectStore(Ee),n=o.index(wr),i=(await Wo(n.getAll(t.memoryUserId))??[]).filter(xr);if(i.length>Hl){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Hl);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 Wl(e){await Ir(async t=>(await new Promise((a,r)=>{let o=t.transaction(Ee,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Ee).delete(e)}),null))}async function zo(e){return(await Go(e))[0]?.threadId??null}function Gl(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var jo="waniwani-visitor-id";function gh(){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 $e(){try{let t=localStorage.getItem(jo);if(t)return t}catch{}let e=gh();try{localStorage.setItem(jo,e)}catch{}return e}function $o(e){let t=typeof e=="string"?e.trim():"";if(!t)return $e();try{localStorage.setItem(jo,t)}catch{}return t}function wh(e){return e!=null&&typeof e.then=="function"}function Xo(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 wh(r)?r.then(o=>{t||$o(o??"")},()=>{}):$o(r??""),a}function Vl(e,t){return e.match(t)?.[1]??null}function xh(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=Vl(e,r);if(o)return{name:a,version:o}}return null}function Ih(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=Vl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function Lh(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 Ca(){let e=navigator.userAgent,t=$e(),a=await Nl();return{userAgent:e,browser:xh(e),os:Ih(e),deviceType:Lh(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 Sh="x-session-id",yh=250,bh=200;function zl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():aa()}function Cr(){return new Date().toISOString()}function jl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function kh(e,t){let a=_t(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 $l(e){let{api:t="/api/waniwani",headers:a,uploadHeaders:r,body:o,onMessageSent:n,onResponseReceived:s,enableThreadHistory:i=!1,activeThreadId:l,onThreadChange:u}=e,d=e.visitorId;Be(()=>Xo(d),[d]);let c=mr(),f=de(a),p=de(r),m=de(o),C=de(i);Be(()=>{C.current=i},[i]);let L=de(void 0),w=de(void 0),I=de(null),[g,x]=It(void 0),S=de(g),[M,E]=It(l),v=de(M),[Z,R]=It([]),[A,N]=It(!i),j=de(void 0),Q=de(void 0),$=de(void 0),T=de(void 0),y=de(0),U=de(u);Be(()=>{U.current=u},[u]);let he=xe(h=>{v.current=h,E(h),h&&(U.current?.(h),c.emit({name:"thread.changed",sessionId:S.current,properties:{threadId:h}}))},[c]),W=xe(async()=>{if(!i)return;let h=I.current?.memoryUserId;if(!h)return;let D=await Go(h);R(D)},[i]),Pe=xe(()=>S.current,[]),ne=xe(h=>{let D=jl(h);if(!D||S.current===D)return;let B=S.current===void 0;S.current=D,x(D),B&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),b=xe(()=>{S.current=void 0,x(void 0)},[]);Be(()=>{f.current=a,p.current=r},[a,r]),Be(()=>{m.current=o},[o]),Be(()=>{let h=!1,D=y.current;return(async()=>{try{let se=await Ca();if(h)return;I.current=se}catch{}if(!i)return;let B=I.current?.memoryUserId;if(!B){N(!0);return}try{let se=l??await zo(B);if(h||D!==y.current)return;if(se){let Ie=await Lr(se);if(h||D!==y.current)return;Ie&&Ie.memoryUserId===B&&(v.current=Ie.threadId,E(Ie.threadId),j.current=Ie.createdAt,Q.current=Ie.title,Ie.sessionId&&(S.current=Ie.sessionId,x(Ie.sessionId)),_(Ie.messages))}await W()}finally{h||N(!0)}})(),()=>{h=!0}},[]);let G=de(new gr({api:t,headers:()=>({...f.current}),body:()=>{let h={...m.current??{}},D=Object.hasOwn(h,"sessionId"),B=jl(h.sessionId);if(B)ne(B),h.sessionId=B;else if(D)b(),delete h.sessionId;else{let Ar=Pe();Ar&&(h.sessionId=Ar)}Tt(L.current)&&(h.modelContext=L.current),w.current?.length&&(h.documents=w.current);let se=I.current,Ie=$e();se&&(h.visitorContext={timezone:se.timezone,language:se.language,languages:se.languages,deviceType:se.deviceType,referrer:se.referrer,visitorId:Ie});let ce=typeof h.visitor=="object"&&h.visitor!==null?h.visitor:{},Gu=typeof ce.client=="object"&&ce.client!==null?ce.client:{};h.visitor={...ce,id:Ie,client:{...Gu,...se&&{memoryUserId:se.memoryUserId}}};let wn=typeof h.extra=="object"&&h.extra!==null&&!Array.isArray(h.extra)?h.extra:void 0,xn=I.current?.memoryUserId,In=I.current?.language,ka={};if(xn&&(ka.memoryUserId=xn),In&&(ka.locale=In),(Object.keys(ka).length>0||wn)&&(h.extra={...ka,...wn??{}}),C.current)if(Object.hasOwn(h,"threadId"))typeof h.threadId=="string"&&(v.current=h.threadId);else{let Ta=v.current;Ta||(Ta=zl(),j.current=Cr(),Q.current=void 0,he(Ta)),h.threadId=Ta}return h},fetch:(async(h,D)=>{try{let B=await fetch(h,D);return L.current=void 0,ne(B.headers.get(Sh)),B}finally{w.current=void 0}})})),O=de(null),H=de(null),Se=de({}),[ee,ae]=It(0),J=e.skipRemoteConfig===!0,F=xe(async()=>{if(!J)try{let h=await kh(t,f.current);Se.current=h,ae(D=>D+1)}catch(h){console.warn("[Waniwani] Failed to fetch tool definitions:",h instanceof Error?h.message:h)}},[t,J]);Be(()=>{F()},[F]);let{messages:V,sendMessage:X,setMessages:_,status:z}=Ch({messages:e.initialMessages,transport:G.current,onFinish({message:h,isAbort:D,isDisconnect:B,isError:se}){s?.(),!D&&!B&&!se&&c.emit({name:"message.received"}),O.current&&(H.current=h)},onError(h){console.warn("[Waniwani] Chat error:",h.message),c.emit({name:"chat.error",properties:{message:h.message.slice(0,bh)}}),O.current&&(O.current.reject(h),O.current=null)}}),te=de(V);Be(()=>{te.current=V},[V]);let _e=de(i);Be(()=>{if(!i||_e.current||(_e.current=!0,te.current.length>0))return;let h=!1,D=y.current;return N(!1),(async()=>{try{let B=I.current;if(!B)try{B=await Ca(),I.current=B}catch{}let se=B?.memoryUserId;if(!se||h||D!==y.current){h||N(!0);return}let Ie=l??await zo(se);if(h||D!==y.current)return;if(Ie){let ce=await Lr(Ie);if(h||D!==y.current)return;ce&&ce.memoryUserId===se&&(v.current=ce.threadId,E(ce.threadId),j.current=ce.createdAt,Q.current=ce.title,ce.sessionId&&(S.current=ce.sessionId,x(ce.sessionId)),_(ce.messages))}await W()}finally{h||N(!0)}})(),()=>{h=!0}},[i]),Be(()=>{if(z==="ready"&&O.current&&H.current){let h=O.current,D=H.current;O.current=null,H.current=null,h.resolve(D)}},[z]);let[Me,ke]=It(""),[Ae,ut]=It([]),Ht=de([]);Ht.current=Ae;let Ye=z==="submitted"||z==="streaming",P=xe(h=>{for(let D of h)for(let B of D.documents??[])hr({documentId:B.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),q=xe(()=>{P(Ht.current),ut([])},[P]),me=xe(h=>{let D=Ht.current.find(B=>B.id===h);D&&P([D]),ut(B=>B.filter(se=>se.id!==h))},[P]),Ue=Ye&&Ae.length>0,Ze=xe(h=>{let D=!!h.text?.trim(),B=!!(h.files?.length||h.documents?.length);if(D||B){if(Ye){if(Ae.length>0)return;ut(se=>[...se,{id:aa(),text:h.text||"",files:h.files??[],documents:h.documents??[],modelContext:h.modelContext}]),ke("");return}L.current=h.modelContext,w.current=h.documents,X({text:h.text||"",files:h.files,...h.documents?.length&&{metadata:{documents:h.documents}}}),n?.(h.text||""),c.emit({name:"message.sent"}),ke("")}},[X,n,Ye,Ae.length,c]),St=xe(h=>new Promise((D,B)=>{O.current={resolve:D,reject:B},X({text:h}),n?.(h),c.emit({name:"message.sent"})}),[X,n,c]);Be(()=>{if(z!=="ready"||Ae.length===0)return;let[h,...D]=Ae;ut(D),L.current=h.modelContext,w.current=h.documents,X({text:h.text,files:h.files.length>0?h.files:void 0,...h.documents.length>0&&{metadata:{documents:h.documents}}}),n?.(h.text),c.emit({name:"message.sent"})},[z,X,n,Ae,c]);let vr=xe(()=>{_([]),q(),b(),ke(""),Se.current={},ae(h=>h+1),F()},[_,b,F,q]),ya=xe(()=>{if(!C.current)return;let h=I.current?.memoryUserId,D=v.current,B=te.current;if(!(!h||!D||B.length===0)){if(j.current||(j.current=Cr()),!Q.current){let se=B.find(ce=>ce.role==="user"),Ie=se?se.parts.map(ce=>"text"in ce&&typeof ce.text=="string"?ce.text:"").join(" "):"";Q.current=Gl(Ie)}return{threadId:D,memoryUserId:h,title:Q.current,messages:B,sessionId:S.current,createdAt:j.current,updatedAt:Cr()}}},[]),mn=xe(async()=>{let h=ya();h&&(await Vo(h),await W())},[ya,W]);Be(()=>{if(i&&A&&!(z==="submitted"||z==="streaming")&&V.length!==0)return $.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=void 0;let h=mn().finally(()=>{T.current===h&&(T.current=void 0)});T.current=h},yh),()=>{$.current&&clearTimeout($.current)}},[i,A,V,z,mn]);let ba=xe(()=>{let h=T.current,D=$.current,B=D?ya():void 0;return D&&(clearTimeout(D),$.current=void 0),(async()=>{h&&await h,B&&(await Vo(B),await W())})()},[ya,W]),Ou=xe(()=>{y.current+=1,ba(),_([]),q(),b(),ke("");let h=zl();return j.current=Cr(),Q.current=void 0,he(h),W(),h},[_,b,he,W,ba,q]),Pr=xe(async h=>{y.current+=1;let D=y.current;if(await ba(),D!==y.current)return;let B=await Lr(h);D===y.current&&B&&(B.sessionId?(S.current=B.sessionId,x(B.sessionId)):b(),he(B.threadId),j.current=B.createdAt,Q.current=B.title,_(B.messages),q(),ke(""))},[_,b,he,ba,q]),Nu=xe(async h=>{if(v.current===h){y.current+=1,$.current&&(clearTimeout($.current),$.current=void 0);let D=T.current;D&&await D}await Wl(h),await W(),v.current===h&&(_([]),q(),b(),ke(""),v.current=void 0,E(void 0),j.current=void 0,Q.current=void 0)},[_,b,W,q]);Be(()=>{i&&A&&l!==void 0&&l!==v.current&&Pr(l)},[l,i,A,Pr]);let Hu=xe(h=>{ke(h.target.value)},[]),hn=V[V.length-1],gn=V.length>0,qu=Ye&&(!gn||hn.role==="user"),Wu=Se.current;return{messages:V,status:z,text:Me,setText:ke,handleSubmit:Ze,handleTextChange:Hu,isLoading:Ye,showLoaderBubble:qu,lastMessage:hn,hasMessages:gn,sendMessage:X,sendMessageAndWait:St,reset:vr,queuedMessages:Ae,queueFull:Ue,removeQueuedMessage:me,sessionId:g,toolDefinitions:Wu,refreshToolDefinitions:F,threads:Z,activeThreadId:M,isThreadHistoryReady:A,startNewThread:Ou,switchThread:Pr,deleteThread:Nu}}import{useCallback as Xl,useEffect as Th,useState as vh}from"react";var Ph=6e3;function Kl(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=vh(null),u=Xl((f,p,m)=>_l({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=Xl(f=>{hr({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);Th(()=>{if(!i)return;let f=setTimeout(()=>l(null),Ph);return()=>clearTimeout(f)},[i]);let c=n?.enabled??!1;return{enabled:n?n.enabled:!!s,accept:n?.accept.join(","),maxFileSize:n?.maxBytes,maxPdfPages:n?.maxPdfPages,maxFiles:n?.maxFiles,upload:c?u:void 0,onDiscard:c?d:void 0,error:i,reportError:l}}import{useCallback as Rh,useEffect as Jo,useMemo as Yo,useRef as Mh,useState as Zl}from"react";function Ut(e){return e.map(t=>({id:null,text:t}))}function Ko(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var Qo="waniwani/suggestions";function Ot(e){return typeof e=="object"&&e!==null}function Ql(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Ah(e){if(!Ot(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Ot(t)||!Ot(t._meta))return null;let a=t._meta[Qo];return!Ot(a)||!Ql(a.suggestions)?null:a.suggestions}function Jl(e){let t=null;for(let a of e.parts){let r=Ah(a);r!==null&&(t=r)}return t}function Yl(e){for(let t of e.parts){if(!Ot(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Ot(a)&&Ql(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Fh(e){return"page"in e||"channel"in e}function Dh(e){return typeof e!="object"||e===null?{}:Fh(e)?{rungs:e}:{initial:e.initial}}function eu(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=Dh(r),i=Yo(()=>({page:null,channel:Ut(s??[])}),[s]),l=n??i,u=Yo(()=>o?Ko({flow:null,followup:null,...l}):null,[o,l]),d=Yo(()=>u?.suggestions.map(g=>g.text)??[],[u]),[c,f]=Zl(d),[p,m]=Zl(u?.origin??"channel"),C=Mh(a),L=Rh(()=>{f([])},[]),w=t.length>0;Jo(()=>{w||(f(d),m(u?.origin??"channel"))},[d,u,w]);let I=t[t.length-1];return Jo(()=>{I?.role==="user"&&L()},[I,L]),Jo(()=>{let g=C.current;if(C.current=a,g!=="streaming"||a!=="ready"||!o)return;let x=[...t].reverse().find(v=>v.role==="assistant");if(!x)return;let S=Jl(x),M=Yl(x),E=Ko({flow:S===null?null:Ut(S),followup:M===null?null:Ut(M),page:null,channel:null});f(E?E.suggestions.map(v=>v.text):[]),m(E?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:L}}import{useEffect as Eh,useRef as Bh,useState as _h}from"react";var Uh=80,Oh=50,Nh=15e3,tu=500;function au(e,t=!0){let[a,r]=_h(""),o=Bh(void 0);return Eh(()=>{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,tu)):o.current=setTimeout(l,Oh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Nh)):o.current=setTimeout(l,Uh)))};return o.current=setTimeout(l,tu),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function ru(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return _t(e,"/resource",r?{token:r}:void 0)}var ou={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",glassTint:"transparent",glassTintStrength:"0"},Hh={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"},qh={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"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function Wh(e){return{...ou,...e}}function Zo(e){let t={};for(let[a,r]of Object.entries(qh)){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 pe,jsxs as Je}from"react/jsx-runtime";var en=nu(function(t,a){let{locale:r,messages:o}=t;return pe(Ur,{locale:r,messages:o,children:pe(Vh,{...t,ref:a})})}),Vh=nu(function(t,a){let{t:r,ready:o}=K(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:C,debug:L=!1,readOnly:w=!1,title:I,headerActions:g,hideHeader:x=!1,enableThreadHistory:S=!1,showToolCalls:M=!0,initializing:E=!1,onScreen:v=!0,disclaimer:Z}=t,R=n?.theme,A=n?.variables,N=n?.assistantBubble??!1,j=A?Zo(A):{},[Q,$]=yr(!1);Qe(()=>{if(R!=="auto"||typeof window>"u")return;let P=window.matchMedia("(prefers-color-scheme: dark)");$(P.matches);let q=()=>$(P.matches);return P.addEventListener("change",q),()=>P.removeEventListener("change",q)},[R]);let T=R==="dark"||R==="auto"&&Q,y=$l({...t,api:m}),U=mr(),he=Fl({...t,api:m,sessionId:y.sessionId,onCallTool:C?.onCallTool}),W=C?.resourceEndpoint??ru(m,t.headers),Pe=au(f,!y.text),ne=Kl({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:y.sessionId,documentUpload:u,allowAttachments:l}),[b,G]=yr(null),[O,H]=yr(null),Se=Lt(null),ee=Lt(null),ae=Lt(null),J=Lt(null),[F,V]=yr(!0),X=Lt(F);X.current=F;let _=Sr(()=>{let P=Se.current;if(!P)return;let q=P.querySelector("textarea");q&&q.focus()},[]),z=Sr((P="smooth")=>{let q=ee.current;q&&q.scrollTo({top:q.scrollHeight,behavior:P})},[]);Qe(()=>{let P=J.current,q=ee.current;if(!P||!q)return;let me=new IntersectionObserver(([Ue])=>V(Ue.isIntersecting),{root:q,rootMargin:"0px 0px 200px 0px",threshold:0});return me.observe(P),()=>me.disconnect()},[]),Qe(()=>{let P=ee.current;if(!P)return;let q=me=>{let Ze=(me.target instanceof Element?me.target:null)?.closest("a");Ze?.href&&U.emit({name:"link.clicked",properties:{url:Ze.href}})};return P.addEventListener("click",q),()=>P.removeEventListener("click",q)},[U]),Qe(()=>{(y.messages[y.messages.length-1]?.role==="user"||X.current)&&z("smooth")},[y.messages.length,y.messages[y.messages.length-1]]),Qe(()=>{z("auto")},[z]),Qe(()=>{if(typeof ResizeObserver>"u")return;let P=ee.current,q=ae.current;if(!P&&!q)return;let me=P?.scrollHeight??0,Ue=P?.clientHeight??0,Ze=new ResizeObserver(()=>{let St=ee.current;if(!St)return;let vr=St.scrollTop+Ue>=me-5;me=St.scrollHeight,Ue=St.clientHeight,vr&&z("auto")});return P&&Ze.observe(P),q&&Ze.observe(q),()=>Ze.disconnect()},[z]);let te=eu({messages:y.messages,status:y.status,suggestions:t.suggestions}),_e=Lt(null);Qe(()=>{let P=te.suggestions;!v||P.length===0||_e.current===P||(_e.current=P,U.emit({name:"suggestions.shown",properties:{texts:P,origin:te.source}}))},[te.suggestions,te.source,U,v]);let Me=c?.suggestions,ke=Lt(null);Qe(()=>{!v||y.messages.length>0||!Me?.length||ke.current===Me||(ke.current=Me,U.emit({name:"suggestions.shown",properties:{texts:Me,origin:"channel"}}))},[Me,y.messages.length,U,v]);let Ae=Sr(P=>{let q=P.content.map(me=>me.text??"").join("").trim();q&&y.handleSubmit({text:q,files:[],modelContext:P.modelContext})},[y.handleSubmit]),ut=Sr(P=>{let q=te.suggestions.indexOf(P),me=q>=0?q:c?.suggestions?.indexOf(P)??-1,Ue=q>=0?te.source:"channel";U.emit({name:"suggestion.clicked",properties:{text:P,index:me,origin:Ue}}),te.clear(),y.handleSubmit({text:P,files:[]})},[te.suggestions,te.source,te.clear,y.handleSubmit,c,U]);Gh(a,()=>({sendMessage:P=>{y.handleSubmit({text:P,files:[]}),_()},sendMessageAndWait:P=>y.sendMessageAndWait(P),reset:y.reset,focus:_,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,_]),Qe(()=>{if(!p)return;let P=q=>{let me=q.detail,Ue=typeof me?.message=="string"?me.message:void 0;Ue&&y.handleSubmit({text:Ue,files:[]}),_()};return window.addEventListener(p,P),()=>window.removeEventListener(p,P)},[p,y.handleSubmit,_]);let Ht=!x&&!!(I||S||g),Ye=E||!o;return Je("div",{ref:Se,style:{...j,maxHeight:"inherit",...b&&O?{height:O}:{},opacity:Ye?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":N?"true":void 0,"data-color-scheme":R==="auto"?"auto":void 0,...Ye?{"data-waniwani-initializing":""}:{},...T?{"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",R==="dark"&&"dark",s,i?.root),children:[Ht&&Je("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:[I&&pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:I}),!I&&pe("div",{className:"ww:flex-1"}),S&&pe(vl,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:P=>{y.switchThread(P)},onDeleteThread:P=>{y.deleteThread(P)}}),g]}),Je("div",{ref:ee,className:k("ww:relative ww:flex-1 ww:min-h-0",b?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[Je("div",{ref:ae,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",b&&"ww:!py-0"),children:[pe(Sl,{messages:y.messages,status:y.status,welcomeMessage:d,welcome:c,onSuggestionSelect:ut,resourceEndpoint:W,chatSessionId:y.sessionId,isDark:T,onFollowUp:Ae,onCallTool:he,fullscreenToolCallId:b,debug:L,showToolCalls:M,toolDefinitions:y.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(P,q)=>{if(P==="fullscreen"){let me=Se.current?.getBoundingClientRect().height??0;H(me>0?me:null),G(q.toolCallId)}else H(null),G(null)}}),pe("div",{ref:J,"aria-hidden":!0,style:{height:1}})]}),!F&&!b&&pe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:pe(Ge,{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:pe(Wt,{className:"ww:size-4"})})})]}),!w&&Je("div",{className:"ww:shrink-0 ww:bg-background",style:b?{display:"none"}:void 0,children:[pe(kl,{suggestions:te.suggestions,isLoading:te.isLoading,onSelect:ut}),pe(ks,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage}),pe("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:Je("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Je(ds,{onSubmit:y.handleSubmit,attachmentsEnabled:ne.enabled,globalDrop:ne.enabled,multiple:ne.enabled,accept:ne.accept,maxFileSize:ne.maxFileSize,maxPdfPages:ne.maxPdfPages,maxFiles:ne.maxFiles,upload:ne.upload,onDiscard:ne.onDiscard,onError:ne.reportError,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[pe(gs,{enabled:ne.enabled}),ne.enabled&&pe(hs,{className:"ww:px-4 ww:pt-3"}),Je("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[ne.enabled&&pe(ms,{}),pe(fs,{onChange:y.handleTextChange,value:y.text,placeholder:Pe,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ps,{status:y.status,disabled:y.queueFull})]})]}),ne.error&&pe("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:ne.error.message}),Je("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(bl,{}),pe(ws,{text:Z})]})]})})]})]})});import{forwardRef as Hg,useEffect as Tr,useImperativeHandle as qg,useMemo as fn,useRef as pn,useState as Bu}from"react";var zh="https://app.waniwani.ai/api/mcp/chat",jh={api:zh};function $h(){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 Xh(){let e=$h();if(!e)return{};let t=A=>e.getAttribute(A)??void 0,a=A=>{let N=e.getAttribute(A);if(N==null)return;let j=N.trim().toLowerCase();if(j==="true"||j==="1"||j==="")return!0;if(j==="false"||j==="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 d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let f=t("data-channel-id");if(f&&(r.channelId=f),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 m=t("data-css");m&&(r.css=m);let C=t("data-suggestions");C&&(r.suggestions=C.split(",").map(A=>A.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let w=a("data-disable-page-view");w!==void 0&&(r.disablePageView=w);let I=a("data-hide-header");I!==void 0&&(r.hideHeader=I);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let x=a("data-assistant-bubble");x!==void 0&&(r.appearance={...r.appearance,assistantBubble:x});let S=t("data-locale");(S==="en"||S==="fr"||S==="es")&&(r.locale=S);let M=t("data-mode");(M==="inline"||M==="floating"||M==="composer"||M==="off")&&(r.mode=M);let E=t("data-height");E&&(r.height=E);let v=t("data-launcher-text");v&&(r.launcherText=v);let Z=t("data-appear-delay");if(Z!==void 0){let A=Number.parseInt(Z.trim(),10);Number.isFinite(A)&&A>=0&&(r.appearDelay=A)}let R=t("data-disclaimer");if(R!==void 0){let A=R.trim(),N=A.toLowerCase();N==="false"||N==="0"?r.disclaimer=!1:A&&(r.disclaimer=A)}return r}function tn(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function an(e,t,a){let r=a??Xh(),o=Kh(t,r,e),n={token:"",...jh,...tn(t),...tn(r),...tn(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 Kh(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 Sk,useState as yk}from"react";function Qh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Ct(...e){Qh()&&console.log("[Waniwani]",...e)}var rn=new Set;function Jh(e,t,a){return`${e}|${t}|${a??""}`}function Sa(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function on(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;if(!r&&!n){Ct("page.viewed skipped: no channelId or source to attribute it");return}let s=Jh(t,a,r);if(!rn.has(s)){rn.add(s);try{let i=await Ca(),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(Sa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{rn.delete(s)}}}import{useMemo as ig}from"react";import{useEffect as tg,useSyncExternalStore as ag}from"react";function Yh(e){return e?.patterns??e?.rules??[]}var su="\0\0";function Zh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,su).replace(/\\\*/g,"[^/]*").split(su).join(".*");return new RegExp(`^${a}$`)}function eg(e,t){try{return Zh(e).test(t)}catch{return!1}}function iu(e,t){if(!e)return!0;let a=!1;for(let r of Yh(e))if(eg(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var nn="waniwani:locationchange",lu=!1;function rg(){if(!(lu||typeof history>"u")){lu=!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(nn)),o}}}}function og(e){return rg(),window.addEventListener(nn,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(nn,e),window.removeEventListener("popstate",e)}}function ng(){return window.location.pathname}function sg(){return"/"}function sn(){return ag(og,ng,sg)}function uu(e,t){let a=sn(),r=t&&iu(e,a);return tg(()=>{Ct("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var lg=3,ug=["low","medium","high"];function ln(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function dg(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of ug){let s=ln(t.get(n)??[])??ln(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(lg,e.length);){let n=ln(o);if(!n)break;r.push(n)}return r}function du(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function cu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function fu(e){let{pageSuggestions:t,suggestions:a}=e,r=sn();return ig(()=>{let o=du(r),n=t?.find(i=>du(i.url)===o),s=n?dg(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return Ct("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Ut(a??[])}},[r,t,a])}var cg="waniwani:config:";function pu(e,t,a){return`${cg}${e}|${t}|${a??""}`}function br(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(pu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function mu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(pu(e,t,a),JSON.stringify(r))}catch{}}function fg(e){if(typeof e!="object"||e===null||typeof e.enabled!="boolean")return null;let t=Array.isArray(e.accept)?e.accept.filter(r=>typeof r=="string"):[],a=r=>typeof r=="number"&&Number.isFinite(r)&&r>0;return e.enabled?a(e.maxBytes)&&a(e.maxPdfPages)&&a(e.maxFiles)&&t.length>0?{enabled:!0,maxBytes:e.maxBytes,maxPdfPages:e.maxPdfPages,maxFiles:e.maxFiles,accept:t}:null:{enabled:!1,maxBytes:0,maxPdfPages:0,maxFiles:0,accept:t}}async function hu(e,t,a,r){try{let o=_t(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?pg(i):{}}catch{return{}}}function pg(e){let t={};e.source!=null&&(t.source=e.source),e.channelId!=null&&(t.channelId=e.channelId),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);let a=cu(e.pageSuggestions);a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),typeof e.webmcp?.enabled=="boolean"&&(t.webmcp={enabled:e.webmcp.enabled}),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);let r=fg(e.documentUpload);return r&&(t.documentUpload=r),t}import{useEffect as mg,useRef as hg}from"react";function un(e,t){return e.find(a=>a.text===t)?.id??null}async function gu(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(!(typeof window>"u"||!t||!a))try{let i=new Date().toISOString(),l=JSON.stringify({sentAt:i,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:i,correlation:{visitorId:$e(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(Sa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:l,keepalive:!0})}catch{}}async function wu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await gu({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:d,channelId:r,mode:o}})}function xu(e,t){return t.map(a=>({id:un(e,a),text:a}))}async function Iu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await gu({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function Lu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=hg(e.getSessionId);l.current=e.getSessionId,mg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;wu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:un(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;Iu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:xu(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function Nt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var gg=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],wg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],xg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],Ig=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],Lg=["waniwani/visitorId","visitorId"],Cg=["correlationId","openai/requestId"];function Cu(e){return e?Nt(e,gg):void 0}function Su(e){return e?Nt(e,wg):void 0}function yu(e){return e?Nt(e,xg):void 0}function bu(e){return e?Nt(e,Ig):void 0}function ku(e){return e?Nt(e,Lg):void 0}function Tu(e){return e?Nt(e,Cg):void 0}var Sg=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],yg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function vu(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 Sg){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 yg)if(r.includes(o))return n}}var bg="@waniwani/sdk";function Pu(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??kg,o=Pg(e),n=kr(e.meta),s=kr(e.metadata),i=Ag(e,n),l=We(e.eventId)??r(),u=Rg(e.timestamp,a),d=We(e.source)??vu(n)??t.source??bg,c=dn(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),c&&(f.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:Tg(e,o),metadata:f,rawLegacy:c}}function kg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Tg(e,t){if(!dn(e))return kr(e.properties);let a=vg(e,t),r=kr(e.properties);return{...a,...r}}function vg(e,t){switch(t){case"tool.called":{let a={};return We(e.toolName)&&(a.name=e.toolName),We(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return We(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function Pg(e){return dn(e)?e.eventType:e.event}function Ag(e,t){let a=We(e.requestId)??Su(t),r=We(e.sessionId)??Cu(t),o=We(e.traceId)??yu(t),n=We(e.externalUserId)??bu(t),s=We(e.visitorId)??ku(t),i=We(e.correlationId)??Tu(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 Rg(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 kr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function We(e){if(typeof e=="string"&&e.trim().length!==0)return e}function dn(e){return"eventType"in e}function Au(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 Mg="/api/mcp/events/v2/batch";var Ru="@waniwani/sdk";var Fg=new Set([401,403]),Dg=new Set([408,425,429,500,502,503,504]),Eg=(e,t)=>globalThis.fetch(e,t);function Mu(e){return new cn(e)}var cn=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=Ug(t.apiUrl,t.endpointPath??Mg),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??Eg,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":Ru};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:Og(n)}}if(Fg.has(a.status))return{kind:"auth",status:a.status};if(Dg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await _g(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:Ru,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(Bg(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 Bg(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 _g(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Ug(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Og(e){return e instanceof Error?e.message:String(e)}function Fu(e){let{apiUrl:t,endpointPath:a}=Ng(e.endpoint),r=Mu({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),d=u===void 0?i.properties:{channelId:u,...i.properties},c=Pu({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:d,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(c),{eventId:c.id}};return{track:Object.assign(s,Au(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Ng(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Du(e){return Fu({endpoint:Sa(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:$e()})})}function Eu(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 Uu}from"react/jsx-runtime";var Wg=600,_u="https://app.waniwani.ai/api/mcp/chat",Gg=Hg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=pn(null),d=pn(null),c=fn(()=>Pl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Tr(()=>{if(l)return c.subscribe(l)},[l,c]);let f=fn(()=>({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,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?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??_u,[m,C]=Bu({}),[L,w]=Bu(!1),I=pn(!1);Tr(()=>{L&&!I.current&&(I.current=!0,c.emit({name:"chat.ready"}))},[L,c]);let g=i?.disablePageView;Tr(()=>{if(!r){w(!0);return}let v=N=>{g||on({api:p,token:r,channelId:o??N.channelId,mode:"inline",source:N.source})},Z=br(p,r,o);Z&&(C(Z),w(!0),v(Z));let R=new AbortController,A=setTimeout(()=>w(!0),Wg);return hu(p,r,R.signal,o).then(N=>{R.signal.aborted||(Object.keys(N).length>0&&(mu(p,r,o,N),C(N)),w(!0),v(N))}).catch(N=>{console.error("[Waniwani] Remote config fetch failed:",N),w(!0)}).finally(()=>clearTimeout(A)),()=>{R.abort(),clearTimeout(A)}},[p,r,o,g]);let x=fn(()=>an(f,m,void 0),[f,m]),S=fu(x);Lu({widgetEvents:c,api:x.api??p,token:x.token??r,channelId:x.channelId??o,source:x.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Tr(()=>{if(!r)return;let v=Du({api:p,token:r,channelId:()=>o??br(p,r,o)?.channelId,getSource:()=>br(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=v,()=>{d.current=null,v.shutdown()}},[p,r,o]),qg(a,()=>{let v=()=>d.current??Eu("no public token configured"),Z=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:Z,identify:(R,A)=>v().identify(R,A)}},[]);let M=uu(x.visibility,L),E={mode:"inline"};return x.mcpServerUrl&&(E.mcpServerUrl=x.mcpServerUrl),x.channelId&&(E.channelId=x.channelId),M?Uu(Ml,{value:c,children:Uu(en,{ref:u,api:x.api??_u,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:E,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:S,enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,documentUpload:x.documentUpload,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!L})}):null});export{en as ChatEmbed,Hh as DARK_THEME,ou as DEFAULT_THEME,ta as McpAppFrame,Gg as WaniwaniChat,Gd as WebMcpOverlay,Wh as mergeTheme,Zo as themeToCSSProperties};
14
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Bi(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=ba);let u=op(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Ei(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(d),!s&&(!n||!fa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function op(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=np(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 np(e,t,a){let r=yn(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=Je(r.attribute,Object.assign({},e.settings.characterReferences,{subset:$a.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?kn:Tn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Je(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:$a.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Ar(a,s)>Ar(a,e.alternative)&&(s=e.alternative),i=s+Je(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?$a.single:$a.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var sp=["<","&"];function Xa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Je(e.value,Object.assign({},r.settings.characterReferences,{subset:sp}))}function _i(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Xa(e,t,a,r)}function Ui(e,t,a,r){return r.all(e)}var Oi=vn("type",{invalid:ip,unknown:lp,handlers:{comment:Ai,doctype:Ri,element:Bi,raw:_i,root:Ui,text:Xa}});function ip(e){throw new Error("Expected node, not `"+e+"`")}function lp(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var up={},dp={},cp=[];function wo(e,t){let a=t||up,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:fp,all:pp,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||dp,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ba:bn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function fp(e,t,a){return Oi(e,t,a,this)}function pp(e){let t=[],a=e&&e.children||cp,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ka(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 ut(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function mp(e){return Array.isArray(e)?e:[e]}async function zi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function yo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function ji(e){return e==="ansi"||yo(e)}function bo(e){return e==="none"}function $i(e){return bo(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 er(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 hp(e){let t=er(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 Ki(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 ko="light-dark()",gp=["color","background-color"];function wp(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 xp(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?wp(o,n):o})):e}function Ip(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>Qa(e.variants[d])),i=new Set(s.flatMap(d=>Object.keys(d))),l={},u=(d,c)=>{let f=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":f)};return s.forEach((d,c)=>{for(let f of i){let p=d[f]||"inherit";if(c===0&&r&&gp.includes(f))if(r===ko&&s.length>1){let m=t.findIndex(I=>I==="light"),C=t.findIndex(I=>I==="dark");if(m===-1||C===-1)throw new le('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=s[m][f]||"inherit",w=s[C][f]||"inherit";l[f]=`light-dark(${L}, ${w})`,o==="css-vars"&&(l[u(c,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(c,f)]=p)}}),n.htmlStyle=l,n}function Qa(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&be.Italic&&(t["font-style"]="italic"),e.fontStyle&be.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&be.Underline&&a.push("underline"),e.fontStyle&be.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Lo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Qi=new WeakMap;function tr(e,t){Qi.set(e,t)}function ma(e){return Qi.get(e)}var Ft=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(mp(a).map(r=>[r,Ga])),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 Lp(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Lp(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 Cp(e,t){if(!(e instanceof Ft))throw new le("Invalid grammar state");return e.getInternalStack(t)}function Sp(){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 le(`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 le(`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 le(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=hp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));yp(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 xp(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==r.converter.lines.length)throw new le(`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(d,c,f,p){let m=o[d],C="",L=-1,w=-1;if(c===0&&(L=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),L===-1||w===-1)for(let g=0;g<m.children.length;g++)C+=Ji(m.children[g]),L===-1&&C.length===c&&(L=g+1),w===-1&&C.length===f&&(w=g+1);if(L===-1)throw new le(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new le(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let I=m.children.slice(L,w);if(!p.alwaysWrap&&I.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&I.length===1&&I[0].type==="element")i(I[0],p,"token");else{let g={type:"element",tagName:"span",properties:{},children:I};i(g,p,"wrapper"),m.children.splice(L,I.length,g)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,f){let p=c.properties||{},m=c.transform||(C=>C);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&Xi(d,c.properties.class),d=m(d,f)||d,d}let l=[],u=r.decorations.sort((d,c)=>c.start.offset-d.start.offset||d.end.offset-c.end.offset);for(let d of u){let{start:c,end:f}=d;if(c.line===f.line)n(c.line,c.character,f.character,d);else if(c.line<f.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let p=c.line+1;p<f.line;p++)l.unshift(()=>s(p,d));n(f.line,0,f.character,d)}}l.forEach(d=>d())}}}function yp(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new le(`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 le(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ji(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ji).join(""):""}var bp=[Sp()];function Ja(e){let t=kp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...bp]}function kp(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 It=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],xo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Tp(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 Ni(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 vp(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)xo[r]&&t.push({type:"setDecoration",value:xo[r]});else if(r<=29){let o=xo[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:It[r-30]}});else if(r===38){let o=Ni(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:It[r-40]}});else if(r===48){let o=Ni(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:It[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:It[r-100+8]}})}return t}function Pp(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Tp(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=vp(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 Ap={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 Rp(e=Ap){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<It.length;u++)r.push(t(It[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let d=0;d<6;d++)for(let c=0;c<6;c++)r.push(a([i[u],i[d],i[c]]));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 Mp={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 Fp(e,t,a){let r=Ka(e,a),o=er(t),n=Object.fromEntries(It.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Mp[l]]})),s=Rp(n),i=Pp();return o.map(l=>i.parse(l[0]).map(u=>{let d,c;u.decorations.has("reverse")?(d=u.background?s.value(u.background):e.bg,c=u.foreground?s.value(u.foreground):e.fg):(d=u.foreground?s.value(u.foreground):e.fg,c=u.background?s.value(u.background):void 0),d=ut(d,r),c=ut(c,r),u.decorations.has("dim")&&(d=Dp(d));let f=be.None;return u.decorations.has("bold")&&(f|=be.Bold),u.decorations.has("italic")&&(f|=be.Italic),u.decorations.has("underline")&&(f|=be.Underline),u.decorations.has("strikethrough")&&(f|=be.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function Dp(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 To(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(yo(o)||bo(r))return er(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Fp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new le(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new le(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Bp(t,i,n,s,a)}function Ep(...e){if(e.length===2)return ma(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(yo(o)||bo(n))throw new le("Plain language does not have grammar state");if(o==="ansi")throw new le("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Ft(vo(a,l,s,i,r).stateStack,l.name,s.name)}function Bp(e,t,a,r,o){let n=vo(e,t,a,r,o),s=new Ft(n.stateStack,t.name,a.name);return tr(n.tokens,s),n.tokens}function vo(e,t,a,r,o){let n=Ka(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=er(e),u=o.grammarState?Cp(o.grammarState,a.name)??Ga:o.grammarContextCode!=null?vo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Ga,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,C]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:C,color:"",fontStyle:0}]);continue}let L,w,I;o.includeExplanation&&(L=t.tokenizeLine(m,u,i),w=L.tokens,I=0);let g=t.tokenizeLine2(m,u,i),x=g.tokens.length/2;for(let S=0;S<x;S++){let M=g.tokens[2*S],E=S+1<x?g.tokens[2*S+2]:m.length;if(M===E)continue;let P=g.tokens[2*S+1],Z=ut(r[xt.getForeground(P)],n),R=xt.getFontStyle(P),A={content:m.substring(M,E),offset:C+M,color:Z,fontStyle:R};if(o.includeExplanation){let N=[];if(o.includeExplanation!=="scopeName")for(let Q of a.settings){let j;switch(typeof Q.scope){case"string":j=Q.scope.split(/,/).map(T=>T.trim());break;case"object":j=Q.scope;break;default:continue}N.push({settings:Q,selectors:j.map(T=>T.split(/ /))})}A.explanation=[];let z=0;for(;M+z<E;){let Q=w[I],j=m.substring(Q.startIndex,Q.endIndex);z+=j.length,A.explanation.push({content:j,scopes:o.includeExplanation==="scopeName"?_p(Q.scopes):Up(N,Q.scopes)}),I+=1}}d.push(A)}c.push(d),d=[],u=g.ruleStack}return{tokens:c,stateStack:u}}function _p(e){return e.map(t=>({scopeName:t}))}function Up(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Np(e,n,t.slice(0,r))}}return a}function Hi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Op(e,t,a){if(!Hi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Hi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Np(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Op(s,t,a)){r.push(n);break}return r}function Yi(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=To(e,t,{...a,theme:l.theme}),d=ma(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Hp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=d.explanation),n.forEach((p,m)=>{let{content:C,explanation:L,offset:w,...I}=p[u][c];f.variants[r[m].color]=I}),f})),i=o[0].state?new Ft(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&tr(s,i),s}function Hp(...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 d=i[u];d.content.length===l?(n[u].push(d),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...d,content:d.content.slice(0,l)}),i[u]={...d,content:d.content.slice(l),offset:d.offset+l})}}}return t}function Ya(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:d="--shiki-",colorsRendering:c="css-vars"}=a,f=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,I)=>w.color===u?-1:I.color===u?1:0);if(f.length===0)throw new le("`themes` option must not be empty");let p=Yi(e,t,a);if(l=ma(p),u&&ko!==u&&!f.find(w=>w.color===u))throw new le(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),C=f.map(w=>w.color);n=p.map(w=>w.map(I=>Ip(I,C,d,u,c))),l&&tr(n,l);let L=f.map(w=>Ka(w.theme,a));o=qi(f,m,L,d,u,"fg",c),r=qi(f,m,L,d,u,"bg",c),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ka(a.theme,a);n=To(e,t,a);let d=e.getTheme(a.theme);r=ut(d.bg,u),o=ut(d.fg,u),s=d.name,l=ma(n)}else throw new le("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function qi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=ut(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===ko&&e.length>1){let c=e.findIndex(C=>C.color==="light"),f=e.findIndex(C=>C.color==="dark");if(c===-1||f===-1)throw new le('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=ut(t[c][n],a[c])||"inherit",m=ut(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${d}`}return u}return s==="css-vars"?d:null}).filter(i=>!!i).join(";")}function Za(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Za(e,o,n),codeToTokens:(o,n)=>Ya(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:d}=Ya(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=Wp(n):c==="never"&&(n=Gp(n)),f&&(n=Vp(n));let p={...r,get source(){return o}};for(let m of Ja(a))n=m.tokens?.call(p,n)||n;return qp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function qp(e,t,a,r=ma(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[C,L]of Object.entries(t.meta||{}))C.startsWith("_")||(u[C]=L);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={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 d},get code(){return c},get lines(){return f}};if(e.forEach((C,L)=>{L&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
15
+ `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},I=0;for(let g of C){let x={type:"element",tagName:"span",properties:{...g.htmlAttrs},children:[{type:"text",value:g.content}]},S=Lo(g.htmlStyle||Qa(g));S&&(x.properties.style=S);for(let M of o)x=M?.span?.call(p,x,L+1,I,w,g)||x;i==="inline"?s.children.push(x):i==="classic"&&w.children.push(x),I+=g.content.length}if(i==="classic"){for(let g of o)w=g?.line?.call(p,w,L+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let C of o)c=C?.code?.call(p,c)||c;d.children.push(c);for(let C of o)d=C?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let C=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let g of s.children)g.type==="element"&&g.tagName==="br"?(C.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(g.type==="element"||g.type==="text")&&L.children.push(g);C.push(L);let I={type:"element",tagName:"code",properties:{},children:C};for(let g of o)I=g?.code?.call(p,I)||I;s.children=[];for(let g=0;g<I.children.length;g++){g>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=I.children[g];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let C of o)m=C?.root?.call(p,m)||m;return r&&tr(m,r),m}function Wp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&be.Underline||n.fontStyle&be.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 Gp(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 Vp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=Lo(o.htmlStyle||Qa(o)),s=Lo(r.htmlStyle||Qa(r)),i=o.fontStyle&&(o.fontStyle&be.Underline||o.fontStyle&be.Strikethrough),l=r.fontStyle&&(r.fontStyle&be.Underline||r.fontStyle&be.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var zp=wo;function jp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Za(e,n,s),codeToTokens:(n,s)=>Ya(e,n,s)},o=zp(Za(e,t,a,r));for(let n of Ja(a))o=n.postprocess?.call(r,o,a)||o;return o}var Wi={light:"#333333",dark:"#bbbbbb"},Gi={light:"#fffffe",dark:"#1e1e1e"},Vi="__shiki_resolved";function Po(e){if(e?.[Vi])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"?Wi.light:Wi.dark),a||(a=t.type==="light"?Gi.light:Gi.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 d={...i,settings:{...i.settings}};if(l){let c=s(i.settings.foreground);t.colorReplacements[c]=i.settings.foreground,d.settings.foreground=c}if(u){let c=s(i.settings.background);t.colorReplacements[c]=i.settings.background,d.settings.background=c}return d});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,Vi,{enumerable:!1,writable:!1,value:!0}),t}async function Zi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!ji(t)).map(async t=>await zi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function el(e){return(await Promise.all(e.map(async a=>$i(a)?null:Po(await zi(a))))).filter(a=>!!a)}var Io=3,$p=!1;function Xp(e,t=3){if(Io&&!(typeof Io=="number"&&t>Io)){if($p)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var lt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function tl(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 lt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Co=class extends Ii{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=Po(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=ia.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=tl(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 lt(`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))}},So=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}},pa=0;function Kp(e){pa+=1,e.warnings!==!1&&pa>=10&&pa%10===0&&console.warn(`[Shiki] ${pa} 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 lt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Po),o=new So(e.engine,a),n=new Co(o,r,a,e.langAlias),s;function i(g){return tl(g,e.langAlias)}function l(g){w();let x=n.getGrammar(typeof g=="string"?g:g.name);if(!x)throw new lt(`Language \`${g}\` not found, you may need to load it first`);return x}function u(g){if(g==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let x=n.getTheme(g);if(!x)throw new lt(`Theme \`${g}\` not found, you may need to load it first`);return x}function d(g){w();let x=u(g);s!==g&&(n.setTheme(x),s=g);let S=n.getColorMap();return{theme:x,colorMap:S}}function c(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...g){w(),n.loadLanguages(g.flat(1))}async function m(...g){return p(await Zi(g))}function C(...g){w();for(let x of g.flat(1))n.loadTheme(x)}async function L(...g){return w(),C(await el(g))}function w(){if(t)throw new lt("Shiki instance has been disposed")}function I(){t||(t=!0,n.dispose(),pa-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:L,loadThemeSync:C,dispose:I,[Symbol.dispose]:I}}async function Qp(e){e.engine||Xp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([el(e.themes||[]),Zi(e.langs||[]),e.engine]);return Kp({...e,themes:t,langs:a,engine:r})}async function Jp(e){let t=await Qp(e);return{getLastGrammarState:(...a)=>Ep(t,...a),codeToTokensBase:(a,r)=>To(t,a,r),codeToTokensWithThemes:(a,r)=>Yi(t,a,r),codeToTokens:(a,r)=>Ya(t,a,r),codeToHast:(a,r)=>Za(t,a,r),codeToHtml:(a,r)=>jp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function al(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(c){if(typeof c=="string"){if(c=n.langAlias?.[c]||c,ji(c))return[];let f=t[c];if(!f)throw new le(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}function i(c){if($i(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new le(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Jp({engine:n.engine??r(),...n,themes:l,langs:u});return{...d,loadLanguage(...c){return d.loadLanguage(...c.map(s))},loadTheme(...c){return d.loadTheme(...c.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function Yp(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 rl(e,t){let a=Yp(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 Ao=[{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-PU3MXNBE.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-WMZKXXGP.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-YU3KF3Y6.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-YKL22AM4.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-YD3RINFS.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-AUUIRTAZ.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-44UF6IIM.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-ZJ4WTHOY.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-ZF7YKJP7.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-TKADNZF5.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-WFYWDU2O.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-HCRIHDCF.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-7EKNR6OR.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-G4Q6FSTL.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-2AGKXLI2.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-K2EDFFOP.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-YEOV5OY7.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-I5IJFJ2O.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-JXWLGPJS.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-HORNVRGS.js"))},{id:"php",name:"PHP",import:(()=>import("../php-JGPDZKQ3.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-3YFWZUJ6.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-7T4OK2LD.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-SR6APMGO.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-IYOQSPDU.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-WHPD3NJL.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-VI6LYHRW.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-MU4UAPH3.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-OY2C64LG.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-M6XWA362.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"))}],ol=Object.fromEntries(Ao.map(e=>[e.id,e.import])),nl=Object.fromEntries(Ao.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ha={...ol,...nl};var Zp=[{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"))}],sl=Object.fromEntries(Zp.map(e=>[e.id,e.import]));var ga=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function em(){return 2147483648}function tm(){return typeof performance<"u"?performance.now():Date.now()}var am=(e,t)=>e+(t-e%t)%t;async function rm(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,C){r.HEAPU8.copyWithin(p,m,m+C)}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 C=em();if(p>C)return!1;for(let L=1;L<=4;L*=2){let w=m*(1+.2/L);w=Math.min(w,p+100663296);let I=Math.min(C,am(Math.max(p,w),65536));if(s(I))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,C=1024){let L=m+C,w=m;for(;p[w]&&!(w>=L);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let I="";for(;m<w;){let g=p[m++];if(!(g&128)){I+=String.fromCharCode(g);continue}let x=p[m++]&63;if((g&224)===192){I+=String.fromCharCode((g&31)<<6|x);continue}let S=p[m++]&63;if((g&240)===224?g=(g&15)<<12|x<<6|S:g=(g&7)<<18|x<<12|S<<6|p[m++]&63,g<65536)I+=String.fromCharCode(g);else{let M=g-65536;I+=String.fromCharCode(55296|M>>10,56320|M&1023)}}return I}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:tm,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:c,wasi_snapshot_preview1:c});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=d}return await f(),r}var om=Object.defineProperty,nm=(e,t,a)=>t in e?om(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,xe=(e,t,a)=>nm(e,typeof t!="symbol"?t+"":t,a),Ce=null;function sm(e){throw new ga(e.UTF8ToString(e.getLastOnigError()))}var rr=class e{constructor(t){xe(this,"utf16Length"),xe(this,"utf8Length"),xe(this,"utf16Value"),xe(this,"utf8Value"),xe(this,"utf16OffsetToUtf8"),xe(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 d=t.charCodeAt(u),c=d,f=!1;if(d>=55296&&d<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(c=(d-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),c<=127?s[l+0]=u:c<=2047?(s[l+0]=u,s[l+1]=u):c<=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)),c<=127?i[l++]=c:c<=2047?(i[l++]=192|(c&1984)>>>6,i[l++]=128|(c&63)>>>0):c<=65535?(i[l++]=224|(c&61440)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0):(i[l++]=240|(c&1835008)>>>18,i[l++]=128|(c&258048)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&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}},or=class Xe{constructor(t){if(xe(this,"id",++Xe.LAST_ID),xe(this,"_onigBinding"),xe(this,"content"),xe(this,"utf16Length"),xe(this,"utf8Length"),xe(this,"utf16OffsetToUtf8"),xe(this,"utf8OffsetToUtf16"),xe(this,"ptr"),!Ce)throw new ga("Must invoke loadWasm first.");this._onigBinding=Ce,this.content=t;let a=new rr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Xe._sharedPtrInUse?(Xe._sharedPtr||(Xe._sharedPtr=Ce.omalloc(1e4)),Xe._sharedPtrInUse=!0,Ce.HEAPU8.set(a.utf8Value,Xe._sharedPtr),this.ptr=Xe._sharedPtr):this.ptr=a.createString(Ce)}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===Xe._sharedPtr?Xe._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};xe(or,"LAST_ID",0);xe(or,"_sharedPtr",0);xe(or,"_sharedPtrInUse",!1);var il=or,Mo=class{constructor(t){if(xe(this,"_onigBinding"),xe(this,"_ptr"),!Ce)throw new ga("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new rr(t[i]);a[i]=u.createString(Ce),r[i]=u.utf8Length}let o=Ce.omalloc(4*t.length);Ce.HEAPU32.set(a,o/4);let n=Ce.omalloc(4*t.length);Ce.HEAPU32.set(r,n/4);let s=Ce.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)Ce.ofree(a[i]);Ce.ofree(n),Ce.ofree(o),s===0&&sm(Ce),this._onigBinding=Ce,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 il(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++],d=i[l++],c=[];for(let f=0;f<d;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:c}}};function im(e){return typeof e.instantiator=="function"}function lm(e){return typeof e.default=="function"}function um(e){return typeof e.data<"u"}function dm(e){return typeof Response<"u"&&e instanceof Response}function cm(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 ar;function fm(e){if(ar)return ar;async function t(){Ce=await rm(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),im(r)?r=await r.instantiator(a):lm(r)?r=await r.default(a):(um(r)&&(r=r.data),dm(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await pm(r)(a):r=await mm(r)(a):cm(r)?r=await Ro(r)(a):r instanceof WebAssembly.Module?r=await Ro(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Ro(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return ar=t(),ar}function Ro(e){return t=>WebAssembly.instantiate(e,t)}function pm(e){return t=>WebAssembly.instantiateStreaming(e,t)}function mm(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ll(e){return e&&await fm(e),{createScanner(t){return new Mo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new il(t)}}}var nr=al({langs:ha,themes:sl,engine:()=>ll(import("../wasm-EOPKAILK.js"))}),{codeToHtml:hm,codeToHast:gm,codeToTokens:wm,codeToTokensBase:xm,codeToTokensWithThemes:Im,getSingletonHighlighter:Lm,getLastGrammarState:Cm}=rl(nr,{guessEmbeddedLanguages:Ki});var ul=new Set(Object.keys(ha)),Fo=new Map,Do=new Map,Dt=new Map,Sm=(e,t)=>`${e}-${t[0]}-${t[1]}`,ym=(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}`},bm=(e,t)=>{let a=Sm(e,t);if(Fo.has(a))return Fo.get(a);let r=nr({themes:t,langs:[e]});return Fo.set(a,r),r};function km(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return ul.has(r)},getSupportedLanguages(){return Array.from(ul)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=ym(r,o,n);return Do.has(i)?Do.get(i):(s&&(Dt.has(i)||Dt.set(i,new Set),Dt.get(i).add(s)),bm(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",d=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Do.set(i,d);let c=Dt.get(i);if(c){for(let f of c)f(d);Dt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Dt.delete(i)}),null)}}}var dl=km();import{memo as Am}from"react";import{useEffect as Tm,useRef as sr,useState as vm}from"react";var Pm=5,cl=400;function fl(e,t,a={}){let{msPerChar:r=Pm}=a,[o,n]=vm(t?"":e),s=sr(e),i=sr(t?0:e.length),l=sr(0),u=sr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Tm(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>cl&&(i.current=s.current.length-cl),u.current!==null)return;let c=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 C=Math.min(Math.floor(m/r),p.length-i.current);i.current+=C,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(c)};return u.current=requestAnimationFrame(c),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as ir}from"react/jsx-runtime";var Eo=({className:e,from:t,children:a,...r})=>ir("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:ir("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Bo=({children:e,className:t,...a})=>ir("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}),Rm={cjk:ao,code:dl},Mm={cjk:ao},Fm={enabled:!1};function Dm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=fl(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ir(Ot,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Fm,plugins:a?Mm:Rm,...o,children:i})}var lr=Am(Dm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);lr.displayName="MessageResponse";import{jsx as pl,jsxs as Em}from"react/jsx-runtime";function ml(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function hl(e){return e.parts.some(ml)}function gl(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=>!(!ml(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function wl({className:e,...t}){let{t:a}=K();return Em("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:[pl(Kt,{className:"ww:size-4 ww:shrink-0"}),pl(qe,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as wa,jsxs as Bm}from"react/jsx-runtime";function xl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Bm("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&&wa("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}),wa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&wa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&wa("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)=>wa("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 _m}from"react";import{jsx as _o,jsxs as Om}from"react/jsx-runtime";function Um({onRetry:e}){let{t}=K();return Om("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:[_o("span",{children:t.widgetErrorBoundary.failedToLoad}),_o("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var ur=class extends _m{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?_o(Um,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Nm,jsx as oe,jsxs as dt}from"react/jsx-runtime";function Uo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Il(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?zt:pt}function Ll({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:C}){let{t:L}=K(),w=e[e.length-1],I=e.length>0,g=c!=null,x=!g&&gl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return dt(Nm,{children:[!g&&(!I&&r?oe(xl,{...r,onSuggestionSelect:o}):a&&oe(Eo,{from:"assistant",children:oe(Bo,{children:oe(lr,{children:a})})})),e.map(S=>{let M=S.parts.filter(T=>T.type==="text"),E=S.parts.filter(T=>T.type==="reasoning"),P=S.parts.filter(T=>T.type==="file"),Z=os(S.metadata),R=S.parts.filter(T=>"toolCallId"in T),A=S.parts.filter(T=>T.type==="reasoning"||"toolCallId"in T),N=S===w&&S.role==="assistant",z=M.length>0,Q=g?R.some(T=>T.toolCallId===c):!1,j=p!==!1&&!Q&&A.length>=2;return g&&!Q?oe("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!hl(S)?oe("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!z&&P.length===0&&R.every(T=>{let y="output"in T?T.output:void 0;return y===void 0||!n||!Jt(T.toolName,y,m)})?oe("div",{style:{display:"none"}},S.id):dt(Eo,{from:S.role,className:C?.message,children:[p!==!1&&!Q&&!j&&E.map((T,y)=>dt(ta,{isStreaming:T.state==="streaming",children:[oe(aa,{}),oe(ra,{children:T.text})]},`reasoning-${S.id}-${y}`)),j&&(()=>{let T=A[A.length-1],y=T.type==="reasoning"?{icon:Qe,label:L.reasoning.thinking}:{icon:Il(T.toolName),label:T.title??Uo(T.toolName)};return dt(Rs,{isWorking:N&&(t==="streaming"||t==="submitted"),activeStep:y,children:[oe(Ms,{workingLabel:L.chainOfThought.working,label:L.chainOfThought.done}),oe(Fs,{children:A.map((U,ge)=>{let q=ge===A.length-1;if(U.type==="reasoning")return oe(Es,{isStreaming:U.state==="streaming",isLast:q,children:U.text},`reasoning-${S.id}-${ge}`);let Pe=U.title??Uo(U.toolName),ne=Il(U.toolName);if(p==="titles-only")return oe(Zr,{icon:ne,title:Pe,state:U.state,isLast:q},U.toolCallId);let b="output"in U?U.output:void 0;return dt(Zr,{icon:ne,title:Pe,state:U.state,isLast:q,children:[oe(qr,{input:U.input,debug:f}),b!==void 0&&oe(Wr,{output:b,errorText:"errorText"in U?U.errorText:void 0,debug:f})]},U.toolCallId)})})]})})(),p!==!1&&!Q&&!j&&R.length===1&&(()=>{let T=R[0],y=T.title??Uo(T.toolName);if(p==="titles-only")return oe(Xn,{title:y,state:T.state});let U="output"in T?T.output:void 0;return dt(jn,{children:[oe($n,{title:y,state:T.state}),dt(Kn,{children:[oe(qr,{input:T.input,debug:f}),U!==void 0&&oe(Wr,{output:U,errorText:"errorText"in T?T.errorText:void 0,debug:f})]})]})})(),R.map(T=>{let y="output"in T?T.output:void 0,U=Jt(T.toolName,y,m),ge=Qn(T.toolName,y,m),q=T.toolCallId===c;return U&&n&&y!==void 0?oe("div",{style:q?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:U&&n&&y!==void 0&&oe(ur,{children:oe(Yt,{isFullscreen:q,resourceUri:U,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:ge,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Pe=>d(Pe,{toolCallId:T.toolCallId,resourceUri:U,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},autoHeight:ge}):void 0})})},T.toolCallId):null}),!Q&&Z.length>0&&oe(ns,{documents:Z}),!Q&&oe("div",{children:dt(Bo,{className:k(S.role==="user"?C?.userBubble:C?.assistantBubble),children:[P.length>0&&oe(as,{files:P}),z?M.map((T,y)=>{let U=N&&t==="streaming"&&y===M.length-1;return oe(lr,{isStreaming:U,children:T.type==="text"?T.text:""},`${S.id}-${y}`)}):null]})})]},S.id)}),x&&oe(wl,{})]})}import{jsx as Cl,jsxs as Wm}from"react/jsx-runtime";var Hm="https://app.waniwani.ai/assets/waniwani-logo.svg",qm="https://waniwani.ai";function Sl(){let{t:e}=K();return Wm("a",{href:qm,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:[Cl("span",{children:e.poweredBy.label}),Cl("img",{src:Hm,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 yl({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-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border 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 Gm,useRef as Vm,useState as zm}from"react";import{jsx as ue,jsxs as Lt}from"react/jsx-runtime";var bl=20;function jm({label:e}){return Lt("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:[ue("title",{children:e}),ue("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ue("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function $m({label:e}){return Lt("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:[ue("title",{children:e}),ue("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ue("polyline",{points:"3 4 3 9 8 9"}),ue("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ue("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Xm({label:e}){return Lt("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:[ue("title",{children:e}),ue("polyline",{points:"3 6 5 6 21 6"}),ue("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ue("path",{d:"M10 11v6"}),ue("path",{d:"M14 11v6"})]})}function kl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=K(),[i,l]=zm(!1),u=Vm(null);Gm(()=>{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 d=e.slice(0,bl),c=Math.max(0,e.length-bl);return Lt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ue("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:ue(jm,{label:s.threadMenu.newChat})}),ue("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:ue($m,{label:s.threadMenu.threadHistory})}),i&&Lt("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:[d.length===0&&ue("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return Lt("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:[Lt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ue("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),ue("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ur(m,n)})]}),ue("button",{type:"button",onClick:C=>{C.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:ue(Xm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&ue("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(c)})]})]})}import{createContext as Km,useContext as Qm}from"react";function Tl(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 vl(){return{subscribe(){return()=>{}},emit(){}}}var Pl=Km(vl());function cr(){return Qm(Pl)}var Al=Pl.Provider;import{useCallback as Ym,useRef as Zm}from"react";function Ye(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}var Jm="/api/mcp/";function fr(e,t){let[a=""]=e.split("?"),r="",o=a;try{let n=new URL(a);r=n.origin,o=n.pathname}catch{if(!a.startsWith("/"))return null}return o.startsWith(Jm)?`${r}${t}`:null}function Rl(e){let t=Zm(e);return t.current=e,Ym(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=Ye(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 yh}from"@ai-sdk/react";import{useCallback as he,useEffect as _e,useRef as ce,useState as ct}from"react";var eh="/api/mcp/modules/documents",th=2e4,ah=3e5,Oe=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function Ml(e,t){return fr(e,`${eh}${t}`)}function rh(e){return Ml(e,"/upload-url")}function Fl(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function oh(e){let t=e?.data;if(typeof t?.documentId!="string"||typeof t.uploadUrl!="string"||!(t.documentId&&t.uploadUrl))return null;let a={};for(let[r,o]of Object.entries(t.headers??{}))typeof o=="string"&&(a[r]=o);return{documentId:t.documentId,uploadUrl:t.uploadUrl,headers:a}}function nh(e){return e===403?new Oe("upload_disabled","This agent does not accept document uploads."):e===413?new Oe("max_file_size","That file is too large."):e===422||e===400?new Oe("accept","That file type is not accepted."):new Oe("upload_failed",`The upload could not be started (${e}).`)}function sh(e){return new Promise((t,a)=>{let r=new XMLHttpRequest;r.open("PUT",e.url,!0);for(let[s,i]of Object.entries(e.headers))r.setRequestHeader(s,i);r.timeout=ah;let o=()=>r.abort();e.signal.addEventListener("abort",o,{once:!0});let n=()=>e.signal.removeEventListener("abort",o);r.upload.onprogress=s=>{s.lengthComputable&&s.total>0&&e.onProgress?.(s.loaded/s.total)},r.onload=()=>{if(n(),r.status>=200&&r.status<300||r.status===412){e.onProgress?.(1),t();return}a(new Oe("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new Oe("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new Oe("upload_failed","The upload timed out."))},r.onabort=()=>{n(),a(e.signal.reason instanceof Error?e.signal.reason:new Error("aborted"))},r.send(e.file)})}async function pr(e){let t=Ml(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:Fl(e.headers,e.uploadHeaders)})}catch{}}async function Dl(e){e.signal.throwIfAborted();let t=rh(e.api);if(!t)throw new Oe("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),th),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=Fl(e.headers,e.uploadHeaders);i.set("Content-Type","application/json"),n=await fetch(t,{method:"POST",headers:i,signal:a.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(i){throw e.signal.aborted?i:new Oe("upload_failed","The upload could not be started.")}finally{clearTimeout(r),e.signal.removeEventListener("abort",o)}if(!n.ok)throw nh(n.status);let s=oh(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new Oe("upload_failed","The upload could not be started.");return await sh({url:s.uploadUrl,headers:s.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:s.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as ih,uiMessageChunkSchema as lh}from"ai";function uh(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 mr=class extends ih{processResponseStream(t){let a="",r=lh(),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 d=u.slice(5).trim();if(d!=="[DONE]")try{let c=JSON.parse(d);if(!o){s.enqueue(c);continue}let f=await o(c);if(f.success){s.enqueue(f.value);continue}let p=uh(f.error);if(p?.length){let m={...c};for(let L of p)delete m[L];let C=await o(m);C.success&&s.enqueue(C.value)}}catch{}}}}))}};var dh="waniwani-memory";var Be="threads",hr="by_memoryUserId",ch="by_updatedAt";var Bl="memoryUserId",El="waniwani-memory-user-id",Oo=null;function No(){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 fh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(hr,"memoryUserId",{unique:!1}),a.createIndex(ch,"updatedAt",{unique:!1})}}async function Ho(){return new Promise((e,t)=>{let a=indexedDB.open(dh,2);a.onupgradeneeded=r=>{fh(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function ph(){return Ho()}async function mh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Bl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function hh(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Bl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function gh(){if(typeof indexedDB>"u")return null;try{let e=await ph();try{let t=await mh(e);if(t)return t;let a=No();return await hh(e,a),a}finally{e.close()}}catch{return null}}function wh(){try{let e=localStorage.getItem(El);if(e)return e;let t=No();return localStorage.setItem(El,t),t}catch{return null}}async function _l(){let e=await gh();if(e)return e;let t=wh();return t||(Oo||(Oo=No()),Oo)}var Ul=50,Ol=1e3;function gr(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 wr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Ho(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function qo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Wo(e){return await wr(async a=>{let n=a.transaction(Be,"readonly").objectStore(Be).index(hr),i=(await qo(n.getAll(e))??[]).filter(gr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function xr(e){return await wr(async a=>{let o=a.transaction(Be,"readonly").objectStore(Be),n=await qo(o.get(e));return gr(n)?n:null})??null}async function Go(e){if(!gr(e))return;let t=e.messages.length>Ol?{...e,messages:e.messages.slice(e.messages.length-Ol)}:e;await wr(async a=>{await new Promise((l,u)=>{let d=a.transaction(Be,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(Be).put(t)});let r=a.transaction(Be,"readwrite"),o=r.objectStore(Be),n=o.index(hr),i=(await qo(n.getAll(t.memoryUserId))??[]).filter(gr);if(i.length>Ul){i.sort((u,d)=>u.updatedAt<d.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 Nl(e){await wr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Be,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Be).delete(e)}),null))}async function Vo(e){return(await Wo(e))[0]?.threadId??null}function Hl(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 zo="waniwani-visitor-id";function xh(){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 Ke(){try{let t=localStorage.getItem(zo);if(t)return t}catch{}let e=xh();try{localStorage.setItem(zo,e)}catch{}return e}function jo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Ke();try{localStorage.setItem(zo,t)}catch{}return t}function Ih(e){return e!=null&&typeof e.then=="function"}function $o(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 Ih(r)?r.then(o=>{t||jo(o??"")},()=>{}):jo(r??""),a}function ql(e,t){return e.match(t)?.[1]??null}function Lh(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=ql(e,r);if(o)return{name:a,version:o}}return null}function Ch(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=ql(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function Sh(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 xa(){let e=navigator.userAgent,t=Ke(),a=await _l();return{userAgent:e,browser:Lh(e),os:Ch(e),deviceType:Sh(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 bh="x-session-id",kh=250,Th=200;function Wl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Zt()}function Ir(){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 vh(e,t){let a=Ye(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function Vl(e){let{api:t="/api/waniwani",headers:a,uploadHeaders:r,body:o,onMessageSent:n,onResponseReceived:s,enableThreadHistory:i=!1,activeThreadId:l,onThreadChange:u}=e,d=e.visitorId;_e(()=>$o(d),[d]);let c=cr(),f=ce(a),p=ce(r),m=ce(o),C=ce(i);_e(()=>{C.current=i},[i]);let L=ce(void 0),w=ce(void 0),I=ce(null),[g,x]=ct(void 0),S=ce(g),[M,E]=ct(l),P=ce(M),[Z,R]=ct([]),[A,N]=ct(!i),z=ce(void 0),Q=ce(void 0),j=ce(void 0),T=ce(void 0),y=ce(0),U=ce(u);_e(()=>{U.current=u},[u]);let ge=he(h=>{P.current=h,E(h),h&&(U.current?.(h),c.emit({name:"thread.changed",sessionId:S.current,properties:{threadId:h}}))},[c]),q=he(async()=>{if(!i)return;let h=I.current?.memoryUserId;if(!h)return;let D=await Wo(h);R(D)},[i]),Pe=he(()=>S.current,[]),ne=he(h=>{let D=Gl(h);if(!D||S.current===D)return;let B=S.current===void 0;S.current=D,x(D),B&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),b=he(()=>{S.current=void 0,x(void 0)},[]);_e(()=>{f.current=a,p.current=r},[a,r]),_e(()=>{m.current=o},[o]),_e(()=>{let h=!1,D=y.current;return(async()=>{try{let se=await xa();if(h)return;I.current=se}catch{}if(!i)return;let B=I.current?.memoryUserId;if(!B){N(!0);return}try{let se=l??await Vo(B);if(h||D!==y.current)return;if(se){let Ie=await xr(se);if(h||D!==y.current)return;Ie&&Ie.memoryUserId===B&&(P.current=Ie.threadId,E(Ie.threadId),z.current=Ie.createdAt,Q.current=Ie.title,Ie.sessionId&&(S.current=Ie.sessionId,x(Ie.sessionId)),_(Ie.messages))}await q()}finally{h||N(!0)}})(),()=>{h=!0}},[]);let W=ce(new mr({api:t,headers:()=>({...f.current}),body:()=>{let h={...m.current??{}},D=Object.hasOwn(h,"sessionId"),B=Gl(h.sessionId);if(B)ne(B),h.sessionId=B;else if(D)b(),delete h.sessionId;else{let Pr=Pe();Pr&&(h.sessionId=Pr)}kt(L.current)&&(h.modelContext=L.current),w.current?.length&&(h.documents=w.current);let se=I.current,Ie=Ke();se&&(h.visitorContext={timezone:se.timezone,language:se.language,languages:se.languages,deviceType:se.deviceType,referrer:se.referrer,visitorId:Ie});let fe=typeof h.visitor=="object"&&h.visitor!==null?h.visitor:{},Gu=typeof fe.client=="object"&&fe.client!==null?fe.client:{};h.visitor={...fe,id:Ie,client:{...Gu,...se&&{memoryUserId:se.memoryUserId}}};let wn=typeof h.extra=="object"&&h.extra!==null&&!Array.isArray(h.extra)?h.extra:void 0,xn=I.current?.memoryUserId,In=I.current?.language,Sa={};if(xn&&(Sa.memoryUserId=xn),In&&(Sa.locale=In),(Object.keys(Sa).length>0||wn)&&(h.extra={...Sa,...wn??{}}),C.current)if(Object.hasOwn(h,"threadId"))typeof h.threadId=="string"&&(P.current=h.threadId);else{let ya=P.current;ya||(ya=Wl(),z.current=Ir(),Q.current=void 0,ge(ya)),h.threadId=ya}return h},fetch:(async(h,D)=>{try{let B=await fetch(h,D);return L.current=void 0,ne(B.headers.get(bh)),B}finally{w.current=void 0}})})),O=ce(null),H=ce(null),Se=ce({}),[ee,ae]=ct(0),J=e.skipRemoteConfig===!0,F=he(async()=>{if(!J)try{let h=await vh(t,f.current);Se.current=h,ae(D=>D+1)}catch(h){console.warn("[Waniwani] Failed to fetch tool definitions:",h instanceof Error?h.message:h)}},[t,J]);_e(()=>{F()},[F]);let{messages:G,sendMessage:$,setMessages:_,status:V,stop:te}=yh({messages:e.initialMessages,transport:W.current,onFinish({message:h,isAbort:D,isDisconnect:B,isError:se}){s?.(),!D&&!B&&!se&&c.emit({name:"message.received"}),O.current&&(H.current=h)},onError(h){console.warn("[Waniwani] Chat error:",h.message),c.emit({name:"chat.error",properties:{message:h.message.slice(0,Th)}}),O.current&&(O.current.reject(h),O.current=null)}}),Me=ce(G);_e(()=>{Me.current=G},[G]);let[Ae,Ve]=ct(!1),tt=he(async()=>{Ve(!0);try{await te();let h=S.current;if(!h)return;await fetch(Ye(t,"/cancel"),{method:"POST",headers:{"Content-Type":"application/json",...f.current},body:JSON.stringify({sessionId:h})})}catch{}finally{Ve(!1)}},[t,te]),Ut=ce(i);_e(()=>{if(!i||Ut.current||(Ut.current=!0,Me.current.length>0))return;let h=!1,D=y.current;return N(!1),(async()=>{try{let B=I.current;if(!B)try{B=await xa(),I.current=B}catch{}let se=B?.memoryUserId;if(!se||h||D!==y.current){h||N(!0);return}let Ie=l??await Vo(se);if(h||D!==y.current)return;if(Ie){let fe=await xr(Ie);if(h||D!==y.current)return;fe&&fe.memoryUserId===se&&(P.current=fe.threadId,E(fe.threadId),z.current=fe.createdAt,Q.current=fe.title,fe.sessionId&&(S.current=fe.sessionId,x(fe.sessionId)),_(fe.messages))}await q()}finally{h||N(!0)}})(),()=>{h=!0}},[i]),_e(()=>{if(V==="ready"&&O.current&&H.current){let h=O.current,D=H.current;O.current=null,H.current=null,h.resolve(D)}},[V]);let[kr,Ne]=ct(""),[v,X]=ct([]),de=ce([]);de.current=v;let ke=V==="submitted"||V==="streaming",He=he(h=>{for(let D of h)for(let B of D.documents??[])pr({documentId:B.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),Fe=he(()=>{He(de.current),X([])},[He]),Tr=he(h=>{let D=de.current.find(B=>B.id===h);D&&He([D]),X(B=>B.filter(se=>se.id!==h))},[He]),Eu=ke&&v.length>0,Bu=he(h=>{let D=!!h.text?.trim(),B=!!(h.files?.length||h.documents?.length);if(D||B){if(ke){if(v.length>0)return;X(se=>[...se,{id:Zt(),text:h.text||"",files:h.files??[],documents:h.documents??[],modelContext:h.modelContext}]),Ne("");return}L.current=h.modelContext,w.current=h.documents,$({text:h.text||"",files:h.files,...h.documents?.length&&{metadata:{documents:h.documents}}}),n?.(h.text||""),c.emit({name:"message.sent"}),Ne("")}},[$,n,ke,v.length,c]),_u=he(h=>new Promise((D,B)=>{O.current={resolve:D,reject:B},$({text:h}),n?.(h),c.emit({name:"message.sent"})}),[$,n,c]);_e(()=>{if(V!=="ready"||Ae||v.length===0)return;let[h,...D]=v;X(D),L.current=h.modelContext,w.current=h.documents,$({text:h.text,files:h.files.length>0?h.files:void 0,...h.documents.length>0&&{metadata:{documents:h.documents}}}),n?.(h.text),c.emit({name:"message.sent"})},[V,Ae,$,n,v,c]);let Uu=he(()=>{_([]),Fe(),b(),Ne(""),Se.current={},ae(h=>h+1),F()},[_,b,F,Fe]),La=he(()=>{if(!C.current)return;let h=I.current?.memoryUserId,D=P.current,B=Me.current;if(!(!h||!D||B.length===0)){if(z.current||(z.current=Ir()),!Q.current){let se=B.find(fe=>fe.role==="user"),Ie=se?se.parts.map(fe=>"text"in fe&&typeof fe.text=="string"?fe.text:"").join(" "):"";Q.current=Hl(Ie)}return{threadId:D,memoryUserId:h,title:Q.current,messages:B,sessionId:S.current,createdAt:z.current,updatedAt:Ir()}}},[]),mn=he(async()=>{let h=La();h&&(await Go(h),await q())},[La,q]);_e(()=>{if(i&&A&&!(V==="submitted"||V==="streaming")&&G.length!==0)return j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{j.current=void 0;let h=mn().finally(()=>{T.current===h&&(T.current=void 0)});T.current=h},kh),()=>{j.current&&clearTimeout(j.current)}},[i,A,G,V,mn]);let Ca=he(()=>{let h=T.current,D=j.current,B=D?La():void 0;return D&&(clearTimeout(D),j.current=void 0),(async()=>{h&&await h,B&&(await Go(B),await q())})()},[La,q]),Ou=he(()=>{y.current+=1,Ca(),_([]),Fe(),b(),Ne("");let h=Wl();return z.current=Ir(),Q.current=void 0,ge(h),q(),h},[_,b,ge,q,Ca,Fe]),vr=he(async h=>{y.current+=1;let D=y.current;if(await Ca(),D!==y.current)return;let B=await xr(h);D===y.current&&B&&(B.sessionId?(S.current=B.sessionId,x(B.sessionId)):b(),ge(B.threadId),z.current=B.createdAt,Q.current=B.title,_(B.messages),Fe(),Ne(""))},[_,b,ge,Ca,Fe]),Nu=he(async h=>{if(P.current===h){y.current+=1,j.current&&(clearTimeout(j.current),j.current=void 0);let D=T.current;D&&await D}await Nl(h),await q(),P.current===h&&(_([]),Fe(),b(),Ne(""),P.current=void 0,E(void 0),z.current=void 0,Q.current=void 0)},[_,b,q,Fe]);_e(()=>{i&&A&&l!==void 0&&l!==P.current&&vr(l)},[l,i,A,vr]);let Hu=he(h=>{Ne(h.target.value)},[]),hn=G[G.length-1],gn=G.length>0,qu=ke&&(!gn||hn.role==="user"),Wu=Se.current;return{messages:G,status:V,text:kr,setText:Ne,handleSubmit:Bu,handleTextChange:Hu,isLoading:ke,showLoaderBubble:qu,lastMessage:hn,hasMessages:gn,sendMessage:$,sendMessageAndWait:_u,stop:tt,reset:Uu,queuedMessages:v,queueFull:Eu,removeQueuedMessage:Tr,sessionId:g,toolDefinitions:Wu,refreshToolDefinitions:F,threads:Z,activeThreadId:M,isThreadHistoryReady:A,startNewThread:Ou,switchThread:vr,deleteThread:Nu}}import{useCallback as zl,useEffect as Ph,useState as Ah}from"react";var Rh=6e3;function jl(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=Ah(null),u=zl((f,p,m)=>Dl({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=zl(f=>{pr({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);Ph(()=>{if(!i)return;let f=setTimeout(()=>l(null),Rh);return()=>clearTimeout(f)},[i]);let c=n?.enabled??!1;return{enabled:n?n.enabled:!!s,accept:n?.accept.join(","),maxFileSize:n?.maxBytes,maxPdfPages:n?.maxPdfPages,maxFiles:n?.maxFiles,upload:c?u:void 0,onDiscard:c?d:void 0,error:i,reportError:l}}import{useCallback as Fh,useEffect as Qo,useMemo as Jo,useRef as Dh,useState as Ql}from"react";function Et(e){return e.map(t=>({id:null,text:t}))}function Xo(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var Ko="waniwani/suggestions";function Bt(e){return typeof e=="object"&&e!==null}function $l(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Mh(e){if(!Bt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Bt(t)||!Bt(t._meta))return null;let a=t._meta[Ko];return!Bt(a)||!$l(a.suggestions)?null:a.suggestions}function Xl(e){let t=null;for(let a of e.parts){let r=Mh(a);r!==null&&(t=r)}return t}function Kl(e){for(let t of e.parts){if(!Bt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Bt(a)&&$l(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Eh(e){return"page"in e||"channel"in e}function Bh(e){return typeof e!="object"||e===null?{}:Eh(e)?{rungs:e}:{initial:e.initial}}function Jl(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=Bh(r),i=Jo(()=>({page:null,channel:Et(s??[])}),[s]),l=n??i,u=Jo(()=>o?Xo({flow:null,followup:null,...l}):null,[o,l]),d=Jo(()=>u?.suggestions.map(g=>g.text)??[],[u]),[c,f]=Ql(d),[p,m]=Ql(u?.origin??"channel"),C=Dh(a),L=Fh(()=>{f([])},[]),w=t.length>0;Qo(()=>{w||(f(d),m(u?.origin??"channel"))},[d,u,w]);let I=t[t.length-1];return Qo(()=>{I?.role==="user"&&L()},[I,L]),Qo(()=>{let g=C.current;if(C.current=a,g!=="streaming"||a!=="ready"||!o)return;let x=[...t].reverse().find(P=>P.role==="assistant");if(!x)return;let S=Xl(x),M=Kl(x),E=Xo({flow:S===null?null:Et(S),followup:M===null?null:Et(M),page:null,channel:null});f(E?E.suggestions.map(P=>P.text):[]),m(E?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:L}}import{useEffect as _h,useRef as Uh,useState as Oh}from"react";var Nh=80,Hh=50,qh=15e3,Yl=500;function Zl(e,t=!0){let[a,r]=Oh(""),o=Uh(void 0);return _h(()=>{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,Yl)):o.current=setTimeout(l,Hh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,qh)):o.current=setTimeout(l,Nh)))};return o.current=setTimeout(l,Yl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function eu(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Ye(e,"/resource",r?{token:r}:void 0)}var tu={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",glassTint:"transparent",glassTintStrength:"0"},Wh={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"},Gh={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"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function Vh(e){return{...tu,...e}}function Yo(e){let t={};for(let[a,r]of Object.entries(Gh)){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 me,jsxs as et}from"react/jsx-runtime";var Zo=au(function(t,a){let{locale:r,messages:o}=t;return me(_r,{locale:r,messages:o,children:me(jh,{...t,ref:a})})}),jh=au(function(t,a){let{t:r,ready:o}=K(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:C,debug:L=!1,readOnly:w=!1,title:I,headerActions:g,hideHeader:x=!1,enableThreadHistory:S=!1,showToolCalls:M=!0,initializing:E=!1,onScreen:P=!0,disclaimer:Z}=t,R=n?.theme,A=n?.variables,N=n?.assistantBubble??!1,z=A?Yo(A):{},[Q,j]=Cr(!1);Ze(()=>{if(R!=="auto"||typeof window>"u")return;let v=window.matchMedia("(prefers-color-scheme: dark)");j(v.matches);let X=()=>j(v.matches);return v.addEventListener("change",X),()=>v.removeEventListener("change",X)},[R]);let T=R==="dark"||R==="auto"&&Q,y=Vl({...t,api:m}),U=cr(),ge=Rl({...t,api:m,sessionId:y.sessionId,onCallTool:C?.onCallTool}),q=C?.resourceEndpoint??eu(m,t.headers),Pe=Zl(f,!y.text),ne=jl({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:y.sessionId,documentUpload:u,allowAttachments:l}),[b,W]=Cr(null),[O,H]=Cr(null),Se=Ct(null),ee=Ct(null),ae=Ct(null),J=Ct(null),[F,G]=Cr(!0),$=Ct(F);$.current=F;let _=Lr(()=>{let v=Se.current;if(!v)return;let X=v.querySelector("textarea");X&&X.focus()},[]),V=Lr((v="smooth")=>{let X=ee.current;X&&X.scrollTo({top:X.scrollHeight,behavior:v})},[]);Ze(()=>{let v=J.current,X=ee.current;if(!v||!X)return;let de=new IntersectionObserver(([ke])=>G(ke.isIntersecting),{root:X,rootMargin:"0px 0px 200px 0px",threshold:0});return de.observe(v),()=>de.disconnect()},[]),Ze(()=>{let v=ee.current;if(!v)return;let X=de=>{let He=(de.target instanceof Element?de.target:null)?.closest("a");He?.href&&U.emit({name:"link.clicked",properties:{url:He.href}})};return v.addEventListener("click",X),()=>v.removeEventListener("click",X)},[U]),Ze(()=>{(y.messages[y.messages.length-1]?.role==="user"||$.current)&&V("smooth")},[y.messages.length,y.messages[y.messages.length-1]]),Ze(()=>{V("auto")},[V]),Ze(()=>{if(typeof ResizeObserver>"u")return;let v=ee.current,X=ae.current;if(!v&&!X)return;let de=v?.scrollHeight??0,ke=v?.clientHeight??0,He=new ResizeObserver(()=>{let Fe=ee.current;if(!Fe)return;let Tr=Fe.scrollTop+ke>=de-5;de=Fe.scrollHeight,ke=Fe.clientHeight,Tr&&V("auto")});return v&&He.observe(v),X&&He.observe(X),()=>He.disconnect()},[V]);let te=Jl({messages:y.messages,status:y.status,suggestions:t.suggestions}),Me=Ct(null);Ze(()=>{let v=te.suggestions;!P||v.length===0||Me.current===v||(Me.current=v,U.emit({name:"suggestions.shown",properties:{texts:v,origin:te.source}}))},[te.suggestions,te.source,U,P]);let Ae=c?.suggestions,Ve=Ct(null);Ze(()=>{!P||y.messages.length>0||!Ae?.length||Ve.current===Ae||(Ve.current=Ae,U.emit({name:"suggestions.shown",properties:{texts:Ae,origin:"channel"}}))},[Ae,y.messages.length,U,P]);let tt=Lr(v=>{let X=v.content.map(de=>de.text??"").join("").trim();X&&y.handleSubmit({text:X,files:[],modelContext:v.modelContext})},[y.handleSubmit]),Ut=Lr(v=>{let X=te.suggestions.indexOf(v),de=X>=0?X:c?.suggestions?.indexOf(v)??-1,ke=X>=0?te.source:"channel";U.emit({name:"suggestion.clicked",properties:{text:v,index:de,origin:ke}}),te.clear(),y.handleSubmit({text:v,files:[]})},[te.suggestions,te.source,te.clear,y.handleSubmit,c,U]);zh(a,()=>({sendMessage:v=>{y.handleSubmit({text:v,files:[]}),_()},sendMessageAndWait:v=>y.sendMessageAndWait(v),reset:y.reset,focus:_,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,_]),Ze(()=>{if(!p)return;let v=X=>{let de=X.detail,ke=typeof de?.message=="string"?de.message:void 0;ke&&y.handleSubmit({text:ke,files:[]}),_()};return window.addEventListener(p,v),()=>window.removeEventListener(p,v)},[p,y.handleSubmit,_]);let kr=!x&&!!(I||S||g),Ne=E||!o;return et("div",{ref:Se,style:{...z,maxHeight:"inherit",...b&&O?{height:O}:{},opacity:Ne?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":N?"true":void 0,"data-color-scheme":R==="auto"?"auto":void 0,...Ne?{"data-waniwani-initializing":""}:{},...T?{"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",R==="dark"&&"dark",s,i?.root),children:[kr&&et("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:[I&&me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:I}),!I&&me("div",{className:"ww:flex-1"}),S&&me(kl,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:v=>{y.switchThread(v)},onDeleteThread:v=>{y.deleteThread(v)}}),g]}),et("div",{ref:ee,className:k("ww:relative ww:flex-1 ww:min-h-0",b?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[et("div",{ref:ae,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",b&&"ww:!py-0"),children:[me(Ll,{messages:y.messages,status:y.status,welcomeMessage:d,welcome:c,onSuggestionSelect:Ut,resourceEndpoint:q,chatSessionId:y.sessionId,isDark:T,onFollowUp:tt,onCallTool:ge,fullscreenToolCallId:b,debug:L,showToolCalls:M,toolDefinitions:y.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(v,X)=>{if(v==="fullscreen"){let de=Se.current?.getBoundingClientRect().height??0;H(de>0?de:null),W(X.toolCallId)}else H(null),W(null)}}),me("div",{ref:J,"aria-hidden":!0,style:{height:1}})]}),!F&&!b&&me("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:me(ze,{type:"button",onClick:()=>V("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:me(Nt,{className:"ww:size-4"})})})]}),!w&&et("div",{className:"ww:shrink-0 ww:bg-background",style:b?{display:"none"}:void 0,children:[me(yl,{suggestions:te.suggestions,isLoading:te.isLoading,onSelect:Ut}),me(ys,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage}),me("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:et("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[et(ls,{onSubmit:y.handleSubmit,attachmentsEnabled:ne.enabled,globalDrop:ne.enabled,multiple:ne.enabled,accept:ne.accept,maxFileSize:ne.maxFileSize,maxPdfPages:ne.maxPdfPages,maxFiles:ne.maxFiles,upload:ne.upload,onDiscard:ne.onDiscard,onError:ne.reportError,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[me(ms,{enabled:ne.enabled}),ne.enabled&&me(ps,{className:"ww:px-4 ww:pt-3"}),et("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[ne.enabled&&me(fs,{}),me(ds,{onChange:y.handleTextChange,value:y.text,placeholder:Pe,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(cs,{status:y.status,disabled:y.queueFull,onStop:y.stop})]})]}),ne.error&&me("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:ne.error.message}),et("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[me(Sl,{}),me(hs,{text:Z})]})]})})]})]})});import{forwardRef as Gg,useEffect as br,useImperativeHandle as Vg,useMemo as fn,useRef as pn,useState as Mu}from"react";var $h="https://app.waniwani.ai/api/mcp/chat",Xh={api:$h};function Kh(){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 Qh(){let e=Kh();if(!e)return{};let t=A=>e.getAttribute(A)??void 0,a=A=>{let N=e.getAttribute(A);if(N==null)return;let z=N.trim().toLowerCase();if(z==="true"||z==="1"||z==="")return!0;if(z==="false"||z==="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 d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let f=t("data-channel-id");if(f&&(r.channelId=f),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 m=t("data-css");m&&(r.css=m);let C=t("data-suggestions");C&&(r.suggestions=C.split(",").map(A=>A.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let w=a("data-disable-page-view");w!==void 0&&(r.disablePageView=w);let I=a("data-hide-header");I!==void 0&&(r.hideHeader=I);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let x=a("data-assistant-bubble");x!==void 0&&(r.appearance={...r.appearance,assistantBubble:x});let S=t("data-locale");(S==="en"||S==="fr"||S==="es")&&(r.locale=S);let M=t("data-mode");(M==="inline"||M==="floating"||M==="composer"||M==="off")&&(r.mode=M);let E=t("data-height");E&&(r.height=E);let P=t("data-launcher-text");P&&(r.launcherText=P);let Z=t("data-appear-delay");if(Z!==void 0){let A=Number.parseInt(Z.trim(),10);Number.isFinite(A)&&A>=0&&(r.appearDelay=A)}let R=t("data-disclaimer");if(R!==void 0){let A=R.trim(),N=A.toLowerCase();N==="false"||N==="0"?r.disclaimer=!1:A&&(r.disclaimer=A)}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??Qh(),o=Jh(t,r,e),n={token:"",...Xh,...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 Jh(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 Pk,useState as Ak}from"react";function Yh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ft(...e){Yh()&&console.log("[Waniwani]",...e)}var Zh="/api/mcp/events/v2/batch",an=new Set;function eg(e,t,a){return`${e}|${t}|${a??""}`}function Ia(e){return fr(e,Zh)}async function rn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Ia(t);if(!s){ft("page.viewed skipped: the chat api is not a Waniwani endpoint");return}if(!r&&!n){ft("page.viewed skipped: no channelId or source to attribute it");return}let i=eg(t,a,r);if(!an.has(i)){an.add(i);try{let l=await xa(),u=new Date().toISOString(),d=JSON.stringify({sentAt:u,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:u,correlation:{visitorId:l.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:l.referrer,deviceType:l.deviceType,language:l.language,timezone:l.timezone},metadata:{}}]});await fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:d,keepalive:!0})}catch{an.delete(i)}}}import{useMemo as dg}from"react";import{useEffect as og,useSyncExternalStore as ng}from"react";function tg(e){return e?.patterns??e?.rules??[]}var ru="\0\0";function ag(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ru).replace(/\\\*/g,"[^/]*").split(ru).join(".*");return new RegExp(`^${a}$`)}function rg(e,t){try{return ag(e).test(t)}catch{return!1}}function ou(e,t){if(!e)return!0;let a=!1;for(let r of tg(e))if(rg(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var on="waniwani:locationchange",nu=!1;function sg(){if(!(nu||typeof history>"u")){nu=!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(on)),o}}}}function ig(e){return sg(),window.addEventListener(on,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(on,e),window.removeEventListener("popstate",e)}}function lg(){return window.location.pathname}function ug(){return"/"}function nn(){return ng(ig,lg,ug)}function su(e,t){let a=nn(),r=t&&ou(e,a);return og(()=>{ft("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var cg=3,fg=["low","medium","high"];function sn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function pg(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of fg){let s=sn(t.get(n)??[])??sn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(cg,e.length);){let n=sn(o);if(!n)break;r.push(n)}return r}function iu(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function lu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function uu(e){let{pageSuggestions:t,suggestions:a}=e,r=nn();return dg(()=>{let o=iu(r),n=t?.find(i=>iu(i.url)===o),s=n?pg(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return ft("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Et(a??[])}},[r,t,a])}var mg="waniwani:config:";function du(e,t,a){return`${mg}${e}|${t}|${a??""}`}function Sr(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(du(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function cu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(du(e,t,a),JSON.stringify(r))}catch{}}function hg(e){if(typeof e!="object"||e===null||typeof e.enabled!="boolean")return null;let t=Array.isArray(e.accept)?e.accept.filter(r=>typeof r=="string"):[],a=r=>typeof r=="number"&&Number.isFinite(r)&&r>0;return e.enabled?a(e.maxBytes)&&a(e.maxPdfPages)&&a(e.maxFiles)&&t.length>0?{enabled:!0,maxBytes:e.maxBytes,maxPdfPages:e.maxPdfPages,maxFiles:e.maxFiles,accept:t}:null:{enabled:!1,maxBytes:0,maxPdfPages:0,maxFiles:0,accept:t}}async function fu(e,t,a,r){try{let o=Ye(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?gg(i):{}}catch{return{}}}function gg(e){let t={};e.source!=null&&(t.source=e.source),e.channelId!=null&&(t.channelId=e.channelId),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);let a=lu(e.pageSuggestions);a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),typeof e.webmcp?.enabled=="boolean"&&(t.webmcp={enabled:e.webmcp.enabled}),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);let r=hg(e.documentUpload);return r&&(t.documentUpload=r),t}import{useEffect as wg,useRef as xg}from"react";function ln(e,t){return e.find(a=>a.text===t)?.id??null}async function pu(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=Ia(t);if(i)try{let 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:r,source:o,timestamp:l,correlation:{visitorId:Ke(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{}}async function mu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await pu({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:d,channelId:r,mode:o}})}function hu(e,t){return t.map(a=>({id:ln(e,a),text:a}))}async function gu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await pu({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function wu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=xg(e.getSessionId);l.current=e.getSessionId,wg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;mu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:ln(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;gu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:hu(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function _t(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Ig=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Lg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Cg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],Sg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],yg=["waniwani/visitorId","visitorId"],bg=["correlationId","openai/requestId"];function xu(e){return e?_t(e,Ig):void 0}function Iu(e){return e?_t(e,Lg):void 0}function Lu(e){return e?_t(e,Cg):void 0}function Cu(e){return e?_t(e,Sg):void 0}function Su(e){return e?_t(e,yg):void 0}function yu(e){return e?_t(e,bg):void 0}var kg=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Tg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function bu(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 kg){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 Tg)if(r.includes(o))return n}}var vg="@waniwani/sdk";function ku(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Pg,o=Mg(e),n=yr(e.meta),s=yr(e.metadata),i=Fg(e,n),l=Ge(e.eventId)??r(),u=Dg(e.timestamp,a),d=Ge(e.source)??bu(n)??t.source??vg,c=un(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),c&&(f.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:Ag(e,o),metadata:f,rawLegacy:c}}function Pg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Ag(e,t){if(!un(e))return yr(e.properties);let a=Rg(e,t),r=yr(e.properties);return{...a,...r}}function Rg(e,t){switch(t){case"tool.called":{let a={};return Ge(e.toolName)&&(a.name=e.toolName),Ge(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return Ge(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function Mg(e){return un(e)?e.eventType:e.event}function Fg(e,t){let a=Ge(e.requestId)??Iu(t),r=Ge(e.sessionId)??xu(t),o=Ge(e.traceId)??Lu(t),n=Ge(e.externalUserId)??Cu(t),s=Ge(e.visitorId)??Su(t),i=Ge(e.correlationId)??yu(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 Dg(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 Ge(e){if(typeof e=="string"&&e.trim().length!==0)return e}function un(e){return"eventType"in e}function Tu(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 Eg="/api/mcp/events/v2/batch";var vu="@waniwani/sdk";var Bg=new Set([401,403]),_g=new Set([408,425,429,500,502,503,504]),Ug=(e,t)=>globalThis.fetch(e,t);function Pu(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=Hg(t.apiUrl,t.endpointPath??Eg),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??Ug,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":vu};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:qg(n)}}if(Bg.has(a.status))return{kind:"auth",status:a.status};if(_g.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Ng(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:vu,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(Og(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 Og(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 Ng(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Hg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function qg(e){return e instanceof Error?e.message:String(e)}function Au(e){let{apiUrl:t,endpointPath:a}=Wg(e.endpoint),r=Pu({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),d=u===void 0?i.properties:{channelId:u,...i.properties},c=ku({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:d,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(c),{eventId:c.id}};return{track:Object.assign(s,Tu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Wg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Ru(e){let t=Ia(e.api);return t?Au({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Ke()})}):cn("the chat api does not point at a Waniwani event ingest")}function cn(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 Du}from"react/jsx-runtime";var zg=600,Fu="https://app.waniwani.ai/api/mcp/chat",jg=Gg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=pn(null),d=pn(null),c=fn(()=>Tl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);br(()=>{if(l)return c.subscribe(l)},[l,c]);let f=fn(()=>({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,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?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Fu,[m,C]=Mu({}),[L,w]=Mu(!1),I=pn(!1);br(()=>{L&&!I.current&&(I.current=!0,c.emit({name:"chat.ready"}))},[L,c]);let g=i?.disablePageView;br(()=>{if(!r){w(!0);return}let P=N=>{g||rn({api:p,token:r,channelId:o??N.channelId,mode:"inline",source:N.source})},Z=Sr(p,r,o);Z&&(C(Z),w(!0),P(Z));let R=new AbortController,A=setTimeout(()=>w(!0),zg);return fu(p,r,R.signal,o).then(N=>{R.signal.aborted||(Object.keys(N).length>0&&(cu(p,r,o,N),C(N)),w(!0),P(N))}).catch(N=>{console.error("[Waniwani] Remote config fetch failed:",N),w(!0)}).finally(()=>clearTimeout(A)),()=>{R.abort(),clearTimeout(A)}},[p,r,o,g]);let x=fn(()=>tn(f,m,void 0),[f,m]),S=uu(x);wu({widgetEvents:c,api:x.api??p,token:x.token??r,channelId:x.channelId??o,source:x.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),br(()=>{if(!r)return;let P=Ru({api:p,token:r,channelId:()=>o??Sr(p,r,o)?.channelId,getSource:()=>Sr(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=P,()=>{d.current=null,P.shutdown()}},[p,r,o]),Vg(a,()=>{let P=()=>d.current??cn("no public token configured"),Z=Object.assign(R=>P().track(R),{priceShown:R=>P().track.priceShown(R),pricesCompared:R=>P().track.pricesCompared(R),optionSelected:R=>P().track.optionSelected(R),leadQualified:R=>P().track.leadQualified(R),converted:R=>P().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:Z,identify:(R,A)=>P().identify(R,A)}},[]);let M=su(x.visibility,L),E={mode:"inline"};return x.mcpServerUrl&&(E.mcpServerUrl=x.mcpServerUrl),x.channelId&&(E.channelId=x.channelId),M?Du(Al,{value:c,children:Du(Zo,{ref:u,api:x.api??Fu,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:E,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:S,enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,documentUpload:x.documentUpload,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!L})}):null});export{Zo as ChatEmbed,Wh as DARK_THEME,tu as DEFAULT_THEME,Yt as McpAppFrame,jg as WaniwaniChat,Gd as WebMcpOverlay,Vh as mergeTheme,Yo as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18
 
19
19
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: