@deepseekcode/cli 1.0.30 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ThreeScene-Zhjwe9nT.js","assets/markdown-D-c9V8Xq.js","assets/icons-Di-qMB6n.js","assets/ThreeScene-DvOrMIoG.css"])))=>i.map(i=>d[i]);
2
- var Xn=Object.defineProperty;var Yn=(n,t,s)=>t in n?Xn(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var yt=(n,t,s)=>Yn(n,typeof t!="symbol"?t+"":t,s);import{j as e,r as Zn}from"./markdown-D-c9V8Xq.js";import{a as l,g as Qn,ag as Ks,aQ as er,aR as tr,O as Ze,F as ot,T as sr,aO as nr,_ as Vs,ak as Re,d as we,K as Se,af as rr,a1 as Gt,aA as Ee,X as Ae,aS as Lt,E as Js,$ as _e,l as zt,L as Fe,u as Wt,aT as Ft,aH as ar,D as ir,k as or,aU as Xs,aw as lr,aV as Pt,aW as cr,h as Xe,al as dr,i as Ys,aX as ur,aY as pr,aZ as hr,b as mr,aq as fr,a_ as xr,aG as gr,a$ as br,U as kr,b0 as yr,b1 as vr,a0 as is,B as wr,ap as jr,b2 as Nr,n as Zs,aN as Kt,aM as Sr,a6 as Qs,ab as Er,a2 as en,b3 as Tr,b4 as Ar,ac as Cr,b5 as Ir,f as Rr,S as _r,t as Mr,b6 as ze,y as Or,b7 as Dr,m as $r,b8 as Lr,p as zr,q as Fr,j as Pr,b9 as Br}from"./icons-Di-qMB6n.js";import{D as Hr,d as le,u as ee,h as Qe,i as tn,o as sn,j as Ye,k as nn,w as me,l as Bt,b as Ie,R as rn,a as ge,t as pe,m as Ur,s as qr,r as Gr,f as lt,n as ke,p as Wr,q as Kr,_ as Vr,v as os,W as Jr,x as Xr,y as Ht,c as at,z as Ve,A as an,E as Yr,F as Zr,G as Qr,H as ea,M as ta,J as sa,K as na,L as on,N as ra,O as aa,Q as nt,S as ia,T as ln}from"./index-Dkxsd1Rx.js";import{r as oa}from"./react-vendor-DU8XgZt2.js";import{n as ls,s as la,S as ca}from"./sttLanguages-BNRptAQA.js";import"./state-D2vcUGVk.js";import"./panels-CpHTincc.js";class da extends Hr{tokenize(t){return t.slice()}join(t){return t}removeEmpty(t){return t}}const ua=new da;function pa(n,t,s){return ua.diff(n,t,s)}function cs({value:n,max:t=100,size:s="md",variant:r="default",showLabel:a=!1,className:i}){const o=Math.min(Math.max(n/t*100,0),100),c={sm:"h-1",md:"h-2",lg:"h-3"},d={default:"bg-accent-blue",success:"bg-accent-green",warning:"bg-accent-yellow",error:"bg-accent-red"};return e.jsxs("div",{className:le("w-full",i),children:[e.jsx("div",{className:le("w-full bg-dark-border rounded-full overflow-hidden",c[s]),children:e.jsx("div",{className:le("h-full rounded-full transition-all duration-300",d[r]),style:{width:`${o}%`}})}),a&&e.jsxs("span",{className:"text-xs text-dark-muted mt-1",children:[Math.round(o),"%"]})]})}function cn(n){const t=l.useRef(null),s=l.useRef(0);return l.useEffect(()=>{if(!n){s.current=0;return}s.current=Date.now();const r=t.current;if(!r)return;const a=()=>{const o=Math.floor((Date.now()-s.current)/1e3),c=o>=60?`${Math.floor(o/60)}m ${o%60}s`:`${o}s`;r.textContent=c};a();const i=setInterval(a,1e3);return()=>clearInterval(i)},[n]),t}var ha=Zn();const ds=Qn(ha);Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,s){var r={};r["language-"+s]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[s]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};a["language-"+s]={pattern:/[\s\S]+/,inside:Prism.languages[s]};var i={};i[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:a},Prism.languages.insertBefore("markup","cdata",i)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(n,t){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;var us={},ps;function ma(){return ps||(ps=1,(function(n){n.languages.typescript=n.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),n.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete n.languages.typescript.parameter,delete n.languages.typescript["literal-property"];var t=n.languages.extend("typescript",{});delete t["class-name"],n.languages.typescript["class-name"].inside=t,n.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),n.languages.ts=n.languages.typescript})(Prism)),us}ma();(function(n){var t=n.util.clone(n.languages.javascript),s=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(d,u){return d=d.replace(/<S>/g,function(){return s}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return a}),RegExp(d,u)}a=i(a).source,n.languages.jsx=n.languages.extend("markup",t),n.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),n.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,n.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,n.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,n.languages.jsx.tag.inside.comment=t.comment,n.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:n.languages.jsx}},n.languages.jsx.tag),n.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:n.languages.jsx}}},n.languages.jsx.tag);var o=function(d){return d?typeof d=="string"?d:typeof d.content=="string"?d.content:d.content.map(o).join(""):""},c=function(d){for(var u=[],p=0;p<d.length;p++){var h=d[p],f=!1;if(typeof h!="string"&&(h.type==="tag"&&h.content[0]&&h.content[0].type==="tag"?h.content[0].content[0].content==="</"?u.length>0&&u[u.length-1].tagName===o(h.content[0].content[1])&&u.pop():h.content[h.content.length-1].content==="/>"||u.push({tagName:o(h.content[0].content[1]),openedBraces:0}):u.length>0&&h.type==="punctuation"&&h.content==="{"?u[u.length-1].openedBraces++:u.length>0&&u[u.length-1].openedBraces>0&&h.type==="punctuation"&&h.content==="}"?u[u.length-1].openedBraces--:f=!0),(f||typeof h=="string")&&u.length>0&&u[u.length-1].openedBraces===0){var x=o(h);p<d.length-1&&(typeof d[p+1]=="string"||d[p+1].type==="plain-text")&&(x+=o(d[p+1]),d.splice(p+1,1)),p>0&&(typeof d[p-1]=="string"||d[p-1].type==="plain-text")&&(x=o(d[p-1])+x,d.splice(p-1,1),p--),d[p]=new n.Token("plain-text",x,null,x)}h.content&&typeof h.content!="string"&&c(h.content)}};n.hooks.add("after-tokenize",function(d){d.language!=="jsx"&&d.language!=="tsx"||c(d.tokens)})})(Prism);(function(n){var t=n.util.clone(n.languages.typescript);n.languages.tsx=n.languages.extend("jsx",t),delete n.languages.tsx.parameter,delete n.languages.tsx["literal-property"];var s=n.languages.tsx.tag;s.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+s.pattern.source+")",s.pattern.flags),s.lookbehind=!0})(Prism);(function(n){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var s=n.languages.markup;s&&(s.tag.addInlined("style","css"),s.tag.addAttribute("style","css"))})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(n){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",s={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:s,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};n.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:s}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},s.inside=n.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,o=0;o<a.length;o++)i[a[o]]=n.languages.bash[a[o]];n.languages.sh=n.languages.bash,n.languages.shell=n.languages.bash})(Prism);var hs={},ms;function fa(){return ms||(ms=1,Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python),hs}fa();(function(n){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function s(p){return p=p.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+p+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:s(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:s(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:s(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:s(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(p){["url","bold","italic","strike","code-snippet"].forEach(function(h){p!==h&&(n.languages.markdown[p].inside.content.inside[h]=n.languages.markdown[h])})}),n.hooks.add("after-tokenize",function(p){if(p.language!=="markdown"&&p.language!=="md")return;function h(f){if(!(!f||typeof f=="string"))for(var x=0,g=f.length;x<g;x++){var k=f[x];if(k.type!=="code"){h(k.content);continue}var y=k.content[1],m=k.content[3];if(y&&m&&y.type==="code-language"&&m.type==="code-block"&&typeof y.content=="string"){var v=y.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");v=(/[a-z][\w-]*/i.exec(v)||[""])[0].toLowerCase();var _="language-"+v;m.alias?typeof m.alias=="string"?m.alias=[m.alias,_]:m.alias.push(_):m.alias=[_]}}}h(p.tokens)}),n.hooks.add("wrap",function(p){if(p.type==="code-block"){for(var h="",f=0,x=p.classes.length;f<x;f++){var g=p.classes[f],k=/language-(.+)/.exec(g);if(k){h=k[1];break}}var y=n.languages[h];if(y)p.content=n.highlight(u(p.content),y,h);else if(h&&h!=="none"&&n.plugins.autoloader){var m="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);p.attributes.id=m,n.plugins.autoloader.loadLanguages(h,function(){var v=document.getElementById(m);v&&(v.innerHTML=n.highlight(v.textContent,n.languages[h],h))})}}});var o=RegExp(n.languages.markup.tag.pattern.source,"gi"),c={amp:"&",lt:"<",gt:">",quot:'"'},d=String.fromCodePoint||String.fromCharCode;function u(p){var h=p.replace(o,"");return h=h.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(f,x){if(x=x.toLowerCase(),x[0]==="#"){var g;return x[1]==="x"?g=parseInt(x.slice(2),16):g=Number(x.slice(1)),d(g)}else{var k=c[x];return k||f}}),h}n.languages.md=n.languages.markdown})(Prism);(function(n){var t=/[*&][^\s[\]{},]+/,s=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+s.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+s.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(c,d){d=(d||"").replace(/m/g,"")+"m";var u=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return c});return RegExp(u,d)}n.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:s,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml})(Prism);Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/});Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}});delete Prism.languages.go["class-name"];var fs={},xs;function xa(){return xs||(xs=1,(function(n){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,s=0;s<2;s++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),n.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},n.languages.rust["closure-params"].inside.rest=n.languages.rust,n.languages.rust.attribute.inside.string=n.languages.rust.string})(Prism)),fs}xa();var gs={},bs;function ga(){return bs||(bs=1,(function(n){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,s=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+s+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};n.languages.java=n.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+s+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+s+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[n.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),n.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),n.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+s+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+s+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism)),gs}ga();Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/});Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}});Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}});Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/});delete Prism.languages.c.boolean;var ks={},ys;function ba(){return ys||(ys=1,(function(n){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,s=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return t.source});n.languages.cpp=n.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),n.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return s})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),n.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n.languages.cpp}}}}),n.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),n.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:n.languages.extend("cpp",{})}}),n.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},n.languages.cpp["base-clause"])})(Prism)),ks}ba();(function(n){function t(s,r){return"___"+s.toUpperCase()+r+"___"}Object.defineProperties(n.languages["markup-templating"]={},{buildPlaceholders:{value:function(s,r,a,i){if(s.language===r){var o=s.tokenStack=[];s.code=s.code.replace(a,function(c){if(typeof i=="function"&&!i(c))return c;for(var d=o.length,u;s.code.indexOf(u=t(r,d))!==-1;)++d;return o[d]=c,u}),s.grammar=n.languages.markup}}},tokenizePlaceholders:{value:function(s,r){if(s.language!==r||!s.tokenStack)return;s.grammar=n.languages[r];var a=0,i=Object.keys(s.tokenStack);function o(c){for(var d=0;d<c.length&&!(a>=i.length);d++){var u=c[d];if(typeof u=="string"||u.content&&typeof u.content=="string"){var p=i[a],h=s.tokenStack[p],f=typeof u=="string"?u:u.content,x=t(r,p),g=f.indexOf(x);if(g>-1){++a;var k=f.substring(0,g),y=new n.Token(r,n.tokenize(h,s.grammar),"language-"+r,h),m=f.substring(g+x.length),v=[];k&&v.push.apply(v,o([k])),v.push(y),m&&v.push.apply(v,o([m])),typeof u=="string"?c.splice.apply(c,[d,1].concat(v)):u.content=v}}else u.content&&o(u.content)}return c}o(s.tokens)}}})})(Prism);var vs={},ws;function ka(){return ws||(ws=1,(function(n){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,s=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,a=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,i=/[{}\[\](),:;]/;n.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:s,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:a,punctuation:i};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:n.languages.php},c=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];n.languages.insertBefore("php","variable",{string:c,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:c,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:s,number:r,operator:a,punctuation:i}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),n.hooks.add("before-tokenize",function(d){if(/<\?/.test(d.code)){var u=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;n.languages["markup-templating"].buildPlaceholders(d,"php",u)}}),n.hooks.add("after-tokenize",function(d){n.languages["markup-templating"].tokenizePlaceholders(d,"php")})})(Prism)),vs}ka();var js={},Ns;function ya(){return Ns||(Ns=1,(function(n){n.languages.ruby=n.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),n.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:n.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete n.languages.ruby.function;var s="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;n.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+s+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),n.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+s),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+s),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete n.languages.ruby.string,n.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),n.languages.rb=n.languages.ruby})(Prism)),js}ya();const va=.4;function Ss(n){const t=[];let s=0;for(;s<n.length;){const r=n[s];if(/[\p{L}\p{N}_]/u.test(r)){let a=s+1;for(;a<n.length&&/[\p{L}\p{N}_]/u.test(n[a]);)a++;t.push(n.slice(s,a)),s=a}else if(/\s/.test(r)){let a=s+1;for(;a<n.length&&/\s/.test(n[a]);)a++;t.push(n.slice(s,a)),s=a}else{const i=n.codePointAt(s)>65535?2:1;t.push(n.slice(s,s+i)),s+=i}}return t}function wa(n,t){const s=pa(Ss(n),Ss(t)),r=n.length+t.length;let a=0;const i=[],o=[];let c=0,d=0;for(const u of s){const p=u.value.reduce((h,f)=>h+f.length,0);u.removed?(a+=p,i.push({start:c,end:c+p}),c+=p):u.added?(a+=p,o.push({start:d,end:d+p}),d+=p):(c+=p,d+=p)}return r>0&&a/r>va?[[],[]]:[i,o]}function dn(n){const t=[];let s=null;for(const r of n.split(`
2
+ var Xn=Object.defineProperty;var Yn=(n,t,s)=>t in n?Xn(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var yt=(n,t,s)=>Yn(n,typeof t!="symbol"?t+"":t,s);import{j as e,r as Zn}from"./markdown-D-c9V8Xq.js";import{a as l,g as Qn,ag as Ks,aQ as er,aR as tr,O as Ze,F as ot,T as sr,aO as nr,_ as Vs,ak as Re,d as we,K as Se,af as rr,a1 as Gt,aA as Ee,X as Ae,aS as Lt,E as Js,$ as _e,l as zt,L as Fe,u as Wt,aT as Ft,aH as ar,D as ir,k as or,aU as Xs,aw as lr,aV as Pt,aW as cr,h as Xe,al as dr,i as Ys,aX as ur,aY as pr,aZ as hr,b as mr,aq as fr,a_ as xr,aG as gr,a$ as br,U as kr,b0 as yr,b1 as vr,a0 as is,B as wr,ap as jr,b2 as Nr,n as Zs,aN as Kt,aM as Sr,a6 as Qs,ab as Er,a2 as en,b3 as Tr,b4 as Ar,ac as Cr,b5 as Ir,f as Rr,S as _r,t as Mr,b6 as ze,y as Or,b7 as Dr,m as $r,b8 as Lr,p as zr,q as Fr,j as Pr,b9 as Br}from"./icons-Di-qMB6n.js";import{D as Hr,d as le,u as ee,h as Qe,i as tn,o as sn,j as Ye,k as nn,w as me,l as Bt,b as Ie,R as rn,a as ge,t as pe,m as Ur,s as qr,r as Gr,f as lt,n as ke,p as Wr,q as Kr,_ as Vr,v as os,W as Jr,x as Xr,y as Ht,c as at,z as Ve,A as an,E as Yr,F as Zr,G as Qr,H as ea,M as ta,J as sa,K as na,L as on,N as ra,O as aa,Q as nt,S as ia,T as ln}from"./index-CWqFf5l2.js";import{r as oa}from"./react-vendor-DU8XgZt2.js";import{n as ls,s as la,S as ca}from"./sttLanguages-BNRptAQA.js";import"./state-D2vcUGVk.js";import"./panels-CpHTincc.js";class da extends Hr{tokenize(t){return t.slice()}join(t){return t}removeEmpty(t){return t}}const ua=new da;function pa(n,t,s){return ua.diff(n,t,s)}function cs({value:n,max:t=100,size:s="md",variant:r="default",showLabel:a=!1,className:i}){const o=Math.min(Math.max(n/t*100,0),100),c={sm:"h-1",md:"h-2",lg:"h-3"},d={default:"bg-accent-blue",success:"bg-accent-green",warning:"bg-accent-yellow",error:"bg-accent-red"};return e.jsxs("div",{className:le("w-full",i),children:[e.jsx("div",{className:le("w-full bg-dark-border rounded-full overflow-hidden",c[s]),children:e.jsx("div",{className:le("h-full rounded-full transition-all duration-300",d[r]),style:{width:`${o}%`}})}),a&&e.jsxs("span",{className:"text-xs text-dark-muted mt-1",children:[Math.round(o),"%"]})]})}function cn(n){const t=l.useRef(null),s=l.useRef(0);return l.useEffect(()=>{if(!n){s.current=0;return}s.current=Date.now();const r=t.current;if(!r)return;const a=()=>{const o=Math.floor((Date.now()-s.current)/1e3),c=o>=60?`${Math.floor(o/60)}m ${o%60}s`:`${o}s`;r.textContent=c};a();const i=setInterval(a,1e3);return()=>clearInterval(i)},[n]),t}var ha=Zn();const ds=Qn(ha);Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity;Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup;Prism.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.replace(/&amp;/,"&"))});Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,s){var r={};r["language-"+s]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[s]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};a["language-"+s]={pattern:/[\s\S]+/,inside:Prism.languages[s]};var i={};i[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:a},Prism.languages.insertBefore("markup","cdata",i)}});Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(n,t){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Prism.languages.html=Prism.languages.markup;Prism.languages.mathml=Prism.languages.markup;Prism.languages.svg=Prism.languages.markup;Prism.languages.xml=Prism.languages.extend("markup",{});Prism.languages.ssml=Prism.languages.xml;Prism.languages.atom=Prism.languages.xml;Prism.languages.rss=Prism.languages.xml;Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;var us={},ps;function ma(){return ps||(ps=1,(function(n){n.languages.typescript=n.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),n.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete n.languages.typescript.parameter,delete n.languages.typescript["literal-property"];var t=n.languages.extend("typescript",{});delete t["class-name"],n.languages.typescript["class-name"].inside=t,n.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),n.languages.ts=n.languages.typescript})(Prism)),us}ma();(function(n){var t=n.util.clone(n.languages.javascript),s=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(d,u){return d=d.replace(/<S>/g,function(){return s}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return a}),RegExp(d,u)}a=i(a).source,n.languages.jsx=n.languages.extend("markup",t),n.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),n.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,n.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,n.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,n.languages.jsx.tag.inside.comment=t.comment,n.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:n.languages.jsx}},n.languages.jsx.tag),n.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:n.languages.jsx}}},n.languages.jsx.tag);var o=function(d){return d?typeof d=="string"?d:typeof d.content=="string"?d.content:d.content.map(o).join(""):""},c=function(d){for(var u=[],p=0;p<d.length;p++){var h=d[p],f=!1;if(typeof h!="string"&&(h.type==="tag"&&h.content[0]&&h.content[0].type==="tag"?h.content[0].content[0].content==="</"?u.length>0&&u[u.length-1].tagName===o(h.content[0].content[1])&&u.pop():h.content[h.content.length-1].content==="/>"||u.push({tagName:o(h.content[0].content[1]),openedBraces:0}):u.length>0&&h.type==="punctuation"&&h.content==="{"?u[u.length-1].openedBraces++:u.length>0&&u[u.length-1].openedBraces>0&&h.type==="punctuation"&&h.content==="}"?u[u.length-1].openedBraces--:f=!0),(f||typeof h=="string")&&u.length>0&&u[u.length-1].openedBraces===0){var x=o(h);p<d.length-1&&(typeof d[p+1]=="string"||d[p+1].type==="plain-text")&&(x+=o(d[p+1]),d.splice(p+1,1)),p>0&&(typeof d[p-1]=="string"||d[p-1].type==="plain-text")&&(x=o(d[p-1])+x,d.splice(p-1,1),p--),d[p]=new n.Token("plain-text",x,null,x)}h.content&&typeof h.content!="string"&&c(h.content)}};n.hooks.add("after-tokenize",function(d){d.language!=="jsx"&&d.language!=="tsx"||c(d.tokens)})})(Prism);(function(n){var t=n.util.clone(n.languages.typescript);n.languages.tsx=n.languages.extend("jsx",t),delete n.languages.tsx.parameter,delete n.languages.tsx["literal-property"];var s=n.languages.tsx.tag;s.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+s.pattern.source+")",s.pattern.flags),s.lookbehind=!0})(Prism);(function(n){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var s=n.languages.markup;s&&(s.tag.addInlined("style","css"),s.tag.addAttribute("style","css"))})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(n){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",s={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:s,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};n.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:s}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},s.inside=n.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,o=0;o<a.length;o++)i[a[o]]=n.languages.bash[a[o]];n.languages.sh=n.languages.bash,n.languages.shell=n.languages.bash})(Prism);var hs={},ms;function fa(){return ms||(ms=1,Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python),hs}fa();(function(n){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function s(p){return p=p.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+p+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:s(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:s(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:s(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:s(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(p){["url","bold","italic","strike","code-snippet"].forEach(function(h){p!==h&&(n.languages.markdown[p].inside.content.inside[h]=n.languages.markdown[h])})}),n.hooks.add("after-tokenize",function(p){if(p.language!=="markdown"&&p.language!=="md")return;function h(f){if(!(!f||typeof f=="string"))for(var x=0,g=f.length;x<g;x++){var k=f[x];if(k.type!=="code"){h(k.content);continue}var y=k.content[1],m=k.content[3];if(y&&m&&y.type==="code-language"&&m.type==="code-block"&&typeof y.content=="string"){var v=y.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");v=(/[a-z][\w-]*/i.exec(v)||[""])[0].toLowerCase();var _="language-"+v;m.alias?typeof m.alias=="string"?m.alias=[m.alias,_]:m.alias.push(_):m.alias=[_]}}}h(p.tokens)}),n.hooks.add("wrap",function(p){if(p.type==="code-block"){for(var h="",f=0,x=p.classes.length;f<x;f++){var g=p.classes[f],k=/language-(.+)/.exec(g);if(k){h=k[1];break}}var y=n.languages[h];if(y)p.content=n.highlight(u(p.content),y,h);else if(h&&h!=="none"&&n.plugins.autoloader){var m="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);p.attributes.id=m,n.plugins.autoloader.loadLanguages(h,function(){var v=document.getElementById(m);v&&(v.innerHTML=n.highlight(v.textContent,n.languages[h],h))})}}});var o=RegExp(n.languages.markup.tag.pattern.source,"gi"),c={amp:"&",lt:"<",gt:">",quot:'"'},d=String.fromCodePoint||String.fromCharCode;function u(p){var h=p.replace(o,"");return h=h.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(f,x){if(x=x.toLowerCase(),x[0]==="#"){var g;return x[1]==="x"?g=parseInt(x.slice(2),16):g=Number(x.slice(1)),d(g)}else{var k=c[x];return k||f}}),h}n.languages.md=n.languages.markdown})(Prism);(function(n){var t=/[*&][^\s[\]{},]+/,s=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+s.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+s.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(c,d){d=(d||"").replace(/m/g,"")+"m";var u=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return c});return RegExp(u,d)}n.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:s,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml})(Prism);Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/});Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}});delete Prism.languages.go["class-name"];var fs={},xs;function xa(){return xs||(xs=1,(function(n){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,s=0;s<2;s++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),n.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},n.languages.rust["closure-params"].inside.rest=n.languages.rust,n.languages.rust.attribute.inside.string=n.languages.rust.string})(Prism)),fs}xa();var gs={},bs;function ga(){return bs||(bs=1,(function(n){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,s=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+s+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};n.languages.java=n.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+s+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+s+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[n.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),n.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),n.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+s+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+s+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism)),gs}ga();Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/});Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}});Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}});Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/});delete Prism.languages.c.boolean;var ks={},ys;function ba(){return ys||(ys=1,(function(n){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,s=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return t.source});n.languages.cpp=n.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),n.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return s})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),n.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n.languages.cpp}}}}),n.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),n.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:n.languages.extend("cpp",{})}}),n.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},n.languages.cpp["base-clause"])})(Prism)),ks}ba();(function(n){function t(s,r){return"___"+s.toUpperCase()+r+"___"}Object.defineProperties(n.languages["markup-templating"]={},{buildPlaceholders:{value:function(s,r,a,i){if(s.language===r){var o=s.tokenStack=[];s.code=s.code.replace(a,function(c){if(typeof i=="function"&&!i(c))return c;for(var d=o.length,u;s.code.indexOf(u=t(r,d))!==-1;)++d;return o[d]=c,u}),s.grammar=n.languages.markup}}},tokenizePlaceholders:{value:function(s,r){if(s.language!==r||!s.tokenStack)return;s.grammar=n.languages[r];var a=0,i=Object.keys(s.tokenStack);function o(c){for(var d=0;d<c.length&&!(a>=i.length);d++){var u=c[d];if(typeof u=="string"||u.content&&typeof u.content=="string"){var p=i[a],h=s.tokenStack[p],f=typeof u=="string"?u:u.content,x=t(r,p),g=f.indexOf(x);if(g>-1){++a;var k=f.substring(0,g),y=new n.Token(r,n.tokenize(h,s.grammar),"language-"+r,h),m=f.substring(g+x.length),v=[];k&&v.push.apply(v,o([k])),v.push(y),m&&v.push.apply(v,o([m])),typeof u=="string"?c.splice.apply(c,[d,1].concat(v)):u.content=v}}else u.content&&o(u.content)}return c}o(s.tokens)}}})})(Prism);var vs={},ws;function ka(){return ws||(ws=1,(function(n){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,s=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,a=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,i=/[{}\[\](),:;]/;n.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:s,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:a,punctuation:i};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:n.languages.php},c=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];n.languages.insertBefore("php","variable",{string:c,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:c,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:s,number:r,operator:a,punctuation:i}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),n.hooks.add("before-tokenize",function(d){if(/<\?/.test(d.code)){var u=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;n.languages["markup-templating"].buildPlaceholders(d,"php",u)}}),n.hooks.add("after-tokenize",function(d){n.languages["markup-templating"].tokenizePlaceholders(d,"php")})})(Prism)),vs}ka();var js={},Ns;function ya(){return Ns||(Ns=1,(function(n){n.languages.ruby=n.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),n.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:n.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete n.languages.ruby.function;var s="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;n.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+s+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),n.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+s),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+s),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete n.languages.ruby.string,n.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),n.languages.rb=n.languages.ruby})(Prism)),js}ya();const va=.4;function Ss(n){const t=[];let s=0;for(;s<n.length;){const r=n[s];if(/[\p{L}\p{N}_]/u.test(r)){let a=s+1;for(;a<n.length&&/[\p{L}\p{N}_]/u.test(n[a]);)a++;t.push(n.slice(s,a)),s=a}else if(/\s/.test(r)){let a=s+1;for(;a<n.length&&/\s/.test(n[a]);)a++;t.push(n.slice(s,a)),s=a}else{const i=n.codePointAt(s)>65535?2:1;t.push(n.slice(s,s+i)),s+=i}}return t}function wa(n,t){const s=pa(Ss(n),Ss(t)),r=n.length+t.length;let a=0;const i=[],o=[];let c=0,d=0;for(const u of s){const p=u.value.reduce((h,f)=>h+f.length,0);u.removed?(a+=p,i.push({start:c,end:c+p}),c+=p):u.added?(a+=p,o.push({start:d,end:d+p}),d+=p):(c+=p,d+=p)}return r>0&&a/r>va?[[],[]]:[i,o]}function dn(n){const t=[];let s=null;for(const r of n.split(`
3
3
  `)){if(r.startsWith("---")||r.startsWith("+++")||r.startsWith("index ")||r.startsWith("diff --git")||r.startsWith("==="))continue;const a=r.match(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);if(a){s&&t.push(s),s={oldStart:parseInt(a[1],10),oldLines:parseInt(a[2]??"1",10),newStart:parseInt(a[3],10),newLines:parseInt(a[4]??"1",10),lines:[]};continue}if(!r.startsWith("\\")){if(s&&(r.startsWith("+")||r.startsWith("-")||r.startsWith(" ")||r==="")){s.lines.push(r);continue}s&&r&&(t.push(s),s=null)}}return s&&t.push(s),t}function un(n){let t=n.oldStart,s=n.newStart;const r=[];for(const a of n.lines){const i=a[0]==="+"||a[0]==="-"?a[0]:" ",o=a.slice(1);let c=null,d=null;i==="-"?c=t++:(i==="+"||(c=t++),d=s++),r.push({marker:i,code:o,oldLine:c,newLine:d})}return r}const ja=l.memo(function({filePath:t,content:s,language:r}){if(!s&&!t)return null;const[a,i]=l.useState("unified"),[o,c]=l.useState(!1),d=Na(t,r),u=(s==null?void 0:s.includes("@@"))||(s==null?void 0:s.includes("+++"))||(s==null?void 0:s.includes("---")),p=u?Sa(s||""):null;return e.jsxs("div",{className:"mt-2 border border-dark-border rounded-lg overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-dark-surface border-b border-dark-border",children:[e.jsx("span",{className:"text-accent-purple text-xs",children:"📝"}),e.jsx("span",{className:"text-xs font-mono text-dark-fg truncate",children:t||"file"}),p&&e.jsxs("span",{className:"text-xs ml-2 flex gap-2",children:[e.jsxs("span",{className:"text-green-400",children:["+",p.additions]}),e.jsxs("span",{className:"text-red-400",children:["-",p.deletions]})]}),e.jsx("span",{className:"text-xs text-dark-muted ml-auto",children:d}),u&&e.jsxs("div",{className:"flex gap-0.5 ml-2",children:[e.jsx("button",{onClick:()=>i("unified"),className:`text-xs px-1.5 py-0.5 rounded ${a==="unified"?"bg-accent-blue/20 text-accent-blue":"text-dark-muted hover:text-dark-fg"}`,title:"Unified view",children:"Unified"}),e.jsx("button",{onClick:()=>i("side-by-side"),className:`text-xs px-1.5 py-0.5 rounded ${a==="side-by-side"?"bg-accent-blue/20 text-accent-blue":"text-dark-muted hover:text-dark-fg"}`,title:"Side-by-side view",children:"Side"})]}),e.jsx("button",{onClick:()=>c(!o),className:"text-xs text-dark-muted hover:text-dark-fg ml-1",children:o?"▶":"▼"})]}),!o&&e.jsxs("div",{className:"bg-dark-bg overflow-x-auto max-h-96 overflow-y-auto custom-scrollbar",children:[u?a==="unified"?Ca(s||"",d):Ia(s||"",d):e.jsx("pre",{className:"text-xs font-mono p-2 text-dark-fg whitespace-pre-wrap",children:s||"(no content)"}),p&&e.jsxs("div",{className:"sticky bottom-0 bg-dark-surface border-t border-dark-border px-3 py-1 flex gap-4 text-xs text-dark-muted",children:[e.jsxs("span",{className:"text-green-400",children:["+",p.additions," additions"]}),e.jsxs("span",{className:"text-red-400",children:["-",p.deletions," deletions"]}),e.jsxs("span",{children:[p.hunks," hunks"]})]})]})]})});function Na(n,t){var a;if(t)return t;if(!n)return"plaintext";const s=(a=n.split(".").pop())==null?void 0:a.toLowerCase();return{ts:"typescript",tsx:"typescript",mts:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",py:"python",go:"go",rs:"rust",cpp:"cpp",cxx:"cpp",hpp:"cpp",cc:"cpp",c:"cpp",h:"cpp",css:"css",scss:"css",html:"markup",htm:"markup",svg:"markup",xml:"xml",json:"json",yml:"yaml",yaml:"yaml",md:"markdown",sql:"sql",sh:"bash",bash:"bash",zsh:"bash",php:"php",rb:"ruby"}[s||""]||"plaintext"}function Sa(n){const t=n.split(`
4
4
  `);let s=0,r=0,a=0;for(const i of t)i.startsWith("@@")?a++:i.startsWith("+")&&!i.startsWith("+++")?s++:i.startsWith("-")&&!i.startsWith("---")&&r++;return{additions:s,deletions:r,hunks:a,filesChanged:1}}function Ea(n){const t=[],s=(a,i)=>{if(!i)return;const o=t[t.length-1];o&&o.type===a?o.text+=i:t.push({type:a,text:i})},r=(a,i)=>{if(typeof a=="string"){s(i,a);return}const o=a.type||i;if(typeof a.content=="string"){s(o,a.content);return}for(const c of a.content)r(c,o)};for(const a of n)r(a,"");return t}function pn(n,t){const s=ds.languages[t];if(!s)return[{type:"",text:n}];try{return Ea(ds.tokenize(n,s))}catch{return[{type:"",text:n}]}}function Ta(n,t){if(t.length===0)return n.map(a=>({...a,word:!1}));const s=[];let r=0;for(const a of n){const i=r,o=r+a.text.length;let c=0;for(const d of t){const u=Math.max(0,d.start-i),p=Math.min(a.text.length,d.end-i);p<=0||u>=a.text.length||(u>c&&s.push({type:a.type,text:a.text.slice(c,u),word:!1}),s.push({type:a.type,text:a.text.slice(u,p),word:!0}),c=p)}c<a.text.length&&s.push({type:a.type,text:a.text.slice(c),word:!1}),r=o}return s}function Aa({code:n,marker:t,lang:s,ranges:r}){const a=t==="-"?[{type:"",text:n}]:pn(n,s),i=Ta(a,r),o=t==="+"?"bg-green-900/30":t==="-"?"bg-red-900/30":"",c=t==="+"?"bg-green-700/60":"bg-red-700/60";return e.jsx("span",{className:`flex-1 whitespace-pre-wrap px-2 ${o}`,children:i.length===0?" ":i.map((d,u)=>e.jsx("span",{className:[d.type?`token ${d.type}`:"",d.word&&t!==" "?c:""].join(" "),children:d.text},u))})}function Ca(n,t){const s=dn(n);if(s.length===0)return e.jsx("pre",{className:"text-xs font-mono p-2 text-dark-fg whitespace-pre-wrap",children:n});const r=[];let a=0;for(const i of s){const o=un(i);r.push(e.jsxs("div",{className:"flex text-xs font-mono leading-snug bg-accent-blue/5 text-accent-blue font-bold px-2",style:{minHeight:"1.25rem"},children:[e.jsx("span",{className:"select-none shrink-0 text-right pr-1",children:"@"}),e.jsxs("span",{className:"flex-1 whitespace-pre-wrap",children:["@@ -",i.oldStart,",",i.oldLines," +",i.newStart,",",i.newLines," @@"]})]},a++));const c=new Map;for(let d=0;d<o.length;){if(o[d].marker!=="-"){d++;continue}const u=d;for(;d<o.length&&o[d].marker==="-";)d++;const p=d;for(;d<o.length&&o[d].marker==="+";)d++;const h=Math.min(p-u,d-p);for(let f=0;f<h;f++){const[x,g]=wa(o[u+f].code,o[p+f].code);c.set(u+f,x),c.set(p+f,g)}}for(let d=0;d<o.length;d++){const u=o[d],p=u.marker==="+",h=u.marker==="-",f=p?"bg-green-900/30":h?"bg-red-900/30":"",x=u.marker==="-"?u.oldLine:u.newLine;r.push(e.jsxs("div",{className:"flex text-xs font-mono leading-snug",style:{minHeight:"1.25rem"},children:[e.jsxs("span",{className:`select-none shrink-0 w-9 text-right pr-1 ${f} ${p?"text-green-400":h?"text-red-400":"text-dark-muted"}`,children:[u.marker===" "?"":u.marker,x??""]}),e.jsx(Aa,{code:u.code,marker:u.marker,lang:t,ranges:c.get(d)??[]})]},a++))}}return e.jsx("div",{children:r})}function Es({code:n,lang:t,kind:s}){if(n==="")return e.jsx("span",{className:"flex-1 px-2 border-r border-dark-border/30 font-mono text-xs leading-snug",style:{minHeight:"1.25rem"},children:" "});const r=s==="remove"?[{type:"",text:n}]:pn(n,t),a=s==="add"?"bg-green-900/30":s==="remove"?"bg-red-900/30":"";return e.jsx("span",{className:`flex-1 px-2 border-r border-dark-border/30 font-mono text-xs leading-snug ${a}`,children:r.map((i,o)=>e.jsx("span",{className:i.type?`token ${i.type}`:"",children:i.text},o))})}function Ia(n,t){const s=dn(n);if(s.length===0)return e.jsx("pre",{className:"text-xs font-mono p-2 text-dark-fg whitespace-pre-wrap",children:n});const r=[];for(const a of s){const i=un(a);r.push({left:`@@ -${a.oldStart},${a.oldLines} +${a.newStart},${a.newLines} @@`,right:"",type:"header"});let o=[],c=[];const d=()=>{(o.length>0||c.length>0)&&(Ra(r,o,c),o=[],c=[])};for(const u of i)u.marker==="-"?o.push(u.code):u.marker==="+"?c.push(u.code):(d(),r.push({left:u.code,right:u.code,type:"context"}));d()}return e.jsxs("div",{children:[e.jsxs("div",{className:"flex border-b border-dark-border text-xs font-bold text-dark-muted",children:[e.jsx("div",{className:"flex-1 px-2 py-0.5 border-r border-dark-border",children:"Old"}),e.jsx("div",{className:"flex-1 px-2 py-0.5",children:"New"})]}),r.map((a,i)=>a.type==="header"?e.jsx("div",{className:"bg-accent-blue/5 text-accent-blue font-bold font-mono text-xs leading-snug px-2",children:a.left},i):e.jsxs("div",{className:"flex",style:{minHeight:"1.25rem"},children:[e.jsx(Es,{code:a.type==="replace"||a.type==="delete"?"- "+a.left:a.left,lang:t,kind:a.type==="replace"||a.type==="delete"?"remove":"context"}),e.jsx(Es,{code:a.type==="replace"||a.type==="add"?"+ "+a.right:a.right,lang:t,kind:a.type==="replace"||a.type==="add"?"add":"context"})]},i))]})}function Ra(n,t,s){const r=Math.max(t.length,s.length);for(let a=0;a<r;a++){const i=a<t.length?t[a]??"":"",o=a<s.length?s[a]??"":"";n.push({left:i,right:o,type:a<t.length&&a<s.length?"replace":a<t.length?"delete":"add"})}}function ve(n,t){let s=null;if(typeof n=="string")try{const r=JSON.parse(n);r&&typeof r=="object"&&!Array.isArray(r)&&(s=r)}catch{return""}else n&&typeof n=="object"&&!Array.isArray(n)&&(s=n);if(!s)return"";for(const r of t){const a=s[r];if(typeof a=="string"&&a)return a}return""}function Ce(n){return typeof n=="string"?n:n&&typeof n=="object"?JSON.stringify(n,null,2):String(n??"")}function _a(n){for(const t of n.split(`
5
5
  `)){const s=t.trim();if(s)return s}return""}function Te({label:n,tone:t="text-dark-muted",children:s}){return e.jsxs("div",{className:"px-2 py-1",children:[e.jsx("div",{className:`mb-0.5 text-[10px] ${t}`,children:n}),e.jsx("div",{className:"max-h-56 overflow-y-auto custom-scrollbar rounded border border-dark-border bg-dark-bg",children:s})]})}function Ma({toolCall:n}){const{t}=ee(),s=ve(n.args,["command","cmd","script"]),r=n.status==="error",a=Ce(n.result);return e.jsxs("div",{className:"space-y-0.5 py-0.5",children:[s&&e.jsx(Te,{label:t("step.params"),children:e.jsxs("pre",{className:"tv-pre",children:[e.jsx("span",{className:"select-none text-accent-green",children:"$ "}),s]})}),n.result!==void 0&&n.result!==null&&e.jsx(Te,{label:t(r?"step.error":"step.result"),tone:r?"text-accent-red":"text-accent-green",children:e.jsx("pre",{className:`tv-pre ${r?"text-accent-red":""}`,children:a})})]})}function Oa({toolCall:n}){const t=Qe(n.args),s=Ce(n.result),r=n.diff||(s&&(s.includes("@@")||s.includes("+++")||s.includes("---"))?s:void 0);return!r&&!s?e.jsx(hn,{toolCall:n}):e.jsx("div",{className:"px-2 py-1",children:e.jsx(ja,{filePath:t,content:r||s})})}function Da({toolCall:n}){const{t}=ee(),s=Qe(n.args),r=n.status==="error",a=Ce(n.result);return e.jsxs("div",{className:"space-y-0.5 py-0.5",children:[s&&e.jsx("div",{className:"flex items-center gap-1.5 px-2 pt-1 font-mono text-[10.5px] text-accent-blue",title:s,children:e.jsx("span",{className:"truncate",children:s})}),n.result!==void 0&&n.result!==null&&e.jsx(Te,{label:t(r?"step.error":"step.result"),tone:r?"text-accent-red":"text-accent-green",children:e.jsx("pre",{className:`tv-pre ${r?"text-accent-red":""}`,children:a})})]})}const Ts=20,$a=/\b(grep|search_contents)\b/i;function La(n){return n===""?0:n.split(`
@@ -23,7 +23,7 @@ ${t("toolCall.linesTotal",{n:o})}`:i;return e.jsxs("div",{className:"space-y-0.5
23
23
  `)})}):d.length===0&&!t.hookApproval&&((I=t.steps)!=null&&I.length)?null:d.length===0&&!t.hookApproval&&!((O=t.steps)!=null&&O.length)&&c?e.jsxs("div",{className:"flex items-center gap-2 py-1 text-xs text-dark-muted","data-testid":"thinking-typing",children:[e.jsxs("span",{className:"chat-typing-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsxs("span",{children:[i("chat.thinking"),"…"]})]}):null,t.summary&&!c&&e.jsx("div",{className:"mt-1.5 text-[11px] text-dark-muted/70","data-testid":"turn-summary",children:Kr(t.summary)}),t.fileJob&&e.jsx("div",{className:"mt-3",children:e.jsx(ii,{job:t.fileJob})}),t.errorCard&&e.jsx("div",{className:"mt-3",children:e.jsx(li,{error:t.errorCard,onRetry:s&&r?()=>r(t.id):void 0})}),t.hookApproval&&e.jsx("div",{className:"mt-3 border-l-2 border-accent-yellow/50 pl-3",children:e.jsx(ai,{approval:t.hookApproval,onResolved:_})})]})]})});function Ni(n,t=28){const s=n.replace(/\s+/g," ").trim();return s.length>t?`${s.slice(0,t)}…`:s}const Si="cubic-bezier(0.34, 1.56, 0.64, 1)",Ei=l.memo(function({items:t,activeId:s,onJump:r}){const{t:a}=ee(),[i,o]=l.useState(!1),c=l.useRef(null),d=l.useCallback(()=>{c.current&&window.clearTimeout(c.current),o(!0)},[]),u=l.useCallback(()=>{c.current&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>o(!1),180)},[]);return t.length===0?null:e.jsx("div",{role:"list","aria-label":a("chat.messageRail"),className:"pointer-events-none absolute right-4 top-1/2 z-30 hidden -translate-y-1/2 md:block",children:e.jsxs("div",{onMouseEnter:d,onMouseLeave:u,"data-testid":"rail-trigger",className:"pointer-events-auto relative flex items-center py-3",children:[e.jsxs("div",{"aria-hidden":!i,inert:!i,"data-testid":"rail-panel",className:`absolute right-full top-1/2 flex w-72 -translate-y-1/2 origin-right flex-col overflow-hidden rounded-xl border border-dark-border/70 bg-dark-bg/90 shadow-xl shadow-black/10 backdrop-blur-xl transition-all duration-300 ${i?"translate-x-0 scale-100 opacity-100":"pointer-events-none translate-x-4 scale-95 opacity-0"}`,style:{transitionTimingFunction:i?Si:"ease"},children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-dark-border/60 px-3 py-2",children:[e.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-dark-muted",children:[e.jsx(xr,{size:12,className:"text-accent-blue","aria-hidden":"true"}),a("chat.messageIndex")]}),e.jsx("span",{className:"rounded-full bg-dark-hover px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-dark-muted",children:t.length})]}),e.jsx("div",{className:"max-h-[55vh] overflow-y-auto p-1.5 custom-scrollbar",children:t.map((p,h)=>{const f=p.id===s;return e.jsxs("button",{type:"button",role:"listitem",onClick:()=>r(p.id),title:p.content,"aria-current":f?"true":void 0,tabIndex:i?0:-1,className:`group/item flex w-full items-start gap-2 rounded-lg px-2 py-1.5 text-left transition-all duration-200 ${i?"translate-x-0 opacity-100":"translate-x-2 opacity-0"} ${f?"bg-accent-blue/10":"hover:bg-dark-hover"}`,style:{transitionDelay:i?`${Math.min(h*24,264)}ms`:"0ms"},children:[e.jsx("span",{className:`mt-px flex h-4 w-4 shrink-0 items-center justify-center rounded text-[10px] font-semibold tabular-nums transition-colors duration-200 ${f?"bg-accent-blue text-white":"bg-dark-hover text-dark-muted group-hover/item:bg-dark-border/80 group-hover/item:text-dark-text"}`,children:h+1}),e.jsx("span",{className:"min-w-0 flex-1",children:e.jsx("span",{"data-testid":"rail-entry-content",className:`block break-words text-xs leading-snug line-clamp-2 group-hover/item:line-clamp-none transition-colors duration-200 ${f?"font-medium text-accent-blue":"text-dark-text/90"}`,children:p.content})}),e.jsx(Se,{size:12,"aria-hidden":"true",className:"mt-0.5 shrink-0 -translate-x-1 text-dark-muted/50 opacity-0 transition-all duration-200 group-hover/item:translate-x-0 group-hover/item:opacity-100"})]},p.id)})})]}),e.jsx("div",{"data-testid":"rail-dots",className:"flex flex-col items-end gap-1",children:t.map((p,h)=>{const f=Ni(p.content),x=p.id===s;return e.jsx("button",{type:"button",role:"listitem",onClick:()=>r(p.id),title:p.content,"aria-label":`${h+1}. ${f}`,"aria-current":x?"true":void 0,className:"group/dot pointer-events-auto flex h-6 w-5 items-center justify-center rounded-full transition-colors duration-200 hover:bg-dark-surface/80",children:e.jsx("span",{className:x?"h-2 w-2 rounded-full bg-accent-blue ring-2 ring-accent-blue/25 transition-all duration-300 ease-out group-hover/dot:scale-125":"h-1.5 w-1.5 rounded-full bg-dark-muted/35 transition-all duration-300 ease-out group-hover/dot:scale-150 group-hover/dot:bg-dark-muted"})},p.id)})})]})})}),Ti=l.lazy(()=>Vr(()=>import("./ThreeScene-Zhjwe9nT.js"),__vite__mapDeps([0,1,2,3])));function Ai(){try{const n=document.createElement("canvas");return!!(n.getContext("webgl2")??n.getContext("webgl"))}catch{return!1}}function Ci(){return l.useMemo(Ai,[])?e.jsxs("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 overflow-hidden [&_.threeui-background]:bg-transparent",children:[e.jsx(l.Suspense,{fallback:null,children:e.jsx(Ti,{})}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/30 via-transparent to-black/40"})]}):null}const Et=24;function Ii({label:n}){const t=l.useRef(Date.now()),s=l.useRef(null),[r,a]=l.useState(!1);return l.useEffect(()=>{const i=window.setTimeout(()=>a(!0),15e3);return()=>window.clearTimeout(i)},[]),l.useEffect(()=>{if(!r)return;const i=()=>{const c=s.current;if(!c)return;const d=Math.floor((Date.now()-t.current)/1e3);c.textContent=d>=60?`${Math.floor(d/60)}m ${d%60}s`:`${d}s`};i();const o=window.setInterval(i,1e3);return()=>window.clearInterval(o)},[r]),e.jsxs("div",{className:"mx-auto flex max-w-[46rem] items-center gap-2 px-4 py-3 text-xs text-dark-muted sm:px-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-accent-blue animate-blink"}),e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-accent-blue animate-blink",style:{animationDelay:"0.2s"}}),e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-accent-blue animate-blink",style:{animationDelay:"0.4s"}})]}),e.jsx("span",{className:"text-shimmer",children:n}),r&&e.jsxs("span",{className:"flex items-center gap-1 tabular-nums text-dark-muted/70",children:[e.jsx(Re,{size:10}),e.jsx("span",{ref:s,children:"15s"})]})]})}const Ri=l.memo(function({messages:t,isGenerating:s,sessionId:r,onSendSuggestion:a,onRegenerate:i,onDeleteMessage:o}){const{t:c}=ee(),d=l.useRef(null),u=l.useRef(new Map),[p,h]=l.useState(!0),[f,x]=l.useState(null),[g,k]=l.useState(null),[y,m]=l.useState(0),v=l.useRef(null),_=l.useRef(!1),E=l.useRef(null),I=l.useRef(s);I.current=s;const O=l.useMemo(()=>t.filter(C=>!C.deleted),[t]),j=l.useMemo(()=>{if(!s)return!1;const C=O[O.length-1];return!(!C||C.type!=="assistant"||C.content||C.steps&&C.steps.length>0)},[s,O]),N=l.useMemo(()=>O.filter(C=>C.type==="user").map(C=>({id:C.id,content:C.content})),[O]),L=l.useMemo(()=>N.map(C=>C.id),[N]),R=l.useCallback(C=>{if(C){const z=C.dataset.mid;z&&u.current.set(z,C)}},[]);l.useEffect(()=>{const C=new Set(L);for(const z of u.current.keys())C.has(z)||u.current.delete(z)},[L]);const T=l.useCallback(()=>{const C=d.current;if(!C||L.length===0){x(null);return}const z=C.getBoundingClientRect(),Z=z.top+z.height*.35;let F=L[0]??null;for(const D of L){const q=u.current.get(D);if(!(!q||!q.isConnected))if(q.getBoundingClientRect().top<=Z)F=D;else break}C.scrollHeight-C.scrollTop-C.clientHeight<Et&&(F=L[L.length-1]??F),x(F)},[L]),U=l.useCallback(()=>{const C=d.current;if(!C)return;const z=C.scrollHeight-C.scrollTop-C.clientHeight;_.current?z>=Et&&(_.current=!1):h(z<Et),T()},[T]);l.useEffect(()=>{T()},[t,T]);const K=l.useCallback(C=>{const z=d.current,Z=u.current.get(C);if(!z||!Z||!Z.isConnected)return;h(!1),k(C),m(ae=>ae+1),v.current&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>k(null),1600);const F=z.getBoundingClientRect(),D=Z.getBoundingClientRect(),q=z.scrollTop+(D.top-F.top)-z.clientHeight/2+D.height/2;E.current&&window.clearTimeout(E.current),_.current=!0,z.scrollTo({top:Math.max(0,q),behavior:"smooth"});const Y=()=>{_.current=!1};"onscrollend"in z&&z.addEventListener("scrollend",Y,{once:!0}),E.current=window.setTimeout(()=>{_.current=!1},1500)},[]);l.useEffect(()=>()=>{v.current&&window.clearTimeout(v.current),E.current&&window.clearTimeout(E.current)},[]);const W=l.useCallback(()=>{E.current&&window.clearTimeout(E.current),_.current=!1;const C=d.current;C&&(C.scrollTop=C.scrollHeight)},[]),X=l.useCallback(()=>{E.current&&window.clearTimeout(E.current),_.current=!1,h(!0);const C=d.current;C&&C.scrollTo({top:C.scrollHeight,behavior:"smooth"})},[]);l.useEffect(()=>{s&&(h(!0),W())},[s,W]);const re=l.useMemo(()=>{var z,Z,F;const C=O[O.length-1];return`${O.length}:${(C==null?void 0:C.id)??""}:${((z=C==null?void 0:C.content)==null?void 0:z.length)??0}:${((Z=C==null?void 0:C.toolCalls)==null?void 0:Z.length)??0}:${((F=C==null?void 0:C.thinkingBlocks)==null?void 0:F.length)??0}`},[O]),A=l.useRef(re);l.useEffect(()=>{if(!p){A.current=re;return}re!==A.current&&(A.current=re,W())},[re,p,W]);const V=l.useMemo(()=>[{icon:gr,label:c("chat.suggestionCode"),prompt:c("chat.suggestionCodePrompt")},{icon:Ze,label:c("chat.suggestionAnalyze"),prompt:c("chat.suggestionAnalyzePrompt")},{icon:Gt,label:c("chat.suggestionAutomate"),prompt:c("chat.suggestionAutomatePrompt")}],[c]);return e.jsxs("div",{className:"relative flex-1 min-h-0",children:[e.jsxs("div",{ref:d,onScroll:U,className:"h-full overflow-y-auto custom-scrollbar",children:[O.length===0?e.jsxs("div",{className:"relative flex min-h-[55vh] items-center justify-center px-4 py-10 sm:px-6",children:[e.jsx(Ci,{}),e.jsxs("div",{className:"relative w-full max-w-2xl px-1 text-center",children:[e.jsx("div",{className:"chat-empty-orb",children:e.jsx("img",{src:"/logo.svg",alt:"deepseekcode",className:"relative h-10 w-10"})}),e.jsx("h2",{className:"text-xl font-semibold tracking-tight mb-2",children:c("chat.welcome")}),e.jsx("p",{className:"text-dark-muted text-sm mb-8",children:c("chat.welcomeDesc")}),a&&e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2.5 text-left",children:V.map(C=>e.jsxs("button",{onClick:()=>a(C.prompt),className:"ui-card-interactive group w-full px-4 py-3.5 text-left",children:[e.jsx(C.icon,{size:16,"aria-hidden":"true",className:"text-accent-blue mb-2"}),e.jsx("div",{className:"text-[13px] font-medium text-dark-text",children:C.label}),e.jsx("div",{className:"mt-0.5 text-[11px] leading-snug text-dark-muted line-clamp-2",children:C.prompt})]},C.label))})]})]}):e.jsx("div",{className:"chat-stack flex flex-col pb-8 pt-5",children:O.map((C,z)=>{const Z=O[z-1],F=Z?Z.type===C.type?"mt-2":"mt-5":"";return e.jsxs("div",{"data-mid":C.id,ref:R,className:`relative w-full ${F}`,children:[g===C.id&&e.jsx("div",{className:"animate-rail-flash pointer-events-none absolute inset-0"},y),e.jsx(ji,{message:C,sessionId:r,onRegenerate:i,onDeleteMessage:o})]},C.id)})}),s&&!j&&e.jsx(Ii,{label:c("chat.thinkingEllipsis")},r)]}),N.length>0&&e.jsx(Ei,{items:N,activeId:f,onJump:K}),!p&&O.length>0&&e.jsx("button",{type:"button",onClick:X,title:c("chat.backToBottom"),"aria-label":c("chat.backToBottom"),className:"absolute bottom-5 right-5 z-20 flex h-8 w-8 animate-fade-in-up items-center justify-center rounded-full border border-dark-border/70 bg-dark-surface/90 text-dark-muted shadow-lg backdrop-blur transition-all duration-200 hover:scale-110 hover:text-dark-text hover:shadow-xl",children:e.jsx(we,{size:15})})]})});function Pe(n){return n.recordId!==void 0?n.recordId:n.callId!==void 0?`${n.kind}\0call\0${n.callId}`:n.sourceSeq!==void 0?`${n.kind}\0seq\0${n.sourceSeq}`:`${n.kind}\0index\0${n.index}`}function Tn(n){return n===null||!Number.isFinite(n)?"—":`${String(Math.round(n)).replace(/\B(?=(\d{3})+(?!\d))/g,",")} ms`}function Zt(n){return Tn(n===null?null:n*1e3)}const _i=2048,Mi=512;function Oi(n){return n.replace(/```[^\n]*\n([\s\S]*?)```/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/^[ \t]*[-*+]\s+/gm,"").replace(/^[ \t]*>\s?/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/~~(.*?)~~/g,"$1")}function ct(n){const t=n.slice(0,_i),s=Oi(t).replace(/\s+/g," ").trim(),r=s.slice(0,Mi).trimEnd();return t.length<n.length||r.length<s.length?`${r}…`:r}function Os(n){if(Number.isFinite(n))return Zt(n)}function Ge(n){return typeof n=="number"&&Number.isFinite(n)?n:null}function Di(n){if(typeof n=="string")return n;try{return JSON.stringify(n,null,2)}catch{return""}}function qt(n){if(typeof n=="string")return n;if(n==null)return"";try{return JSON.stringify(n,null,2)}catch{return String(n)}}function $i(n){if(n.status==="error")return{result:n.result===void 0?"error":qt(n.result)};const t=qt(n.result);return t===""?{result:"No output"}:{result:"",resultPreviewMarkdown:t}}function Li(n,t){var i;const s=(t==null?void 0:t.get(n.id))??null,r=((i=n.summary)==null?void 0:i.durationMs)!==void 0?(s??n.timestamp)+n.summary.durationMs:null,a=s!==null||r!==null;if(a)return{timingRecorded:a,stepStartTime:n.timestamp,firstTokenTime:s,completedTime:r,usageProvided:!1,outputTokens:null}}function zi(n,t,s){var o;const r=n.thinkingBlocks?n.thinkingBlocks.map(c=>c.text).join(`
24
24
  `):n.thinking??"",a=Li(n,s),i=(o=n.summary)==null?void 0:o.durationMs;return{index:t,kind:"message",text:"",...n.content===""?{}:{previewMarkdown:n.content},sourceSeq:t,inputDetail:n.content,...r===""?{}:{thinkingDetail:r},...a===void 0?{}:{assistantMetrics:a},timeSeconds:i===void 0?null:i/1e3,startedAt:n.timestamp}}function Ds(n,t){const s=Di(n.args),r=qt(n.result),a=$i(n);return{index:t,kind:"tool",text:n.name,...s===""?{}:{previewMarkdown:s},sourceSeq:t,callId:n.id,...s===""?{}:{inputDetail:s},...r===""?{}:{outputDetail:r},...a,isError:n.status==="error",timeSeconds:n.duration??null,startedAt:n.timestamp}}function Fi(n,t){return{index:t,kind:"user",text:"",...n.content===""?{}:{previewMarkdown:n.content},sourceSeq:t,inputDetail:n.content,opensTurn:!0,timeSeconds:0,startedAt:n.timestamp}}function Pi(n,t){const s=[n.originalCount!==void 0?`original ${n.originalCount} msgs`:"",n.compressedCount!==void 0?`compressed ${n.compressedCount} msgs`:"",n.tokensSaved!==void 0?`freed ${n.tokensSaved} tokens`:""].filter(Boolean).join(", ");return{index:t,kind:"compacted",text:"Context compressed",sourceSeq:n.seq,...s===""?{}:{outputDetail:s},timeSeconds:0,startedAt:n.timestamp}}function Bi(n){var a;const t=[],s=[];for(const i of n)i.absTime===null||!Number.isFinite(i.absTime)||(s.push(i.absTime),i.cell.kind==="tool"&&i.cell.timeSeconds!==null&&Number.isFinite(i.cell.timeSeconds)&&s.push(i.absTime+i.cell.timeSeconds*1e3));if(s.length>=2){const i=Os((Math.max(...s)-Math.min(...s))/1e3);i!==void 0&&t.push(i)}else if(s.length===1){const i=(a=n.find(c=>c.absTime===s[0]))==null?void 0:a.cell.timeSeconds,o=i!=null?Os(i):void 0;o!==void 0&&t.push(o)}const r=new Map;for(const i of n)i.toolName===void 0||i.cell.kind!=="tool"||r.set(i.toolName,(r.get(i.toolName)??0)+1);for(const[i,o]of r)t.push(o>1?`${i}×${o}`:i);return t.length===0?void 0:t.join(" ")}function $s(n,t){const s=t.groups.map(({title:r,laid:a})=>{const i=Bi(a);return{title:r,...i!==void 0?{description:i}:{},cells:a.map(o=>o.cell)}});return{turn:n,groups:s}}function Ls(n){return Math.min(...n.groups.flatMap(t=>t.cells.map(s=>s.index)),Number.POSITIVE_INFINITY)}function Hi(n){const{messages:t,compacted:s=[],ttft:r}=n,a=new Map,i=[];let o=0,c=0,d=null;const u=x=>{let g=a.get(x);return g===void 0&&(g={groups:[]},a.set(x,g)),g},p=(x,g)=>{const k=u(x).groups,y=k[k.length-1];if((y==null?void 0:y.title)==="Message"){y.laid.push(g);return}k.push({title:"Message",laid:[g]})},h=(x,g,k)=>{if(k.length===0)return;const y=u(x).groups,m=`Step ${g}`,v=y.find(_=>_.title===m);if(v!==void 0){v.laid.push(...k);return}y.push({title:m,laid:[...k]})},f=[...t.map(x=>({kind:"message",message:x})),...s.map(x=>({kind:"compacted",record:x}))].sort((x,g)=>{const k=x.kind==="message"?x.message.timestamp:x.record.timestamp,y=g.kind==="message"?g.message.timestamp:g.record.timestamp;return k-y});for(const x of f){if(x.kind==="compacted"){const m=Pi(x.record,++o);i.push({groups:[{title:`Compaction ${x.record.seq}`,laid:[{absTime:Ge(x.record.timestamp),cell:m}]}]});continue}const g=x.message;if(g.type==="user"){c+=1;const m=Fi(g,++o);p(c,{absTime:Ge(g.timestamp),cell:m});continue}const k=c>0?c:d??1,y=zi(g,++o,r);p(k,{absTime:Ge(g.timestamp),cell:y}),d=k;for(const m of g.toolCalls??[]){const v=Ds(m,++o);p(k,{absTime:Ge(m.timestamp),toolName:m.name,callId:m.id,cell:v})}for(const[m,v]of(g.steps??[]).entries()){const _=(v.toolCalls??[]).map(E=>{const I=Ds(E,++o);return{absTime:Ge(E.timestamp),toolName:E.name,callId:E.id,cell:I}});h(k,m+1,_)}}return[...[...a.entries()].map(([x,g])=>$s(x,g)),...i.map(x=>$s(null,x))].sort((x,g)=>Ls(x)-Ls(g))}function pt(n){if(n.text!=="")return n.text;if(n.previewMarkdown!==void 0){const t=ct(n.previewMarkdown);if(t!=="")return t}if(n.result!==void 0&&n.result!=="")return n.result;if(n.resultPreviewMarkdown!==void 0){const t=ct(n.resultPreviewMarkdown);if(t!=="")return t}return n.kind}function Tt(n){return Tn(n)}function An(n){return n==="tool"||n==="subtool"?2:n==="message"||n==="compacted"?1:0}function zs(n){return n!=null&&Number.isFinite(n)}function Ui(n){if(!zs(n.startedAt))return null;const t=zs(n.timeSeconds)?Math.max(0,n.timeSeconds*1e3):0;return{start:n.startedAt,end:n.startedAt+t}}function Cn(n,t="sequence"){if(t!=="sequence")return qi(n,t==="duration");const s=[],r=[];for(const a of n){const i=a.groups.flatMap(o=>o.cells.filter(c=>c.requestOnly!==!0));i.length!==0&&(a.turn!==null&&r.push({turn:a.turn,time:s.length}),s.push(...i.map((o,c)=>({start:s.length+c,end:s.length+c+1,index:o.index,isError:o.isError===!0,kind:o.kind,label:o.text,lane:An(o.kind)}))))}return s.length===0?null:{start:0,end:s.length,spans:s,turnBoundaries:r}}function qi(n,t){const s=n.flatMap(u=>{const p=u.groups.flatMap(h=>h.cells.flatMap(f=>{if(f.requestOnly===!0)return[];const x=Ui(f);return x===null?[]:[{...x,index:f.index,isError:f.isError===!0,kind:f.kind,label:f.text,lane:An(f.kind)}]}));return p.length===0?[]:[{turn:u.turn,rawSpans:p}]}),r=s.flatMap(u=>u.rawSpans);if(r.length===0)return null;const a=new Map;let i=0,o=null;for(const u of[...r].sort((p,h)=>p.start-h.start||p.end-h.end))t&&o!==null&&u.start>o&&(i+=u.start-o),a.set(u,i),o=o===null?u.end:Math.max(o,u.end);const c=[],d=[];for(const u of s){const p=u.rawSpans.map(h=>{const f=a.get(h)??0;return{...h,start:h.start-f,end:h.end-f}});c.push(...p),u.turn!==null&&d.push({turn:u.turn,time:Math.min(...p.map(h=>h.start))})}return{start:Math.min(...c.map(u=>u.start)),end:Math.max(...c.map(u=>u.end)),spans:c,turnBoundaries:d}}function Gi(n,t,s="sequence"){const r=Cn(n,s);return new Set(r==null?void 0:r.spans.filter(a=>a.start<=t.end&&a.end>=t.start).map(a=>a.index))}function Wi(n,t){return n.length===t.length&&n.every((s,r)=>s===t[r])}function Ki(n){if(n.previewMarkdown===void 0)return"";const t=ct(n.previewMarkdown);return n.text===""?t:t===""?n.text:`${n.text} · ${t}`}function Vi(n){return n.resultPreviewMarkdown===void 0?n.result??"":ct(n.resultPreviewMarkdown)}function Ji(n,t,s){const r=[...s.sourceBlocks??[],...s.outputBlocks??[]];return[n===null?"between turns":`turn ${n}`,t,s.kind,s.kind==="message"?"assistant":"",s.text,s.previewMarkdown??"",s.inputDetail??"",s.outputDetail??"",s.thinkingDetail??"",s.schemaDetail??"",s.result??"",s.resultPreviewMarkdown??"",s.callId??"",...r.flatMap(a=>[a.type,a.content,a.callId??"",a.toolName??"",a.imageAlt??""])]}class Xi{constructor(){yt(this,"entries",new Map);yt(this,"layouts")}update(t){if(this.layouts===t)return!1;this.layouts=t;const s=new Set;for(const r of t)for(const a of r)for(const i of a.groups)for(const o of i.cells){if(o.requestOnly===!0)continue;const c=Pe(o),d=Ji(a.turn,i.title,o),u=this.entries.get(c),p=u!==void 0&&Wi(u.sources,d)?u:{sources:d,text:[...d,Ki(o),Vi(o)].join(`
25
25
  `).toLocaleLowerCase()};this.entries.set(c,p),s.add(c)}for(const r of this.entries.keys())s.has(r)||this.entries.delete(r);return!0}search(t){const s=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);if(s.length===0)return null;const r=new Set;for(const[a,i]of this.entries)s.every(o=>i.text.includes(o))&&r.add(a);return r}}const Yi=l.memo(function({actualDuration:t,onActualDurationChange:s,allTurnsCollapsed:r,onToggleAllTurns:a,allAssistantsCollapsed:i,onToggleAllAssistants:o,searchQuery:c,onSearchQueryChange:d}){const{t:u}=ee();return e.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-1 border-b border-dark-border/40 px-2",role:"toolbar",children:[e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-surface/60","aria-pressed":t,title:u(t?"trajectory.toolbar.equalWidth":"trajectory.toolbar.actualDuration"),onClick:()=>s(!t),children:[e.jsx(Pt,{size:13}),u("trajectory.toolbar.duration")]}),e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-surface/60","aria-pressed":r,title:u(r?"trajectory.toolbar.expandTurns":"trajectory.toolbar.collapseTurns"),onClick:a,children:[r?e.jsx(br,{size:13}):e.jsx(kr,{size:13}),u("trajectory.toolbar.turns")]}),e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-surface/60","aria-pressed":i,title:u(i?"trajectory.toolbar.expandCalls":"trajectory.toolbar.collapseCalls"),onClick:o,children:[e.jsx(yr,{size:13}),u("trajectory.toolbar.calls")]}),e.jsx("div",{className:"ml-auto flex min-w-0 flex-1 items-center justify-end",children:e.jsxs("div",{className:"relative flex w-56 items-center",children:[e.jsx(Ze,{size:12,className:"pointer-events-none absolute left-2 text-dark-muted/50"}),e.jsx("input",{type:"search",className:"h-7 w-full rounded border border-dark-border/40 bg-dark-surface/60 pl-7 pr-2 text-xs text-dark-text outline-none placeholder:text-dark-muted/40 focus:border-accent-blue/50","aria-label":u("trajectory.toolbar.search"),placeholder:u("trajectory.toolbar.searchPlaceholder"),value:c,onChange:p=>d(p.currentTarget.value)})]})})]})}),Zi=3,Qi=500;function eo(n){const t=n==null?void 0:n.stepStartTime,s=n==null?void 0:n.firstTokenTime,r=n==null?void 0:n.completedTime;return(n==null?void 0:n.timingRecorded)!==!0||typeof t!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(t)||!Number.isFinite(s)||!Number.isFinite(r)||s<t||r<s?{}:{ttftMs:s-t,decodingMs:r-s}}function to(n){const t=n.timeSeconds===null||!Number.isFinite(n.timeSeconds)?void 0:Math.max(0,n.timeSeconds*1e3),s=n.startedAt===null||!Number.isFinite(n.startedAt)?void 0:n.startedAt;return{...t===void 0?{}:{durationMs:t},...s===void 0?{}:{startedAt:s},...eo(n.assistantMetrics)}}function so(n){switch(n){case"system":return"SYSTEM";case"user":return"USER";case"context":return"CONTEXT";case"compacted":return"COMPACTED";case"message":return"ASSISTANT";case"tool":return"TOOL";case"subtool":return"SUBTOOL"}}function At(n){const t=new Date(n),s=a=>String(a).padStart(2,"0"),r=a=>String(a).padStart(3,"0");return`${s(t.getHours())}:${s(t.getMinutes())}:${s(t.getSeconds())}.${r(t.getMilliseconds())}`}function no(n,t){const s=so(n);if(t===void 0)return s;const r=t.durationMs===void 0?null:`Total ${Tt(t.durationMs)}`,a=t.startedAt===void 0?null:t.durationMs===void 0?`Started ${At(t.startedAt)}`:`${At(t.startedAt)} → ${At(t.startedAt+t.durationMs)}`,i=t.ttftMs===void 0||t.decodingMs===void 0?null:`TTFT ${Tt(t.ttftMs)} · Decoding ${Tt(t.decodingMs)}`,o=[r,i].filter(c=>c!==null).join(" · ");return[s,a,o].filter(c=>c!==null&&c!=="").join(`
26
- `)}function ro(n,t){return n<=t?{start:n,end:t}:{start:t,end:n}}function ao(n){return Math.min(1,Math.max(0,n))}const io=l.memo(function({turns:t,mode:s,range:r,selectedIndex:a=null,searchMatchIndexes:i=null,onRangeChange:o,onRecordSelect:c}){const d=l.useMemo(()=>Cn(t,s),[s,t]),u=l.useMemo(()=>new Map(t.flatMap(A=>A.groups.flatMap(V=>V.cells.map(C=>[C.index,to(C)])))),[t]),p=l.useMemo(()=>new Map(t.flatMap(A=>A.groups.flatMap(V=>V.cells.map(C=>[C.index,pt(C)])))),[t]),h=l.useRef(null),f=l.useRef(null),[x,g]=l.useState(null),[k,y]=l.useState(null),m=l.useRef(null),[v,_]=l.useState(null);if(l.useEffect(()=>{d!==null&&r!==null&&(r.end<d.start||r.start>d.end)&&o(null)},[d,o,r]),l.useEffect(()=>{d!==null&&_(A=>A!==null&&(A.end<d.start||A.start>d.end)?null:A)},[d]),d===null)return e.jsxs("div",{className:"traj-root","data-empty":"",children:[e.jsxs("div",{className:"traj-labels","aria-hidden":"true",children:[e.jsx("span",{children:"Input"}),e.jsx("span",{children:"Model"}),e.jsx("span",{children:"Tools"})]}),e.jsx("div",{className:"traj-track"})]});const E=Math.max(1,d.end-d.start),I=(v==null?void 0:v.start)??d.start,O=v===null?E:Math.max(1,v.end-v.start),j=A=>{const V=h.current;if(!V)return 0;const C=V.getBoundingClientRect();return ao((A-C.left)/Math.max(1,C.width))},N=A=>I+A*O,L=A=>{if(A.button===2){o(null);return}const C=A.target.closest("[data-timeline-record-index]"),z=C===null?null:Number(C.dataset.timelineRecordIndex);if(z!==null&&Number.isFinite(z)){c==null||c(z);return}f.current={pointerId:A.pointerId,anchorFraction:j(A.clientX),anchorClientX:A.clientX,recordIndex:null},A.currentTarget.setPointerCapture(A.pointerId)},R=A=>{const V=f.current;if(V!==null&&A.pointerId===V.pointerId){const F=j(A.clientX);if(Math.abs(A.clientX-V.anchorClientX)>=Zi){const D=N(V.anchorFraction),q=N(F);g(ro(D,q))}return}const C=j(A.clientX),z=A.target.closest("[data-timeline-record-index]"),Z=z===null?null:Number(z.dataset.timelineRecordIndex);m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{y({fraction:C,recordIndex:Number.isFinite(Z)?Z:null})},Qi)},T=A=>{const V=f.current;V===null||A.pointerId!==V.pointerId||(f.current=null,x!==null&&(o(x),g(null)))},U=A=>{var V;((V=f.current)==null?void 0:V.pointerId)===A.pointerId&&(f.current=null,g(null))},K=A=>{if(d===null)return;const V=j(A.clientX),C=N(V),z=A.deltaY<0?.75:1.35,Z=Math.min(E,Math.max(1,O*z)),F=Math.min(Math.max(C-Z/2,d.start),d.end-Z);_({start:F,end:F+Z})},W=l.useRef(()=>{});W.current=K,l.useEffect(()=>{const A=h.current;if(!A)return;const V=C=>{C.preventDefault(),W.current(C)};return A.addEventListener("wheel",V,{passive:!1}),()=>A.removeEventListener("wheel",V)},[d]);const X=x??r,re=k==null?void 0:k.recordIndex;return e.jsxs("div",{className:"traj-root",children:[e.jsxs("div",{className:"traj-labels","aria-hidden":"true",children:[e.jsx("span",{children:"Input"}),e.jsx("span",{children:"Model"}),e.jsx("span",{children:"Tools"})]}),e.jsxs("div",{ref:h,className:"traj-track",role:"slider","aria-label":"Trajectory timeline",tabIndex:0,onKeyDown:A=>{A.key==="Escape"&&o(null)},onPointerDown:L,onPointerMove:R,onPointerUp:T,onPointerCancel:U,onPointerLeave:()=>{m.current&&clearTimeout(m.current),m.current=null,f.current===null&&y(null)},onDoubleClick:A=>{A.preventDefault(),o(null)},onContextMenu:A=>{A.preventDefault(),o(null)},children:[k!==null&&k.recordIndex===null&&x===null&&e.jsx("div",{className:"traj-hoverLine","aria-hidden":"true",style:{"--trajectory-hover-left":`${k.fraction*100}%`}}),X!==null&&e.jsx("div",{className:"traj-selection","data-dragging":x===null?void 0:"true","aria-hidden":"true",style:{"--trajectory-selection-left":`${(X.start-I)/O*100}%`,"--trajectory-selection-width":`${(X.end-X.start)/O*100}%`}}),e.jsx("div",{className:"traj-turnBoundaries","aria-hidden":"true",children:d.turnBoundaries.filter(A=>A.time>d.start&&A.time>=I&&A.time<=I+O).map(A=>e.jsx("span",{className:"traj-turnBoundary","data-turn":A.turn,style:{"--trajectory-turn-left":`${(A.time-d.start)/E*100}%`}},A.turn))}),e.jsx("div",{className:"traj-lanes","data-timeline-domain":"",children:d.spans.filter(A=>A.index===a||A.end>=I&&A.start<=I+O).map(A=>{const V=(A.start-d.start)/E,z=(A.end-A.start)/E*100,Z=u.get(A.index),F=Z==null?void 0:Z.ttftMs,D=Z==null?void 0:Z.decodingMs,q=F===void 0||D===void 0||F+D<=0?null:F/(F+D),Y=p.get(A.index)??A.label;return e.jsx("span",{"aria-hidden":"true",className:"traj-span","data-timeline-span":A.kind,"data-timeline-record-index":A.index,"data-assistant-timing":q===null?void 0:"true","data-error":A.isError||void 0,"data-current":A.index===a||void 0,"data-hovered":re===A.index||void 0,"data-search-match":i===null?void 0:i.has(A.index)?"true":"false","data-selected":X===null?void 0:A.start<=X.end&&A.end>=X.start?"true":"false",title:no(A.kind,Z),style:{"--trajectory-span-left":`${V*100}%`,"--trajectory-span-width":`${z}%`,"--trajectory-span-lane":A.lane,...q===null?{}:{"--trajectory-assistant-ttft":`${q*100}%`}},children:Y},A.index)})})]})]})});var In=oa();function oo(n,t,s){const r=new Array(n);return new Proxy(r,{get(a,i,o){if(typeof i=="string"){const c=i.charCodeAt(0);if(c>=48&&c<=57){const d=+i;if(Number.isInteger(d)&&d>=0&&d<n){let u=a[d];if(!u){const p=t[d*2];u=a[d]={index:d,key:s(d),start:p,size:t[d*2+1],end:p+t[d*2+1],lane:0}}return u}}if(i==="length")return n}return Reflect.get(a,i,o)}})}function Le(n,t,s){let r=s.initialDeps??[],a,i=!0;function o(){const c=n();return(c.length!==r.length||c.some((u,p)=>r[p]!==u))&&(r=c,a=t(...c),s!=null&&s.onChange&&!(i&&s.skipInitialOnChange)&&s.onChange(a),i=!1),a}return o.updateDeps=c=>{r=c},o}function Fs(n,t){if(n===void 0)throw new Error("Unexpected undefined");return n}const lo=(n,t)=>Math.abs(n-t)<1.01,co=(n,t,s)=>{let r;return Object.assign(function(...a){n.clearTimeout(r),r=n.setTimeout(()=>t.apply(this,a),s)},{cancel:()=>{n.clearTimeout(r)}})};let We;const Ct=()=>{if(We!==void 0)return We;if(typeof navigator>"u")return We=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return We=!0;const n=navigator.maxTouchPoints;return We=navigator.platform==="MacIntel"&&n!==void 0&&n>0},Ps=n=>{const{offsetWidth:t,offsetHeight:s}=n;return{width:t,height:s}},uo=n=>n,po=n=>{const t=Math.max(n.startIndex-n.overscan,0),r=Math.min(n.endIndex+n.overscan,n.count-1)-t+1,a=new Array(r);for(let i=0;i<r;i++)a[i]=t+i;return a},ho=(n,t)=>{const s=n.scrollElement;if(!s)return;const r=n.targetWindow;if(!r)return;const a=o=>{const{width:c,height:d}=o;t({width:Math.round(c),height:Math.round(d)})};if(a(Ps(s)),!r.ResizeObserver)return()=>{};const i=new r.ResizeObserver(o=>{const c=()=>{const d=o[0];if(d!=null&&d.borderBoxSize){const u=d.borderBoxSize[0];if(u){a({width:u.inlineSize,height:u.blockSize});return}}a(Ps(s))};n.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(c):c()});return i.observe(s,{box:"border-box"}),()=>{i.unobserve(s)}},dt={passive:!0},mo=typeof window>"u"?!0:"onscrollend"in window,fo=(n,t,s)=>{const r=n.scrollElement;if(!r)return;const a=n.targetWindow;if(!a)return;const i=n.options.useScrollendEvent&&mo;let o=0;const c=i?null:co(a,()=>t(o,!1),n.options.isScrollingResetDelay),d=h=>()=>{o=s(r),c==null||c(),t(o,h)},u=d(!0),p=d(!1);return r.addEventListener("scroll",u,dt),i&&r.addEventListener("scrollend",p,dt),()=>{r.removeEventListener("scroll",u),i&&r.removeEventListener("scrollend",p),c==null||c.cancel()}},xo=(n,t)=>fo(n,t,s=>{const{horizontal:r,isRtl:a}=n.options;return r?s.scrollLeft*(a&&-1||1):s.scrollTop}),go=(n,t,s)=>{if(s.options.useCachedMeasurements){const r=s.indexFromElement(n),a=s.options.getItemKey(r);return s.itemSizeCache.get(a)??s.options.estimateSize(r)}if(t!=null&&t.borderBoxSize){const r=t.borderBoxSize[0];if(r)return Math.round(r[s.options.horizontal?"inlineSize":"blockSize"])}if(!t){const r=s.indexFromElement(n),a=s.options.getItemKey(r),i=s.itemSizeCache.get(a);if(i!==void 0)return i}return n[s.options.horizontal?"offsetWidth":"offsetHeight"]},bo=(n,{adjustments:t=0,behavior:s},r)=>{var a,i;(i=(a=r.scrollElement)==null?void 0:a.scrollTo)==null||i.call(a,{[r.options.horizontal?"left":"top"]:n+t,behavior:s})},ko=bo;class yo{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var s,r,a;return((a=(r=(s=this.targetWindow)==null?void 0:s.performance)==null?void 0:r.now)==null?void 0:a.call(r))??Date.now()},this.observer=(()=>{let s=null;const r=()=>s||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:s=new this.targetWindow.ResizeObserver(a=>{a.forEach(i=>{const o=()=>{const c=i.target,d=this.indexFromElement(c);if(!c.isConnected){this.observer.unobserve(c);for(const[u,p]of this.elementsCache)if(p===c){this.elementsCache.delete(u);break}return}this.isIndexInRange(d)&&this.shouldMeasureDuringScroll(d)&&this.resizeItem(d,this.options.measureElement(c,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})}));return{disconnect:()=>{var a;(a=r())==null||a.disconnect(),s=null},observe:a=>{var i;return(i=r())==null?void 0:i.observe(a,{box:"border-box"})},unobserve:a=>{var i;return(i=r())==null?void 0:i.unobserve(a)}}})(),this.range=null,this.setOptions=s=>{var r,a;const i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:uo,rangeExtractor:po,onChange:()=>{},measureElement:go,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const f in s){const x=s[f];x!==void 0&&(i[f]=x)}const o=this.options;let c=null,d=null,u=!1;if(o!==void 0&&o.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){const f=o.count,x=i.count,g=this.getMeasurements(),k=f>0?((r=g[0])==null?void 0:r.key)??o.getItemKey(0):null,y=f>0?((a=g[f-1])==null?void 0:a.key)??o.getItemKey(f-1):null;if(x!==f||f>0&&x>0&&(i.getItemKey(0)!==k||i.getItemKey(x-1)!==y)){u=!0;const _=f>0?this.getVirtualItemForOffset(this.getScrollOffset())??g[0]:null;_&&(c=[_.key,this.getScrollOffset()-_.start]);const E=i.followOnAppend===!0?"auto":i.followOnAppend||null;E&&x>f&&this.isAtEnd(o.scrollEndThreshold)&&(f===0||i.getItemKey(x-1)!==y)&&(d=E)}}this.options=i,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let p=!1,h=0;if(c&&this.scrollOffset!==null){const[f,x]=c,g=this.getMeasurements(),{count:k,getItemKey:y}=this.options;let m=0;for(;m<k&&y(m)!==f;)m++;if(m<k){const v=g[m];if(v){const _=Math.max(0,v.start+x);_!==this.scrollOffset&&(h=_-this.scrollOffset,this.scrollOffset=_,p=!0)}}}(p||d)&&(this.pendingScrollAnchor=[p?c[0]:null,p?c[1]:0,d,h])},this.notify=s=>{var r,a;(a=(r=this.options).onChange)==null||a.call(r,this,s)},this.maybeNotify=Le(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),s=>{this.notify(s)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(s=>s()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var s;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((s=this.scrollElement)==null?void 0:s.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,o)=>{if(o&&this._intendedScrollOffset===null&&i===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5&&(i=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const c=this.getScrollOffset();this.scrollDirection=o?c===i?this.scrollDirection:c<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const i=this.scrollElement,o=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},c=()=>{this._iosTouching=!1,!(!Ct()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",o,dt),i.addEventListener("touchend",c,dt),this.unsubs.push(()=>{i.removeEventListener("touchstart",o),i.removeEventListener("touchend",c),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const a=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,a&&this.scrollElement&&this.options.enabled){const[i,o,c,d]=a;i!==null&&!c&&(Ct()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?d!==0&&(this._iosDeferredAdjustment+=d):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),c&&this.scrollToEnd({behavior:c})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const s=this.getScrollOffset(),r=this.getMaxScrollOffset();if(s<0||s>r)return;if(this._iosDeferredAdjustment<0&&s>=r-1){this._iosDeferredAdjustment=0;return}const a=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(s,{adjustments:this.scrollAdjustments+=a,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Le(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(s,r,a,i,o,c,d,u)=>(this.prevLanes!==void 0&&this.prevLanes!==c&&(this.lanesChangedFlag=!0),this.prevLanes=c,this.pendingMin=null,{count:s,paddingStart:r,scrollMargin:a,getItemKey:i,enabled:o,lanes:c,laneAssignmentMode:d,gap:u}),{key:!1}),this.isIndexInRange=s=>s>=0&&s<this.options.count,this.getMeasurements=Le(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:s,paddingStart:r,scrollMargin:a,getItemKey:i,enabled:o,lanes:c,laneAssignmentMode:d,gap:u},p)=>{const h=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>s)for(const m of this.laneAssignments.keys())m>=s&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));const f=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===s&&(this.lanesSettling=!1),c===1){const m=s*2;let v=this._flatMeasurements;if(!v||v.length<m){const I=new Float64Array(m);v&&f>0&&I.set(v.subarray(0,f*2)),v=I,this._flatMeasurements=v}let _;if(f===0)_=r+a;else{const I=f-1;_=v[I*2]+v[I*2+1]+u}for(let I=f;I<s;I++){const O=i(I),j=h.get(O),N=typeof j=="number"?j:this.options.estimateSize(I);v[I*2]=_,v[I*2+1]=N,_+=N+u}const E=oo(s,v,i);return this.measurementsCache=E,E}const x=this.measurementsCache.slice(0,f),g=new Array(c).fill(void 0),k=new Float64Array(c);let y=0;for(let m=0;m<f;m++){const v=x[m];v&&(g[v.lane]===void 0&&y++,g[v.lane]=m,k[v.lane]=v.end)}for(let m=f;m<s;m++){const v=i(m),_=this.laneAssignments.get(m);let E,I;const O=d==="estimate"||h.has(v);if(_!==void 0&&this.options.lanes>1){E=_;const R=g[E],T=R!==void 0?x[R]:void 0;I=T?T.end+u:r+a}else if(y===c){let R=0,T=k[0],U=g[0];for(let K=1;K<c;K++){const W=k[K];(W<T||W===T&&g[K]<U)&&(R=K,T=W,U=g[K])}E=R,I=T+u,O&&this.laneAssignments.set(m,E)}else E=m%this.options.lanes,I=r+a,O&&this.laneAssignments.set(m,E);const j=h.get(v),N=typeof j=="number"?j:this.options.estimateSize(m),L=I+N;x[m]={index:m,start:I,size:N,end:L,key:v,lane:E},g[E]===void 0&&y++,g[E]=m,k[E]=L}return this.measurementsCache=x,x},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Le(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(s,r,a,i)=>s.length===0||r===0?(this.range=null,null):(this.range=wo(s,r,a,i,i===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Le(()=>{let s=null,r=null;const a=this.calculateRange();return a&&(s=a.startIndex,r=a.endIndex),this.maybeNotify.updateDeps([this.isScrolling,s,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,s,r]},(s,r,a,i,o)=>i===null||o===null?[]:s({startIndex:i,endIndex:o,overscan:r,count:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=s=>{const r=this.options.indexAttribute,a=s.getAttribute(r);return a?parseInt(a,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=s=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const a=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(a!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,a-i),c=Math.min(this.options.count-1,a+i);return s>=o&&s<=c}return!0},this.measureElement=s=>{if(!s){this.elementsCache.forEach((o,c)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(c))});return}const r=this.indexFromElement(s);if(!this.isIndexInRange(r))return;const a=this.options.getItemKey(r),i=this.elementsCache.get(a);i!==s&&(i&&this.observer.unobserve(i),this.observer.observe(s),this.elementsCache.set(a,s)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(s,void 0,this))},this.resizeItem=(s,r)=>{var a,i;if(!this.isIndexInRange(s))return;let o,c,d;const u=this._flatMeasurements;if(this.options.lanes===1&&u!==null)d=this.options.getItemKey(s),c=u[s*2],o=u[s*2+1];else{const f=this.measurementsCache[s];if(!f)return;d=f.key,c=f.start,o=f.size}const p=this.itemSizeCache.get(d)??o,h=r-p;if(h!==0){const f=this.options.anchorTo==="end"&&((a=this.scrollState)==null?void 0:a.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=f?this.getTotalSize():0,g=this.getScrollOffset()+this.scrollAdjustments,y=!this.itemSizeCache.has(d)?c<g:c+p<=g&&this.scrollDirection!=="backward",m=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[s]??{index:s,key:d,start:c,size:o,end:c+o,lane:0},h,this):y);(this.pendingMin===null||s<this.pendingMin)&&(this.pendingMin=s),this.itemSizeCache.set(d,r),this.itemSizeCacheVersion++;let v=!1;f?v=this.applyScrollAdjustment(this.getTotalSize()-x):m&&(v=this.applyScrollAdjustment(h)),this.notify(v)}},this.getVirtualItems=Le(()=>[this.getVirtualIndexes(),this.getMeasurements()],(s,r)=>{const a=[];for(let i=0,o=s.length;i<o;i++){const c=s[i],d=r[c];a.push(d)}return a},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=s=>{const r=this.getMeasurements();if(r.length===0)return;const a=this._flatMeasurements,i=this.options.lanes===1&&a!=null,o=Rn(0,r.length-1,i?c=>a[c*2]:c=>Fs(r[c]).start,s);return Fs(r[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const s=this.scrollElement.document.documentElement;return this.options.horizontal?s.scrollWidth-this.scrollElement.innerWidth:s.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(s=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=s,this.getOffsetForAlignment=(s,r,a=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),o=this.getScrollOffset();r==="auto"&&(r=s>=o+i?"end":"start"),r==="center"?s+=(a-i)/2:r==="end"&&(s-=i);const c=this.getMaxScrollOffset();return Math.max(Math.min(c,s),0)},this.getOffsetForIndex=(s,r="auto")=>{s=Math.max(0,Math.min(s,this.options.count-1));const a=this.getSize(),i=this.getScrollOffset(),o=this.measurementsCache[s];if(!o)return;if(r==="auto")if(o.end>=i+a-this.options.scrollPaddingEnd)r="end";else if(o.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];if(r==="end"&&s===this.options.count-1)return[this.getMaxScrollOffset(),r];const c=r==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(c,r,o.size),r]},this.scrollToOffset=(s,{align:r="start",behavior:a="auto"}={})=>{this._iosDeferredAdjustment=0;const i=this.getOffsetForAlignment(s,r),o=this.now();this.scrollState={index:null,align:r,behavior:a,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:a}),this.scheduleScrollReconcile()},this.scrollToIndex=(s,{align:r="auto",behavior:a="auto"}={})=>{this._iosDeferredAdjustment=0,s=Math.max(0,Math.min(s,this.options.count-1));const i=this.getOffsetForIndex(s,r);if(!i)return;const[o,c]=i,d=this.now();this.scrollState={index:s,align:c,behavior:a,startedAt:d,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:a}),this.scheduleScrollReconcile()},this.scrollBy=(s,{behavior:r="auto"}={})=>{const a=this.getScrollOffset()+s,i=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:i,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:s="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:s});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:s})},this.getTotalSize=()=>{var s;const r=this.getMeasurements();let a;if(r.length===0)a=this.options.paddingStart;else if(this.options.lanes===1){const i=r.length-1,o=this._flatMeasurements;o!=null?a=o[i*2]+o[i*2+1]:a=((s=r[i])==null?void 0:s.end)??0}else{const i=Array(this.options.lanes).fill(null);let o=r.length-1;for(;o>=0&&i.some(c=>c===null);){const c=r[o];i[c.lane]===null&&(i[c.lane]=c.end),o--}a=Math.max(...i.filter(c=>c!==null))}return Math.max(a-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const s=[];if(this.itemSizeCache.size===0)return s;const r=this.getMeasurements();for(const a of r)a&&this.itemSizeCache.has(a.key)&&s.push({index:a.index,key:a.key,start:a.start,size:a.size,end:a.end,lane:a.lane});return s},this._scrollToOffset=(s,{adjustments:r,behavior:a})=>{this._intendedScrollOffset=s+(r??0),this.options.scrollToFn(s,{behavior:a,adjustments:r},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(t)}applyScrollAdjustment(t,s){return t===0?!1:Ct()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=t,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:s}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,a=r?r[0]:this.scrollState.lastTargetOffset,i=1,o=a!==this.scrollState.lastTargetOffset;if(!o&&lo(a,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==a&&this._scrollToOffset(a,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){const c=this.getSize()||600,d=Math.abs(a-this.getScrollOffset()),u=this.scrollState.behavior==="smooth"&&d>c;this.scrollState.lastTargetOffset=a,u||(this.scrollState.behavior="auto"),this._scrollToOffset(a,{adjustments:void 0,behavior:u?"smooth":"auto"})}this.scheduleScrollReconcile()}}const Rn=(n,t,s,r)=>{for(;n<=t;){const a=(n+t)/2|0,i=s(a);if(i<r)n=a+1;else if(i>r)t=a-1;else return a}return n>0?n-1:0};function vo(n,t,s){let r=0;for(;r<=t;){const a=(r+t)/2|0,i=n[a*2];if(i<s)r=a+1;else if(i>s)t=a-1;else return a}return r>0?r-1:0}function wo(n,t,s,r,a){const i=n.length-1;if(n.length<=r)return{startIndex:0,endIndex:i};if(r===1&&a!==null){const u=vo(a,i,s);let p=u;const h=s+t;for(;p<i&&a[p*2]+a[p*2+1]<h;)p++;return{startIndex:u,endIndex:p}}let c=Rn(0,i,u=>n[u].start,s),d=c;if(r===1)for(;d<i&&n[d].end<s+t;)d++;else if(r>1){const u=Array(r).fill(0);for(;d<i&&u.some(h=>h<s+t);){const h=n[d];u[h.lane]=h.end,d++}const p=Array(r).fill(s+t);for(;c>=0&&p.some(h=>h>=s);){const h=n[c];p[h.lane]=h.start,c--}c=Math.max(0,c-c%r),d=Math.min(i,d+(r-1-d%r))}return{startIndex:c,endIndex:d}}const It=typeof document<"u"?l.useLayoutEffect:l.useEffect;function jo({useFlushSync:n=!0,directDomUpdates:t=!1,directDomUpdatesMode:s="transform",...r}){const a=l.useReducer(p=>p+1,0)[1],i=l.useRef({enabled:t,mode:s,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});i.current.enabled=t,i.current.mode=s;const o=p=>{const h=i.current;if(!h.enabled||!h.container)return;const f=p.getTotalSize();if(f!==h.lastSize){h.lastSize=f;const x=p.options.horizontal?"width":"height";h.container.style[x]=`${f}px`}},c=p=>{const h=i.current;if(!h.enabled||!h.container)return;o(p);const f=!!p.options.horizontal,x=h.mode==="transform",g=f?"left":"top",k=p.options.scrollMargin,y=p.getVirtualItems();for(const m of y){const v=m.start-k,_=p.elementsCache.get(m.key);_&&h.lastPositions.get(_)!==v&&(h.lastPositions.set(_,v),x?_.style.transform=f?`translate3d(${v}px, 0, 0)`:`translate3d(0, ${v}px, 0)`:_.style[g]=`${v}px`)}},d={...r,onChange:(p,h)=>{var f;const x=i.current;let g=!0;if(x.enabled){c(p);const k=p.range,y=x.prevRange;g=!y||y.isScrolling!==p.isScrolling||y.startIndex!==(k==null?void 0:k.startIndex)||y.endIndex!==(k==null?void 0:k.endIndex),g&&(x.prevRange=k?{startIndex:k.startIndex,endIndex:k.endIndex,isScrolling:p.isScrolling}:null)}g&&(n&&h?In.flushSync(a):a()),(f=r.onChange)==null||f.call(r,p,h)}},[u]=l.useState(()=>{const p=new yo(d);return Object.assign(p,{containerRef:h=>{const f=i.current;if(f.container=h,f.lastSize=null,h&&f.enabled){const x=p.getTotalSize();f.lastSize=x;const g=p.options.horizontal?"width":"height";h.style[g]=`${x}px`}}})});return u.setOptions(d),It(()=>u._didMount(),[]),It(()=>(o(u),u._willUpdate())),It(()=>{c(u)}),u}function No(n){return jo({observeElementRect:ho,observeElementOffset:xo,scrollToFn:ko,...n})}const So=30,Eo=20,To=9;function ut(n){const t=encodeURIComponent(Pe(n.cell));return n.collapsedSummaryKind===void 0?t:`${t}\0summary\0${n.collapsedSummaryKind}`}function Ao(n){const t=[];let s=[];for(const[r,a]of n.entries()){const i={logicalIndex:r,record:a};if(a.cell.requestOnly===!0){s.push(i);continue}const o=[...s,i];s=[],t.push({entries:o,height:a.collapsedSummaryKind===void 0?So:Eo,key:ut(a)})}return s.length>0&&t.push({entries:s,height:To,key:s.map(r=>ut(r.record)).join("|")}),t}const Co=["Input","Output","Think","Time"],Io=l.memo(function({turn:t}){return e.jsxs("div",{className:"sticky top-0 z-10 flex h-[26px] items-center border-b border-dark-border/40 bg-dark-surface/95 px-2 backdrop-blur",children:[e.jsxs("span",{className:"text-[11px] font-semibold text-dark-text",children:["Turn ",t]}),e.jsx("div",{className:"ml-auto flex items-center gap-3 pr-1 text-[10px] text-dark-muted/50","aria-hidden":"true",children:Co.map(s=>e.jsx("span",{className:"w-12 text-right",children:s},s))})]})}),Ro=l.memo(function({title:t,description:s}){return e.jsxs("div",{className:"flex h-[22px] items-center gap-2 px-2 text-[11px]",children:[e.jsx("span",{className:"font-medium text-dark-muted",children:t}),s!==void 0&&s!==""&&e.jsx("span",{className:"truncate text-dark-muted/50",children:s})]})}),_o={system:"System",user:"User",context:"Context",compacted:"Compacted",message:"Message",tool:"Tool",subtool:"Sub"},Mo={system:"bg-dark-surface text-dark-muted border-dark-border/40",user:"bg-accent-blue/10 text-accent-blue border-accent-blue/30",context:"bg-dark-surface text-dark-muted border-dark-border/40",compacted:"bg-amber-500/10 text-amber-500 border-amber-500/30",message:"bg-accent-green/10 text-accent-green border-accent-green/30",tool:"bg-accent-purple/10 text-accent-purple border-accent-purple/30",subtool:"bg-dark-surface text-dark-muted border-dark-border/40"},Oo=l.memo(function({cell:t,selected:s=!1,onClick:r}){const{index:a,kind:i,timeSeconds:o,input:c,output:d,think:u}=t,p=pt(t),h=i==="message";return e.jsxs("div",{className:["flex h-[30px] items-center gap-2 border-b border-dark-border/20 px-2 text-xs cursor-pointer select-none",s?"bg-accent-blue/10":"hover:bg-dark-surface/40"].join(" "),"data-kind":i,"data-selected":s||void 0,onClick:()=>r==null?void 0:r(a),children:[e.jsxs("span",{className:"w-10 shrink-0 text-right tabular-nums text-dark-muted/50",children:["#",a]}),e.jsx("span",{className:"w-[74px] shrink-0",children:e.jsx("span",{className:["inline-block rounded border px-1 py-px text-[10px] leading-none",Mo[i]].join(" "),children:_o[i]})}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-dark-text",title:p,children:p}),e.jsxs("span",{className:"flex shrink-0 items-center gap-2 tabular-nums text-dark-muted/60",children:[h&&e.jsxs(e.Fragment,{children:[c!==void 0&&e.jsx("span",{title:"Input tokens",children:c}),d!==void 0&&e.jsx("span",{title:"Output tokens",children:d}),u!==void 0&&e.jsx("span",{title:"Reasoning tokens",children:u})]}),e.jsx("span",{className:"w-16 text-right",children:Zt(o)})]})]})}),Do=100,$o=12,Lo=600,zo=2;function Fo(n){const t=l.useRef({rows:[],structure:[]});if(t.current.rows===n)return t.current.structure;const s=t.current.structure.length===n.length&&n.every((r,a)=>{const i=t.current.structure[a];return(i==null?void 0:i.key)===r.key&&i.height===r.height})?t.current.structure:n.map(r=>({key:r.key,height:r.height}));return t.current={rows:n,structure:s},s}function Po(n){const t=[];for(const s of n){const r=[];for(const a of s.groups)a.cells.forEach((i,o)=>{r.push({turn:s.turn,group:a.title,groupDescription:a.description,groupStart:o===0,turnStart:r.length===0,cell:i,turnEnd:!1})});if(r.length>0){const a=r[r.length-1];a&&(a.turnEnd=!0)}t.push(...r)}return t}function Bo(n,t){const s=[];let r=[],a=null;const i=()=>{if(r.length!==0){if(a!==null&&t.has(a)){const o=r.filter(d=>d.cell.requestOnly!==!0&&d.cell.kind!=="system"),c=r[0];s.push({...c,groupStart:!0,turnStart:!0,turnEnd:!0,collapsedSummary:`Turn ${a} · ${o.length} records`,collapsedSummaryKind:"turn",cell:{...c.cell,index:c.cell.index}})}else s.push(...r);r=[],a=null}};for(const o of n)o.turnStart&&i(),a=o.turn,r.push(o);return i(),s}function Ho(n,t){var a;const s=[];let r=0;for(;r<n.length;){const i=n[r],o=n[r+1];if(i.cell.kind==="message"&&o!==void 0&&(o.cell.kind==="tool"||o.cell.kind==="subtool")&&t.has(Pe(i.cell))){let c=r+1;for(;c<n.length&&(n[c].cell.kind==="tool"||n[c].cell.kind==="subtool");)c+=1;const d=c-r-1;s.push({...i,groupStart:!0,turnEnd:((a=n[c-1])==null?void 0:a.turnEnd)??i.turnEnd,collapsedSummary:`${pt(i.cell)||"Message"} · ${d} tool call${d>1?"s":""}`,collapsedSummaryKind:"assistant"}),r=c;continue}s.push(i),r+=1}return s}function Uo(n,t){const s=[];let r=null,a=null;for(const i of n)i.turnStart&&(r=i),i.groupStart&&(a=i),t.has(i.cell.index)&&(r!==null&&s.length===0&&(s.push({...r,groupStart:!0,turnStart:!0}),r=null),a!==null&&s.length>0&&s[s.length-1].group!==i.group&&(s.push({...a,groupStart:!0,turnStart:!1}),a=null),s.push(i));return s}function Rt(n){if(n===null||!Number.isFinite(n))return"Not available";const t=new Date(n),s=o=>String(o).padStart(2,"0"),r=o=>String(o).padStart(3,"0"),a=`${s(t.getHours())}:${s(t.getMinutes())}:${s(t.getSeconds())}.${r(t.getMilliseconds())}`;return`${`${t.getFullYear()}-${s(t.getMonth()+1)}-${s(t.getDate())}`} ${a}`}function qo(n){const t=[{id:"overview",label:"Summary"}];return n.inputDetail!==void 0&&n.inputDetail!==""&&t.push({id:"input",label:"Input"}),n.outputDetail!==void 0&&n.outputDetail!==""&&t.push({id:"output",label:"Output"}),n.thinkingDetail!==void 0&&n.thinkingDetail!==""&&t.push({id:"thinking",label:"Thinking"}),n.assistantMetrics!==void 0&&t.push({id:"timing",label:"Timing"}),(n.input!==void 0||n.output!==void 0||n.think!==void 0)&&t.push({id:"usage",label:"Usage"}),t}function Go({cell:n,onClose:t}){var c;const s=qo(n),[r,a]=l.useState(((c=s[0])==null?void 0:c.id)??"overview"),i=pt(n),o=()=>{switch(r){case"overview":return e.jsxs("dl",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Kind"}),e.jsx("dd",{className:"traj-detailValue",children:n.kind})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Index"}),e.jsxs("dd",{className:"traj-detailValue",children:["#",n.index]})]}),n.callId!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Call ID"}),e.jsx("dd",{className:"traj-detailValue break-all",children:n.callId})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Duration"}),e.jsx("dd",{className:"traj-detailValue",children:Zt(n.timeSeconds)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Started"}),e.jsx("dd",{className:"traj-detailValue",children:Rt(n.startedAt??null)})]}),n.isError===!0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Status"}),e.jsx("dd",{className:"traj-detailValue text-red-400",children:"error"})]}),i!==""&&e.jsxs("div",{className:"pt-1",children:[e.jsx("dt",{className:"traj-detailKey mb-1",children:"Summary"}),e.jsx("dd",{className:"traj-detailBody",children:i})]})]});case"input":return e.jsx("div",{className:"traj-detailBody",children:n.inputDetail});case"output":return e.jsx("div",{className:"traj-detailBody",children:n.outputDetail});case"thinking":return e.jsx("div",{className:"traj-detailBody",children:n.thinkingDetail});case"timing":{const d=n.assistantMetrics;if(!d)return null;const u=d.firstTokenTime!==null&&d.stepStartTime!==null?d.firstTokenTime-d.stepStartTime:null,p=d.completedTime!==null&&d.firstTokenTime!==null?d.completedTime-d.firstTokenTime:null;return e.jsxs("dl",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Step start"}),e.jsx("dd",{className:"traj-detailValue",children:Rt(d.stepStartTime)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"First token"}),e.jsx("dd",{className:"traj-detailValue",children:Rt(d.firstTokenTime)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"TTFT"}),e.jsx("dd",{className:"traj-detailValue",children:u===null?"—":`${u} ms`})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Decoding"}),e.jsx("dd",{className:"traj-detailValue",children:p===null?"—":`${p} ms`})]})]})}case"usage":return e.jsxs("dl",{className:"space-y-1.5",children:[n.input!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Input"}),e.jsx("dd",{className:"traj-detailValue",children:n.input})]}),n.output!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Output"}),e.jsx("dd",{className:"traj-detailValue",children:n.output})]}),n.think!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Reasoning"}),e.jsx("dd",{className:"traj-detailValue",children:n.think})]}),n.input===void 0&&n.output===void 0&&n.think===void 0&&e.jsx("div",{className:"traj-detailValue",children:"Token usage not reported by provider yet."})]});default:return null}};return e.jsxs("div",{className:"flex h-full w-[360px] shrink-0 flex-col border-l border-dark-border/40 bg-dark-surface/40",children:[e.jsxs("div",{className:"flex h-9 shrink-0 items-center justify-between border-b border-dark-border/40 px-3",children:[e.jsxs("span",{className:"text-xs font-medium text-dark-text",children:["Record #",n.index]}),e.jsx("button",{type:"button",className:"rounded p-1 text-dark-muted hover:bg-dark-surface/60",onClick:t,"aria-label":"Close details",children:e.jsx(Ae,{size:14})})]}),e.jsx("div",{className:"flex shrink-0 flex-wrap gap-1 border-b border-dark-border/40 px-2 py-1.5",children:s.map(d=>e.jsx("button",{type:"button",className:"traj-detailTab","data-active":r===d.id||void 0,onClick:()=>a(d.id),children:d.label},d.id))}),e.jsx("div",{className:"min-h-0 flex-1 overflow-auto p-3",children:o()})]})}function Wo({turns:n,searchMatchIndexes:t=null,selectedIndex:s,onSelectIndex:r,onDeselect:a,onClearSelection:i,collapsedTurns:o,onToggleTurn:c,collapsedAssistants:d,onToggleAssistant:u}){var R;const p=l.useRef(null),h=l.useMemo(()=>Po(n),[n]),f=l.useMemo(()=>s===null?void 0:h.find(T=>T.cell.index===s),[h,s]),x=l.useMemo(()=>{if(t!==null)return Uo(h,t);const T=o.size===0?h:Bo(h,o);return d.size===0?T:Ho(T,d)},[h,d,o,t]),g=l.useMemo(()=>Ao(x),[x]),k=Fo(g),y=x.length>Do,m=l.useCallback(T=>{var U;return((U=k[T])==null?void 0:U.height)??30},[k]),v=l.useCallback(T=>{var U;return((U=k[T])==null?void 0:U.key)??T},[k]),_=l.useCallback(()=>p.current,[]),E=No({count:y?k.length:0,enabled:y,estimateSize:m,getItemKey:v,getScrollElement:_,initialRect:{width:0,height:Lo},anchorTo:"end",overscan:$o,scrollEndThreshold:zo}),I=y?E.getVirtualItems():[],O=((R=I[0])==null?void 0:R.start)??0,j=y?E.getTotalSize():0,N=T=>{r(T)},L=T=>T.collapsedSummary!==void 0?e.jsxs("div",{className:"flex h-[20px] cursor-pointer items-center gap-2 px-2 text-xs text-dark-muted hover:bg-dark-surface/40",onClick:()=>{T.collapsedSummaryKind==="turn"&&T.turn!==null?c(T.turn):T.collapsedSummaryKind==="assistant"&&u(Pe(T.cell))},children:[e.jsx("span",{className:"text-dark-muted/50",children:"▸"}),e.jsx("span",{className:"truncate",children:T.collapsedSummary})]}):e.jsxs(e.Fragment,{children:[T.turnStart&&T.turn!==null&&e.jsx(Io,{turn:T.turn}),T.groupStart&&e.jsx(Ro,{title:T.group,description:T.groupDescription}),e.jsx(Oo,{cell:T.cell,selected:s===T.cell.index,onClick:N})]});return e.jsxs("div",{className:"flex min-h-0 flex-1",children:[e.jsx("div",{ref:p,className:"min-w-0 flex-1 overflow-auto",onClick:T=>{T.target===T.currentTarget&&(i==null||i())},children:y?e.jsx("div",{style:{height:j,position:"relative"},children:I.map(T=>{const U=g[T.index];return U?e.jsx("div",{"data-virtual-row-key":U.key,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${T.start-O}px)`,height:U.height},children:U.entries.map(K=>e.jsx("div",{children:L(K.record)},ut(K.record)))},U.key):null})}):x.map(T=>e.jsx("div",{children:L(T)},ut(T)))}),f!==void 0&&e.jsx(Go,{cell:f.cell,onClose:a},f.cell.index)]})}const Ko=new Set,Vo=new Set,Jo=3e3;function Xo({sessionId:n,messages:t}){const[s,r]=l.useState(Ko),[a,i]=l.useState(Vo),[o,c]=l.useState(null),[d,u]=l.useState(!1),[p,h]=l.useState(""),[f]=l.useState(()=>new Xi),[x,g]=l.useState(0),k=l.useRef(null),y=l.useRef(!1),[m,v]=l.useState(null),_=os(D=>D.compactedBySession[n]??Yo),E=os(D=>D.ttftBySession[n]),I=l.useMemo(()=>{if(E!==void 0)return new Map(Object.entries(E))},[E]),O=l.useMemo(()=>Hi({messages:t,compacted:_,ttft:I}),[t,_,I]),j=d?"duration":"sequence";l.useEffect(()=>(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{f.update([O]),g(D=>D+1),y.current=!0},y.current?Jo:0),()=>{k.current&&clearTimeout(k.current)}),[O,f]);const N=l.useMemo(()=>p.trim()===""?null:f.search(p),[p,x]),L=l.useMemo(()=>{if(N===null)return null;const D=new Set;for(const q of O)for(const Y of q.groups)for(const ae of Y.cells)N.has(Pe(ae))&&D.add(ae.index);return D},[O,N]),R=l.useMemo(()=>o===null?null:Gi(O,o,j),[O,j,o]),T=l.useMemo(()=>O.filter(D=>D.turn!==null&&D.groups.reduce((q,Y)=>q+Y.cells.filter(ae=>ae.requestOnly!==!0&&ae.kind!=="system").length,0)>1).flatMap(D=>D.turn===null?[]:[D.turn]),[O]),U=T.length>0&&T.every(D=>s.has(D)),K=l.useMemo(()=>{const D=[];for(const q of O){const Y=q.groups.flatMap(ae=>ae.cells);for(let ae=0;ae<Y.length;ae++){const ne=Y[ae];if((ne==null?void 0:ne.kind)!=="message")continue;const de=Y[ae+1];((de==null?void 0:de.kind)==="tool"||(de==null?void 0:de.kind)==="subtool")&&D.push(Pe(ne))}}return D},[O]),W=K.length>0&&K.every(D=>a.has(D)),X=l.useCallback(D=>{r(q=>{const Y=new Set(q);return Y.has(D)?Y.delete(D):Y.add(D),Y})},[]),re=l.useCallback(()=>{r(D=>{const q=new Set(D);if(U)for(const Y of T)q.delete(Y);else for(const Y of T)q.add(Y);return q})},[U,T]),A=l.useCallback(D=>{i(q=>{const Y=new Set(q);return Y.has(D)?Y.delete(D):Y.add(D),Y})},[]),V=l.useCallback(()=>{i(D=>{const q=new Set(D);if(W)for(const Y of K)q.delete(Y);else for(const Y of K)q.add(Y);return q})},[W,K]),C=l.useCallback(D=>{c(D)},[]),z=l.useCallback(D=>{R!==null&&!R.has(D)&&c(null),v(q=>q===D?null:D)},[R]),Z=l.useCallback(()=>{v(null)},[]),F=l.useCallback(()=>{c(null),v(null)},[]);return e.jsxs("div",{className:"flex h-full min-h-0 flex-col","data-conversation-composer-overlay":"",children:[e.jsx(Yi,{actualDuration:d,onActualDurationChange:D=>{u(D),c(null)},allTurnsCollapsed:U,onToggleAllTurns:re,allAssistantsCollapsed:W,onToggleAllAssistants:V,searchQuery:p,onSearchQueryChange:h}),e.jsx(io,{turns:O,mode:j,range:o,selectedIndex:m,searchMatchIndexes:L,onRangeChange:C,onRecordSelect:z}),e.jsx("div",{className:"min-h-0 flex-1",children:e.jsx(Wo,{turns:O,searchMatchIndexes:L,selectedIndex:m,onSelectIndex:z,onDeselect:Z,onClearSelection:F,collapsedTurns:s,onToggleTurn:X,collapsedAssistants:a,onToggleAssistant:A})})]})}const Yo=[],Zo={plan:"border-accent-blue/30 text-accent-blue bg-accent-blue/10","auto-plan":"border-accent-cyan/30 text-accent-cyan bg-accent-cyan/10",act:"border-accent-green/30 text-accent-green bg-accent-green/10","auto-act":"border-accent-yellow/30 text-accent-yellow bg-accent-yellow/10",goal:"border-accent-purple/30 text-accent-purple bg-accent-purple/10","auto-goal":"border-accent-red/30 text-accent-red bg-accent-red/10",normal:"border-accent-green/30 text-accent-green"},Qo=l.memo(function(){const{t}=ee(),s=Ie(d=>d.mode),r=Ie(d=>d.setBaseMode),a=Ie(d=>d.toggleAuto),i=s==="normal"?"act":s,o=at(i),c=Ht(i);return e.jsxs("div",{className:"flex items-center gap-1",children:[Jr.map(d=>{const u=o===d,p=Xr[d],h=s!=="normal"&&u?Zo[s]??"border-dark-border text-dark-muted":"border-dark-border text-dark-muted hover:bg-dark-hover";return e.jsx("button",{type:"button",onClick:()=>r(d),className:le("px-2 py-0.5 rounded-full border text-xs whitespace-nowrap transition-colors cursor-pointer",h),title:t("chat.clickToSwitchMode"),"aria-pressed":u,children:p.label},d)}),e.jsxs("button",{type:"button",role:"switch","aria-checked":c,onClick:()=>a(),className:le("flex items-center gap-1 px-2 py-0.5 rounded-full border text-xs whitespace-nowrap transition-colors cursor-pointer",c?"border-accent-yellow/40 text-accent-yellow bg-accent-yellow/10":"border-dark-border text-dark-muted hover:bg-dark-hover"),title:t("plan.autoApprove"),children:[e.jsx(Xe,{size:11,className:le(c?"text-accent-yellow":"text-dark-muted")}),e.jsx("span",{children:t("plan.autoApprove")})]})]})}),Bs={off:{labelKey:"chat.effortOff",color:"text-dark-muted"},low:{labelKey:"chat.effortLow",color:"text-accent-green"},medium:{labelKey:"chat.effortMedium",color:"text-accent-yellow"},high:{labelKey:"chat.effortHigh",color:"text-accent-red"},extra_high:{labelKey:"chat.effortExtraHigh",color:"text-accent-purple"},max:{labelKey:"chat.effortMax",color:"text-accent-blue"}},el=l.memo(function(){const{t}=ee(),s=Ve(S=>S.model),r=Ve(S=>S.modelRef),a=Ve(S=>S.setModel),i=Ve(S=>S.setModelRef),o=Ie(S=>S.mode),c=lt(S=>S.effort),d=lt(S=>S.setEffort),[u,p]=l.useState([]),[h,f]=l.useState(!1),x=l.useRef(null),[g,k]=l.useState("global"),y=an(S=>S.activeSessionId),[m,v]=l.useState(!1),[_,E]=l.useState(""),[I,O]=l.useState(""),[j,N]=l.useState([]),[L,R]=l.useState(new Set),[T,U]=l.useState("none"),[K,W]=l.useState(!1),[X,re]=l.useState(null),[A,V]=l.useState(null),C=l.useMemo(()=>Array.from(new Set(u.map(S=>S.provider))),[u]),z=l.useCallback(async()=>{try{const S=await ge.models.list();S.success&&S.data&&Array.isArray(S.data.models)&&p(S.data.models.filter(te=>te.enabled!==!1))}catch{}},[]),Z=l.useCallback(()=>{var te,H;const S=Yr(r)||((te=u.find(be=>be.isGlobalDefault))==null?void 0:te.provider)||((H=u[0])==null?void 0:H.provider)||"";E(S),O(""),re(null),v(!0)},[r,u]),F=l.useCallback(()=>{v(!1),N([]),re(null)},[]),D=l.useCallback(async(S,te)=>{if(S){W(!0),re(null);try{const H=await ge.models.byProvider(S,te||void 0);H.success&&H.data?(N(H.data.models||[]),R(new Set(H.data.existing||[])),U(H.data.source)):(N([]),R(new Set),re(H.error||t("chat.loadModelsFailed")))}catch{N([]),R(new Set),re(t("chat.loadModelsFailed"))}finally{W(!1)}}},[t]);l.useEffect(()=>{if(!m)return;const S=setTimeout(()=>{D(_,I)},I?300:0);return()=>clearTimeout(S)},[m,_,I,D]),l.useEffect(()=>{z()},[z]),l.useEffect(()=>{const S=()=>{z()};return window.addEventListener("models-updated",S),()=>window.removeEventListener("models-updated",S)},[z]);const q=l.useCallback(()=>f(!1),[]);l.useEffect(()=>{if(!h)return;const S=H=>{x.current&&!x.current.contains(H.target)&&q()},te=H=>{H.key==="Escape"&&q()};return document.addEventListener("mousedown",S),document.addEventListener("keydown",te),()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",te)}},[h,q]);const Y=async S=>{if(q(),g==="session"){if(!y)return;try{(await ge.models.setSessionModel(y,S.provider,S.id)).success&&(a(S.id),i(`${S.provider}:${S.id}`))}catch{}return}const te=at(o==="normal"?"act":o),H=`${S.provider}:${S.id}`,be=te==="plan"?{plan:H}:te==="goal"?{goal:H}:{global:H,act:H};try{(await ge.models.setDefaults(be)).success&&(a(S.id),i(`${S.provider}:${S.id}`),await z())}catch{}},ae=async S=>{const te=L.has(S.id),H=`${_}:${S.id}`;V(S.id);try{if(!te){const Be=await ge.models.create({provider:_,model:{id:S.id,name:S.name||S.id}});if(!Be.success){re(Be.error||t("chat.addModelFailed"));return}}const be=at(o==="normal"?"act":o),xe=be==="plan"?{plan:H}:be==="goal"?{goal:H}:{global:H,act:H},et=await ge.models.setDefaults(xe);et.success?(a(S.id),i(H),F(),await z()):re(et.error||t("chat.switchModelFailed"))}catch{re(t("chat.addModelFailed"))}finally{V(null)}},ne=at(o==="normal"?"act":o),de=ne==="plan"?"isPlanDefault":ne==="goal"?"isGoalDefault":"isActDefault",M=S=>{const te=`${S.provider}:${S.id}`;if(r)return r===te;if(s===te)return!0;if(s!==S.id)return!1;const H=u.filter(xe=>xe.id===S.id);return H.length<=1?!0:(H.find(xe=>xe[de]===!0)??H.find(xe=>xe.isGlobalDefault)??H[0])===S},B=u.some(S=>S[de]===!0),J=u.find(S=>S.isGlobalDefault),ue=async()=>{q();const S=ne==="plan"?{plan:null}:ne==="goal"?{goal:null}:{act:null};try{(await ge.models.setDefaults(S)).success&&(J?(a(J.id),i(`${J.provider}:${J.id}`)):(a(""),i("")),await z())}catch{}},he=l.useMemo(()=>Zr(u),[u]),fe=Qr(s,r),je=Bs[c];return e.jsxs("div",{className:"relative",ref:x,children:[e.jsxs("button",{type:"button",onClick:()=>f(S=>!S),className:"flex items-center gap-1 px-2 py-0.5 rounded-full border border-dark-border text-dark-muted whitespace-nowrap transition-colors hover:bg-dark-hover cursor-pointer",title:fe||t("chat.clickToSelectModel"),"aria-haspopup":"listbox","aria-expanded":h,children:[e.jsx(vr,{size:12,className:"shrink-0"}),e.jsx("span",{className:"font-medium max-w-[8rem] truncate",children:fe||t("chat.selectModel")}),e.jsx("span",{className:"h-3 w-px bg-dark-border shrink-0","aria-hidden":"true"}),e.jsx(is,{size:12,className:`shrink-0 ${je.color}`}),e.jsx("span",{className:`text-xs font-medium ${je.color}`,children:t(je.labelKey)}),e.jsx(we,{size:12,className:le("transition-transform",h&&"rotate-180")})]}),h&&e.jsxs("div",{role:"listbox","aria-label":t("chat.selectModel"),className:"absolute bottom-full left-0 mb-1 z-50 min-w-[260px] bg-dark-surface border border-dark-border rounded-lg shadow-xl overflow-hidden",children:[e.jsx("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wide text-dark-muted border-b border-dark-border",children:t("chat.selectModel")}),e.jsx("div",{className:"flex items-center gap-1 px-2 py-1.5 border-b border-dark-border",children:[{key:"global",label:t("chat.applyScopeGlobal")},{key:"session",label:t("chat.applyScopeSession")}].map(({key:S,label:te})=>e.jsx("button",{type:"button",onClick:()=>k(S),title:S==="session"?t("chat.sessionScopeHint"):void 0,className:le("text-[11px] px-2 py-0.5 rounded-full border transition-colors cursor-pointer",g===S?"border-accent-blue text-accent-blue bg-accent-blue/10 font-medium":"border-dark-border text-dark-muted hover:text-dark-text hover:bg-dark-hover"),children:te},S))}),m?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-2 py-1.5 border-b border-dark-border flex items-center gap-1.5",children:[e.jsx("button",{type:"button",onClick:F,title:t("chat.backToModels"),"aria-label":t("chat.backToModels"),className:"p-1 rounded hover:bg-dark-hover text-dark-muted hover:text-dark-text shrink-0",children:e.jsx(wr,{size:12})}),C.length>1?e.jsx("select",{value:_,onChange:S=>E(S.target.value),"aria-label":t("chat.selectProvider"),className:"max-w-[9rem] min-w-0 bg-dark-surface text-dark-text text-xs px-1.5 py-1 rounded border border-dark-border focus:outline-none focus:border-accent-blue",children:C.map(S=>e.jsx("option",{value:S,children:S},S))}):e.jsx("span",{className:"flex-1 min-w-0 text-xs font-medium text-dark-text truncate",children:_||t("chat.noConfiguredProviders")}),e.jsx("input",{value:I,onChange:S=>O(S.target.value),placeholder:t("chat.searchModels"),"aria-label":t("chat.searchModels"),className:"flex-1 min-w-0 bg-dark-bg text-dark-text text-xs px-2 py-1 rounded border border-dark-border placeholder-dark-muted/60 focus:outline-none focus:border-accent-blue"})]}),e.jsx("div",{className:"py-1 max-h-[32vh] overflow-y-auto custom-scrollbar",children:K?e.jsxs("div",{className:"px-3 py-2 text-xs text-dark-muted flex items-center gap-1.5",children:[e.jsx(jr,{size:11,className:"animate-spin"}),t("chat.loadingModels")]}):X?e.jsx("div",{className:"px-3 py-2 text-xs text-accent-red",children:X}):_?j.length===0?e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t(I?"chat.noModelsFound":"chat.noProviderModels")}):e.jsxs(e.Fragment,{children:[T!=="none"&&e.jsx("div",{className:"px-3 pt-1.5 pb-0.5 text-[10px] text-dark-muted/70",children:t(T==="provider-api"?"chat.modelsSourceProviderApi":"chat.modelsSourceCatalog")}),j.map(S=>{const te=L.has(S.id),H=r===`${_}:${S.id}`;return e.jsxs("button",{type:"button",role:"option","aria-selected":H,onClick:()=>ae(S),className:"w-full flex items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-dark-hover",children:[e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-xs font-medium text-dark-text truncate",children:S.name||S.id}),H&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-green/20 text-accent-green shrink-0",children:t("chat.currentModel")})]}),e.jsx("span",{className:"block text-[10px] text-dark-muted truncate mt-0.5",children:S.id})]}),te?e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-green/20 text-accent-green shrink-0",children:t("chat.alreadyAdded")}):e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-blue/20 text-accent-blue shrink-0 whitespace-nowrap",children:A===S.id?t("chat.addingModel"):t("chat.addAndSwitch")})]},S.id)})]}):e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t("chat.noConfiguredProviders")})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"py-1 max-h-[32vh] overflow-y-auto custom-scrollbar",children:[B&&e.jsx("button",{type:"button",role:"option","aria-selected":!1,onClick:ue,title:t("chat.followGlobalDefaultHint"),className:"w-full flex items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-dark-hover border-b border-dark-border/60",children:e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsxs("span",{className:"text-xs font-semibold text-accent-green flex items-center gap-1.5",children:[e.jsx(Nr,{size:11}),t("chat.followGlobalDefault")]}),e.jsx("span",{className:"block text-[10px] text-dark-muted mt-0.5 truncate",children:J?J.name||J.id:t("chat.noGlobalDefault")})]})}),he.map(([S,te])=>e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-dark-border/60 bg-dark-bg/40",children:[e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-dark-muted truncate",children:S}),e.jsx("span",{className:"text-[10px] text-dark-muted/70",children:te.length})]}),te.map(H=>{const be=M(H);return e.jsx("button",{type:"button",role:"option","aria-selected":be,onClick:()=>Y(H),className:le("w-full flex items-center gap-2 px-3 py-2 text-left transition-colors",be?"bg-dark-hover":"hover:bg-dark-hover"),children:e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsxs("span",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:le("flex h-4 w-4 items-center justify-center rounded border transition-colors shrink-0",be?"border-accent-green bg-accent-green/20 text-accent-green":"border-dark-border text-transparent"),children:e.jsx(Ee,{size:11,strokeWidth:3})}),e.jsx("span",{className:"text-xs font-semibold text-dark-text truncate",children:H.name||H.id})]}),e.jsxs("span",{className:"flex items-center gap-1 mt-0.5 flex-wrap",children:[e.jsx("span",{className:"text-[10px] text-dark-muted truncate",children:H.id}),H.isGlobalDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-green/20 text-accent-green",children:t("chat.globalDefault")}),H.isPlanDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-blue/20 text-accent-blue",children:t("chat.planDefault")}),H.isActDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-yellow/20 text-accent-yellow",children:t("chat.actDefault")}),H.isGoalDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-purple/20 text-accent-purple",children:t("chat.goalDefault")})]})]})},`${H.provider}:${H.id}`)})]},S)),u.length===0&&e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t("chat.noEnabledModels")})]}),e.jsxs("button",{type:"button",onClick:Z,className:"w-full flex items-center gap-2 px-3 py-2 text-left border-t border-dark-border/60 text-[11px] font-medium text-accent-blue transition-colors hover:bg-dark-hover",children:[e.jsx(Ze,{size:11}),t("chat.browseMoreModels")]})]}),e.jsx("div",{className:"border-t border-dark-border","aria-hidden":"true"}),e.jsxs("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wide text-dark-muted border-b border-dark-border flex items-center gap-1",children:[e.jsx(is,{size:11}),t("chat.effort")]}),e.jsx("div",{className:"py-1",children:ea.map(S=>{const te=Bs[S],H=S===c;return e.jsxs("button",{type:"button",role:"option","aria-selected":H,onClick:()=>{d(S),q()},className:le("w-full flex items-center gap-2 px-3 py-1.5 text-left transition-colors",H?"bg-dark-hover":"hover:bg-dark-hover"),children:[e.jsx("span",{className:le("flex h-4 w-4 items-center justify-center rounded border transition-colors shrink-0",H?"border-accent-green bg-accent-green/20 text-accent-green":"border-dark-border text-transparent"),children:e.jsx(Ee,{size:11,strokeWidth:3})}),e.jsx("span",{className:`text-xs font-medium ${H?te.color:"text-dark-text"}`,children:t(te.labelKey)})]},S)})})]})]})});function tl(n,t){if(!n)return t;const s=n.includes("\\")?"\\":"/";return n.endsWith(s)?n+t:n+s+t}function sl(n){const t=n.replace(/[\\/]+$/,""),s=Math.max(t.lastIndexOf("\\"),t.lastIndexOf("/"));return s===-1?t:t.slice(s+1)}function nl({initial:n,onClose:t,onConfirm:s}){const{t:r}=ee(),[a,i]=l.useState(n),[o,c]=l.useState(null),[d,u]=l.useState([]),[p,h]=l.useState(!1),[f,x]=l.useState(""),[g,k]=l.useState(n),y=l.useRef(null),m=l.useCallback(async E=>{h(!0),x("");try{const I=await ge.dirs.list(E);if(!I.success||!I.data){x(I.error||r("chat.dirPickerLoadError"));return}i(I.data.path),c(I.data.parent),u(I.data.dirs||[]),k(I.data.path)}catch(I){x(I instanceof Error?I.message:r("chat.dirPickerLoadError"))}finally{h(!1)}},[r]);l.useEffect(()=>{m(n)},[n,m]),l.useEffect(()=>{var E;(E=y.current)==null||E.focus()},[]),l.useEffect(()=>{const E=I=>{I.key==="Escape"&&(I.preventDefault(),I.stopPropagation(),t())};return document.addEventListener("keydown",E),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",E),document.body.style.overflow=""}},[t]);const v=l.useCallback(()=>{const E=g.trim();E&&m(E)},[g,m]),_=l.useCallback(()=>{o&&m(o)},[o,m]);return e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center overflow-hidden p-4",role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),e.jsxs("div",{className:"relative w-full max-w-lg mx-4 bg-dark-surface border border-dark-border rounded-xl shadow-2xl animate-fade-in flex flex-col max-h-[70vh]",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-dark-border shrink-0",children:[e.jsxs("span",{className:"flex items-center gap-2 text-[13px] font-semibold text-dark-text",children:[e.jsx(Zs,{size:15,className:"text-accent-blue","aria-hidden":"true"}),r("chat.dirPickerTitle")]}),e.jsx("button",{type:"button",onClick:t,className:"rounded p-1 text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors","aria-label":r("a11y.close"),children:e.jsx(Ae,{size:15,"aria-hidden":"true"})})]}),e.jsxs("div",{className:"p-4 flex flex-col gap-3 min-h-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(Sr,{size:13,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-dark-muted/60","aria-hidden":"true"}),e.jsx("input",{ref:y,value:g,onChange:E=>k(E.target.value),onKeyDown:E=>{E.key==="Enter"&&v()},placeholder:r("chat.dirPickerEnterPath"),spellCheck:!1,className:`w-full rounded-lg border border-dark-border bg-dark-bg pl-8 pr-2.5 py-1.5 text-xs font-mono text-dark-text
26
+ `)}function ro(n,t){return n<=t?{start:n,end:t}:{start:t,end:n}}function ao(n){return Math.min(1,Math.max(0,n))}const io=l.memo(function({turns:t,mode:s,range:r,selectedIndex:a=null,searchMatchIndexes:i=null,onRangeChange:o,onRecordSelect:c}){const d=l.useMemo(()=>Cn(t,s),[s,t]),u=l.useMemo(()=>new Map(t.flatMap(A=>A.groups.flatMap(V=>V.cells.map(C=>[C.index,to(C)])))),[t]),p=l.useMemo(()=>new Map(t.flatMap(A=>A.groups.flatMap(V=>V.cells.map(C=>[C.index,pt(C)])))),[t]),h=l.useRef(null),f=l.useRef(null),[x,g]=l.useState(null),[k,y]=l.useState(null),m=l.useRef(null),[v,_]=l.useState(null);if(l.useEffect(()=>{d!==null&&r!==null&&(r.end<d.start||r.start>d.end)&&o(null)},[d,o,r]),l.useEffect(()=>{d!==null&&_(A=>A!==null&&(A.end<d.start||A.start>d.end)?null:A)},[d]),d===null)return e.jsxs("div",{className:"traj-root","data-empty":"",children:[e.jsxs("div",{className:"traj-labels","aria-hidden":"true",children:[e.jsx("span",{children:"Input"}),e.jsx("span",{children:"Model"}),e.jsx("span",{children:"Tools"})]}),e.jsx("div",{className:"traj-track"})]});const E=Math.max(1,d.end-d.start),I=(v==null?void 0:v.start)??d.start,O=v===null?E:Math.max(1,v.end-v.start),j=A=>{const V=h.current;if(!V)return 0;const C=V.getBoundingClientRect();return ao((A-C.left)/Math.max(1,C.width))},N=A=>I+A*O,L=A=>{if(A.button===2){o(null);return}const C=A.target.closest("[data-timeline-record-index]"),z=C===null?null:Number(C.dataset.timelineRecordIndex);if(z!==null&&Number.isFinite(z)){c==null||c(z);return}f.current={pointerId:A.pointerId,anchorFraction:j(A.clientX),anchorClientX:A.clientX,recordIndex:null},A.currentTarget.setPointerCapture(A.pointerId)},R=A=>{const V=f.current;if(V!==null&&A.pointerId===V.pointerId){const F=j(A.clientX);if(Math.abs(A.clientX-V.anchorClientX)>=Zi){const D=N(V.anchorFraction),q=N(F);g(ro(D,q))}return}const C=j(A.clientX),z=A.target.closest("[data-timeline-record-index]"),Z=z===null?null:Number(z.dataset.timelineRecordIndex);m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{y({fraction:C,recordIndex:Number.isFinite(Z)?Z:null})},Qi)},T=A=>{const V=f.current;V===null||A.pointerId!==V.pointerId||(f.current=null,x!==null&&(o(x),g(null)))},U=A=>{var V;((V=f.current)==null?void 0:V.pointerId)===A.pointerId&&(f.current=null,g(null))},K=A=>{if(d===null)return;const V=j(A.clientX),C=N(V),z=A.deltaY<0?.75:1.35,Z=Math.min(E,Math.max(1,O*z)),F=Math.min(Math.max(C-Z/2,d.start),d.end-Z);_({start:F,end:F+Z})},W=l.useRef(()=>{});W.current=K,l.useEffect(()=>{const A=h.current;if(!A)return;const V=C=>{C.preventDefault(),W.current(C)};return A.addEventListener("wheel",V,{passive:!1}),()=>A.removeEventListener("wheel",V)},[d]);const X=x??r,re=k==null?void 0:k.recordIndex;return e.jsxs("div",{className:"traj-root",children:[e.jsxs("div",{className:"traj-labels","aria-hidden":"true",children:[e.jsx("span",{children:"Input"}),e.jsx("span",{children:"Model"}),e.jsx("span",{children:"Tools"})]}),e.jsxs("div",{ref:h,className:"traj-track",role:"slider","aria-label":"Trajectory timeline",tabIndex:0,onKeyDown:A=>{A.key==="Escape"&&o(null)},onPointerDown:L,onPointerMove:R,onPointerUp:T,onPointerCancel:U,onPointerLeave:()=>{m.current&&clearTimeout(m.current),m.current=null,f.current===null&&y(null)},onDoubleClick:A=>{A.preventDefault(),o(null)},onContextMenu:A=>{A.preventDefault(),o(null)},children:[k!==null&&k.recordIndex===null&&x===null&&e.jsx("div",{className:"traj-hoverLine","aria-hidden":"true",style:{"--trajectory-hover-left":`${k.fraction*100}%`}}),X!==null&&e.jsx("div",{className:"traj-selection","data-dragging":x===null?void 0:"true","aria-hidden":"true",style:{"--trajectory-selection-left":`${(X.start-I)/O*100}%`,"--trajectory-selection-width":`${(X.end-X.start)/O*100}%`}}),e.jsx("div",{className:"traj-turnBoundaries","aria-hidden":"true",children:d.turnBoundaries.filter(A=>A.time>d.start&&A.time>=I&&A.time<=I+O).map(A=>e.jsx("span",{className:"traj-turnBoundary","data-turn":A.turn,style:{"--trajectory-turn-left":`${(A.time-d.start)/E*100}%`}},A.turn))}),e.jsx("div",{className:"traj-lanes","data-timeline-domain":"",children:d.spans.filter(A=>A.index===a||A.end>=I&&A.start<=I+O).map(A=>{const V=(A.start-d.start)/E,z=(A.end-A.start)/E*100,Z=u.get(A.index),F=Z==null?void 0:Z.ttftMs,D=Z==null?void 0:Z.decodingMs,q=F===void 0||D===void 0||F+D<=0?null:F/(F+D),Y=p.get(A.index)??A.label;return e.jsx("span",{"aria-hidden":"true",className:"traj-span","data-timeline-span":A.kind,"data-timeline-record-index":A.index,"data-assistant-timing":q===null?void 0:"true","data-error":A.isError||void 0,"data-current":A.index===a||void 0,"data-hovered":re===A.index||void 0,"data-search-match":i===null?void 0:i.has(A.index)?"true":"false","data-selected":X===null?void 0:A.start<=X.end&&A.end>=X.start?"true":"false",title:no(A.kind,Z),style:{"--trajectory-span-left":`${V*100}%`,"--trajectory-span-width":`${z}%`,"--trajectory-span-lane":A.lane,...q===null?{}:{"--trajectory-assistant-ttft":`${q*100}%`}},children:Y},A.index)})})]})]})});var In=oa();function oo(n,t,s){const r=new Array(n);return new Proxy(r,{get(a,i,o){if(typeof i=="string"){const c=i.charCodeAt(0);if(c>=48&&c<=57){const d=+i;if(Number.isInteger(d)&&d>=0&&d<n){let u=a[d];if(!u){const p=t[d*2];u=a[d]={index:d,key:s(d),start:p,size:t[d*2+1],end:p+t[d*2+1],lane:0}}return u}}if(i==="length")return n}return Reflect.get(a,i,o)}})}function Le(n,t,s){let r=s.initialDeps??[],a,i=!0;function o(){const c=n();return(c.length!==r.length||c.some((u,p)=>r[p]!==u))&&(r=c,a=t(...c),s!=null&&s.onChange&&!(i&&s.skipInitialOnChange)&&s.onChange(a),i=!1),a}return o.updateDeps=c=>{r=c},o}function Fs(n,t){if(n===void 0)throw new Error("Unexpected undefined");return n}const lo=(n,t)=>Math.abs(n-t)<1.01,co=(n,t,s)=>{let r;return Object.assign(function(...a){n.clearTimeout(r),r=n.setTimeout(()=>t.apply(this,a),s)},{cancel:()=>{n.clearTimeout(r)}})};let We;const Ct=()=>{if(We!==void 0)return We;if(typeof navigator>"u")return We=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return We=!0;const n=navigator.maxTouchPoints;return We=navigator.platform==="MacIntel"&&n!==void 0&&n>0},Ps=n=>{const{offsetWidth:t,offsetHeight:s}=n;return{width:t,height:s}},uo=n=>n,po=n=>{const t=Math.max(n.startIndex-n.overscan,0),r=Math.min(n.endIndex+n.overscan,n.count-1)-t+1,a=new Array(r);for(let i=0;i<r;i++)a[i]=t+i;return a},ho=(n,t)=>{const s=n.scrollElement;if(!s)return;const r=n.targetWindow;if(!r)return;const a=o=>{const{width:c,height:d}=o;t({width:Math.round(c),height:Math.round(d)})};if(a(Ps(s)),!r.ResizeObserver)return()=>{};const i=new r.ResizeObserver(o=>{const c=()=>{const d=o[0];if(d!=null&&d.borderBoxSize){const u=d.borderBoxSize[0];if(u){a({width:u.inlineSize,height:u.blockSize});return}}a(Ps(s))};n.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(c):c()});return i.observe(s,{box:"border-box"}),()=>{i.unobserve(s)}},dt={passive:!0},mo=typeof window>"u"?!0:"onscrollend"in window,fo=(n,t,s)=>{const r=n.scrollElement;if(!r)return;const a=n.targetWindow;if(!a)return;const i=n.options.useScrollendEvent&&mo;let o=0;const c=i?null:co(a,()=>t(o,!1),n.options.isScrollingResetDelay),d=h=>()=>{o=s(r),c==null||c(),t(o,h)},u=d(!0),p=d(!1);return r.addEventListener("scroll",u,dt),i&&r.addEventListener("scrollend",p,dt),()=>{r.removeEventListener("scroll",u),i&&r.removeEventListener("scrollend",p),c==null||c.cancel()}},xo=(n,t)=>fo(n,t,s=>{const{horizontal:r,isRtl:a}=n.options;return r?s.scrollLeft*(a&&-1||1):s.scrollTop}),go=(n,t,s)=>{if(s.options.useCachedMeasurements){const r=s.indexFromElement(n),a=s.options.getItemKey(r);return s.itemSizeCache.get(a)??s.options.estimateSize(r)}if(t!=null&&t.borderBoxSize){const r=t.borderBoxSize[0];if(r)return Math.round(r[s.options.horizontal?"inlineSize":"blockSize"])}if(!t){const r=s.indexFromElement(n),a=s.options.getItemKey(r),i=s.itemSizeCache.get(a);if(i!==void 0)return i}return n[s.options.horizontal?"offsetWidth":"offsetHeight"]},bo=(n,{adjustments:t=0,behavior:s},r)=>{var a,i;(i=(a=r.scrollElement)==null?void 0:a.scrollTo)==null||i.call(a,{[r.options.horizontal?"left":"top"]:n+t,behavior:s})},ko=bo;class yo{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var s,r,a;return((a=(r=(s=this.targetWindow)==null?void 0:s.performance)==null?void 0:r.now)==null?void 0:a.call(r))??Date.now()},this.observer=(()=>{let s=null;const r=()=>s||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:s=new this.targetWindow.ResizeObserver(a=>{a.forEach(i=>{const o=()=>{const c=i.target,d=this.indexFromElement(c);if(!c.isConnected){this.observer.unobserve(c);for(const[u,p]of this.elementsCache)if(p===c){this.elementsCache.delete(u);break}return}this.isIndexInRange(d)&&this.shouldMeasureDuringScroll(d)&&this.resizeItem(d,this.options.measureElement(c,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})}));return{disconnect:()=>{var a;(a=r())==null||a.disconnect(),s=null},observe:a=>{var i;return(i=r())==null?void 0:i.observe(a,{box:"border-box"})},unobserve:a=>{var i;return(i=r())==null?void 0:i.unobserve(a)}}})(),this.range=null,this.setOptions=s=>{var r,a;const i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:uo,rangeExtractor:po,onChange:()=>{},measureElement:go,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const f in s){const x=s[f];x!==void 0&&(i[f]=x)}const o=this.options;let c=null,d=null,u=!1;if(o!==void 0&&o.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){const f=o.count,x=i.count,g=this.getMeasurements(),k=f>0?((r=g[0])==null?void 0:r.key)??o.getItemKey(0):null,y=f>0?((a=g[f-1])==null?void 0:a.key)??o.getItemKey(f-1):null;if(x!==f||f>0&&x>0&&(i.getItemKey(0)!==k||i.getItemKey(x-1)!==y)){u=!0;const _=f>0?this.getVirtualItemForOffset(this.getScrollOffset())??g[0]:null;_&&(c=[_.key,this.getScrollOffset()-_.start]);const E=i.followOnAppend===!0?"auto":i.followOnAppend||null;E&&x>f&&this.isAtEnd(o.scrollEndThreshold)&&(f===0||i.getItemKey(x-1)!==y)&&(d=E)}}this.options=i,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let p=!1,h=0;if(c&&this.scrollOffset!==null){const[f,x]=c,g=this.getMeasurements(),{count:k,getItemKey:y}=this.options;let m=0;for(;m<k&&y(m)!==f;)m++;if(m<k){const v=g[m];if(v){const _=Math.max(0,v.start+x);_!==this.scrollOffset&&(h=_-this.scrollOffset,this.scrollOffset=_,p=!0)}}}(p||d)&&(this.pendingScrollAnchor=[p?c[0]:null,p?c[1]:0,d,h])},this.notify=s=>{var r,a;(a=(r=this.options).onChange)==null||a.call(r,this,s)},this.maybeNotify=Le(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),s=>{this.notify(s)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(s=>s()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var s;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((s=this.scrollElement)==null?void 0:s.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,o)=>{if(o&&this._intendedScrollOffset===null&&i===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5&&(i=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const c=this.getScrollOffset();this.scrollDirection=o?c===i?this.scrollDirection:c<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const i=this.scrollElement,o=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},c=()=>{this._iosTouching=!1,!(!Ct()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",o,dt),i.addEventListener("touchend",c,dt),this.unsubs.push(()=>{i.removeEventListener("touchstart",o),i.removeEventListener("touchend",c),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const a=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,a&&this.scrollElement&&this.options.enabled){const[i,o,c,d]=a;i!==null&&!c&&(Ct()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?d!==0&&(this._iosDeferredAdjustment+=d):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),c&&this.scrollToEnd({behavior:c})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const s=this.getScrollOffset(),r=this.getMaxScrollOffset();if(s<0||s>r)return;if(this._iosDeferredAdjustment<0&&s>=r-1){this._iosDeferredAdjustment=0;return}const a=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(s,{adjustments:this.scrollAdjustments+=a,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Le(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(s,r,a,i,o,c,d,u)=>(this.prevLanes!==void 0&&this.prevLanes!==c&&(this.lanesChangedFlag=!0),this.prevLanes=c,this.pendingMin=null,{count:s,paddingStart:r,scrollMargin:a,getItemKey:i,enabled:o,lanes:c,laneAssignmentMode:d,gap:u}),{key:!1}),this.isIndexInRange=s=>s>=0&&s<this.options.count,this.getMeasurements=Le(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:s,paddingStart:r,scrollMargin:a,getItemKey:i,enabled:o,lanes:c,laneAssignmentMode:d,gap:u},p)=>{const h=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>s)for(const m of this.laneAssignments.keys())m>=s&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));const f=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===s&&(this.lanesSettling=!1),c===1){const m=s*2;let v=this._flatMeasurements;if(!v||v.length<m){const I=new Float64Array(m);v&&f>0&&I.set(v.subarray(0,f*2)),v=I,this._flatMeasurements=v}let _;if(f===0)_=r+a;else{const I=f-1;_=v[I*2]+v[I*2+1]+u}for(let I=f;I<s;I++){const O=i(I),j=h.get(O),N=typeof j=="number"?j:this.options.estimateSize(I);v[I*2]=_,v[I*2+1]=N,_+=N+u}const E=oo(s,v,i);return this.measurementsCache=E,E}const x=this.measurementsCache.slice(0,f),g=new Array(c).fill(void 0),k=new Float64Array(c);let y=0;for(let m=0;m<f;m++){const v=x[m];v&&(g[v.lane]===void 0&&y++,g[v.lane]=m,k[v.lane]=v.end)}for(let m=f;m<s;m++){const v=i(m),_=this.laneAssignments.get(m);let E,I;const O=d==="estimate"||h.has(v);if(_!==void 0&&this.options.lanes>1){E=_;const R=g[E],T=R!==void 0?x[R]:void 0;I=T?T.end+u:r+a}else if(y===c){let R=0,T=k[0],U=g[0];for(let K=1;K<c;K++){const W=k[K];(W<T||W===T&&g[K]<U)&&(R=K,T=W,U=g[K])}E=R,I=T+u,O&&this.laneAssignments.set(m,E)}else E=m%this.options.lanes,I=r+a,O&&this.laneAssignments.set(m,E);const j=h.get(v),N=typeof j=="number"?j:this.options.estimateSize(m),L=I+N;x[m]={index:m,start:I,size:N,end:L,key:v,lane:E},g[E]===void 0&&y++,g[E]=m,k[E]=L}return this.measurementsCache=x,x},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Le(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(s,r,a,i)=>s.length===0||r===0?(this.range=null,null):(this.range=wo(s,r,a,i,i===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Le(()=>{let s=null,r=null;const a=this.calculateRange();return a&&(s=a.startIndex,r=a.endIndex),this.maybeNotify.updateDeps([this.isScrolling,s,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,s,r]},(s,r,a,i,o)=>i===null||o===null?[]:s({startIndex:i,endIndex:o,overscan:r,count:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=s=>{const r=this.options.indexAttribute,a=s.getAttribute(r);return a?parseInt(a,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=s=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const a=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(a!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,a-i),c=Math.min(this.options.count-1,a+i);return s>=o&&s<=c}return!0},this.measureElement=s=>{if(!s){this.elementsCache.forEach((o,c)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(c))});return}const r=this.indexFromElement(s);if(!this.isIndexInRange(r))return;const a=this.options.getItemKey(r),i=this.elementsCache.get(a);i!==s&&(i&&this.observer.unobserve(i),this.observer.observe(s),this.elementsCache.set(a,s)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(s,void 0,this))},this.resizeItem=(s,r)=>{var a,i;if(!this.isIndexInRange(s))return;let o,c,d;const u=this._flatMeasurements;if(this.options.lanes===1&&u!==null)d=this.options.getItemKey(s),c=u[s*2],o=u[s*2+1];else{const f=this.measurementsCache[s];if(!f)return;d=f.key,c=f.start,o=f.size}const p=this.itemSizeCache.get(d)??o,h=r-p;if(h!==0){const f=this.options.anchorTo==="end"&&((a=this.scrollState)==null?void 0:a.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,x=f?this.getTotalSize():0,g=this.getScrollOffset()+this.scrollAdjustments,y=!this.itemSizeCache.has(d)?c<g:c+p<=g&&this.scrollDirection!=="backward",m=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[s]??{index:s,key:d,start:c,size:o,end:c+o,lane:0},h,this):y);(this.pendingMin===null||s<this.pendingMin)&&(this.pendingMin=s),this.itemSizeCache.set(d,r),this.itemSizeCacheVersion++;let v=!1;f?v=this.applyScrollAdjustment(this.getTotalSize()-x):m&&(v=this.applyScrollAdjustment(h)),this.notify(v)}},this.getVirtualItems=Le(()=>[this.getVirtualIndexes(),this.getMeasurements()],(s,r)=>{const a=[];for(let i=0,o=s.length;i<o;i++){const c=s[i],d=r[c];a.push(d)}return a},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=s=>{const r=this.getMeasurements();if(r.length===0)return;const a=this._flatMeasurements,i=this.options.lanes===1&&a!=null,o=Rn(0,r.length-1,i?c=>a[c*2]:c=>Fs(r[c]).start,s);return Fs(r[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const s=this.scrollElement.document.documentElement;return this.options.horizontal?s.scrollWidth-this.scrollElement.innerWidth:s.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(s=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=s,this.getOffsetForAlignment=(s,r,a=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),o=this.getScrollOffset();r==="auto"&&(r=s>=o+i?"end":"start"),r==="center"?s+=(a-i)/2:r==="end"&&(s-=i);const c=this.getMaxScrollOffset();return Math.max(Math.min(c,s),0)},this.getOffsetForIndex=(s,r="auto")=>{s=Math.max(0,Math.min(s,this.options.count-1));const a=this.getSize(),i=this.getScrollOffset(),o=this.measurementsCache[s];if(!o)return;if(r==="auto")if(o.end>=i+a-this.options.scrollPaddingEnd)r="end";else if(o.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];if(r==="end"&&s===this.options.count-1)return[this.getMaxScrollOffset(),r];const c=r==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(c,r,o.size),r]},this.scrollToOffset=(s,{align:r="start",behavior:a="auto"}={})=>{this._iosDeferredAdjustment=0;const i=this.getOffsetForAlignment(s,r),o=this.now();this.scrollState={index:null,align:r,behavior:a,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:a}),this.scheduleScrollReconcile()},this.scrollToIndex=(s,{align:r="auto",behavior:a="auto"}={})=>{this._iosDeferredAdjustment=0,s=Math.max(0,Math.min(s,this.options.count-1));const i=this.getOffsetForIndex(s,r);if(!i)return;const[o,c]=i,d=this.now();this.scrollState={index:s,align:c,behavior:a,startedAt:d,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:a}),this.scheduleScrollReconcile()},this.scrollBy=(s,{behavior:r="auto"}={})=>{const a=this.getScrollOffset()+s,i=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:i,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:s="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:s});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:s})},this.getTotalSize=()=>{var s;const r=this.getMeasurements();let a;if(r.length===0)a=this.options.paddingStart;else if(this.options.lanes===1){const i=r.length-1,o=this._flatMeasurements;o!=null?a=o[i*2]+o[i*2+1]:a=((s=r[i])==null?void 0:s.end)??0}else{const i=Array(this.options.lanes).fill(null);let o=r.length-1;for(;o>=0&&i.some(c=>c===null);){const c=r[o];i[c.lane]===null&&(i[c.lane]=c.end),o--}a=Math.max(...i.filter(c=>c!==null))}return Math.max(a-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const s=[];if(this.itemSizeCache.size===0)return s;const r=this.getMeasurements();for(const a of r)a&&this.itemSizeCache.has(a.key)&&s.push({index:a.index,key:a.key,start:a.start,size:a.size,end:a.end,lane:a.lane});return s},this._scrollToOffset=(s,{adjustments:r,behavior:a})=>{this._intendedScrollOffset=s+(r??0),this.options.scrollToFn(s,{behavior:a,adjustments:r},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(t)}applyScrollAdjustment(t,s){return t===0?!1:Ct()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=t,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:s}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,a=r?r[0]:this.scrollState.lastTargetOffset,i=1,o=a!==this.scrollState.lastTargetOffset;if(!o&&lo(a,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==a&&this._scrollToOffset(a,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){const c=this.getSize()||600,d=Math.abs(a-this.getScrollOffset()),u=this.scrollState.behavior==="smooth"&&d>c;this.scrollState.lastTargetOffset=a,u||(this.scrollState.behavior="auto"),this._scrollToOffset(a,{adjustments:void 0,behavior:u?"smooth":"auto"})}this.scheduleScrollReconcile()}}const Rn=(n,t,s,r)=>{for(;n<=t;){const a=(n+t)/2|0,i=s(a);if(i<r)n=a+1;else if(i>r)t=a-1;else return a}return n>0?n-1:0};function vo(n,t,s){let r=0;for(;r<=t;){const a=(r+t)/2|0,i=n[a*2];if(i<s)r=a+1;else if(i>s)t=a-1;else return a}return r>0?r-1:0}function wo(n,t,s,r,a){const i=n.length-1;if(n.length<=r)return{startIndex:0,endIndex:i};if(r===1&&a!==null){const u=vo(a,i,s);let p=u;const h=s+t;for(;p<i&&a[p*2]+a[p*2+1]<h;)p++;return{startIndex:u,endIndex:p}}let c=Rn(0,i,u=>n[u].start,s),d=c;if(r===1)for(;d<i&&n[d].end<s+t;)d++;else if(r>1){const u=Array(r).fill(0);for(;d<i&&u.some(h=>h<s+t);){const h=n[d];u[h.lane]=h.end,d++}const p=Array(r).fill(s+t);for(;c>=0&&p.some(h=>h>=s);){const h=n[c];p[h.lane]=h.start,c--}c=Math.max(0,c-c%r),d=Math.min(i,d+(r-1-d%r))}return{startIndex:c,endIndex:d}}const It=typeof document<"u"?l.useLayoutEffect:l.useEffect;function jo({useFlushSync:n=!0,directDomUpdates:t=!1,directDomUpdatesMode:s="transform",...r}){const a=l.useReducer(p=>p+1,0)[1],i=l.useRef({enabled:t,mode:s,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});i.current.enabled=t,i.current.mode=s;const o=p=>{const h=i.current;if(!h.enabled||!h.container)return;const f=p.getTotalSize();if(f!==h.lastSize){h.lastSize=f;const x=p.options.horizontal?"width":"height";h.container.style[x]=`${f}px`}},c=p=>{const h=i.current;if(!h.enabled||!h.container)return;o(p);const f=!!p.options.horizontal,x=h.mode==="transform",g=f?"left":"top",k=p.options.scrollMargin,y=p.getVirtualItems();for(const m of y){const v=m.start-k,_=p.elementsCache.get(m.key);_&&h.lastPositions.get(_)!==v&&(h.lastPositions.set(_,v),x?_.style.transform=f?`translate3d(${v}px, 0, 0)`:`translate3d(0, ${v}px, 0)`:_.style[g]=`${v}px`)}},d={...r,onChange:(p,h)=>{var f;const x=i.current;let g=!0;if(x.enabled){c(p);const k=p.range,y=x.prevRange;g=!y||y.isScrolling!==p.isScrolling||y.startIndex!==(k==null?void 0:k.startIndex)||y.endIndex!==(k==null?void 0:k.endIndex),g&&(x.prevRange=k?{startIndex:k.startIndex,endIndex:k.endIndex,isScrolling:p.isScrolling}:null)}g&&(n&&h?In.flushSync(a):a()),(f=r.onChange)==null||f.call(r,p,h)}},[u]=l.useState(()=>{const p=new yo(d);return Object.assign(p,{containerRef:h=>{const f=i.current;if(f.container=h,f.lastSize=null,h&&f.enabled){const x=p.getTotalSize();f.lastSize=x;const g=p.options.horizontal?"width":"height";h.style[g]=`${x}px`}}})});return u.setOptions(d),It(()=>u._didMount(),[]),It(()=>(o(u),u._willUpdate())),It(()=>{c(u)}),u}function No(n){return jo({observeElementRect:ho,observeElementOffset:xo,scrollToFn:ko,...n})}const So=30,Eo=20,To=9;function ut(n){const t=encodeURIComponent(Pe(n.cell));return n.collapsedSummaryKind===void 0?t:`${t}\0summary\0${n.collapsedSummaryKind}`}function Ao(n){const t=[];let s=[];for(const[r,a]of n.entries()){const i={logicalIndex:r,record:a};if(a.cell.requestOnly===!0){s.push(i);continue}const o=[...s,i];s=[],t.push({entries:o,height:a.collapsedSummaryKind===void 0?So:Eo,key:ut(a)})}return s.length>0&&t.push({entries:s,height:To,key:s.map(r=>ut(r.record)).join("|")}),t}const Co=["Input","Output","Think","Time"],Io=l.memo(function({turn:t}){return e.jsxs("div",{className:"sticky top-0 z-10 flex h-[26px] items-center border-b border-dark-border/40 bg-dark-surface/95 px-2 backdrop-blur",children:[e.jsxs("span",{className:"text-[11px] font-semibold text-dark-text",children:["Turn ",t]}),e.jsx("div",{className:"ml-auto flex items-center gap-3 pr-1 text-[10px] text-dark-muted/50","aria-hidden":"true",children:Co.map(s=>e.jsx("span",{className:"w-12 text-right",children:s},s))})]})}),Ro=l.memo(function({title:t,description:s}){return e.jsxs("div",{className:"flex h-[22px] items-center gap-2 px-2 text-[11px]",children:[e.jsx("span",{className:"font-medium text-dark-muted",children:t}),s!==void 0&&s!==""&&e.jsx("span",{className:"truncate text-dark-muted/50",children:s})]})}),_o={system:"System",user:"User",context:"Context",compacted:"Compacted",message:"Message",tool:"Tool",subtool:"Sub"},Mo={system:"bg-dark-surface text-dark-muted border-dark-border/40",user:"bg-accent-blue/10 text-accent-blue border-accent-blue/30",context:"bg-dark-surface text-dark-muted border-dark-border/40",compacted:"bg-amber-500/10 text-amber-500 border-amber-500/30",message:"bg-accent-green/10 text-accent-green border-accent-green/30",tool:"bg-accent-purple/10 text-accent-purple border-accent-purple/30",subtool:"bg-dark-surface text-dark-muted border-dark-border/40"},Oo=l.memo(function({cell:t,selected:s=!1,onClick:r}){const{index:a,kind:i,timeSeconds:o,input:c,output:d,think:u}=t,p=pt(t),h=i==="message";return e.jsxs("div",{className:["flex h-[30px] items-center gap-2 border-b border-dark-border/20 px-2 text-xs cursor-pointer select-none",s?"bg-accent-blue/10":"hover:bg-dark-surface/40"].join(" "),"data-kind":i,"data-selected":s||void 0,onClick:()=>r==null?void 0:r(a),children:[e.jsxs("span",{className:"w-10 shrink-0 text-right tabular-nums text-dark-muted/50",children:["#",a]}),e.jsx("span",{className:"w-[74px] shrink-0",children:e.jsx("span",{className:["inline-block rounded border px-1 py-px text-[10px] leading-none",Mo[i]].join(" "),children:_o[i]})}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-dark-text",title:p,children:p}),e.jsxs("span",{className:"flex shrink-0 items-center gap-2 tabular-nums text-dark-muted/60",children:[h&&e.jsxs(e.Fragment,{children:[c!==void 0&&e.jsx("span",{title:"Input tokens",children:c}),d!==void 0&&e.jsx("span",{title:"Output tokens",children:d}),u!==void 0&&e.jsx("span",{title:"Reasoning tokens",children:u})]}),e.jsx("span",{className:"w-16 text-right",children:Zt(o)})]})]})}),Do=100,$o=12,Lo=600,zo=2;function Fo(n){const t=l.useRef({rows:[],structure:[]});if(t.current.rows===n)return t.current.structure;const s=t.current.structure.length===n.length&&n.every((r,a)=>{const i=t.current.structure[a];return(i==null?void 0:i.key)===r.key&&i.height===r.height})?t.current.structure:n.map(r=>({key:r.key,height:r.height}));return t.current={rows:n,structure:s},s}function Po(n){const t=[];for(const s of n){const r=[];for(const a of s.groups)a.cells.forEach((i,o)=>{r.push({turn:s.turn,group:a.title,groupDescription:a.description,groupStart:o===0,turnStart:r.length===0,cell:i,turnEnd:!1})});if(r.length>0){const a=r[r.length-1];a&&(a.turnEnd=!0)}t.push(...r)}return t}function Bo(n,t){const s=[];let r=[],a=null;const i=()=>{if(r.length!==0){if(a!==null&&t.has(a)){const o=r.filter(d=>d.cell.requestOnly!==!0&&d.cell.kind!=="system"),c=r[0];s.push({...c,groupStart:!0,turnStart:!0,turnEnd:!0,collapsedSummary:`Turn ${a} · ${o.length} records`,collapsedSummaryKind:"turn",cell:{...c.cell,index:c.cell.index}})}else s.push(...r);r=[],a=null}};for(const o of n)o.turnStart&&i(),a=o.turn,r.push(o);return i(),s}function Ho(n,t){var a;const s=[];let r=0;for(;r<n.length;){const i=n[r],o=n[r+1];if(i.cell.kind==="message"&&o!==void 0&&(o.cell.kind==="tool"||o.cell.kind==="subtool")&&t.has(Pe(i.cell))){let c=r+1;for(;c<n.length&&(n[c].cell.kind==="tool"||n[c].cell.kind==="subtool");)c+=1;const d=c-r-1;s.push({...i,groupStart:!0,turnEnd:((a=n[c-1])==null?void 0:a.turnEnd)??i.turnEnd,collapsedSummary:`${pt(i.cell)||"Message"} · ${d} tool call${d>1?"s":""}`,collapsedSummaryKind:"assistant"}),r=c;continue}s.push(i),r+=1}return s}function Uo(n,t){const s=[];let r=null,a=null;for(const i of n)i.turnStart&&(r=i),i.groupStart&&(a=i),t.has(i.cell.index)&&(r!==null&&s.length===0&&(s.push({...r,groupStart:!0,turnStart:!0}),r=null),a!==null&&s.length>0&&s[s.length-1].group!==i.group&&(s.push({...a,groupStart:!0,turnStart:!1}),a=null),s.push(i));return s}function Rt(n){if(n===null||!Number.isFinite(n))return"Not available";const t=new Date(n),s=o=>String(o).padStart(2,"0"),r=o=>String(o).padStart(3,"0"),a=`${s(t.getHours())}:${s(t.getMinutes())}:${s(t.getSeconds())}.${r(t.getMilliseconds())}`;return`${`${t.getFullYear()}-${s(t.getMonth()+1)}-${s(t.getDate())}`} ${a}`}function qo(n){const t=[{id:"overview",label:"Summary"}];return n.inputDetail!==void 0&&n.inputDetail!==""&&t.push({id:"input",label:"Input"}),n.outputDetail!==void 0&&n.outputDetail!==""&&t.push({id:"output",label:"Output"}),n.thinkingDetail!==void 0&&n.thinkingDetail!==""&&t.push({id:"thinking",label:"Thinking"}),n.assistantMetrics!==void 0&&t.push({id:"timing",label:"Timing"}),(n.input!==void 0||n.output!==void 0||n.think!==void 0)&&t.push({id:"usage",label:"Usage"}),t}function Go({cell:n,onClose:t}){var c;const s=qo(n),[r,a]=l.useState(((c=s[0])==null?void 0:c.id)??"overview"),i=pt(n),o=()=>{switch(r){case"overview":return e.jsxs("dl",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Kind"}),e.jsx("dd",{className:"traj-detailValue",children:n.kind})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Index"}),e.jsxs("dd",{className:"traj-detailValue",children:["#",n.index]})]}),n.callId!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Call ID"}),e.jsx("dd",{className:"traj-detailValue break-all",children:n.callId})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Duration"}),e.jsx("dd",{className:"traj-detailValue",children:Zt(n.timeSeconds)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Started"}),e.jsx("dd",{className:"traj-detailValue",children:Rt(n.startedAt??null)})]}),n.isError===!0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-20 shrink-0",children:"Status"}),e.jsx("dd",{className:"traj-detailValue text-red-400",children:"error"})]}),i!==""&&e.jsxs("div",{className:"pt-1",children:[e.jsx("dt",{className:"traj-detailKey mb-1",children:"Summary"}),e.jsx("dd",{className:"traj-detailBody",children:i})]})]});case"input":return e.jsx("div",{className:"traj-detailBody",children:n.inputDetail});case"output":return e.jsx("div",{className:"traj-detailBody",children:n.outputDetail});case"thinking":return e.jsx("div",{className:"traj-detailBody",children:n.thinkingDetail});case"timing":{const d=n.assistantMetrics;if(!d)return null;const u=d.firstTokenTime!==null&&d.stepStartTime!==null?d.firstTokenTime-d.stepStartTime:null,p=d.completedTime!==null&&d.firstTokenTime!==null?d.completedTime-d.firstTokenTime:null;return e.jsxs("dl",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Step start"}),e.jsx("dd",{className:"traj-detailValue",children:Rt(d.stepStartTime)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"First token"}),e.jsx("dd",{className:"traj-detailValue",children:Rt(d.firstTokenTime)})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"TTFT"}),e.jsx("dd",{className:"traj-detailValue",children:u===null?"—":`${u} ms`})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Decoding"}),e.jsx("dd",{className:"traj-detailValue",children:p===null?"—":`${p} ms`})]})]})}case"usage":return e.jsxs("dl",{className:"space-y-1.5",children:[n.input!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Input"}),e.jsx("dd",{className:"traj-detailValue",children:n.input})]}),n.output!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Output"}),e.jsx("dd",{className:"traj-detailValue",children:n.output})]}),n.think!==void 0&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx("dt",{className:"traj-detailKey w-24 shrink-0",children:"Reasoning"}),e.jsx("dd",{className:"traj-detailValue",children:n.think})]}),n.input===void 0&&n.output===void 0&&n.think===void 0&&e.jsx("div",{className:"traj-detailValue",children:"Token usage not reported by provider yet."})]});default:return null}};return e.jsxs("div",{className:"flex h-full w-[360px] shrink-0 flex-col border-l border-dark-border/40 bg-dark-surface/40",children:[e.jsxs("div",{className:"flex h-9 shrink-0 items-center justify-between border-b border-dark-border/40 px-3",children:[e.jsxs("span",{className:"text-xs font-medium text-dark-text",children:["Record #",n.index]}),e.jsx("button",{type:"button",className:"rounded p-1 text-dark-muted hover:bg-dark-surface/60",onClick:t,"aria-label":"Close details",children:e.jsx(Ae,{size:14})})]}),e.jsx("div",{className:"flex shrink-0 flex-wrap gap-1 border-b border-dark-border/40 px-2 py-1.5",children:s.map(d=>e.jsx("button",{type:"button",className:"traj-detailTab","data-active":r===d.id||void 0,onClick:()=>a(d.id),children:d.label},d.id))}),e.jsx("div",{className:"min-h-0 flex-1 overflow-auto p-3",children:o()})]})}function Wo({turns:n,searchMatchIndexes:t=null,selectedIndex:s,onSelectIndex:r,onDeselect:a,onClearSelection:i,collapsedTurns:o,onToggleTurn:c,collapsedAssistants:d,onToggleAssistant:u}){var R;const p=l.useRef(null),h=l.useMemo(()=>Po(n),[n]),f=l.useMemo(()=>s===null?void 0:h.find(T=>T.cell.index===s),[h,s]),x=l.useMemo(()=>{if(t!==null)return Uo(h,t);const T=o.size===0?h:Bo(h,o);return d.size===0?T:Ho(T,d)},[h,d,o,t]),g=l.useMemo(()=>Ao(x),[x]),k=Fo(g),y=x.length>Do,m=l.useCallback(T=>{var U;return((U=k[T])==null?void 0:U.height)??30},[k]),v=l.useCallback(T=>{var U;return((U=k[T])==null?void 0:U.key)??T},[k]),_=l.useCallback(()=>p.current,[]),E=No({count:y?k.length:0,enabled:y,estimateSize:m,getItemKey:v,getScrollElement:_,initialRect:{width:0,height:Lo},anchorTo:"end",overscan:$o,scrollEndThreshold:zo}),I=y?E.getVirtualItems():[],O=((R=I[0])==null?void 0:R.start)??0,j=y?E.getTotalSize():0,N=T=>{r(T)},L=T=>T.collapsedSummary!==void 0?e.jsxs("div",{className:"flex h-[20px] cursor-pointer items-center gap-2 px-2 text-xs text-dark-muted hover:bg-dark-surface/40",onClick:()=>{T.collapsedSummaryKind==="turn"&&T.turn!==null?c(T.turn):T.collapsedSummaryKind==="assistant"&&u(Pe(T.cell))},children:[e.jsx("span",{className:"text-dark-muted/50",children:"▸"}),e.jsx("span",{className:"truncate",children:T.collapsedSummary})]}):e.jsxs(e.Fragment,{children:[T.turnStart&&T.turn!==null&&e.jsx(Io,{turn:T.turn}),T.groupStart&&e.jsx(Ro,{title:T.group,description:T.groupDescription}),e.jsx(Oo,{cell:T.cell,selected:s===T.cell.index,onClick:N})]});return e.jsxs("div",{className:"flex min-h-0 flex-1",children:[e.jsx("div",{ref:p,className:"min-w-0 flex-1 overflow-auto",onClick:T=>{T.target===T.currentTarget&&(i==null||i())},children:y?e.jsx("div",{style:{height:j,position:"relative"},children:I.map(T=>{const U=g[T.index];return U?e.jsx("div",{"data-virtual-row-key":U.key,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${T.start-O}px)`,height:U.height},children:U.entries.map(K=>e.jsx("div",{children:L(K.record)},ut(K.record)))},U.key):null})}):x.map(T=>e.jsx("div",{children:L(T)},ut(T)))}),f!==void 0&&e.jsx(Go,{cell:f.cell,onClose:a},f.cell.index)]})}const Ko=new Set,Vo=new Set,Jo=3e3;function Xo({sessionId:n,messages:t}){const[s,r]=l.useState(Ko),[a,i]=l.useState(Vo),[o,c]=l.useState(null),[d,u]=l.useState(!1),[p,h]=l.useState(""),[f]=l.useState(()=>new Xi),[x,g]=l.useState(0),k=l.useRef(null),y=l.useRef(!1),[m,v]=l.useState(null),_=os(D=>D.compactedBySession[n]??Yo),E=os(D=>D.ttftBySession[n]),I=l.useMemo(()=>{if(E!==void 0)return new Map(Object.entries(E))},[E]),O=l.useMemo(()=>Hi({messages:t,compacted:_,ttft:I}),[t,_,I]),j=d?"duration":"sequence";l.useEffect(()=>(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{f.update([O]),g(D=>D+1),y.current=!0},y.current?Jo:0),()=>{k.current&&clearTimeout(k.current)}),[O,f]);const N=l.useMemo(()=>p.trim()===""?null:f.search(p),[p,x]),L=l.useMemo(()=>{if(N===null)return null;const D=new Set;for(const q of O)for(const Y of q.groups)for(const ae of Y.cells)N.has(Pe(ae))&&D.add(ae.index);return D},[O,N]),R=l.useMemo(()=>o===null?null:Gi(O,o,j),[O,j,o]),T=l.useMemo(()=>O.filter(D=>D.turn!==null&&D.groups.reduce((q,Y)=>q+Y.cells.filter(ae=>ae.requestOnly!==!0&&ae.kind!=="system").length,0)>1).flatMap(D=>D.turn===null?[]:[D.turn]),[O]),U=T.length>0&&T.every(D=>s.has(D)),K=l.useMemo(()=>{const D=[];for(const q of O){const Y=q.groups.flatMap(ae=>ae.cells);for(let ae=0;ae<Y.length;ae++){const ne=Y[ae];if((ne==null?void 0:ne.kind)!=="message")continue;const de=Y[ae+1];((de==null?void 0:de.kind)==="tool"||(de==null?void 0:de.kind)==="subtool")&&D.push(Pe(ne))}}return D},[O]),W=K.length>0&&K.every(D=>a.has(D)),X=l.useCallback(D=>{r(q=>{const Y=new Set(q);return Y.has(D)?Y.delete(D):Y.add(D),Y})},[]),re=l.useCallback(()=>{r(D=>{const q=new Set(D);if(U)for(const Y of T)q.delete(Y);else for(const Y of T)q.add(Y);return q})},[U,T]),A=l.useCallback(D=>{i(q=>{const Y=new Set(q);return Y.has(D)?Y.delete(D):Y.add(D),Y})},[]),V=l.useCallback(()=>{i(D=>{const q=new Set(D);if(W)for(const Y of K)q.delete(Y);else for(const Y of K)q.add(Y);return q})},[W,K]),C=l.useCallback(D=>{c(D)},[]),z=l.useCallback(D=>{R!==null&&!R.has(D)&&c(null),v(q=>q===D?null:D)},[R]),Z=l.useCallback(()=>{v(null)},[]),F=l.useCallback(()=>{c(null),v(null)},[]);return e.jsxs("div",{className:"flex h-full min-h-0 flex-col","data-conversation-composer-overlay":"",children:[e.jsx(Yi,{actualDuration:d,onActualDurationChange:D=>{u(D),c(null)},allTurnsCollapsed:U,onToggleAllTurns:re,allAssistantsCollapsed:W,onToggleAllAssistants:V,searchQuery:p,onSearchQueryChange:h}),e.jsx(io,{turns:O,mode:j,range:o,selectedIndex:m,searchMatchIndexes:L,onRangeChange:C,onRecordSelect:z}),e.jsx("div",{className:"min-h-0 flex-1",children:e.jsx(Wo,{turns:O,searchMatchIndexes:L,selectedIndex:m,onSelectIndex:z,onDeselect:Z,onClearSelection:F,collapsedTurns:s,onToggleTurn:X,collapsedAssistants:a,onToggleAssistant:A})})]})}const Yo=[],Zo={plan:"border-accent-blue/30 text-accent-blue bg-accent-blue/10","auto-plan":"border-accent-cyan/30 text-accent-cyan bg-accent-cyan/10",act:"border-accent-green/30 text-accent-green bg-accent-green/10","auto-act":"border-accent-yellow/30 text-accent-yellow bg-accent-yellow/10",goal:"border-accent-purple/30 text-accent-purple bg-accent-purple/10","auto-goal":"border-accent-red/30 text-accent-red bg-accent-red/10",normal:"border-accent-green/30 text-accent-green"},Qo=l.memo(function(){const{t}=ee(),s=Ie(d=>d.mode),r=Ie(d=>d.setBaseMode),a=Ie(d=>d.toggleAuto),i=s==="normal"?"act":s,o=at(i),c=Ht(i);return e.jsxs("div",{className:"flex items-center gap-1",children:[Jr.map(d=>{const u=o===d,p=Xr[d],h=s!=="normal"&&u?Zo[s]??"border-dark-border text-dark-muted":"border-dark-border text-dark-muted hover:bg-dark-hover";return e.jsx("button",{type:"button",onClick:()=>r(d),className:le("px-2 py-0.5 rounded-full border text-xs whitespace-nowrap transition-colors cursor-pointer",h),title:t("chat.clickToSwitchMode"),"aria-pressed":u,children:p.label},d)}),e.jsxs("button",{type:"button",role:"switch","aria-checked":c,onClick:()=>a(),className:le("flex items-center gap-1 px-2 py-0.5 rounded-full border text-xs whitespace-nowrap transition-colors cursor-pointer",c?"border-accent-yellow/40 text-accent-yellow bg-accent-yellow/10":"border-dark-border text-dark-muted hover:bg-dark-hover"),title:t("plan.autoApprove"),children:[e.jsx(Xe,{size:11,className:le(c?"text-accent-yellow":"text-dark-muted")}),e.jsx("span",{children:t("plan.autoApprove")})]})]})}),Bs={off:{labelKey:"chat.effortOff",color:"text-dark-muted"},low:{labelKey:"chat.effortLow",color:"text-accent-green"},medium:{labelKey:"chat.effortMedium",color:"text-accent-yellow"},high:{labelKey:"chat.effortHigh",color:"text-accent-red"},extra_high:{labelKey:"chat.effortExtraHigh",color:"text-accent-purple"},max:{labelKey:"chat.effortMax",color:"text-accent-blue"}},el=l.memo(function(){const{t}=ee(),s=Ve(S=>S.model),r=Ve(S=>S.modelRef),a=Ve(S=>S.setModel),i=Ve(S=>S.setModelRef),o=Ie(S=>S.mode),c=lt(S=>S.effort),d=lt(S=>S.setEffort),[u,p]=l.useState([]),[h,f]=l.useState(!1),x=l.useRef(null),[g,k]=l.useState("global"),y=an(S=>S.activeSessionId),[m,v]=l.useState(!1),[_,E]=l.useState(""),[I,O]=l.useState(""),[j,N]=l.useState([]),[L,R]=l.useState(new Set),[T,U]=l.useState("none"),[K,W]=l.useState(!1),[X,re]=l.useState(null),[A,V]=l.useState(null),C=l.useMemo(()=>Array.from(new Set(u.map(S=>S.provider))),[u]),z=l.useCallback(async()=>{try{const S=await ge.models.list();S.success&&S.data&&Array.isArray(S.data.models)&&p(S.data.models.filter(te=>te.enabled!==!1))}catch{}},[]),Z=l.useCallback(()=>{var te,H;const S=Yr(r)||((te=u.find(be=>be.isGlobalDefault))==null?void 0:te.provider)||((H=u[0])==null?void 0:H.provider)||"";E(S),O(""),re(null),v(!0)},[r,u]),F=l.useCallback(()=>{v(!1),N([]),re(null)},[]),D=l.useCallback(async(S,te)=>{if(S){W(!0),re(null);try{const H=await ge.models.byProvider(S,te||void 0);H.success&&H.data?(N(H.data.models||[]),R(new Set(H.data.existing||[])),U(H.data.source)):(N([]),R(new Set),re(H.error||t("chat.loadModelsFailed")))}catch{N([]),R(new Set),re(t("chat.loadModelsFailed"))}finally{W(!1)}}},[t]);l.useEffect(()=>{if(!m)return;const S=setTimeout(()=>{D(_,I)},I?300:0);return()=>clearTimeout(S)},[m,_,I,D]),l.useEffect(()=>{z()},[z]),l.useEffect(()=>{const S=()=>{z()};return window.addEventListener("models-updated",S),()=>window.removeEventListener("models-updated",S)},[z]);const q=l.useCallback(()=>f(!1),[]);l.useEffect(()=>{if(!h)return;const S=H=>{x.current&&!x.current.contains(H.target)&&q()},te=H=>{H.key==="Escape"&&q()};return document.addEventListener("mousedown",S),document.addEventListener("keydown",te),()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",te)}},[h,q]);const Y=async S=>{if(q(),g==="session"){if(!y)return;try{(await ge.models.setSessionModel(y,S.provider,S.id)).success&&(a(S.id),i(`${S.provider}:${S.id}`))}catch{}return}const te=at(o==="normal"?"act":o),H=`${S.provider}:${S.id}`,be=te==="plan"?{plan:H}:te==="goal"?{goal:H}:{global:H,act:H};try{(await ge.models.setDefaults(be)).success&&(a(S.id),i(`${S.provider}:${S.id}`),await z())}catch{}},ae=async S=>{const te=L.has(S.id),H=`${_}:${S.id}`;V(S.id);try{if(!te){const Be=await ge.models.create({provider:_,model:{id:S.id,name:S.name||S.id}});if(!Be.success){re(Be.error||t("chat.addModelFailed"));return}}const be=at(o==="normal"?"act":o),xe=be==="plan"?{plan:H}:be==="goal"?{goal:H}:{global:H,act:H},et=await ge.models.setDefaults(xe);et.success?(a(S.id),i(H),F(),await z()):re(et.error||t("chat.switchModelFailed"))}catch{re(t("chat.addModelFailed"))}finally{V(null)}},ne=at(o==="normal"?"act":o),de=ne==="plan"?"isPlanDefault":ne==="goal"?"isGoalDefault":"isActDefault",M=S=>{const te=`${S.provider}:${S.id}`;if(r)return r===te;if(s===te)return!0;if(s!==S.id)return!1;const H=u.filter(xe=>xe.id===S.id);return H.length<=1?!0:(H.find(xe=>xe[de]===!0)??H.find(xe=>xe.isGlobalDefault)??H[0])===S},B=u.some(S=>S[de]===!0),J=u.find(S=>S.isGlobalDefault),ue=async()=>{q();const S=ne==="plan"?{plan:null}:ne==="goal"?{goal:null}:{act:null};try{(await ge.models.setDefaults(S)).success&&(J?(a(J.id),i(`${J.provider}:${J.id}`)):(a(""),i("")),await z())}catch{}},he=l.useMemo(()=>Zr(u),[u]),fe=Qr(s,r),je=Bs[c];return e.jsxs("div",{className:"relative",ref:x,children:[e.jsxs("button",{type:"button",onClick:()=>f(S=>!S),className:"flex items-center gap-1 px-2 py-0.5 rounded-full border border-dark-border text-dark-muted whitespace-nowrap transition-colors hover:bg-dark-hover cursor-pointer",title:fe||t("chat.clickToSelectModel"),"aria-haspopup":"listbox","aria-expanded":h,children:[e.jsx(vr,{size:12,className:"shrink-0"}),e.jsx("span",{className:"font-medium max-w-[8rem] truncate",children:fe||t("chat.selectModel")}),e.jsx("span",{className:"h-3 w-px bg-dark-border shrink-0","aria-hidden":"true"}),e.jsx(is,{size:12,className:`shrink-0 ${je.color}`}),e.jsx("span",{className:`text-xs font-medium ${je.color}`,children:t(je.labelKey)}),e.jsx(we,{size:12,className:le("transition-transform",h&&"rotate-180")})]}),h&&e.jsxs("div",{role:"listbox","aria-label":t("chat.selectModel"),className:"absolute bottom-full left-0 mb-1 z-50 min-w-[260px] bg-dark-surface border border-dark-border rounded-lg shadow-xl overflow-hidden",children:[e.jsx("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wide text-dark-muted border-b border-dark-border",children:t("chat.selectModel")}),e.jsx("div",{className:"flex items-center gap-1 px-2 py-1.5 border-b border-dark-border",children:[{key:"global",label:t("chat.applyScopeGlobal")},{key:"session",label:t("chat.applyScopeSession")}].map(({key:S,label:te})=>e.jsx("button",{type:"button",onClick:()=>k(S),title:S==="session"?t("chat.sessionScopeHint"):void 0,className:le("text-[11px] px-2 py-0.5 rounded-full border transition-colors cursor-pointer",g===S?"border-accent-blue text-accent-blue bg-accent-blue/10 font-medium":"border-dark-border text-dark-muted hover:text-dark-text hover:bg-dark-hover"),children:te},S))}),m?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-2 py-1.5 border-b border-dark-border flex items-center gap-1.5",children:[e.jsx("button",{type:"button",onClick:F,title:t("chat.backToModels"),"aria-label":t("chat.backToModels"),className:"p-1 rounded hover:bg-dark-hover text-dark-muted hover:text-dark-text shrink-0",children:e.jsx(wr,{size:12})}),C.length>1?e.jsx("select",{value:_,onChange:S=>E(S.target.value),"aria-label":t("chat.selectProvider"),className:"max-w-[9rem] min-w-0 bg-dark-surface text-dark-text text-xs px-1.5 py-1 rounded border border-dark-border focus:outline-none focus:border-accent-blue",children:C.map(S=>e.jsx("option",{value:S,children:S},S))}):e.jsx("span",{className:"flex-1 min-w-0 text-xs font-medium text-dark-text truncate",children:_||t("chat.noConfiguredProviders")}),e.jsx("input",{value:I,onChange:S=>O(S.target.value),placeholder:t("chat.searchModels"),"aria-label":t("chat.searchModels"),className:"flex-1 min-w-0 bg-dark-bg text-dark-text text-xs px-2 py-1 rounded border border-dark-border placeholder-dark-muted/60 focus:outline-none focus:border-accent-blue"})]}),e.jsx("div",{className:"py-1 max-h-[32vh] overflow-y-auto custom-scrollbar",children:K?e.jsxs("div",{className:"px-3 py-2 text-xs text-dark-muted flex items-center gap-1.5",children:[e.jsx(jr,{size:11,className:"animate-spin"}),t("chat.loadingModels")]}):X?e.jsx("div",{className:"px-3 py-2 text-xs text-accent-red",children:X}):_?j.length===0?e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t(I?"chat.noModelsFound":"chat.noProviderModels")}):e.jsxs(e.Fragment,{children:[T!=="none"&&e.jsx("div",{className:"px-3 pt-1.5 pb-0.5 text-[10px] text-dark-muted/70",children:t(T==="provider-api"?"chat.modelsSourceProviderApi":"chat.modelsSourceCatalog")}),j.map(S=>{const te=L.has(S.id),H=r===`${_}:${S.id}`;return e.jsxs("button",{type:"button",role:"option","aria-selected":H,onClick:()=>ae(S),className:"w-full flex items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-dark-hover",children:[e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-xs font-medium text-dark-text truncate",children:S.name||S.id}),H&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-green/20 text-accent-green shrink-0",children:t("chat.currentModel")})]}),e.jsx("span",{className:"block text-[10px] text-dark-muted truncate mt-0.5",children:S.id})]}),te?e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-green/20 text-accent-green shrink-0",children:t("chat.alreadyAdded")}):e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-blue/20 text-accent-blue shrink-0 whitespace-nowrap",children:A===S.id?t("chat.addingModel"):t("chat.addAndSwitch")})]},S.id)})]}):e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t("chat.noConfiguredProviders")})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"py-1 max-h-[32vh] overflow-y-auto custom-scrollbar",children:[B&&e.jsx("button",{type:"button",role:"option","aria-selected":!1,onClick:ue,title:t("chat.followGlobalDefaultHint"),className:"w-full flex items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-dark-hover border-b border-dark-border/60",children:e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsxs("span",{className:"text-xs font-semibold text-accent-green flex items-center gap-1.5",children:[e.jsx(Nr,{size:11}),t("chat.followGlobalDefault")]}),e.jsx("span",{className:"block text-[10px] text-dark-muted mt-0.5 truncate",children:J?J.name||J.id:t("chat.noGlobalDefault")})]})}),he.map(([S,te])=>e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-dark-border/60 bg-dark-bg/40",children:[e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-dark-muted truncate",children:S}),e.jsx("span",{className:"text-[10px] text-dark-muted/70",children:te.length})]}),te.map(H=>{const be=M(H);return e.jsx("button",{type:"button",role:"option","aria-selected":be,onClick:()=>Y(H),className:le("w-full flex items-center gap-2 px-3 py-2 text-left transition-colors",be?"bg-dark-hover":"hover:bg-dark-hover"),children:e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsxs("span",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:le("flex h-4 w-4 items-center justify-center rounded border transition-colors shrink-0",be?"border-accent-green bg-accent-green/20 text-accent-green":"border-dark-border text-transparent"),children:e.jsx(Ee,{size:11,strokeWidth:3})}),e.jsx("span",{className:"text-xs font-semibold text-dark-text truncate",children:H.name||H.id})]}),e.jsxs("span",{className:"flex items-center gap-1 mt-0.5 flex-wrap",children:[e.jsx("span",{className:"text-[10px] text-dark-muted truncate",children:H.id}),H.isGlobalDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-green/20 text-accent-green",children:t("chat.globalDefault")}),H.isPlanDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-blue/20 text-accent-blue",children:t("chat.planDefault")}),H.isActDefault&&!H.isGlobalDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-yellow/20 text-accent-yellow",children:t("chat.actDefault")}),H.isGoalDefault&&e.jsx("span",{className:"text-[10px] px-1 rounded bg-accent-purple/20 text-accent-purple",children:t("chat.goalDefault")})]})]})},`${H.provider}:${H.id}`)})]},S)),u.length===0&&e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t("chat.noEnabledModels")})]}),e.jsxs("button",{type:"button",onClick:Z,className:"w-full flex items-center gap-2 px-3 py-2 text-left border-t border-dark-border/60 text-[11px] font-medium text-accent-blue transition-colors hover:bg-dark-hover",children:[e.jsx(Ze,{size:11}),t("chat.browseMoreModels")]})]}),e.jsx("div",{className:"border-t border-dark-border","aria-hidden":"true"}),e.jsxs("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wide text-dark-muted border-b border-dark-border flex items-center gap-1",children:[e.jsx(is,{size:11}),t("chat.effort")]}),e.jsx("div",{className:"py-1",children:ea.map(S=>{const te=Bs[S],H=S===c;return e.jsxs("button",{type:"button",role:"option","aria-selected":H,onClick:()=>{d(S),q()},className:le("w-full flex items-center gap-2 px-3 py-1.5 text-left transition-colors",H?"bg-dark-hover":"hover:bg-dark-hover"),children:[e.jsx("span",{className:le("flex h-4 w-4 items-center justify-center rounded border transition-colors shrink-0",H?"border-accent-green bg-accent-green/20 text-accent-green":"border-dark-border text-transparent"),children:e.jsx(Ee,{size:11,strokeWidth:3})}),e.jsx("span",{className:`text-xs font-medium ${H?te.color:"text-dark-text"}`,children:t(te.labelKey)})]},S)})})]})]})});function tl(n,t){if(!n)return t;const s=n.includes("\\")?"\\":"/";return n.endsWith(s)?n+t:n+s+t}function sl(n){const t=n.replace(/[\\/]+$/,""),s=Math.max(t.lastIndexOf("\\"),t.lastIndexOf("/"));return s===-1?t:t.slice(s+1)}function nl({initial:n,onClose:t,onConfirm:s}){const{t:r}=ee(),[a,i]=l.useState(n),[o,c]=l.useState(null),[d,u]=l.useState([]),[p,h]=l.useState(!1),[f,x]=l.useState(""),[g,k]=l.useState(n),y=l.useRef(null),m=l.useCallback(async E=>{h(!0),x("");try{const I=await ge.dirs.list(E);if(!I.success||!I.data){x(I.error||r("chat.dirPickerLoadError"));return}i(I.data.path),c(I.data.parent),u(I.data.dirs||[]),k(I.data.path)}catch(I){x(I instanceof Error?I.message:r("chat.dirPickerLoadError"))}finally{h(!1)}},[r]);l.useEffect(()=>{m(n)},[n,m]),l.useEffect(()=>{var E;(E=y.current)==null||E.focus()},[]),l.useEffect(()=>{const E=I=>{I.key==="Escape"&&(I.preventDefault(),I.stopPropagation(),t())};return document.addEventListener("keydown",E),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",E),document.body.style.overflow=""}},[t]);const v=l.useCallback(()=>{const E=g.trim();E&&m(E)},[g,m]),_=l.useCallback(()=>{o&&m(o)},[o,m]);return e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center overflow-hidden p-4",role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),e.jsxs("div",{className:"relative w-full max-w-lg mx-4 bg-dark-surface border border-dark-border rounded-xl shadow-2xl animate-fade-in flex flex-col max-h-[70vh]",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-dark-border shrink-0",children:[e.jsxs("span",{className:"flex items-center gap-2 text-[13px] font-semibold text-dark-text",children:[e.jsx(Zs,{size:15,className:"text-accent-blue","aria-hidden":"true"}),r("chat.dirPickerTitle")]}),e.jsx("button",{type:"button",onClick:t,className:"rounded p-1 text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors","aria-label":r("a11y.close"),children:e.jsx(Ae,{size:15,"aria-hidden":"true"})})]}),e.jsxs("div",{className:"p-4 flex flex-col gap-3 min-h-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(Sr,{size:13,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-dark-muted/60","aria-hidden":"true"}),e.jsx("input",{ref:y,value:g,onChange:E=>k(E.target.value),onKeyDown:E=>{E.key==="Enter"&&v()},placeholder:r("chat.dirPickerEnterPath"),spellCheck:!1,className:`w-full rounded-lg border border-dark-border bg-dark-bg pl-8 pr-2.5 py-1.5 text-xs font-mono text-dark-text
27
27
  placeholder-dark-muted/50 focus:outline-none focus:border-accent-blue/50 focus:ring-2 focus:ring-accent-blue/10`})]}),e.jsx("button",{type:"button",onClick:v,disabled:p||!g.trim(),className:`shrink-0 rounded-lg border border-dark-border px-2.5 py-1.5 text-xs text-dark-muted
28
28
  hover:bg-dark-hover hover:text-dark-text disabled:opacity-40 transition-colors`,children:r("chat.dirPickerGo")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"flex-1 truncate font-mono text-[11px] text-dark-muted bg-dark-bg rounded-md px-2 py-1 border border-dark-border",title:a,children:a||r("chat.noWorkspaceDir")}),e.jsxs("button",{type:"button",onClick:()=>void _(),disabled:p||!a,className:`shrink-0 flex items-center gap-1 rounded-md border border-dark-border px-2 py-1 text-[11px] text-dark-muted
29
29
  hover:bg-dark-hover hover:text-dark-text disabled:opacity-40 transition-colors`,children:[e.jsx(Qs,{size:12,"aria-hidden":"true"}),r("chat.dirPickerUp")]})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto custom-scrollbar rounded-lg border border-dark-border bg-dark-bg divide-y divide-dark-border/60",children:p?e.jsxs("div",{className:"flex items-center justify-center gap-2 py-6 text-xs text-dark-muted",children:[e.jsx(Fe,{size:14,className:"animate-spin","aria-hidden":"true"}),r("chat.loading")]}):f?e.jsx("div",{className:"px-3 py-4 text-xs text-accent-red",children:f}):d.length===0?e.jsx("div",{className:"px-3 py-4 text-xs text-dark-muted/60 text-center",children:r("chat.dirPickerNoDirs")}):d.map(E=>{const I=tl(a,E);return e.jsxs("button",{type:"button",onClick:()=>void m(I),className:`w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs text-dark-text