@xcanwin/manyoyo 7.0.5 → 7.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/web/frontend/shadcn.html +11 -11
- package/package.json +1 -1
|
@@ -127,24 +127,24 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
127
127
|
${e}</tr>
|
|
128
128
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
129
129
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${hq(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=gq(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+hq(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=gq(e);if(i===null)return hq(n);e=i;let a=`<img src="${e}" alt="${hq(n)}"`;return t&&(a+=` title="${hq(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:hq(e.text)}},Dq=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Oq=class e{options;renderer;textRenderer;constructor(e){this.options=e||YG,this.options.renderer=this.options.renderer||new Eq,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Dq}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},kq=class{options;block;constructor(e){this.options=e||YG}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Tq.lex:Tq.lexInline}provideParser(e=this.block){return e?Oq.parse:Oq.parseInline}},Aq=new class{defaults=JG();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Oq;Renderer=Eq;TextRenderer=Dq;Lexer=Tq;Tokenizer=wq;Hooks=kq;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Eq(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new wq(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new kq;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=kq.passThroughHooks.has(n)?e=>{if(this.defaults.async&&kq.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Tq.lex(e,t??this.defaults)}parser(e,t){return Oq.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?Tq.lex:Tq.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Oq.parse:Oq.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?Tq.lex:Tq.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Oq.parse:Oq.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
130
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+hq(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function jq(e,t){return Aq.parse(e,t)}jq.options=jq.setOptions=function(e){return Aq.setOptions(e),jq.defaults=Aq.defaults,XG(jq.defaults),jq},jq.getDefaults=JG,jq.defaults=YG;function Mq(...e){return Aq.use(...e),jq.defaults=Aq.defaults,XG(jq.defaults),jq}jq.use=Mq,jq.walkTokens=function(e,t){return Aq.walkTokens(e,t)},jq.parseInline=Aq.parseInline,jq.Parser=Oq,jq.parser=Oq.parse,jq.Renderer=Eq,jq.TextRenderer=Dq,jq.Lexer=Tq,jq.lexer=Tq.lex,jq.Tokenizer=wq,jq.Hooks=kq,jq.parse=jq,jq.options,jq.setOptions,jq.walkTokens,jq.parseInline,Oq.parse,Tq.lex,jq.setOptions({breaks:!0,gfm:!0}),qG.addHook(`afterSanitizeAttributes`,e=>{(e.tagName===`IMG`||e.tagName===`A`)&&e.setAttribute(`referrerpolicy`,`no-referrer`),e.tagName===`A`&&e.setAttribute(`rel`,`noopener noreferrer`)});function Nq({content:e,className:t}){let[n,r]=_.useState(null),i=_.useMemo(()=>{let t=jq.parse(e||``,{async:!1});return qG.sanitize(t,{ALLOWED_URI_REGEXP:/^(?:https?:|mailto:|tel:|#|\/)/i,ADD_ATTR:[`referrerpolicy`]})},[e]);function a(e){let t=e.target.closest(`a`);if(!t)return;let n=t.getAttribute(`href`)||``;!n||n.startsWith(`#`)||(e.preventDefault(),r(n))}function o(){let e=n;if(r(null),!e)return;let t=window.open(e,`_blank`,`noopener,noreferrer`);t&&(t.opener=null)}return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:U(`prose prose-sm dark:prose-invert max-w-none break-words prose-pre:bg-muted prose-pre:text-foreground`,t),onClick:a,dangerouslySetInnerHTML:{__html:i}}),(0,G.jsx)(Fu,{open:n!==null,onOpenChange:e=>{e||r(null)},children:(0,G.jsxs)(Ru,{className:`sm:max-w-sm`,children:[(0,G.jsx)(Vu,{children:`打开外部链接`}),(0,G.jsx)(Hu,{className:`break-all`,children:n}),(0,G.jsxs)(Bu,{children:[(0,G.jsx)(Pu,{variant:`outline`,onClick:()=>r(null),children:`取消`}),(0,G.jsx)(Pu,{onClick:o,children:`确认并新标签打开`})]})]})})]})}var Pq=2097152;function Fq(e,t){return`${e.replace(/\/$/,``)}/${t}`}function Iq(e){return Number.isFinite(e)?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`:`未知大小`}function Lq(e,t,n){try{let r=t.lastIndexOf(`/`),i=r>=0?t.slice(0,r+1):`/`,a=new URL(n,`http://manyoyo-internal`+i).pathname;return`/api/sessions/${encodeURIComponent(e)}/fs/raw?path=${encodeURIComponent(a)}`}catch{return``}}function Rq(e,t){return e.replace(/!\[([^\]]*)\]\(([^)\s]+)(\s+"[^"]*")?\)/g,(e,n,r,i=``)=>{if(/^(?:https?:|data:|#)/i.test(r))return e;let a=t(r);return a?``:e})}function zq({activeSession:e,editorStateRef:t,confirmLeaveIfDirty:n}){let r=e?.status===`history`,{confirm:i,dialog:a}=Bh(),o=xm(),[s,c]=_.useState(`list`),[l,u]=_.useState(`/`),[d,f]=_.useState(``),[p,m]=_.useState([]),[h,g]=_.useState(!1),[v,y]=_.useState(``),[b,x]=_.useState(``),[S,C]=_.useState(null),[w,T]=_.useState(!1),[E,D]=_.useState(``),[O,j]=_.useState(null),[M,N]=_.useState(!1),[P,F]=_.useState(``),[I,ne]=_.useState(!1),[B,re]=_.useState(`rendered`),[V,ie]=_.useState(!1),ae=M&&S!==null&&P!==(S.content||``),se=_.useRef(()=>Promise.resolve(!1)),ce=_.useCallback(()=>se.current(),[]);_.useEffect(()=>{if(t)return t.current=ae?{fileName:b.split(`/`).pop()||b,save:ce}:null,()=>{t.current=null}},[ae,b,t,ce]),_.useEffect(()=>{if(!M)return;function e(e){(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),se.current())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[M]);let le=_.useCallback(t=>{!e||r||(g(!0),y(``),Kt(`/api/sessions/${encodeURIComponent(e.name)}/fs/list?path=${encodeURIComponent(t)}`).then(e=>{u(String(e.path||t)),f(typeof e.parentPath==`string`?e.parentPath:``),m(Array.isArray(e.entries)?e.entries:[])}).catch(e=>{y(e instanceof Error?e.message:`加载目录失败`)}).finally(()=>g(!1)))},[e,r]);_.useEffect(()=>{if(x(``),C(null),D(``),N(!1),c(`list`),!e||r){m([]);return}le(e.containerPath||`/`)},[e?.name,r]);async function ue(t,r){if(e&&await n()){c(`detail`),x(t),C(null),N(!1),re(`rendered`),ie(r),T(!0),D(``);try{let n=await Kt(`/api/sessions/${encodeURIComponent(e.name)}/fs/read?path=${encodeURIComponent(t)}&full=1`);C(n)}catch(e){D(e instanceof Error?e.message:`读取文件失败`)}finally{T(!1)}}}async function de(e){let t=Number(e.size),n=!1;if(Number.isFinite(t)&&t>=Pq){if(!await i({title:`大文件确认`,message:`文件较大(${Iq(t)}),继续后将以只读方式全量预览,无法保存。是否继续?`,confirmLabel:`继续预览`}))return;n=!0}await ue(e.path,n)}async function fe(e){if(e.kind===`symlink`){let t=zh(e.name),n=e.symlinkTarget?`"${t}" 是符号链接,实际指向:\n${zh(e.symlinkTarget)}\n\n是否继续访问?`:`"${t}" 是一个无法解析的符号链接(可能已损坏),是否仍要尝试访问?`;if(!await i({title:`符号链接确认`,message:n,confirmLabel:`继续访问`}))return;if(e.symlinkTargetKind===`directory`){le(e.path);return}await de(e);return}if(e.kind===`directory`){le(e.path);return}await de(e)}function pe(){S&&(F(S.content||``),N(!0))}async function me(){if(!e||!b||I)return!1;ne(!0),D(``);try{return await Jt(`/api/sessions/${encodeURIComponent(e.name)}/fs/write`,{path:b,content:P}),C(e=>e&&{...e,content:P,size:P.length}),!0}catch(e){return D(e instanceof Error?e.message:`保存失败`),!1}finally{ne(!1)}}_.useEffect(()=>{se.current=me});async function he(){await n()&&N(!1)}async function ge(){await n()&&c(`list`)}async function _e(t){if(!e||!O)return;if(!t.trim())throw Error(`名称不能为空`);let n=Fq(l,t),r=O===`file`?`fs/create`:`fs/mkdir`;await qt(`/api/sessions/${encodeURIComponent(e.name)}/${r}`,{path:n}),le(l)}if(!e)return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-center text-sm text-muted-foreground`,children:`请先在左侧选择一个容器 / AGENT`});if(r)return(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 p-6 text-center text-sm text-muted-foreground`,children:[(0,G.jsx)(`p`,{className:`font-medium text-foreground`,children:`容器不可用`}),(0,G.jsx)(`p`,{children:`当前会话只有历史记录,没有可访问的运行中容器。`})]});let ve=S?.kind===`text`&&S.language===`markdown`,ye=!!(S?.kind===`text`&&S.editable&&!V),be=!o||s===`list`,xe=!o||s===`detail`;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,children:[be?(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b p-2`,children:[(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,disabled:!d,onClick:()=>le(d),title:`返回上一层目录`,children:(0,G.jsx)(A,{})}),(0,G.jsx)(yd,{value:zh(l),readOnly:!0,className:`h-8 font-mono text-xs`}),(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,onClick:()=>le(l),title:`刷新`,children:(0,G.jsx)(oe,{})}),(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,onClick:()=>j(`file`),title:`新建文件`,children:(0,G.jsx)(L,{})}),(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,onClick:()=>j(`folder`),title:`新建文件夹`,children:(0,G.jsx)(R,{})})]}):null,v&&be?(0,G.jsx)(Ju,{variant:`destructive`,className:`m-2`,children:(0,G.jsx)(Yu,{children:v})}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:U(`h-full w-64 shrink-0 overflow-y-auto border-r`,o&&`w-full`,!be&&`hidden`),children:(0,G.jsx)(`div`,{className:`flex flex-col gap-0.5 p-2`,children:h?(0,G.jsx)(`div`,{className:`flex h-32 items-center justify-center`,children:(0,G.jsx)(Ku,{className:`size-5`})}):(0,G.jsxs)(G.Fragment,{children:[p.length===0?(0,G.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:`空目录`}):null,p.map(e=>(0,G.jsxs)(`button`,{type:`button`,onClick:()=>fe(e),className:U(`flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm hover:bg-foreground/8`,b===e.path&&`bg-foreground/12 font-medium`),title:e.kind===`symlink`&&e.symlinkTarget?`符号链接 → ${zh(e.symlinkTarget)}`:zh(e.name),children:[e.kind===`directory`?(0,G.jsx)(te,{className:`size-4 shrink-0 text-muted-foreground`}):e.kind===`symlink`?(0,G.jsx)(z,{className:`size-4 shrink-0 text-muted-foreground`}):(0,G.jsx)(ee,{className:`size-4 shrink-0 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`truncate`,children:zh(e.name)})]},e.path))]})})}),(0,G.jsxs)(`div`,{className:U(`flex min-h-0 min-w-0 flex-1 flex-col`,!xe&&`hidden`),children:[b?(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b p-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[o?(0,G.jsx)(Pu,{variant:`ghost`,size:`icon-sm`,onClick:ge,title:`返回列表`,children:(0,G.jsx)(k,{})}):null,(0,G.jsx)(`div`,{className:`thin-scrollbar min-w-0 flex-1 overflow-x-auto pb-3`,children:(0,G.jsx)(`span`,{className:`block w-max font-mono text-xs whitespace-nowrap text-muted-foreground`,children:zh(b)})})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[ve&&!M?(0,G.jsx)(Pu,{variant:`outline`,size:`sm`,onClick:()=>re(e=>e===`source`?`rendered`:`source`),children:B===`source`?`查看渲染`:`查看源码`}):null,ye?M?(0,G.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,G.jsx)(Pu,{variant:`outline`,size:`sm`,onClick:he,disabled:I,children:`取消`}),(0,G.jsx)(Pu,{size:`sm`,onClick:me,disabled:I,children:I?`保存中...`:`保存`})]}):(0,G.jsx)(Pu,{variant:`outline`,size:`sm`,onClick:pe,children:`编辑`}):null]})]}):null,(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-3`,children:[b?null:(0,G.jsx)(`p`,{className:`p-6 text-center text-sm text-muted-foreground`,children:`选择左侧的文件查看内容`}),w?(0,G.jsx)(`div`,{className:`flex h-32 items-center justify-center`,children:(0,G.jsx)(Ku,{className:`size-5`})}):null,E?(0,G.jsx)(Ju,{variant:`destructive`,children:(0,G.jsx)(Yu,{children:E})}):null,S&&!w?(0,G.jsxs)(G.Fragment,{children:[S.kind===`image`?(0,G.jsx)(`img`,{src:`/api/sessions/${encodeURIComponent(e.name)}/fs/raw?path=${encodeURIComponent(b)}`,alt:b,className:`max-w-full rounded-md border`}):S.kind===`binary`?(0,G.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`二进制文件,无法预览(`,S.size,` 字节)`]}):M?(0,G.jsx)(bW,{value:P,language:S.language||`text`,readOnly:!1,onChange:F}):ve&&B===`rendered`?(0,G.jsx)(Nq,{content:Rq(S.content||``,t=>Lq(e.name,b,t))}):(0,G.jsx)(bW,{value:S.content||``,language:S.language||`text`,readOnly:!0}),S.truncated?(0,G.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`内容过大,已截断显示`}):null]}):null]})]})]}),(0,G.jsx)(Dp,{open:O!==null,onOpenChange:e=>{e||j(null)},title:O===`file`?`新建文件`:`新建文件夹`,description:`将在 ${zh(l)} 下创建。`,label:`名称`,initialValue:``,onSubmit:_e}),a]})}var Bq=`__default__`,Vq=`__custom__`;function Hq({open:e,onOpenChange:t,session:n,onSaved:r}){let[i,a]=_.useState([]),[o,s]=_.useState(Bq),[c,l]=_.useState(``),[u,d]=_.useState(!1),[f,p]=_.useState(!1),[m,h]=_.useState(``);_.useEffect(()=>{!e||!n||(d(!0),h(``),Kt(`/api/sessions/${encodeURIComponent(n.name)}/models`).then(e=>{let t=Array.isArray(e.models)?e.models:[];a(t);let r=n.model||``;r?t.some(e=>e.value===r)?s(r):(s(Vq),l(r)):(s(Bq),l(``))}).catch(e=>h(e instanceof Error?e.message:`获取模型列表失败`)).finally(()=>d(!1)))},[e,n]);async function g(){if(n){p(!0),h(``);try{let e=o===Bq?``:o===Vq?c.trim():o;await qt(`/api/sessions/${encodeURIComponent(n.name)}/model`,{model:e}),t(!1),r()}catch(e){h(e instanceof Error?e.message:`保存失败`)}finally{p(!1)}}}return(0,G.jsx)(Fu,{open:e,onOpenChange:t,children:(0,G.jsxs)(Ru,{className:`sm:max-w-sm`,children:[(0,G.jsx)(zu,{children:(0,G.jsx)(Vu,{children:`选择模型`})}),u?(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`正在获取模型列表...`}):(0,G.jsxs)($u,{children:[(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`model-select`,children:`模型`}),(0,G.jsxs)(lp,{value:o,onValueChange:e=>s(e??Bq),children:[(0,G.jsx)(fp,{id:`model-select`,className:`w-full`,children:(0,G.jsx)(dp,{children:e=>e===Bq?`跟随默认(不传 --model)`:e===Vq?`自定义...`:i.find(t=>t.value===e)?.label||e})}),(0,G.jsx)(pp,{children:(0,G.jsxs)(up,{children:[(0,G.jsx)(mp,{value:Bq,children:`跟随默认(不传 --model)`}),i.map(e=>(0,G.jsx)(mp,{value:e.value,children:e.label},e.value)),(0,G.jsx)(mp,{value:Vq,children:`自定义...`})]})})]})]}),o===Vq?(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`model-custom`,children:`自定义模型名称`}),(0,G.jsx)(yd,{id:`model-custom`,placeholder:`例如 gemini-2.5-pro`,value:c,onChange:e=>l(e.target.value)})]}):null,m?(0,G.jsx)(Ju,{variant:`destructive`,children:(0,G.jsx)(Yu,{children:m})}):null]}),(0,G.jsx)(Bu,{children:(0,G.jsx)(Pu,{onClick:g,disabled:u||f,children:f?`保存中...`:`保存`})})]})})}var Uq=2,Wq=1,Gq=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(Uq,Math.floor(u/e.css.cell.width)),rows:Math.max(Wq,Math.floor(l/e.css.cell.height))}}},Kq=Object.defineProperty,qq=Object.getOwnPropertyDescriptor,Jq=(e,t)=>{for(var n in t)Kq(e,n,{get:t[n],enumerable:!0})},Yq=(e,t,n,r)=>{for(var i=r>1?void 0:r?qq(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Kq(t,n,i),i},Xq=(e,t)=>(n,r)=>t(n,r,e),Zq=`Terminal input`,Qq={get:()=>Zq,set:e=>Zq=e},$q=`Too much output to announce, navigate to rows manually to read`,eJ={get:()=>$q,set:e=>$q=e};function tJ(e){return e.replace(/\r?\n/g,`\r`)}function nJ(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function rJ(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function iJ(e,t,n,r){e.stopPropagation(),e.clipboardData&&aJ(e.clipboardData.getData(`text/plain`),t,n,r)}function aJ(e,t,n,r){e=tJ(e),e=nJ(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function oJ(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function sJ(e,t,n,r,i){oJ(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function cJ(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function lJ(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var uJ=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},dJ=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},fJ=``,pJ=` `,mJ=class e{constructor(){this.fg=0,this.bg=0,this.extended=new hJ}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},hJ=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},gJ=class e extends mJ{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new hJ,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?cJ(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},_J=`di$target`,vJ=`di$dependencies`,yJ=new Map;function bJ(e){return e[vJ]||[]}function xJ(e){if(yJ.has(e))return yJ.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);SJ(t,e,r)};return t._id=e,yJ.set(e,t),t}function SJ(e,t,n){t[_J]===t?t[vJ].push({id:e,index:n}):(t[vJ]=[{id:e,index:n}],t[_J]=t)}var CJ=xJ(`BufferService`),wJ=xJ(`CoreMouseService`),TJ=xJ(`CoreService`),EJ=xJ(`CharsetService`),DJ=xJ(`InstantiationService`),OJ=xJ(`LogService`),kJ=xJ(`OptionsService`),AJ=xJ(`OscLinkService`),jJ=xJ(`UnicodeService`),MJ=xJ(`DecorationService`),NJ=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new gJ,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):PJ(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};NJ=Yq([Xq(0,CJ),Xq(1,kJ),Xq(2,AJ)],NJ);function PJ(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
130
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+hq(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function jq(e,t){return Aq.parse(e,t)}jq.options=jq.setOptions=function(e){return Aq.setOptions(e),jq.defaults=Aq.defaults,XG(jq.defaults),jq},jq.getDefaults=JG,jq.defaults=YG;function Mq(...e){return Aq.use(...e),jq.defaults=Aq.defaults,XG(jq.defaults),jq}jq.use=Mq,jq.walkTokens=function(e,t){return Aq.walkTokens(e,t)},jq.parseInline=Aq.parseInline,jq.Parser=Oq,jq.parser=Oq.parse,jq.Renderer=Eq,jq.TextRenderer=Dq,jq.Lexer=Tq,jq.lexer=Tq.lex,jq.Tokenizer=wq,jq.Hooks=kq,jq.parse=jq,jq.options,jq.setOptions,jq.walkTokens,jq.parseInline,Oq.parse,Tq.lex,jq.setOptions({breaks:!0,gfm:!0}),qG.addHook(`afterSanitizeAttributes`,e=>{(e.tagName===`IMG`||e.tagName===`A`)&&e.setAttribute(`referrerpolicy`,`no-referrer`),e.tagName===`A`&&e.setAttribute(`rel`,`noopener noreferrer`)});function Nq({content:e,className:t}){let[n,r]=_.useState(null),i=_.useMemo(()=>{let t=jq.parse(e||``,{async:!1});return qG.sanitize(t,{ALLOWED_URI_REGEXP:/^(?:https?:|mailto:|tel:|#|\/)/i,ADD_ATTR:[`referrerpolicy`]})},[e]);function a(e){let t=e.target.closest(`a`);if(!t)return;let n=t.getAttribute(`href`)||``;!n||n.startsWith(`#`)||(e.preventDefault(),r(n))}function o(){let e=n;if(r(null),!e)return;let t=window.open(e,`_blank`,`noopener,noreferrer`);t&&(t.opener=null)}return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:U(`prose prose-sm dark:prose-invert max-w-none break-words prose-pre:bg-muted prose-pre:text-foreground`,t),onClick:a,dangerouslySetInnerHTML:{__html:i}}),(0,G.jsx)(Fu,{open:n!==null,onOpenChange:e=>{e||r(null)},children:(0,G.jsxs)(Ru,{className:`sm:max-w-sm`,children:[(0,G.jsx)(Vu,{children:`打开外部链接`}),(0,G.jsx)(Hu,{className:`break-all`,children:n}),(0,G.jsxs)(Bu,{children:[(0,G.jsx)(Pu,{variant:`outline`,onClick:()=>r(null),children:`取消`}),(0,G.jsx)(Pu,{onClick:o,children:`确认并新标签打开`})]})]})})]})}var Pq=2097152;function Fq(e,t){return`${e.replace(/\/$/,``)}/${t}`}function Iq(e){return Number.isFinite(e)?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`:`未知大小`}function Lq(e,t,n){try{let r=t.lastIndexOf(`/`),i=r>=0?t.slice(0,r+1):`/`,a=new URL(n,`http://manyoyo-internal`+i).pathname;return`/api/sessions/${encodeURIComponent(e)}/fs/raw?path=${encodeURIComponent(a)}`}catch{return``}}function Rq(e,t){return e.replace(/!\[([^\]]*)\]\(([^)\s]+)(\s+"[^"]*")?\)/g,(e,n,r,i=``)=>{if(/^(?:https?:|data:|#)/i.test(r))return e;let a=t(r);return a?``:e})}function zq({value:e,className:t}){return(0,G.jsx)(`div`,{className:U(`no-scrollbar flex h-8 w-full min-w-0 items-center overflow-x-auto rounded-lg border border-input bg-transparent px-2.5 dark:bg-input/30`,t),children:(0,G.jsx)(`span`,{className:`w-max shrink-0 font-mono text-xs whitespace-nowrap text-muted-foreground`,children:e})})}function Bq({activeSession:e,editorStateRef:t,confirmLeaveIfDirty:n}){let r=e?.status===`history`,{confirm:i,dialog:a}=Bh(),o=xm(),[s,c]=_.useState(`list`),[l,u]=_.useState(`/`),[d,f]=_.useState(``),[p,m]=_.useState([]),[h,g]=_.useState(!1),[v,y]=_.useState(``),[b,x]=_.useState(``),[S,C]=_.useState(null),[w,T]=_.useState(!1),[E,D]=_.useState(``),[O,j]=_.useState(null),[M,N]=_.useState(!1),[P,F]=_.useState(``),[I,ne]=_.useState(!1),[B,re]=_.useState(`rendered`),[V,ie]=_.useState(!1),ae=M&&S!==null&&P!==(S.content||``),se=_.useRef(()=>Promise.resolve(!1)),ce=_.useCallback(()=>se.current(),[]);_.useEffect(()=>{if(t)return t.current=ae?{fileName:b.split(`/`).pop()||b,save:ce}:null,()=>{t.current=null}},[ae,b,t,ce]),_.useEffect(()=>{if(!M)return;function e(e){(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),se.current())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[M]);let le=_.useCallback(t=>{!e||r||(g(!0),y(``),Kt(`/api/sessions/${encodeURIComponent(e.name)}/fs/list?path=${encodeURIComponent(t)}`).then(e=>{u(String(e.path||t)),f(typeof e.parentPath==`string`?e.parentPath:``),m(Array.isArray(e.entries)?e.entries:[])}).catch(e=>{y(e instanceof Error?e.message:`加载目录失败`)}).finally(()=>g(!1)))},[e,r]);_.useEffect(()=>{if(x(``),C(null),D(``),N(!1),c(`list`),!e||r){m([]);return}le(e.containerPath||`/`)},[e?.name,r]);async function ue(t,r){if(e&&await n()){c(`detail`),x(t),C(null),N(!1),re(`rendered`),ie(r),T(!0),D(``);try{let n=await Kt(`/api/sessions/${encodeURIComponent(e.name)}/fs/read?path=${encodeURIComponent(t)}&full=1`);C(n)}catch(e){D(e instanceof Error?e.message:`读取文件失败`)}finally{T(!1)}}}async function de(e){let t=Number(e.size),n=!1;if(Number.isFinite(t)&&t>=Pq){if(!await i({title:`大文件确认`,message:`文件较大(${Iq(t)}),继续后将以只读方式全量预览,无法保存。是否继续?`,confirmLabel:`继续预览`}))return;n=!0}await ue(e.path,n)}async function fe(e){if(e.kind===`symlink`){let t=zh(e.name),n=e.symlinkTarget?`"${t}" 是符号链接,实际指向:\n${zh(e.symlinkTarget)}\n\n是否继续访问?`:`"${t}" 是一个无法解析的符号链接(可能已损坏),是否仍要尝试访问?`;if(!await i({title:`符号链接确认`,message:n,confirmLabel:`继续访问`}))return;if(e.symlinkTargetKind===`directory`){le(e.path);return}await de(e);return}if(e.kind===`directory`){le(e.path);return}await de(e)}function pe(){S&&(F(S.content||``),N(!0))}async function me(){if(!e||!b||I)return!1;ne(!0),D(``);try{return await Jt(`/api/sessions/${encodeURIComponent(e.name)}/fs/write`,{path:b,content:P}),C(e=>e&&{...e,content:P,size:P.length}),!0}catch(e){return D(e instanceof Error?e.message:`保存失败`),!1}finally{ne(!1)}}_.useEffect(()=>{se.current=me});async function he(){await n()&&N(!1)}async function ge(){await n()&&c(`list`)}async function _e(t){if(!e||!O)return;if(!t.trim())throw Error(`名称不能为空`);let n=Fq(l,t),r=O===`file`?`fs/create`:`fs/mkdir`;await qt(`/api/sessions/${encodeURIComponent(e.name)}/${r}`,{path:n}),le(l)}if(!e)return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-center text-sm text-muted-foreground`,children:`请先在左侧选择一个容器 / AGENT`});if(r)return(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 p-6 text-center text-sm text-muted-foreground`,children:[(0,G.jsx)(`p`,{className:`font-medium text-foreground`,children:`容器不可用`}),(0,G.jsx)(`p`,{children:`当前会话只有历史记录,没有可访问的运行中容器。`})]});let ve=S?.kind===`text`&&S.language===`markdown`,ye=!!(S?.kind===`text`&&S.editable&&!V),be=!o||s===`list`,xe=!o||s===`detail`;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,children:[be?(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b p-2`,children:[(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,disabled:!d,onClick:()=>le(d),title:`返回上一层目录`,children:(0,G.jsx)(A,{})}),(0,G.jsx)(zq,{value:zh(l)}),(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,onClick:()=>le(l),title:`刷新`,children:(0,G.jsx)(oe,{})}),(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,onClick:()=>j(`file`),title:`新建文件`,children:(0,G.jsx)(L,{})}),(0,G.jsx)(Pu,{variant:`outline`,size:`icon-sm`,onClick:()=>j(`folder`),title:`新建文件夹`,children:(0,G.jsx)(R,{})})]}):null,v&&be?(0,G.jsx)(Ju,{variant:`destructive`,className:`m-2`,children:(0,G.jsx)(Yu,{children:v})}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:U(`h-full w-64 shrink-0 overflow-y-auto border-r`,o&&`w-full`,!be&&`hidden`),children:(0,G.jsx)(`div`,{className:`flex flex-col gap-0.5 p-2`,children:h?(0,G.jsx)(`div`,{className:`flex h-32 items-center justify-center`,children:(0,G.jsx)(Ku,{className:`size-5`})}):(0,G.jsxs)(G.Fragment,{children:[p.length===0?(0,G.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:`空目录`}):null,p.map(e=>(0,G.jsxs)(`button`,{type:`button`,onClick:()=>fe(e),className:U(`flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm hover:bg-foreground/8`,b===e.path&&`bg-foreground/12 font-medium`),title:e.kind===`symlink`&&e.symlinkTarget?`符号链接 → ${zh(e.symlinkTarget)}`:zh(e.name),children:[e.kind===`directory`?(0,G.jsx)(te,{className:`size-4 shrink-0 text-muted-foreground`}):e.kind===`symlink`?(0,G.jsx)(z,{className:`size-4 shrink-0 text-muted-foreground`}):(0,G.jsx)(ee,{className:`size-4 shrink-0 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`truncate`,children:zh(e.name)})]},e.path))]})})}),(0,G.jsxs)(`div`,{className:U(`flex min-h-0 min-w-0 flex-1 flex-col`,!xe&&`hidden`),children:[b?(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b p-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[o?(0,G.jsx)(Pu,{variant:`ghost`,size:`icon-sm`,onClick:ge,title:`返回列表`,children:(0,G.jsx)(k,{})}):null,(0,G.jsx)(zq,{value:zh(b)})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[ve&&!M?(0,G.jsx)(Pu,{variant:`outline`,size:`sm`,onClick:()=>re(e=>e===`source`?`rendered`:`source`),children:B===`source`?`查看渲染`:`查看源码`}):null,ye?M?(0,G.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,G.jsx)(Pu,{variant:`outline`,size:`sm`,onClick:he,disabled:I,children:`取消`}),(0,G.jsx)(Pu,{size:`sm`,onClick:me,disabled:I,children:I?`保存中...`:`保存`})]}):(0,G.jsx)(Pu,{variant:`outline`,size:`sm`,onClick:pe,children:`编辑`}):null]})]}):null,(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-3`,children:[b?null:(0,G.jsx)(`p`,{className:`p-6 text-center text-sm text-muted-foreground`,children:`选择左侧的文件查看内容`}),w?(0,G.jsx)(`div`,{className:`flex h-32 items-center justify-center`,children:(0,G.jsx)(Ku,{className:`size-5`})}):null,E?(0,G.jsx)(Ju,{variant:`destructive`,children:(0,G.jsx)(Yu,{children:E})}):null,S&&!w?(0,G.jsxs)(G.Fragment,{children:[S.kind===`image`?(0,G.jsx)(`img`,{src:`/api/sessions/${encodeURIComponent(e.name)}/fs/raw?path=${encodeURIComponent(b)}`,alt:b,className:`max-w-full rounded-md border`}):S.kind===`binary`?(0,G.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`二进制文件,无法预览(`,S.size,` 字节)`]}):M?(0,G.jsx)(bW,{value:P,language:S.language||`text`,readOnly:!1,onChange:F}):ve&&B===`rendered`?(0,G.jsx)(Nq,{content:Rq(S.content||``,t=>Lq(e.name,b,t))}):(0,G.jsx)(bW,{value:S.content||``,language:S.language||`text`,readOnly:!0}),S.truncated?(0,G.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`内容过大,已截断显示`}):null]}):null]})]})]}),(0,G.jsx)(Dp,{open:O!==null,onOpenChange:e=>{e||j(null)},title:O===`file`?`新建文件`:`新建文件夹`,description:`将在 ${zh(l)} 下创建。`,label:`名称`,initialValue:``,onSubmit:_e}),a]})}var Vq=`__default__`,Hq=`__custom__`;function Uq({open:e,onOpenChange:t,session:n,onSaved:r}){let[i,a]=_.useState([]),[o,s]=_.useState(Vq),[c,l]=_.useState(``),[u,d]=_.useState(!1),[f,p]=_.useState(!1),[m,h]=_.useState(``);_.useEffect(()=>{!e||!n||(d(!0),h(``),Kt(`/api/sessions/${encodeURIComponent(n.name)}/models`).then(e=>{let t=Array.isArray(e.models)?e.models:[];a(t);let r=n.model||``;r?t.some(e=>e.value===r)?s(r):(s(Hq),l(r)):(s(Vq),l(``))}).catch(e=>h(e instanceof Error?e.message:`获取模型列表失败`)).finally(()=>d(!1)))},[e,n]);async function g(){if(n){p(!0),h(``);try{let e=o===Vq?``:o===Hq?c.trim():o;await qt(`/api/sessions/${encodeURIComponent(n.name)}/model`,{model:e}),t(!1),r()}catch(e){h(e instanceof Error?e.message:`保存失败`)}finally{p(!1)}}}return(0,G.jsx)(Fu,{open:e,onOpenChange:t,children:(0,G.jsxs)(Ru,{className:`sm:max-w-sm`,children:[(0,G.jsx)(zu,{children:(0,G.jsx)(Vu,{children:`选择模型`})}),u?(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`正在获取模型列表...`}):(0,G.jsxs)($u,{children:[(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`model-select`,children:`模型`}),(0,G.jsxs)(lp,{value:o,onValueChange:e=>s(e??Vq),children:[(0,G.jsx)(fp,{id:`model-select`,className:`w-full`,children:(0,G.jsx)(dp,{children:e=>e===Vq?`跟随默认(不传 --model)`:e===Hq?`自定义...`:i.find(t=>t.value===e)?.label||e})}),(0,G.jsx)(pp,{children:(0,G.jsxs)(up,{children:[(0,G.jsx)(mp,{value:Vq,children:`跟随默认(不传 --model)`}),i.map(e=>(0,G.jsx)(mp,{value:e.value,children:e.label},e.value)),(0,G.jsx)(mp,{value:Hq,children:`自定义...`})]})})]})]}),o===Hq?(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`model-custom`,children:`自定义模型名称`}),(0,G.jsx)(yd,{id:`model-custom`,placeholder:`例如 gemini-2.5-pro`,value:c,onChange:e=>l(e.target.value)})]}):null,m?(0,G.jsx)(Ju,{variant:`destructive`,children:(0,G.jsx)(Yu,{children:m})}):null]}),(0,G.jsx)(Bu,{children:(0,G.jsx)(Pu,{onClick:g,disabled:u||f,children:f?`保存中...`:`保存`})})]})})}var Wq=2,Gq=1,Kq=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(Wq,Math.floor(u/e.css.cell.width)),rows:Math.max(Gq,Math.floor(l/e.css.cell.height))}}},qq=Object.defineProperty,Jq=Object.getOwnPropertyDescriptor,Yq=(e,t)=>{for(var n in t)qq(e,n,{get:t[n],enumerable:!0})},Xq=(e,t,n,r)=>{for(var i=r>1?void 0:r?Jq(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&qq(t,n,i),i},Zq=(e,t)=>(n,r)=>t(n,r,e),Qq=`Terminal input`,$q={get:()=>Qq,set:e=>Qq=e},eJ=`Too much output to announce, navigate to rows manually to read`,tJ={get:()=>eJ,set:e=>eJ=e};function nJ(e){return e.replace(/\r?\n/g,`\r`)}function rJ(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function iJ(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function aJ(e,t,n,r){e.stopPropagation(),e.clipboardData&&oJ(e.clipboardData.getData(`text/plain`),t,n,r)}function oJ(e,t,n,r){e=nJ(e),e=rJ(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function sJ(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function cJ(e,t,n,r,i){sJ(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function lJ(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function uJ(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var dJ=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},fJ=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},pJ=``,mJ=` `,hJ=class e{constructor(){this.fg=0,this.bg=0,this.extended=new gJ}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},gJ=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},_J=class e extends hJ{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new gJ,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?lJ(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},vJ=`di$target`,yJ=`di$dependencies`,bJ=new Map;function xJ(e){return e[yJ]||[]}function SJ(e){if(bJ.has(e))return bJ.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);CJ(t,e,r)};return t._id=e,bJ.set(e,t),t}function CJ(e,t,n){t[vJ]===t?t[yJ].push({id:e,index:n}):(t[yJ]=[{id:e,index:n}],t[vJ]=t)}var wJ=SJ(`BufferService`),TJ=SJ(`CoreMouseService`),EJ=SJ(`CoreService`),DJ=SJ(`CharsetService`),OJ=SJ(`InstantiationService`),kJ=SJ(`LogService`),AJ=SJ(`OptionsService`),jJ=SJ(`OscLinkService`),MJ=SJ(`UnicodeService`),NJ=SJ(`DecorationService`),PJ=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new _J,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):FJ(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};PJ=Xq([Zq(0,wJ),Zq(1,AJ),Zq(2,jJ)],PJ);function FJ(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
131
131
|
|
|
132
|
-
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var
|
|
132
|
+
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var IJ=SJ(`CharSizeService`),LJ=SJ(`CoreBrowserService`),RJ=SJ(`MouseService`),zJ=SJ(`RenderService`),BJ=SJ(`SelectionService`),VJ=SJ(`CharacterJoinerService`),HJ=SJ(`ThemeService`),UJ=SJ(`LinkProviderService`),WJ=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?XJ.isErrorNoTelemetry(e)?new XJ(e.message+`
|
|
133
133
|
|
|
134
134
|
`+e.stack):Error(e.message+`
|
|
135
135
|
|
|
136
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function WJ(e){KJ(e)||UJ.onUnexpectedError(e)}var GJ=`Canceled`;function KJ(e){return e instanceof qJ||e instanceof Error&&e.name===GJ&&e.message===GJ}var qJ=class extends Error{constructor(){super(GJ),this.name=this.message}};function JJ(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var YJ=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},XJ=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function ZJ(e,t=0){return e[e.length-(1+t)]}var QJ;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(QJ||={});var $J=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||QJ.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};$J.empty=new $J(e=>{});function eY(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var tY;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(tY||={});var nY=null;function rY(e){return nY?.trackDisposable(e),e}function iY(e){nY?.markAsDisposed(e)}function aY(e,t){nY?.setParent(e,t)}function oY(e){return nY?.markAsSingleton(e),e}function sY(e){if(tY.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function cY(...e){return lY(()=>sY(e))}function lY(e){let t=rY({dispose:eY(()=>{iY(t),e()})});return t}var uY=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,rY(this)}dispose(){this._isDisposed||(iY(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{sY(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return aY(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),aY(e,null))}};uY.DISABLE_DISPOSED_WARNING=!1;var dY=uY,fY=class{constructor(){this._store=new dY,rY(this),aY(this._store,this)}dispose(){iY(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};fY.None=Object.freeze({dispose(){}});var pY=class{constructor(){this._isDisposed=!1,rY(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&aY(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,iY(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&aY(e,null),e}},mY=typeof window==`object`?window:globalThis,hY=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};hY.Undefined=new hY(void 0);var gY=hY,_Y=class{constructor(){this._first=gY.Undefined,this._last=gY.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===gY.Undefined}clear(){let e=this._first;for(;e!==gY.Undefined;){let t=e.next;e.prev=gY.Undefined,e.next=gY.Undefined,e=t}this._first=gY.Undefined,this._last=gY.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new gY(e);if(this._first===gY.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==gY.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==gY.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==gY.Undefined&&e.next!==gY.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===gY.Undefined&&e.next===gY.Undefined?(this._first=gY.Undefined,this._last=gY.Undefined):e.next===gY.Undefined?(this._last=this._last.prev,this._last.next=gY.Undefined):e.prev===gY.Undefined&&(this._first=this._first.next,this._first.prev=gY.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==gY.Undefined;)yield e.element,e=e.next}},vY=globalThis.performance&&typeof globalThis.performance.now==`function`,yY=class e{static create(t){return new e(t)}constructor(e){this._now=vY&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},bY;(e=>{e.None=()=>fY.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(cY(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new Q({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new Q({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new Q({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new Q({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new Q({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function x(e){return new Promise(t=>n(e)(t))}e.toPromise=x;function S(e){let t=new Q;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=S;function C(e,t){return e(e=>t.fire(e))}e.forward=C;function w(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=w;class T{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new Q(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function E(e,t){return new T(e,t).emitter.event}e.fromObservable=E;function D(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof dY?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=D})(bY||={});var xY=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new yY,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};xY.all=new Set,xY._idPool=0;var SY=xY,CY=-1,wY=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new DY(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};wY._idPool=1;var TY=wY,EY=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
136
|
+
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function GJ(e){qJ(e)||WJ.onUnexpectedError(e)}var KJ=`Canceled`;function qJ(e){return e instanceof JJ||e instanceof Error&&e.name===KJ&&e.message===KJ}var JJ=class extends Error{constructor(){super(KJ),this.name=this.message}};function YJ(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var XJ=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},ZJ=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function QJ(e,t=0){return e[e.length-(1+t)]}var $J;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})($J||={});var eY=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||$J.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};eY.empty=new eY(e=>{});function tY(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var nY;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(nY||={});var rY=null;function iY(e){return rY?.trackDisposable(e),e}function aY(e){rY?.markAsDisposed(e)}function oY(e,t){rY?.setParent(e,t)}function sY(e){return rY?.markAsSingleton(e),e}function cY(e){if(nY.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function lY(...e){return uY(()=>cY(e))}function uY(e){let t=iY({dispose:tY(()=>{aY(t),e()})});return t}var dY=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,iY(this)}dispose(){this._isDisposed||(aY(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{cY(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return oY(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),oY(e,null))}};dY.DISABLE_DISPOSED_WARNING=!1;var fY=dY,pY=class{constructor(){this._store=new fY,iY(this),oY(this._store,this)}dispose(){aY(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};pY.None=Object.freeze({dispose(){}});var mY=class{constructor(){this._isDisposed=!1,iY(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&oY(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,aY(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&oY(e,null),e}},hY=typeof window==`object`?window:globalThis,gY=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};gY.Undefined=new gY(void 0);var _Y=gY,vY=class{constructor(){this._first=_Y.Undefined,this._last=_Y.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===_Y.Undefined}clear(){let e=this._first;for(;e!==_Y.Undefined;){let t=e.next;e.prev=_Y.Undefined,e.next=_Y.Undefined,e=t}this._first=_Y.Undefined,this._last=_Y.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new _Y(e);if(this._first===_Y.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==_Y.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==_Y.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==_Y.Undefined&&e.next!==_Y.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===_Y.Undefined&&e.next===_Y.Undefined?(this._first=_Y.Undefined,this._last=_Y.Undefined):e.next===_Y.Undefined?(this._last=this._last.prev,this._last.next=_Y.Undefined):e.prev===_Y.Undefined&&(this._first=this._first.next,this._first.prev=_Y.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==_Y.Undefined;)yield e.element,e=e.next}},yY=globalThis.performance&&typeof globalThis.performance.now==`function`,bY=class e{static create(t){return new e(t)}constructor(e){this._now=yY&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},xY;(e=>{e.None=()=>pY.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(lY(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new Q({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new Q({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new Q({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new Q({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new Q({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function x(e){return new Promise(t=>n(e)(t))}e.toPromise=x;function S(e){let t=new Q;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=S;function C(e,t){return e(e=>t.fire(e))}e.forward=C;function w(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=w;class T{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new Q(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function E(e,t){return new T(e,t).emitter.event}e.fromObservable=E;function D(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof fY?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=D})(xY||={});var SY=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new bY,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};SY.all=new Set,SY._idPool=0;var CY=SY,wY=-1,TY=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new OY(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};TY._idPool=1;var EY=TY,DY=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
137
137
|
`).slice(2).join(`
|
|
138
|
-
`))}},DY=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},OY=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},kY=0,AY=class{constructor(e){this.value=e,this.id=kY++}},jY=2,Q=class{constructor(e){this._size=0,this._options=e,this._leakageMon=CY>0||this._options?.leakWarningThreshold?new TY(e?.onListenerError??WJ,this._options?.leakWarningThreshold??CY):void 0,this._perfMon=this._options?._profName?new SY(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new OY(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||WJ)(n),fY.None}if(this._disposed)return fY.None;t&&(e=e.bind(t));let r=new AY(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=EY.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof AY?(this._deliveryQueue??=new MY,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=lY(()=>{i?.(),this._removeListener(r)});return n instanceof dY?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*jY<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||WJ;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof AY)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},MY=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},NY=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new Q,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new Q,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};NY.INSTANCE=new NY;var PY=NY;function FY(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}PY.INSTANCE.onDidChangeZoomLevel;function IY(e){return PY.INSTANCE.getZoomFactor(e)}PY.INSTANCE.onDidChangeFullscreen;var LY=typeof navigator==`object`?navigator.userAgent:``,RY=LY.indexOf(`Firefox`)>=0,zY=LY.indexOf(`AppleWebKit`)>=0,BY=LY.indexOf(`Chrome`)>=0,VY=!BY&&LY.indexOf(`Safari`)>=0;LY.indexOf(`Electron/`),LY.indexOf(`Android`);var HY=!1;if(typeof mY.matchMedia==`function`){let e=mY.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=mY.matchMedia(`(display-mode: fullscreen)`);HY=e.matches,FY(mY,e,({matches:e})=>{HY&&t.matches||(HY=e)})}function UY(){return HY}var WY=`en`,GY=!1,KY=!1,qY=!1,JY=!1,YY=!1,XY=WY,ZY,QY=globalThis,$Y;typeof QY.vscode<`u`&&typeof QY.vscode.process<`u`?$Y=QY.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&($Y=process);var eX=typeof $Y?.versions?.electron==`string`&&$Y?.type===`renderer`;if(typeof $Y==`object`){GY=$Y.platform===`win32`,KY=$Y.platform===`darwin`,qY=$Y.platform===`linux`,qY&&$Y.env.SNAP&&$Y.env.SNAP_REVISION,$Y.env.CI||$Y.env.BUILD_ARTIFACTSTAGINGDIRECTORY,XY=WY;let e=$Y.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,XY=t.resolvedLanguage||WY,t.languagePack?.translationsConfigFile}catch{}JY=!0}else typeof navigator==`object`&&!eX?(ZY=navigator.userAgent,GY=ZY.indexOf(`Windows`)>=0,KY=ZY.indexOf(`Macintosh`)>=0,(ZY.indexOf(`Macintosh`)>=0||ZY.indexOf(`iPad`)>=0||ZY.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,qY=ZY.indexOf(`Linux`)>=0,ZY?.indexOf(`Mobi`),YY=!0,XY=globalThis._VSCODE_NLS_LANGUAGE||WY,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var tX=GY,nX=KY,rX=qY,iX=JY;YY&&typeof QY.importScripts==`function`&&QY.origin;var aX=ZY,oX=XY,sX;(e=>{function t(){return oX}e.value=t;function n(){return oX.length===2?oX===`en`:oX.length>=3&&oX[0]===`e`&&oX[1]===`n`&&oX[2]===`-`}e.isDefaultVariant=n;function r(){return oX===`en`}e.isDefault=r})(sX||={});var cX=typeof QY.postMessage==`function`&&!QY.importScripts;(()=>{if(cX){let e=[];QY.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),QY.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var lX=!!(aX&&aX.indexOf(`Chrome`)>=0);aX&&aX.indexOf(`Firefox`),!lX&&aX&&aX.indexOf(`Safari`),aX&&aX.indexOf(`Edg/`),aX&&aX.indexOf(`Android`);var uX=typeof navigator==`object`?navigator:{};iX||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||uX&&uX.clipboard&&uX.clipboard.writeText,iX||uX&&uX.clipboard&&uX.clipboard.readText,iX||UY()||uX.keyboard,`ontouchstart`in mY||uX.maxTouchPoints,mY.PointerEvent&&(`ontouchstart`in mY||navigator.maxTouchPoints);var dX=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},fX=new dX,pX=new dX,mX=new dX,hX=Array(230),gX;(e=>{function t(e){return fX.keyCodeToStr(e)}e.toString=t;function n(e){return fX.strToKeyCode(e)}e.fromString=n;function r(e){return pX.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return mX.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return pX.strToKeyCode(e)||mX.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return fX.keyCodeToStr(e)}e.toElectronAccelerator=o})(gX||={});var _X=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new vX([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},vX=class{constructor(e){if(e.length===0)throw JJ(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t<n;t++)t!==0&&(e+=`;`),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function yX(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return gX.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(RY)switch(t){case 59:return 85;case 60:if(rX)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(nX)return 57;break}else if(zY&&(nX&&t===93||!nX&&t===92))return 57;return hX[t]||0}var bX=nX?256:2048,xX=512,SX=1024,CX=nX?2048:256,wX=class{constructor(e){this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(`AltGraph`),this.keyCode=yX(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=bX),this.altKey&&(t|=xX),this.shiftKey&&(t|=SX),this.metaKey&&(t|=CX),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new _X(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},TX=new WeakMap;function EX(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,n=e.parent.location;if(t.origin!==`null`&&n.origin!==`null`&&t.origin!==n.origin)return null}catch{return null}return e.parent}var DX=class{static getSameOriginWindowChain(e){let t=TX.get(e);if(!t){t=[],TX.set(e,t);let n=e,r;do r=EX(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r;while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let n=0,r=0,i=this.getSameOriginWindowChain(e);for(let e of i){let i=e.window.deref();if(n+=i?.scrollY??0,r+=i?.scrollX??0,i===t||!e.iframeElement)break;let a=e.iframeElement.getBoundingClientRect();n+=a.top,r+=a.left}return{top:n,left:r}}},OX=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type===`dblclick`&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX==`number`?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let n=DX.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},kX=class{constructor(e,t=0,n=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=n,this.deltaX=t;let r=!1;if(BY){let e=navigator.userAgent.match(/Chrome\/(\d+)/);r=(e?parseInt(e[1]):123)<=122}if(e){let t=e,n=e,i=e.view?.devicePixelRatio||1;if(typeof t.wheelDeltaY<`u`)this.deltaY=r?t.wheelDeltaY/(120*i):t.wheelDeltaY/120;else if(typeof n.VERTICAL_AXIS<`u`&&n.axis===n.VERTICAL_AXIS)this.deltaY=-n.detail/3;else if(e.type===`wheel`){let t=e;this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?RY&&!nX?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=VY&&tX?-(t.wheelDeltaX/120):r?t.wheelDeltaX/(120*i):t.wheelDeltaX/120;else if(typeof n.HORIZONTAL_AXIS<`u`&&n.axis===n.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type===`wheel`){let t=e;this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?RY&&!nX?-e.deltaX/3:-e.deltaX:-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=r?e.wheelDelta/(120*i):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},AX=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),jX;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof MX?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:bY.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:AX})})(jX||={});var MX=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?AX:(this._emitter||=new Q,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},NX=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new XJ(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new XJ(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},PX=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new XJ(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=lY(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var FX;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(FX||={});var IX=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new Q,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await bY.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};IX.EMPTY=IX.fromArray([]);function LX(e){return RX(e,0)}function RX(e,t){switch(typeof e){case`object`:return e===null?zX(349,t):Array.isArray(e)?HX(e,t):UX(e,t);case`string`:return VX(e,t);case`boolean`:return BX(e,t);case`number`:return zX(e,t);case`undefined`:return zX(937,t);default:return zX(617,t)}}function zX(e,t){return(t<<5)-t+e|0}function BX(e,t){return zX(e?433:863,t)}function VX(e,t){t=zX(149417,t);for(let n=0,r=e.length;n<r;n++)t=zX(e.charCodeAt(n),t);return t}function HX(e,t){return t=zX(104579,t),e.reduce((e,t)=>RX(t,e),t)}function UX(e,t){return t=zX(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=VX(n,t),RX(e[n],t)),t)}var{registerWindow:WX,getWindow:GX,getDocument:KX,getWindows:qX,getWindowsCount:JX,getWindowId:YX,getWindowById:XX,hasWindow:ZX,onDidRegisterWindow:QX,onWillUnregisterWindow:$X,onDidUnregisterWindow:eZ}=function(){let e=new Map,t={window:mY,disposables:new dY};e.set(mY.vscodeWindowId,t);let n=new Q,r=new Q,i=new Q;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return fY.None;let a=new dY,o={window:t,disposables:a.add(new dY)};return e.set(t.vscodeWindowId,o),a.add(lY(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(nZ(t,dZ.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:mY},getDocument(e){return GX(e).document}}}(),tZ=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function nZ(e,t,n,r){return new tZ(e,t,n,r)}function rZ(e,t){return function(n){return t(new OX(e,n))}}function iZ(e){return function(t){return e(new wX(t))}}var aZ=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=rZ(GX(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=iZ(n)),nZ(e,t,i,r)},oZ,sZ=class extends PX{constructor(e){super(),this.defaultTarget=e&&GX(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},cZ=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){WJ(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(cZ.sort),a.shift().execute();r.set(i,!1)};oZ=(t,r,a=0)=>{let o=YX(t),s=new cZ(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var lZ=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};lZ.None=new lZ(0,0);function uZ(e){let t=e.getBoundingClientRect(),n=GX(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=LX(n),a=r.get(i);if(a)a.users+=1;else{let o=new Q,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(lY(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var dZ={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:zY?`webkitAnimationStart`:`animationstart`,ANIMATION_END:zY?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:zY?`webkitAnimationIteration`:`animationiteration`},fZ=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingTop=``,this._paddingLeft=``,this._paddingBottom=``,this._paddingRight=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=pZ(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=pZ(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=pZ(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=pZ(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=pZ(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=pZ(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=pZ(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=pZ(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=pZ(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=pZ(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=pZ(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=pZ(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=pZ(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=pZ(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function pZ(e){return typeof e==`number`?`${e}px`:e}function mZ(e){return new fZ(e)}var hZ=class{constructor(){this._hooks=new dY,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(lY(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=GX(e)}this._hooks.add(nZ(a,dZ.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(nZ(a,dZ.POINTER_UP,e=>this.stopMonitoring(!0)))}};function gZ(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var _Z;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(_Z||={});var vZ=class e extends fY{constructor(){super(),this.dispatched=!1,this.targets=new _Y,this.ignoreTargets=new _Y,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(bY.runAndSubscribe(QX,({window:e,disposables:t})=>{t.add(nZ(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(nZ(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(nZ(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:mY,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=oY(new e),lY(e.INSTANCE.targets.push(t))):fY.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=oY(new e),lY(e.INSTANCE.ignoreTargets.push(t))):fY.None}static isTouchDevice(){return`ontouchstart`in mY||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(_Z.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t,n){let r=Date.now(),i=Object.keys(this.activeTouches).length;for(let a=0,o=n.changedTouches.length;a<o;a++){let o=n.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(`move of an UNKNOWN touch`,o);continue}let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-ZJ(s.rollingPageX))<30&&Math.abs(s.initialPageY-ZJ(s.rollingPageY))<30){let e=this.newGestureEvent(_Z.Tap,s.initialTarget);e.pageX=ZJ(s.rollingPageX),e.pageY=ZJ(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-ZJ(s.rollingPageX))<30&&Math.abs(s.initialPageY-ZJ(s.rollingPageY))<30){let e=this.newGestureEvent(_Z.Contextmenu,s.initialTarget);e.pageX=ZJ(s.rollingPageX),e.pageY=ZJ(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=ZJ(s.rollingPageX),n=ZJ(s.rollingPageY),i=ZJ(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(_Z.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===_Z.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else(t.type===_Z.Change||t.type===_Z.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=oZ(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(_Z.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn(`end of an UNKNOWN touch`,r);continue}let i=this.activeTouches[r.identifier],a=this.newGestureEvent(_Z.Change,i.initialTarget);a.translationX=r.pageX-ZJ(i.rollingPageX),a.translationY=r.pageY-ZJ(i.rollingPageY),a.pageX=r.pageX,a.pageY=r.pageY,this.dispatchEvent(a),i.rollingPageX.length>3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};vZ.SCROLL_FRICTION=-.005,vZ.HOLD_DELAY=700,vZ.CLEAR_TAP_COUNT_TIME=400,Yq([gZ],vZ,`isTouchDevice`,1);var yZ=vZ,bZ=class extends fY{onclick(e,t){this._register(nZ(e,dZ.CLICK,n=>t(new OX(GX(e),n))))}onmousedown(e,t){this._register(nZ(e,dZ.MOUSE_DOWN,n=>t(new OX(GX(e),n))))}onmouseover(e,t){this._register(nZ(e,dZ.MOUSE_OVER,n=>t(new OX(GX(e),n))))}onmouseleave(e,t){this._register(nZ(e,dZ.MOUSE_LEAVE,n=>t(new OX(GX(e),n))))}onkeydown(e,t){this._register(nZ(e,dZ.KEY_DOWN,e=>t(new wX(e))))}onkeyup(e,t){this._register(nZ(e,dZ.KEY_UP,e=>t(new wX(e))))}oninput(e,t){this._register(nZ(e,dZ.INPUT,t))}onblur(e,t){this._register(nZ(e,dZ.BLUR,t))}onfocus(e,t){this._register(nZ(e,dZ.FOCUS,t))}onchange(e,t){this._register(nZ(e,dZ.CHANGE,t))}ignoreGesture(e){return yZ.ignoreTarget(e)}},xZ=11,SZ=class extends bZ{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=xZ+`px`,this.domNode.style.height=xZ+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new hZ),this._register(aZ(this.bgDomNode,dZ.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(aZ(this.domNode,dZ.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new sZ),this._pointerdownScheduleRepeatTimer=this._register(new NX)}_arrowPointerDown(e){!e.target||!(e.target instanceof Element)||(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,GX(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},CZ=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<`u`?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<`u`?t.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},wZ=class extends fY{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new CZ(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>`u`?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>`u`?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new OZ(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=OZ.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},TZ=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function EZ(e,t){let n=t-e;return function(t){return e+n*AZ(t)}}function DZ(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var OZ=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),DZ(EZ(e,r),EZ(i,t),.33)}return EZ(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new TZ(this.scrollLeft(t),this.scrollTop(t),!1):new TZ(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){r+=10;let i=Date.now()-10;return new e(t,n,i,r)}};function kZ(e){return e**3}function AZ(e){return 1-kZ(1-e)}var jZ=class extends fY{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new NX)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3||this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},MZ=140,NZ=class extends bZ{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new jZ(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new hZ),this._shouldRender=!0,this.domNode=mZ(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(nZ(this.domNode.domNode,dZ.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new SZ(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=mZ(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(nZ(this.slider.domNode,dZ.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=uZ(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(tX&&a>MZ){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},PZ=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},FZ=class extends NZ{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new PZ(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,i.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},IZ=class extends NZ{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new PZ(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,i.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},LZ=500,RZ=50,zZ=!0,BZ=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},VZ=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(!0);return t<=.5}acceptStandardWheelEvent(e){if(BY){let t=IY(GX(e.browserEvent));this.accept(Date.now(),e.deltaX*t,e.deltaY*t)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,n){let r=null,i=new BZ(e,t,n);this._front===-1&&this._rear===-1?(this._memory[0]=i,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=i),i.score=this._computeScore(i,r)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};VZ.INSTANCE=new VZ;var HZ=VZ,UZ=class extends bZ{constructor(e,t,n){super(),this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Q),this.onWillScroll=this._onWillScroll.event,this._options=GZ(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new IZ(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new FZ(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`xterm-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=mZ(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=mZ(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=mZ(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new NX),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=sY(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,nX&&(this._options.className+=` mac`),this._domNode.className=`xterm-scrollable-element `+this._options.className}updateOptions(e){typeof e.handleMouseWheel<`u`&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<`u`&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<`u`&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<`u`&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<`u`&&(this._options.horizontal=e.horizontal),typeof e.vertical<`u`&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<`u`&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<`u`&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<`u`&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new kX(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=sY(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(nZ(this._listenOnDomNode,dZ.MOUSE_WHEEL,e=>{this._onMouseWheel(new kX(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=HZ.INSTANCE;zZ&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!nX&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=RZ*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=RZ*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(zZ&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),LZ)}},WZ=class extends UZ{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function GZ(e){let t={lazyRender:typeof e.lazyRender<`u`&&e.lazyRender,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`&&e.alwaysConsumeMouseWheel,scrollYToX:typeof e.scrollYToX<`u`&&e.scrollYToX,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`&&e.horizontalHasArrows,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`&&e.verticalHasArrows,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`&&e.scrollByPage};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,nX&&(t.className+=` mac`),t}var KZ=class extends fY{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new Q),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new wZ({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>oZ(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new WZ(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(bY.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(lY(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(lY(()=>this._styleElement.remove())),this._register(bY.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(`
|
|
139
|
-
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};KZ=Yq([Xq(2,CJ),Xq(3,IJ),Xq(4,wJ),Xq(5,VJ),Xq(6,kJ),Xq(7,RJ)],KZ);var qZ=class extends fY{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(`div`),this._container.classList.add(`xterm-decoration-container`),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e))),this._register(lY(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};qZ=Yq([Xq(1,CJ),Xq(2,IJ),Xq(3,MJ),Xq(4,RJ)],qZ);var JZ=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},YZ={full:0,left:0,center:0,right:0},XZ={full:0,left:0,center:0,right:0},ZZ={full:0,left:0,center:0,right:0},QZ=class extends fY{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new JZ,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-decoration-overview-ruler`),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(lY(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw Error(`Ctx cannot be null`);this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?`none`:`block`})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(`overviewRuler`,()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);XZ.full=this._canvas.width,XZ.left=e,XZ.center=t,XZ.right=e,this._refreshDrawHeightConstants(),ZZ.full=1,ZZ.left=1,ZZ.center=1+XZ.left,ZZ.right=1+XZ.left+XZ.center}_refreshDrawHeightConstants(){YZ.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);YZ.left=t,YZ.center=t,YZ.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*YZ.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*YZ.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*YZ.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*YZ.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(ZZ[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-YZ[e.position||`full`]/2),XZ[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+YZ[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};QZ=Yq([Xq(2,CJ),Xq(3,MJ),Xq(4,RJ),Xq(5,kJ),Xq(6,VJ),Xq(7,IJ)],QZ);var $;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=`
|
|
140
|
-
`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))($||={});var $Z;(e=>(e.PAD=``,e.HOP=``,e.BPH=``,e.NBH=``,e.IND=``,e.NEL=`
`,e.SSA=``,e.ESA=``,e.HTS=``,e.HTJ=``,e.VTS=``,e.PLD=``,e.PLU=``,e.RI=``,e.SS2=``,e.SS3=``,e.DCS=``,e.PU1=``,e.PU2=``,e.STS=``,e.CCH=``,e.MW=``,e.SPA=``,e.EPA=``,e.SOS=``,e.SGCI=``,e.SCI=``,e.CSI=``,e.ST=``,e.OSC=``,e.PM=``,e.APC=``))($Z||={});var eQ;(e=>e.ST=`${$.ESC}\\`)(eQ||={});var tQ=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${$.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};tQ=Yq([Xq(2,CJ),Xq(3,kJ),Xq(4,TJ),Xq(5,RJ)],tQ);var nQ=0,rQ=0,iQ=0,aQ=0,oQ={css:`#00000000`,rgba:0},sQ;(e=>{function t(e,t,n,r){return r===void 0?`#${fQ(e)}${fQ(t)}${fQ(n)}`:`#${fQ(e)}${fQ(t)}${fQ(n)}${fQ(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(sQ||={});var cQ;(e=>{function t(e,t){if(aQ=(t.rgba&255)/255,aQ===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return nQ=a+Math.round((n-a)*aQ),rQ=o+Math.round((r-o)*aQ),iQ=s+Math.round((i-s)*aQ),{css:sQ.toCss(nQ,rQ,iQ),rgba:sQ.toRgba(nQ,rQ,iQ)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=dQ.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return sQ.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[nQ,rQ,iQ]=dQ.toChannels(t),{css:sQ.toCss(nQ,rQ,iQ),rgba:t}}e.opaque=i;function a(e,t){return aQ=Math.round(t*255),[nQ,rQ,iQ]=dQ.toChannels(e.rgba),{css:sQ.toCss(nQ,rQ,iQ,aQ),rgba:sQ.toRgba(nQ,rQ,iQ,aQ)}}e.opacity=a;function o(e,t){return aQ=e.rgba&255,a(e,aQ*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(cQ||={});var lQ;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return nQ=parseInt(e.slice(1,2).repeat(2),16),rQ=parseInt(e.slice(2,3).repeat(2),16),iQ=parseInt(e.slice(3,4).repeat(2),16),sQ.toColor(nQ,rQ,iQ);case 5:return nQ=parseInt(e.slice(1,2).repeat(2),16),rQ=parseInt(e.slice(2,3).repeat(2),16),iQ=parseInt(e.slice(3,4).repeat(2),16),aQ=parseInt(e.slice(4,5).repeat(2),16),sQ.toColor(nQ,rQ,iQ,aQ);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return nQ=parseInt(r[1]),rQ=parseInt(r[2]),iQ=parseInt(r[3]),aQ=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),sQ.toColor(nQ,rQ,iQ,aQ);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[nQ,rQ,iQ,aQ]=t.getImageData(0,0,1,1).data,aQ!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:sQ.toRgba(nQ,rQ,iQ,aQ),css:e}}e.toColor=r})(lQ||={});var uQ;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(uQ||={});var dQ;(e=>{function t(e,t){if(aQ=(t&255)/255,aQ===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return nQ=a+Math.round((n-a)*aQ),rQ=o+Math.round((r-o)*aQ),iQ=s+Math.round((i-s)*aQ),sQ.toRgba(nQ,rQ,iQ)}e.blend=t;function n(e,t,n){let a=uQ.relativeLuminance(e>>8),o=uQ.relativeLuminance(t>>8);if(pQ(a,o)<n){if(o<a){let o=r(e,t,n),s=pQ(a,uQ.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>pQ(a,uQ.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=pQ(a,uQ.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>pQ(a,uQ.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=pQ(uQ.relativeLuminance2(o,s,c),uQ.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=pQ(uQ.relativeLuminance2(o,s,c),uQ.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=pQ(uQ.relativeLuminance2(o,s,c),uQ.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=pQ(uQ.relativeLuminance2(o,s,c),uQ.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(dQ||={});function fQ(e){let t=e.toString(16);return t.length<2?`0`+t:t}function pQ(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var mQ=class extends mJ{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},hQ=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new gJ}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let n=[],r=t.translateToString(!0),i=0,a=0,o=0,s=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==s||this._workCell.bg!==c){if(e-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}i=e,o=a,s=this._workCell.fg,c=this._workCell.bg}a+=this._workCell.getChars().length||pJ.length}if(this._bufferService.cols-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}return n}_getJoinedRanges(e,t,n,r,i){let a=e.substring(t,n),o=[];try{o=this._characterJoiners[0].handler(a)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{let t=this._characterJoiners[e].handler(a);for(let e=0;e<t.length;e++)hQ._mergeRanges(o,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(o,r,i),o}_stringRangesToCellRanges(e,t,n){let r=0,i=!1,a=0,o=e[r];if(o){for(let s=n;s<this._bufferService.cols;s++){let n=t.getWidth(s),c=t.getString(s).length||pJ.length;if(n!==0){if(!i&&o[0]<=a&&(o[0]=s,i=!0),o[1]<=a){if(o[1]=s,o=e[++r],!o)break;o[0]<=a?(o[0]=s,i=!0):i=!1}a+=c}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(t[1]<=i[0])return e[r-1][1]=t[1],e;if(t[1]<=i[1])return e[r-1][1]=Math.max(t[1],i[1]),e.splice(r,1),e;e.splice(r,1),r--}else{if(t[1]<=i[0])return e.splice(r,0,t),e;if(t[1]<=i[1])return i[0]=Math.min(t[0],i[0]),e;t[0]<i[1]&&(i[0]=Math.min(t[0],i[0]),n=!0);continue}}return n?e[e.length-1][1]=t[1]:e.push(t),e}};hQ=Yq([Xq(0,CJ)],hQ);function gQ(e){return 57508<=e&&e<=57558}function _Q(e){return 9472<=e&&e<=9631}function vQ(e){return gQ(e)||_Q(e)}function yQ(){return{css:{canvas:bQ(),cell:bQ()},device:{canvas:bQ(),cell:bQ(),char:{width:0,height:0,left:0,top:0}}}}function bQ(){return{width:0,height:0}}var xQ=class{constructor(e,t,n,r,i,a,o){this._document=e,this._characterJoinerService=t,this._optionsService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._themeService=o,this._workCell=new gJ,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,a,o,s,c,l,u){let d=[],f=this._characterJoinerService.getJoinedCharacters(t),p=this._themeService.colors,m=e.getNoBgTrimmedLength();n&&m<a+1&&(m=a+1);let h,g=0,_=``,v=0,y=0,b=0,x=0,S=!1,C=0,w=!1,T=0,E=0,D=[],O=l!==-1&&u!==-1;for(let k=0;k<m;k++){e.loadCell(k,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let A=!1,j=k>=E,M=k,N=this._workCell;if(f.length>0&&k===f[0][0]&&j){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)j&&=i===this._isCellInSelection(v,t);j&&=!n||a<r[0]||a>=r[1],j?(A=!0,N=new mQ(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),M=r[1]-1,m=N.getWidth()):E=r[1]}let P=this._isCellInSelection(k,t),F=n&&k===a,I=O&&k>=l&&k<=u,L=!1;this._decorationService.forEachDecorationAtCell(k,t,void 0,e=>{L=!0});let ee=N.getChars()||pJ;if(ee===` `&&(N.isUnderline()||N.isOverline())&&(ee=`\xA0`),T=m*s-c.get(ee,N.isBold(),N.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(P&&w||!P&&!w&&N.bg===y)&&(P&&w&&p.selectionForeground||N.fg===b)&&N.extended.ext===x&&I===S&&T===C&&!F&&!A&&!L&&j){N.isInvisible()?_+=pJ:_+=ee,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=N.bg,b=N.fg,x=N.extended.ext,S=I,C=T,w=P,A&&a>=k&&a<=M&&(a=k),!this._coreService.isCursorHidden&&F&&this._coreService.isCursorInitialized){if(D.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&D.push(`xterm-cursor-blink`),D.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:D.push(`xterm-cursor-outline`);break;case`block`:D.push(`xterm-cursor-block`);break;case`bar`:D.push(`xterm-cursor-bar`);break;case`underline`:D.push(`xterm-cursor-underline`);break;default:break}}if(N.isBold()&&D.push(`xterm-bold`),N.isItalic()&&D.push(`xterm-italic`),N.isDim()&&D.push(`xterm-dim`),_=N.isInvisible()?pJ:N.getChars()||pJ,N.isUnderline()&&(D.push(`xterm-underline-${N.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!N.isUnderlineColorDefault())){if(N.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${mJ.toColorRGB(N.getUnderlineColor()).join(`,`)})`;else{let e=N.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&N.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}N.isOverline()&&(D.push(`xterm-overline`),_===` `&&(_=`\xA0`)),N.isStrikethrough()&&D.push(`xterm-strikethrough`),I&&(h.style.textDecoration=`underline`);let R=N.getFgColor(),te=N.getFgColorMode(),z=N.getBgColor(),ne=N.getBgColorMode(),B=!!N.isInverse();if(B){let e=R;R=z,z=e;let t=te;te=ne,ne=t}let re,V,ie=!1;this._decorationService.forEachDecorationAtCell(k,t,void 0,e=>{e.options.layer!==`top`&&ie||(e.backgroundColorRGB&&(ne=50331648,z=e.backgroundColorRGB.rgba>>8&16777215,re=e.backgroundColorRGB),e.foregroundColorRGB&&(te=50331648,R=e.foregroundColorRGB.rgba>>8&16777215,V=e.foregroundColorRGB),ie=e.options.layer===`top`)}),!ie&&P&&(re=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,z=re.rgba>>8&16777215,ne=50331648,ie=!0,p.selectionForeground&&(te=50331648,R=p.selectionForeground.rgba>>8&16777215,V=p.selectionForeground)),ie&&D.push(`xterm-decoration-top`);let ae;switch(ne){case 16777216:case 33554432:ae=p.ansi[z],D.push(`xterm-bg-${z}`);break;case 50331648:ae=sQ.toColor(z>>16,z>>8&255,z&255),this._addStyle(h,`background-color:#${SQ((z>>>0).toString(16),`0`,6)}`);break;default:B?(ae=p.foreground,D.push(`xterm-bg-257`)):ae=p.background}switch(re||N.isDim()&&(re=cQ.multiplyOpacity(ae,.5)),te){case 16777216:case 33554432:N.isBold()&&R<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(R+=8),this._applyMinimumContrast(h,ae,p.ansi[R],N,re,void 0)||D.push(`xterm-fg-${R}`);break;case 50331648:let e=sQ.toColor(R>>16&255,R>>8&255,R&255);this._applyMinimumContrast(h,ae,e,N,re,V)||this._addStyle(h,`color:#${SQ(R.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,ae,p.foreground,N,re,V)||B&&D.push(`xterm-fg-257`)}D.length&&=(h.className=D.join(` `),0),!F&&!A&&!L&&j?g++:h.textContent=_,T!==this.defaultSpacing&&(h.style.letterSpacing=`${T}px`),d.push(h),k=M}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||vQ(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=cQ.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e<r[0]&&t<=r[1]:e<n[0]&&t>=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t<r[1]||n[1]===r[1]&&t===n[1]&&e>=n[0]&&e<r[0]||n[1]<r[1]&&t===r[1]&&e<r[0]||n[1]<r[1]&&t===n[1]&&e>=n[0]}};xQ=Yq([Xq(1,BJ),Xq(2,kJ),Xq(3,IJ),Xq(4,TJ),Xq(5,MJ),Xq(6,VJ)],xQ);function SQ(e,t,n){for(;e.length<n;)e=t+e;return e}var CQ=class{constructor(e,t){this._flat=new Float32Array(256),this._font=``,this._fontSize=0,this._weight=`normal`,this._weightBold=`bold`,this._measureElements=[],this._container=e.createElement(`div`),this._container.classList.add(`xterm-width-cache-measure-container`),this._container.setAttribute(`aria-hidden`,`true`),this._container.style.whiteSpace=`pre`,this._container.style.fontKerning=`none`;let n=e.createElement(`span`);n.classList.add(`xterm-char-measure-element`);let r=e.createElement(`span`);r.classList.add(`xterm-char-measure-element`),r.style.fontWeight=`bold`;let i=e.createElement(`span`);i.classList.add(`xterm-char-measure-element`),i.style.fontStyle=`italic`;let a=e.createElement(`span`);a.classList.add(`xterm-char-measure-element`),a.style.fontWeight=`bold`,a.style.fontStyle=`italic`,this._measureElements=[n,r,i,a],this._container.appendChild(n),this._container.appendChild(r),this._container.appendChild(i),this._container.appendChild(a),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,n,r){e===this._font&&t===this._fontSize&&n===this._weight&&r===this._weightBold||(this._font=e,this._fontSize=t,this._weight=n,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${n}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${n}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(e,t,n){let r=0;if(!t&&!n&&e.length===1&&(r=e.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let t=this._measure(e,0);return t>0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},wQ=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function TQ(){return new wQ}var EQ=`xterm-dom-renderer-owner-`,DQ=`xterm-rows`,OQ=`xterm-fg-`,kQ=`xterm-bg-`,AQ=`xterm-focus`,jQ=`xterm-selection`,MQ=1,NQ=class extends fY{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=MQ++,this._rowElements=[],this._selectionRenderModel=TQ(),this.onRequestRedraw=this._register(new Q).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(DQ),this._rowContainer.style.lineHeight=`normal`,this._rowContainer.setAttribute(`aria-hidden`,`true`),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(`div`),this._selectionContainer.classList.add(jQ),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=yQ(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(xQ,document),this._element.classList.add(EQ+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(lY(()=>{this._element.classList.remove(EQ+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new CQ(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${DQ} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${DQ} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${DQ} .xterm-dim { color: ${cQ.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${DQ}.${AQ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${DQ}.${AQ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${DQ}.${AQ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${DQ} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${DQ} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${DQ} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${DQ} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${DQ} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${jQ} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${jQ} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${jQ} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${OQ}${n} { color: ${r.css}; }${this._terminalSelector} .${OQ}${n}.xterm-dim { color: ${cQ.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${kQ}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${OQ}257 { color: ${cQ.opaque(e.background).css}; }${this._terminalSelector} .${OQ}257.xterm-dim { color: ${cQ.multiplyOpacity(cQ.opaque(e.background),.5).css}; }${this._terminalSelector} .${kQ}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(AQ),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(AQ),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${EQ}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};NQ=Yq([Xq(7,DJ),Xq(8,FJ),Xq(9,kJ),Xq(10,CJ),Xq(11,TJ),Xq(12,IJ),Xq(13,VJ)],NQ);var PQ=class extends fY{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new Q),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new LQ(this._optionsService))}catch{this._measureStrategy=this._register(new IQ(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};PQ=Yq([Xq(2,kJ)],PQ);var FQ=class extends fY{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},IQ=class extends FQ{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,this._measureElement=this._document.createElement(`span`),this._measureElement.classList.add(`xterm-char-measure-element`),this._measureElement.textContent=`W`.repeat(32),this._measureElement.setAttribute(`aria-hidden`,`true`),this._measureElement.style.whiteSpace=`pre`,this._measureElement.style.fontKerning=`none`,this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},LQ=class extends FQ{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},RQ=class extends fY{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new zQ(this._window)),this._onDprChange=this._register(new Q),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new Q),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(bY.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(nZ(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(nZ(this._textarea,`blur`,()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},zQ=class extends fY{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new pY),this._onDprChange=this._register(new Q),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(lY(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=nZ(this._parentWindow,`resize`,()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},BQ=class extends fY{constructor(){super(),this.linkProviders=[],this._register(lY(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function VQ(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function HQ(e,t,n,r,i,a,o,s,c){if(!a)return;let l=VQ(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var UQ=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return HQ(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=VQ(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};UQ=Yq([Xq(0,RJ),Xq(1,FJ)],UQ);var WQ=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},GQ={};Jq(GQ,{getSafariVersion:()=>QQ,isChromeOS:()=>i$,isFirefox:()=>YQ,isIpad:()=>e$,isIphone:()=>t$,isLegacyEdge:()=>XQ,isLinux:()=>r$,isMac:()=>$Q,isNode:()=>KQ,isSafari:()=>ZQ,isWindows:()=>n$});var KQ=typeof process<`u`&&`title`in process,qQ=KQ?`node`:navigator.userAgent,JQ=KQ?`node`:navigator.platform,YQ=qQ.includes(`Firefox`),XQ=qQ.includes(`Edge`),ZQ=/^((?!chrome|android).)*safari/i.test(qQ);function QQ(){if(!ZQ)return 0;let e=qQ.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var $Q=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(JQ),e$=JQ===`iPad`,t$=JQ===`iPhone`,n$=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(JQ),r$=JQ.indexOf(`Linux`)>=0,i$=/\bCrOS\b/.test(qQ),a$=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},o$=class extends a${_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},s$=class extends a${_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},c$=!KQ&&`requestIdleCallback`in window?s$:o$,l$=class{constructor(){this._queue=new c$}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},u$=class extends fY{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new pY),this._pausedResizeTask=new l$,this._observerDisposable=this._register(new pY),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new Q),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new Q),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new Q),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new Q),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new WQ((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new d$(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(lY(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=lY(()=>n.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};u$=Yq([Xq(2,kJ),Xq(3,FJ),Xq(4,TJ),Xq(5,MJ),Xq(6,CJ),Xq(7,IJ),Xq(8,VJ)],u$);var d$=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function f$(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return h$(i,a,e,t,n,r)+g$(a,t,n,r)+_$(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,w$(Math.abs(i-e),C$(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return w$(m$(a>t?e:i,n)+(s-1)*n.cols+1+p$(a>t?i:e,n),C$(o,r))}function p$(e,t){return e-1}function m$(e,t){return t.cols-e}function h$(e,t,n,r,i,a){return g$(t,r,i,a).length===0?``:w$(S$(e,t,e,t-y$(t,i),!1,i).length,C$(`D`,a))}function g$(e,t,n,r){let i=e-y$(e,n),a=t-y$(t,n);return w$(Math.abs(i-a)-v$(e,t,n),C$(x$(e,t),r))}function _$(e,t,n,r,i,a){let o;o=g$(t,r,i,a).length>0?r-y$(r,i):t;let s=r,c=b$(e,t,n,r,i,a);return w$(S$(e,o,n,s,c===`C`,i).length,C$(c,a))}function v$(e,t,n){let r=0,i=e-y$(e,n),a=t-y$(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=x$(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function y$(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function b$(e,t,n,r,i,a){let o;return o=g$(n,r,i,a).length>0?r-y$(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function x$(e,t){return e>t?`A`:`B`}function S$(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&s<a.buffer.lines.length;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function C$(e,t){let n=t?`O`:`[`;return $.ESC+n+e}function w$(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var T$=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function E$(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var D$=50,O$=15,k$=50,A$=500,j$=RegExp(`\xA0`,`g`),M$=class extends fY{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new gJ,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new Q),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new Q),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new Q),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new Q),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new T$(this._bufferService),this._activeSelectionMode=0,this._register(lY(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]<t[0]?e[0]:t[0],a=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let e=n.translateBufferLineToString(o,!0,i,a);r.push(e)}}else{let i=e[1]===t[1]?t[0]:void 0;r.push(n.translateBufferLineToString(e[1],!0,e[0],i));for(let i=e[1]+1;i<=t[1]-1;i++){let e=n.lines.get(i),t=n.translateBufferLineToString(i,!0);e?.isWrapped?r[r.length-1]+=t:r.push(t)}if(e[1]!==t[1]){let e=n.lines.get(t[1]),i=n.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?r[r.length-1]+=i:r.push(i)}}return r.map(e=>e.replace(j$,` `)).join(n$?`\r
|
|
138
|
+
`))}},OY=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},kY=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},AY=0,jY=class{constructor(e){this.value=e,this.id=AY++}},MY=2,Q=class{constructor(e){this._size=0,this._options=e,this._leakageMon=wY>0||this._options?.leakWarningThreshold?new EY(e?.onListenerError??GJ,this._options?.leakWarningThreshold??wY):void 0,this._perfMon=this._options?._profName?new CY(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new kY(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||GJ)(n),pY.None}if(this._disposed)return pY.None;t&&(e=e.bind(t));let r=new jY(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=DY.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof jY?(this._deliveryQueue??=new NY,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=uY(()=>{i?.(),this._removeListener(r)});return n instanceof fY?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*MY<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||GJ;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof jY)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},NY=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},PY=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new Q,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new Q,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};PY.INSTANCE=new PY;var FY=PY;function IY(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}FY.INSTANCE.onDidChangeZoomLevel;function LY(e){return FY.INSTANCE.getZoomFactor(e)}FY.INSTANCE.onDidChangeFullscreen;var RY=typeof navigator==`object`?navigator.userAgent:``,zY=RY.indexOf(`Firefox`)>=0,BY=RY.indexOf(`AppleWebKit`)>=0,VY=RY.indexOf(`Chrome`)>=0,HY=!VY&&RY.indexOf(`Safari`)>=0;RY.indexOf(`Electron/`),RY.indexOf(`Android`);var UY=!1;if(typeof hY.matchMedia==`function`){let e=hY.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=hY.matchMedia(`(display-mode: fullscreen)`);UY=e.matches,IY(hY,e,({matches:e})=>{UY&&t.matches||(UY=e)})}function WY(){return UY}var GY=`en`,KY=!1,qY=!1,JY=!1,YY=!1,XY=!1,ZY=GY,QY,$Y=globalThis,eX;typeof $Y.vscode<`u`&&typeof $Y.vscode.process<`u`?eX=$Y.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(eX=process);var tX=typeof eX?.versions?.electron==`string`&&eX?.type===`renderer`;if(typeof eX==`object`){KY=eX.platform===`win32`,qY=eX.platform===`darwin`,JY=eX.platform===`linux`,JY&&eX.env.SNAP&&eX.env.SNAP_REVISION,eX.env.CI||eX.env.BUILD_ARTIFACTSTAGINGDIRECTORY,ZY=GY;let e=eX.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,ZY=t.resolvedLanguage||GY,t.languagePack?.translationsConfigFile}catch{}YY=!0}else typeof navigator==`object`&&!tX?(QY=navigator.userAgent,KY=QY.indexOf(`Windows`)>=0,qY=QY.indexOf(`Macintosh`)>=0,(QY.indexOf(`Macintosh`)>=0||QY.indexOf(`iPad`)>=0||QY.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,JY=QY.indexOf(`Linux`)>=0,QY?.indexOf(`Mobi`),XY=!0,ZY=globalThis._VSCODE_NLS_LANGUAGE||GY,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var nX=KY,rX=qY,iX=JY,aX=YY;XY&&typeof $Y.importScripts==`function`&&$Y.origin;var oX=QY,sX=ZY,cX;(e=>{function t(){return sX}e.value=t;function n(){return sX.length===2?sX===`en`:sX.length>=3&&sX[0]===`e`&&sX[1]===`n`&&sX[2]===`-`}e.isDefaultVariant=n;function r(){return sX===`en`}e.isDefault=r})(cX||={});var lX=typeof $Y.postMessage==`function`&&!$Y.importScripts;(()=>{if(lX){let e=[];$Y.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),$Y.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var uX=!!(oX&&oX.indexOf(`Chrome`)>=0);oX&&oX.indexOf(`Firefox`),!uX&&oX&&oX.indexOf(`Safari`),oX&&oX.indexOf(`Edg/`),oX&&oX.indexOf(`Android`);var dX=typeof navigator==`object`?navigator:{};aX||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||dX&&dX.clipboard&&dX.clipboard.writeText,aX||dX&&dX.clipboard&&dX.clipboard.readText,aX||WY()||dX.keyboard,`ontouchstart`in hY||dX.maxTouchPoints,hY.PointerEvent&&(`ontouchstart`in hY||navigator.maxTouchPoints);var fX=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},pX=new fX,mX=new fX,hX=new fX,gX=Array(230),_X;(e=>{function t(e){return pX.keyCodeToStr(e)}e.toString=t;function n(e){return pX.strToKeyCode(e)}e.fromString=n;function r(e){return mX.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return hX.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return mX.strToKeyCode(e)||hX.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return pX.keyCodeToStr(e)}e.toElectronAccelerator=o})(_X||={});var vX=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new yX([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},yX=class{constructor(e){if(e.length===0)throw YJ(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t<n;t++)t!==0&&(e+=`;`),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function bX(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return _X.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(zY)switch(t){case 59:return 85;case 60:if(iX)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(rX)return 57;break}else if(BY&&(rX&&t===93||!rX&&t===92))return 57;return gX[t]||0}var xX=rX?256:2048,SX=512,CX=1024,wX=rX?2048:256,TX=class{constructor(e){this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(`AltGraph`),this.keyCode=bX(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=xX),this.altKey&&(t|=SX),this.shiftKey&&(t|=CX),this.metaKey&&(t|=wX),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new vX(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},EX=new WeakMap;function DX(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,n=e.parent.location;if(t.origin!==`null`&&n.origin!==`null`&&t.origin!==n.origin)return null}catch{return null}return e.parent}var OX=class{static getSameOriginWindowChain(e){let t=EX.get(e);if(!t){t=[],EX.set(e,t);let n=e,r;do r=DX(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r;while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let n=0,r=0,i=this.getSameOriginWindowChain(e);for(let e of i){let i=e.window.deref();if(n+=i?.scrollY??0,r+=i?.scrollX??0,i===t||!e.iframeElement)break;let a=e.iframeElement.getBoundingClientRect();n+=a.top,r+=a.left}return{top:n,left:r}}},kX=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type===`dblclick`&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX==`number`?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let n=OX.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},AX=class{constructor(e,t=0,n=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=n,this.deltaX=t;let r=!1;if(VY){let e=navigator.userAgent.match(/Chrome\/(\d+)/);r=(e?parseInt(e[1]):123)<=122}if(e){let t=e,n=e,i=e.view?.devicePixelRatio||1;if(typeof t.wheelDeltaY<`u`)this.deltaY=r?t.wheelDeltaY/(120*i):t.wheelDeltaY/120;else if(typeof n.VERTICAL_AXIS<`u`&&n.axis===n.VERTICAL_AXIS)this.deltaY=-n.detail/3;else if(e.type===`wheel`){let t=e;this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?zY&&!rX?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=HY&&nX?-(t.wheelDeltaX/120):r?t.wheelDeltaX/(120*i):t.wheelDeltaX/120;else if(typeof n.HORIZONTAL_AXIS<`u`&&n.axis===n.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type===`wheel`){let t=e;this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?zY&&!rX?-e.deltaX/3:-e.deltaX:-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=r?e.wheelDelta/(120*i):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},jX=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),MX;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof NX?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:xY.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:jX})})(MX||={});var NX=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?jX:(this._emitter||=new Q,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},PX=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new ZJ(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new ZJ(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},FX=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new ZJ(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=uY(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var IX;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(IX||={});var LX=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new Q,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await xY.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};LX.EMPTY=LX.fromArray([]);function RX(e){return zX(e,0)}function zX(e,t){switch(typeof e){case`object`:return e===null?BX(349,t):Array.isArray(e)?UX(e,t):WX(e,t);case`string`:return HX(e,t);case`boolean`:return VX(e,t);case`number`:return BX(e,t);case`undefined`:return BX(937,t);default:return BX(617,t)}}function BX(e,t){return(t<<5)-t+e|0}function VX(e,t){return BX(e?433:863,t)}function HX(e,t){t=BX(149417,t);for(let n=0,r=e.length;n<r;n++)t=BX(e.charCodeAt(n),t);return t}function UX(e,t){return t=BX(104579,t),e.reduce((e,t)=>zX(t,e),t)}function WX(e,t){return t=BX(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=HX(n,t),zX(e[n],t)),t)}var{registerWindow:GX,getWindow:KX,getDocument:qX,getWindows:JX,getWindowsCount:YX,getWindowId:XX,getWindowById:ZX,hasWindow:QX,onDidRegisterWindow:$X,onWillUnregisterWindow:eZ,onDidUnregisterWindow:tZ}=function(){let e=new Map,t={window:hY,disposables:new fY};e.set(hY.vscodeWindowId,t);let n=new Q,r=new Q,i=new Q;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return pY.None;let a=new fY,o={window:t,disposables:a.add(new fY)};return e.set(t.vscodeWindowId,o),a.add(uY(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(rZ(t,fZ.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:hY},getDocument(e){return KX(e).document}}}(),nZ=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function rZ(e,t,n,r){return new nZ(e,t,n,r)}function iZ(e,t){return function(n){return t(new kX(e,n))}}function aZ(e){return function(t){return e(new TX(t))}}var oZ=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=iZ(KX(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=aZ(n)),rZ(e,t,i,r)},sZ,cZ=class extends FX{constructor(e){super(),this.defaultTarget=e&&KX(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},lZ=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){GJ(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(lZ.sort),a.shift().execute();r.set(i,!1)};sZ=(t,r,a=0)=>{let o=XX(t),s=new lZ(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var uZ=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};uZ.None=new uZ(0,0);function dZ(e){let t=e.getBoundingClientRect(),n=KX(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=RX(n),a=r.get(i);if(a)a.users+=1;else{let o=new Q,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(uY(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var fZ={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:BY?`webkitAnimationStart`:`animationstart`,ANIMATION_END:BY?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:BY?`webkitAnimationIteration`:`animationiteration`},pZ=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingTop=``,this._paddingLeft=``,this._paddingBottom=``,this._paddingRight=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=mZ(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=mZ(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=mZ(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=mZ(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=mZ(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=mZ(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=mZ(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=mZ(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=mZ(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=mZ(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=mZ(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=mZ(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=mZ(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=mZ(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function mZ(e){return typeof e==`number`?`${e}px`:e}function hZ(e){return new pZ(e)}var gZ=class{constructor(){this._hooks=new fY,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(uY(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=KX(e)}this._hooks.add(rZ(a,fZ.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(rZ(a,fZ.POINTER_UP,e=>this.stopMonitoring(!0)))}};function _Z(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var vZ;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(vZ||={});var yZ=class e extends pY{constructor(){super(),this.dispatched=!1,this.targets=new vY,this.ignoreTargets=new vY,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(xY.runAndSubscribe($X,({window:e,disposables:t})=>{t.add(rZ(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(rZ(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(rZ(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:hY,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=sY(new e),uY(e.INSTANCE.targets.push(t))):pY.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=sY(new e),uY(e.INSTANCE.ignoreTargets.push(t))):pY.None}static isTouchDevice(){return`ontouchstart`in hY||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(vZ.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t,n){let r=Date.now(),i=Object.keys(this.activeTouches).length;for(let a=0,o=n.changedTouches.length;a<o;a++){let o=n.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(`move of an UNKNOWN touch`,o);continue}let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-QJ(s.rollingPageX))<30&&Math.abs(s.initialPageY-QJ(s.rollingPageY))<30){let e=this.newGestureEvent(vZ.Tap,s.initialTarget);e.pageX=QJ(s.rollingPageX),e.pageY=QJ(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-QJ(s.rollingPageX))<30&&Math.abs(s.initialPageY-QJ(s.rollingPageY))<30){let e=this.newGestureEvent(vZ.Contextmenu,s.initialTarget);e.pageX=QJ(s.rollingPageX),e.pageY=QJ(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=QJ(s.rollingPageX),n=QJ(s.rollingPageY),i=QJ(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(vZ.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===vZ.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else(t.type===vZ.Change||t.type===vZ.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=sZ(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(vZ.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn(`end of an UNKNOWN touch`,r);continue}let i=this.activeTouches[r.identifier],a=this.newGestureEvent(vZ.Change,i.initialTarget);a.translationX=r.pageX-QJ(i.rollingPageX),a.translationY=r.pageY-QJ(i.rollingPageY),a.pageX=r.pageX,a.pageY=r.pageY,this.dispatchEvent(a),i.rollingPageX.length>3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};yZ.SCROLL_FRICTION=-.005,yZ.HOLD_DELAY=700,yZ.CLEAR_TAP_COUNT_TIME=400,Xq([_Z],yZ,`isTouchDevice`,1);var bZ=yZ,xZ=class extends pY{onclick(e,t){this._register(rZ(e,fZ.CLICK,n=>t(new kX(KX(e),n))))}onmousedown(e,t){this._register(rZ(e,fZ.MOUSE_DOWN,n=>t(new kX(KX(e),n))))}onmouseover(e,t){this._register(rZ(e,fZ.MOUSE_OVER,n=>t(new kX(KX(e),n))))}onmouseleave(e,t){this._register(rZ(e,fZ.MOUSE_LEAVE,n=>t(new kX(KX(e),n))))}onkeydown(e,t){this._register(rZ(e,fZ.KEY_DOWN,e=>t(new TX(e))))}onkeyup(e,t){this._register(rZ(e,fZ.KEY_UP,e=>t(new TX(e))))}oninput(e,t){this._register(rZ(e,fZ.INPUT,t))}onblur(e,t){this._register(rZ(e,fZ.BLUR,t))}onfocus(e,t){this._register(rZ(e,fZ.FOCUS,t))}onchange(e,t){this._register(rZ(e,fZ.CHANGE,t))}ignoreGesture(e){return bZ.ignoreTarget(e)}},SZ=11,CZ=class extends xZ{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=SZ+`px`,this.domNode.style.height=SZ+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new gZ),this._register(oZ(this.bgDomNode,fZ.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(oZ(this.domNode,fZ.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new cZ),this._pointerdownScheduleRepeatTimer=this._register(new PX)}_arrowPointerDown(e){!e.target||!(e.target instanceof Element)||(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,KX(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},wZ=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<`u`?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<`u`?t.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},TZ=class extends pY{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new wZ(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>`u`?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>`u`?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new kZ(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=kZ.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},EZ=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function DZ(e,t){let n=t-e;return function(t){return e+n*jZ(t)}}function OZ(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var kZ=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),OZ(DZ(e,r),DZ(i,t),.33)}return DZ(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new EZ(this.scrollLeft(t),this.scrollTop(t),!1):new EZ(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){r+=10;let i=Date.now()-10;return new e(t,n,i,r)}};function AZ(e){return e**3}function jZ(e){return 1-AZ(1-e)}var MZ=class extends pY{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new PX)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3||this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},NZ=140,PZ=class extends xZ{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new MZ(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new gZ),this._shouldRender=!0,this.domNode=hZ(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(rZ(this.domNode.domNode,fZ.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new CZ(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=hZ(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(rZ(this.slider.domNode,fZ.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=dZ(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(nX&&a>NZ){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},FZ=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},IZ=class extends PZ{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new FZ(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,i.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},LZ=class extends PZ{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new FZ(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,i.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},RZ=500,zZ=50,BZ=!0,VZ=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},HZ=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(!0);return t<=.5}acceptStandardWheelEvent(e){if(VY){let t=LY(KX(e.browserEvent));this.accept(Date.now(),e.deltaX*t,e.deltaY*t)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,n){let r=null,i=new VZ(e,t,n);this._front===-1&&this._rear===-1?(this._memory[0]=i,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=i),i.score=this._computeScore(i,r)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};HZ.INSTANCE=new HZ;var UZ=HZ,WZ=class extends xZ{constructor(e,t,n){super(),this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Q),this.onWillScroll=this._onWillScroll.event,this._options=KZ(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new LZ(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new IZ(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`xterm-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=hZ(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=hZ(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=hZ(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new PX),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=cY(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,rX&&(this._options.className+=` mac`),this._domNode.className=`xterm-scrollable-element `+this._options.className}updateOptions(e){typeof e.handleMouseWheel<`u`&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<`u`&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<`u`&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<`u`&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<`u`&&(this._options.horizontal=e.horizontal),typeof e.vertical<`u`&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<`u`&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<`u`&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<`u`&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new AX(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=cY(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(rZ(this._listenOnDomNode,fZ.MOUSE_WHEEL,e=>{this._onMouseWheel(new AX(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=UZ.INSTANCE;BZ&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!rX&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=zZ*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=zZ*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(BZ&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),RZ)}},GZ=class extends WZ{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function KZ(e){let t={lazyRender:typeof e.lazyRender<`u`&&e.lazyRender,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`&&e.alwaysConsumeMouseWheel,scrollYToX:typeof e.scrollYToX<`u`&&e.scrollYToX,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`&&e.horizontalHasArrows,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`&&e.verticalHasArrows,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`&&e.scrollByPage};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,rX&&(t.className+=` mac`),t}var qZ=class extends pY{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new Q),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new TZ({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>sZ(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new GZ(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(xY.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(uY(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(uY(()=>this._styleElement.remove())),this._register(xY.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(`
|
|
139
|
+
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};qZ=Xq([Zq(2,wJ),Zq(3,LJ),Zq(4,TJ),Zq(5,HJ),Zq(6,AJ),Zq(7,zJ)],qZ);var JZ=class extends pY{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(`div`),this._container.classList.add(`xterm-decoration-container`),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e))),this._register(uY(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};JZ=Xq([Zq(1,wJ),Zq(2,LJ),Zq(3,NJ),Zq(4,zJ)],JZ);var YZ=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},XZ={full:0,left:0,center:0,right:0},ZZ={full:0,left:0,center:0,right:0},QZ={full:0,left:0,center:0,right:0},$Z=class extends pY{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new YZ,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-decoration-overview-ruler`),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(uY(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw Error(`Ctx cannot be null`);this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?`none`:`block`})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(`overviewRuler`,()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);ZZ.full=this._canvas.width,ZZ.left=e,ZZ.center=t,ZZ.right=e,this._refreshDrawHeightConstants(),QZ.full=1,QZ.left=1,QZ.center=1+ZZ.left,QZ.right=1+ZZ.left+ZZ.center}_refreshDrawHeightConstants(){XZ.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);XZ.left=t,XZ.center=t,XZ.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*XZ.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*XZ.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*XZ.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*XZ.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(QZ[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-XZ[e.position||`full`]/2),ZZ[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+XZ[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};$Z=Xq([Zq(2,wJ),Zq(3,NJ),Zq(4,zJ),Zq(5,AJ),Zq(6,HJ),Zq(7,LJ)],$Z);var $;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=`
|
|
140
|
+
`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))($||={});var eQ;(e=>(e.PAD=``,e.HOP=``,e.BPH=``,e.NBH=``,e.IND=``,e.NEL=`
`,e.SSA=``,e.ESA=``,e.HTS=``,e.HTJ=``,e.VTS=``,e.PLD=``,e.PLU=``,e.RI=``,e.SS2=``,e.SS3=``,e.DCS=``,e.PU1=``,e.PU2=``,e.STS=``,e.CCH=``,e.MW=``,e.SPA=``,e.EPA=``,e.SOS=``,e.SGCI=``,e.SCI=``,e.CSI=``,e.ST=``,e.OSC=``,e.PM=``,e.APC=``))(eQ||={});var tQ;(e=>e.ST=`${$.ESC}\\`)(tQ||={});var nQ=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${$.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};nQ=Xq([Zq(2,wJ),Zq(3,AJ),Zq(4,EJ),Zq(5,zJ)],nQ);var rQ=0,iQ=0,aQ=0,oQ=0,sQ={css:`#00000000`,rgba:0},cQ;(e=>{function t(e,t,n,r){return r===void 0?`#${pQ(e)}${pQ(t)}${pQ(n)}`:`#${pQ(e)}${pQ(t)}${pQ(n)}${pQ(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(cQ||={});var lQ;(e=>{function t(e,t){if(oQ=(t.rgba&255)/255,oQ===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return rQ=a+Math.round((n-a)*oQ),iQ=o+Math.round((r-o)*oQ),aQ=s+Math.round((i-s)*oQ),{css:cQ.toCss(rQ,iQ,aQ),rgba:cQ.toRgba(rQ,iQ,aQ)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=fQ.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return cQ.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[rQ,iQ,aQ]=fQ.toChannels(t),{css:cQ.toCss(rQ,iQ,aQ),rgba:t}}e.opaque=i;function a(e,t){return oQ=Math.round(t*255),[rQ,iQ,aQ]=fQ.toChannels(e.rgba),{css:cQ.toCss(rQ,iQ,aQ,oQ),rgba:cQ.toRgba(rQ,iQ,aQ,oQ)}}e.opacity=a;function o(e,t){return oQ=e.rgba&255,a(e,oQ*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(lQ||={});var uQ;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return rQ=parseInt(e.slice(1,2).repeat(2),16),iQ=parseInt(e.slice(2,3).repeat(2),16),aQ=parseInt(e.slice(3,4).repeat(2),16),cQ.toColor(rQ,iQ,aQ);case 5:return rQ=parseInt(e.slice(1,2).repeat(2),16),iQ=parseInt(e.slice(2,3).repeat(2),16),aQ=parseInt(e.slice(3,4).repeat(2),16),oQ=parseInt(e.slice(4,5).repeat(2),16),cQ.toColor(rQ,iQ,aQ,oQ);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return rQ=parseInt(r[1]),iQ=parseInt(r[2]),aQ=parseInt(r[3]),oQ=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),cQ.toColor(rQ,iQ,aQ,oQ);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[rQ,iQ,aQ,oQ]=t.getImageData(0,0,1,1).data,oQ!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:cQ.toRgba(rQ,iQ,aQ,oQ),css:e}}e.toColor=r})(uQ||={});var dQ;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(dQ||={});var fQ;(e=>{function t(e,t){if(oQ=(t&255)/255,oQ===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return rQ=a+Math.round((n-a)*oQ),iQ=o+Math.round((r-o)*oQ),aQ=s+Math.round((i-s)*oQ),cQ.toRgba(rQ,iQ,aQ)}e.blend=t;function n(e,t,n){let a=dQ.relativeLuminance(e>>8),o=dQ.relativeLuminance(t>>8);if(mQ(a,o)<n){if(o<a){let o=r(e,t,n),s=mQ(a,dQ.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>mQ(a,dQ.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=mQ(a,dQ.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>mQ(a,dQ.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=mQ(dQ.relativeLuminance2(o,s,c),dQ.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=mQ(dQ.relativeLuminance2(o,s,c),dQ.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=mQ(dQ.relativeLuminance2(o,s,c),dQ.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=mQ(dQ.relativeLuminance2(o,s,c),dQ.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(fQ||={});function pQ(e){let t=e.toString(16);return t.length<2?`0`+t:t}function mQ(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var hQ=class extends hJ{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},gQ=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new _J}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let n=[],r=t.translateToString(!0),i=0,a=0,o=0,s=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==s||this._workCell.bg!==c){if(e-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}i=e,o=a,s=this._workCell.fg,c=this._workCell.bg}a+=this._workCell.getChars().length||mJ.length}if(this._bufferService.cols-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}return n}_getJoinedRanges(e,t,n,r,i){let a=e.substring(t,n),o=[];try{o=this._characterJoiners[0].handler(a)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{let t=this._characterJoiners[e].handler(a);for(let e=0;e<t.length;e++)gQ._mergeRanges(o,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(o,r,i),o}_stringRangesToCellRanges(e,t,n){let r=0,i=!1,a=0,o=e[r];if(o){for(let s=n;s<this._bufferService.cols;s++){let n=t.getWidth(s),c=t.getString(s).length||mJ.length;if(n!==0){if(!i&&o[0]<=a&&(o[0]=s,i=!0),o[1]<=a){if(o[1]=s,o=e[++r],!o)break;o[0]<=a?(o[0]=s,i=!0):i=!1}a+=c}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(t[1]<=i[0])return e[r-1][1]=t[1],e;if(t[1]<=i[1])return e[r-1][1]=Math.max(t[1],i[1]),e.splice(r,1),e;e.splice(r,1),r--}else{if(t[1]<=i[0])return e.splice(r,0,t),e;if(t[1]<=i[1])return i[0]=Math.min(t[0],i[0]),e;t[0]<i[1]&&(i[0]=Math.min(t[0],i[0]),n=!0);continue}}return n?e[e.length-1][1]=t[1]:e.push(t),e}};gQ=Xq([Zq(0,wJ)],gQ);function _Q(e){return 57508<=e&&e<=57558}function vQ(e){return 9472<=e&&e<=9631}function yQ(e){return _Q(e)||vQ(e)}function bQ(){return{css:{canvas:xQ(),cell:xQ()},device:{canvas:xQ(),cell:xQ(),char:{width:0,height:0,left:0,top:0}}}}function xQ(){return{width:0,height:0}}var SQ=class{constructor(e,t,n,r,i,a,o){this._document=e,this._characterJoinerService=t,this._optionsService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._themeService=o,this._workCell=new _J,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,a,o,s,c,l,u){let d=[],f=this._characterJoinerService.getJoinedCharacters(t),p=this._themeService.colors,m=e.getNoBgTrimmedLength();n&&m<a+1&&(m=a+1);let h,g=0,_=``,v=0,y=0,b=0,x=0,S=!1,C=0,w=!1,T=0,E=0,D=[],O=l!==-1&&u!==-1;for(let k=0;k<m;k++){e.loadCell(k,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let A=!1,j=k>=E,M=k,N=this._workCell;if(f.length>0&&k===f[0][0]&&j){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)j&&=i===this._isCellInSelection(v,t);j&&=!n||a<r[0]||a>=r[1],j?(A=!0,N=new hQ(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),M=r[1]-1,m=N.getWidth()):E=r[1]}let P=this._isCellInSelection(k,t),F=n&&k===a,I=O&&k>=l&&k<=u,L=!1;this._decorationService.forEachDecorationAtCell(k,t,void 0,e=>{L=!0});let ee=N.getChars()||mJ;if(ee===` `&&(N.isUnderline()||N.isOverline())&&(ee=`\xA0`),T=m*s-c.get(ee,N.isBold(),N.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(P&&w||!P&&!w&&N.bg===y)&&(P&&w&&p.selectionForeground||N.fg===b)&&N.extended.ext===x&&I===S&&T===C&&!F&&!A&&!L&&j){N.isInvisible()?_+=mJ:_+=ee,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=N.bg,b=N.fg,x=N.extended.ext,S=I,C=T,w=P,A&&a>=k&&a<=M&&(a=k),!this._coreService.isCursorHidden&&F&&this._coreService.isCursorInitialized){if(D.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&D.push(`xterm-cursor-blink`),D.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:D.push(`xterm-cursor-outline`);break;case`block`:D.push(`xterm-cursor-block`);break;case`bar`:D.push(`xterm-cursor-bar`);break;case`underline`:D.push(`xterm-cursor-underline`);break;default:break}}if(N.isBold()&&D.push(`xterm-bold`),N.isItalic()&&D.push(`xterm-italic`),N.isDim()&&D.push(`xterm-dim`),_=N.isInvisible()?mJ:N.getChars()||mJ,N.isUnderline()&&(D.push(`xterm-underline-${N.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!N.isUnderlineColorDefault())){if(N.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${hJ.toColorRGB(N.getUnderlineColor()).join(`,`)})`;else{let e=N.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&N.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}N.isOverline()&&(D.push(`xterm-overline`),_===` `&&(_=`\xA0`)),N.isStrikethrough()&&D.push(`xterm-strikethrough`),I&&(h.style.textDecoration=`underline`);let R=N.getFgColor(),te=N.getFgColorMode(),z=N.getBgColor(),ne=N.getBgColorMode(),B=!!N.isInverse();if(B){let e=R;R=z,z=e;let t=te;te=ne,ne=t}let re,V,ie=!1;this._decorationService.forEachDecorationAtCell(k,t,void 0,e=>{e.options.layer!==`top`&&ie||(e.backgroundColorRGB&&(ne=50331648,z=e.backgroundColorRGB.rgba>>8&16777215,re=e.backgroundColorRGB),e.foregroundColorRGB&&(te=50331648,R=e.foregroundColorRGB.rgba>>8&16777215,V=e.foregroundColorRGB),ie=e.options.layer===`top`)}),!ie&&P&&(re=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,z=re.rgba>>8&16777215,ne=50331648,ie=!0,p.selectionForeground&&(te=50331648,R=p.selectionForeground.rgba>>8&16777215,V=p.selectionForeground)),ie&&D.push(`xterm-decoration-top`);let ae;switch(ne){case 16777216:case 33554432:ae=p.ansi[z],D.push(`xterm-bg-${z}`);break;case 50331648:ae=cQ.toColor(z>>16,z>>8&255,z&255),this._addStyle(h,`background-color:#${CQ((z>>>0).toString(16),`0`,6)}`);break;default:B?(ae=p.foreground,D.push(`xterm-bg-257`)):ae=p.background}switch(re||N.isDim()&&(re=lQ.multiplyOpacity(ae,.5)),te){case 16777216:case 33554432:N.isBold()&&R<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(R+=8),this._applyMinimumContrast(h,ae,p.ansi[R],N,re,void 0)||D.push(`xterm-fg-${R}`);break;case 50331648:let e=cQ.toColor(R>>16&255,R>>8&255,R&255);this._applyMinimumContrast(h,ae,e,N,re,V)||this._addStyle(h,`color:#${CQ(R.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,ae,p.foreground,N,re,V)||B&&D.push(`xterm-fg-257`)}D.length&&=(h.className=D.join(` `),0),!F&&!A&&!L&&j?g++:h.textContent=_,T!==this.defaultSpacing&&(h.style.letterSpacing=`${T}px`),d.push(h),k=M}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||yQ(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=lQ.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e<r[0]&&t<=r[1]:e<n[0]&&t>=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t<r[1]||n[1]===r[1]&&t===n[1]&&e>=n[0]&&e<r[0]||n[1]<r[1]&&t===r[1]&&e<r[0]||n[1]<r[1]&&t===n[1]&&e>=n[0]}};SQ=Xq([Zq(1,VJ),Zq(2,AJ),Zq(3,LJ),Zq(4,EJ),Zq(5,NJ),Zq(6,HJ)],SQ);function CQ(e,t,n){for(;e.length<n;)e=t+e;return e}var wQ=class{constructor(e,t){this._flat=new Float32Array(256),this._font=``,this._fontSize=0,this._weight=`normal`,this._weightBold=`bold`,this._measureElements=[],this._container=e.createElement(`div`),this._container.classList.add(`xterm-width-cache-measure-container`),this._container.setAttribute(`aria-hidden`,`true`),this._container.style.whiteSpace=`pre`,this._container.style.fontKerning=`none`;let n=e.createElement(`span`);n.classList.add(`xterm-char-measure-element`);let r=e.createElement(`span`);r.classList.add(`xterm-char-measure-element`),r.style.fontWeight=`bold`;let i=e.createElement(`span`);i.classList.add(`xterm-char-measure-element`),i.style.fontStyle=`italic`;let a=e.createElement(`span`);a.classList.add(`xterm-char-measure-element`),a.style.fontWeight=`bold`,a.style.fontStyle=`italic`,this._measureElements=[n,r,i,a],this._container.appendChild(n),this._container.appendChild(r),this._container.appendChild(i),this._container.appendChild(a),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,n,r){e===this._font&&t===this._fontSize&&n===this._weight&&r===this._weightBold||(this._font=e,this._fontSize=t,this._weight=n,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${n}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${n}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(e,t,n){let r=0;if(!t&&!n&&e.length===1&&(r=e.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let t=this._measure(e,0);return t>0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},TQ=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function EQ(){return new TQ}var DQ=`xterm-dom-renderer-owner-`,OQ=`xterm-rows`,kQ=`xterm-fg-`,AQ=`xterm-bg-`,jQ=`xterm-focus`,MQ=`xterm-selection`,NQ=1,PQ=class extends pY{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=NQ++,this._rowElements=[],this._selectionRenderModel=EQ(),this.onRequestRedraw=this._register(new Q).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(OQ),this._rowContainer.style.lineHeight=`normal`,this._rowContainer.setAttribute(`aria-hidden`,`true`),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(`div`),this._selectionContainer.classList.add(MQ),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=bQ(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(SQ,document),this._element.classList.add(DQ+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(uY(()=>{this._element.classList.remove(DQ+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new wQ(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${OQ} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${OQ} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${OQ} .xterm-dim { color: ${lQ.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${OQ}.${jQ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${OQ}.${jQ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${OQ}.${jQ} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${OQ} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${OQ} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${OQ} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${OQ} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${OQ} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${MQ} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${MQ} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${MQ} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${kQ}${n} { color: ${r.css}; }${this._terminalSelector} .${kQ}${n}.xterm-dim { color: ${lQ.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${AQ}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${kQ}257 { color: ${lQ.opaque(e.background).css}; }${this._terminalSelector} .${kQ}257.xterm-dim { color: ${lQ.multiplyOpacity(lQ.opaque(e.background),.5).css}; }${this._terminalSelector} .${AQ}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(jQ),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(jQ),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${DQ}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};PQ=Xq([Zq(7,OJ),Zq(8,IJ),Zq(9,AJ),Zq(10,wJ),Zq(11,EJ),Zq(12,LJ),Zq(13,HJ)],PQ);var FQ=class extends pY{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new Q),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new RQ(this._optionsService))}catch{this._measureStrategy=this._register(new LQ(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};FQ=Xq([Zq(2,AJ)],FQ);var IQ=class extends pY{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},LQ=class extends IQ{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,this._measureElement=this._document.createElement(`span`),this._measureElement.classList.add(`xterm-char-measure-element`),this._measureElement.textContent=`W`.repeat(32),this._measureElement.setAttribute(`aria-hidden`,`true`),this._measureElement.style.whiteSpace=`pre`,this._measureElement.style.fontKerning=`none`,this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},RQ=class extends IQ{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},zQ=class extends pY{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new BQ(this._window)),this._onDprChange=this._register(new Q),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new Q),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(xY.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(rZ(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(rZ(this._textarea,`blur`,()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},BQ=class extends pY{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new mY),this._onDprChange=this._register(new Q),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(uY(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=rZ(this._parentWindow,`resize`,()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},VQ=class extends pY{constructor(){super(),this.linkProviders=[],this._register(uY(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function HQ(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function UQ(e,t,n,r,i,a,o,s,c){if(!a)return;let l=HQ(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var WQ=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return UQ(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=HQ(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};WQ=Xq([Zq(0,zJ),Zq(1,IJ)],WQ);var GQ=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},KQ={};Yq(KQ,{getSafariVersion:()=>$Q,isChromeOS:()=>a$,isFirefox:()=>XQ,isIpad:()=>t$,isIphone:()=>n$,isLegacyEdge:()=>ZQ,isLinux:()=>i$,isMac:()=>e$,isNode:()=>qQ,isSafari:()=>QQ,isWindows:()=>r$});var qQ=typeof process<`u`&&`title`in process,JQ=qQ?`node`:navigator.userAgent,YQ=qQ?`node`:navigator.platform,XQ=JQ.includes(`Firefox`),ZQ=JQ.includes(`Edge`),QQ=/^((?!chrome|android).)*safari/i.test(JQ);function $Q(){if(!QQ)return 0;let e=JQ.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var e$=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(YQ),t$=YQ===`iPad`,n$=YQ===`iPhone`,r$=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(YQ),i$=YQ.indexOf(`Linux`)>=0,a$=/\bCrOS\b/.test(JQ),o$=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},s$=class extends o${_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},c$=class extends o${_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},l$=!qQ&&`requestIdleCallback`in window?c$:s$,u$=class{constructor(){this._queue=new l$}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},d$=class extends pY{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new mY),this._pausedResizeTask=new u$,this._observerDisposable=this._register(new mY),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new Q),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new Q),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new Q),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new Q),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new GQ((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new f$(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(uY(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=uY(()=>n.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};d$=Xq([Zq(2,AJ),Zq(3,IJ),Zq(4,EJ),Zq(5,NJ),Zq(6,wJ),Zq(7,LJ),Zq(8,HJ)],d$);var f$=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function p$(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return g$(i,a,e,t,n,r)+_$(a,t,n,r)+v$(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,T$(Math.abs(i-e),w$(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return T$(h$(a>t?e:i,n)+(s-1)*n.cols+1+m$(a>t?i:e,n),w$(o,r))}function m$(e,t){return e-1}function h$(e,t){return t.cols-e}function g$(e,t,n,r,i,a){return _$(t,r,i,a).length===0?``:T$(C$(e,t,e,t-b$(t,i),!1,i).length,w$(`D`,a))}function _$(e,t,n,r){let i=e-b$(e,n),a=t-b$(t,n);return T$(Math.abs(i-a)-y$(e,t,n),w$(S$(e,t),r))}function v$(e,t,n,r,i,a){let o;o=_$(t,r,i,a).length>0?r-b$(r,i):t;let s=r,c=x$(e,t,n,r,i,a);return T$(C$(e,o,n,s,c===`C`,i).length,w$(c,a))}function y$(e,t,n){let r=0,i=e-b$(e,n),a=t-b$(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=S$(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function b$(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function x$(e,t,n,r,i,a){let o;return o=_$(n,r,i,a).length>0?r-b$(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function S$(e,t){return e>t?`A`:`B`}function C$(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&s<a.buffer.lines.length;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function w$(e,t){let n=t?`O`:`[`;return $.ESC+n+e}function T$(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var E$=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function D$(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var O$=50,k$=15,A$=50,j$=500,M$=RegExp(`\xA0`,`g`),N$=class extends pY{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new _J,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new Q),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new Q),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new Q),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new Q),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new E$(this._bufferService),this._activeSelectionMode=0,this._register(uY(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]<t[0]?e[0]:t[0],a=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let e=n.translateBufferLineToString(o,!0,i,a);r.push(e)}}else{let i=e[1]===t[1]?t[0]:void 0;r.push(n.translateBufferLineToString(e[1],!0,e[0],i));for(let i=e[1]+1;i<=t[1]-1;i++){let e=n.lines.get(i),t=n.translateBufferLineToString(i,!0);e?.isWrapped?r[r.length-1]+=t:r.push(t)}if(e[1]!==t[1]){let e=n.lines.get(t[1]),i=n.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?r[r.length-1]+=i:r.push(i)}}return r.map(e=>e.replace(M$,` `)).join(r$?`\r
|
|
141
141
|
`:`
|
|
142
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),r$&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=E$(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=VQ(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-D$),D$),t/=D$,t/Math.abs(t)+Math.round(t*(O$-1)))}shouldForceSelection(e){return $Q?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(`mouseup`,this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),k$)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(`mouseup`,this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!($Q&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]<n.lines.length){let e=n.lines.get(this._model.selectionEnd[1]);e&&e.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<A$&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&t[0]!==void 0&&t[1]!==void 0){let e=f$(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,n=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!n){this._oldHasSelection&&this._fireOnSelectionChange(e,t,n);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,n)}_fireOnSelectionChange(e,t,n){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=n,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c<o.length&&o.charAt(c+1)===` `;)c++}else{let t=e[0],n=e[0];a.getWidth(t)===0&&(u++,t--),a.getWidth(n)===2&&(d++,n++);let r=a.getString(n).length;for(r>1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n<a.length&&c+1<o.length&&!this._isCharWordSeparator(a.loadCell(n+1,this._workCell));){a.loadCell(n+1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,n++):e>1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(!(!t&&o.slice(s,c).trim()===``)){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=E$(n,this._bufferService.cols)}};M$=Yq([Xq(3,CJ),Xq(4,TJ),Xq(5,LJ),Xq(6,kJ),Xq(7,RJ),Xq(8,IJ)],M$);var N$=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},P$=class{constructor(){this._color=new N$,this._css=new N$}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},F$=Object.freeze((()=>{let e=[lQ.toColor(`#2e3436`),lQ.toColor(`#cc0000`),lQ.toColor(`#4e9a06`),lQ.toColor(`#c4a000`),lQ.toColor(`#3465a4`),lQ.toColor(`#75507b`),lQ.toColor(`#06989a`),lQ.toColor(`#d3d7cf`),lQ.toColor(`#555753`),lQ.toColor(`#ef2929`),lQ.toColor(`#8ae234`),lQ.toColor(`#fce94f`),lQ.toColor(`#729fcf`),lQ.toColor(`#ad7fa8`),lQ.toColor(`#34e2e2`),lQ.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:sQ.toCss(r,i,a),rgba:sQ.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:sQ.toCss(n,n,n),rgba:sQ.toRgba(n,n,n)})}return e})()),I$=lQ.toColor(`#ffffff`),L$=lQ.toColor(`#000000`),R$=lQ.toColor(`#ffffff`),z$=L$,B$={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},V$=I$,H$=class extends fY{constructor(e){super(),this._optionsService=e,this._contrastCache=new P$,this._halfContrastCache=new P$,this._onChangeColors=this._register(new Q),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:I$,background:L$,cursor:R$,cursorAccent:z$,selectionForeground:void 0,selectionBackgroundTransparent:B$,selectionBackgroundOpaque:cQ.blend(L$,B$),selectionInactiveBackgroundTransparent:B$,selectionInactiveBackgroundOpaque:cQ.blend(L$,B$),scrollbarSliderBackground:cQ.opacity(I$,.2),scrollbarSliderHoverBackground:cQ.opacity(I$,.4),scrollbarSliderActiveBackground:cQ.opacity(I$,.5),overviewRulerBorder:I$,ansi:F$.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(`minimumContrastRatio`,()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(`theme`,()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=U$(e.foreground,I$),t.background=U$(e.background,L$),t.cursor=cQ.blend(t.background,U$(e.cursor,R$)),t.cursorAccent=cQ.blend(t.background,U$(e.cursorAccent,z$)),t.selectionBackgroundTransparent=U$(e.selectionBackground,B$),t.selectionBackgroundOpaque=cQ.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=U$(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=cQ.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?U$(e.selectionForeground,oQ):void 0,t.selectionForeground===oQ&&(t.selectionForeground=void 0),cQ.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=cQ.opacity(t.selectionBackgroundTransparent,.3)),cQ.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=cQ.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=U$(e.scrollbarSliderBackground,cQ.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=U$(e.scrollbarSliderHoverBackground,cQ.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=U$(e.scrollbarSliderActiveBackground,cQ.opacity(t.foreground,.5)),t.overviewRulerBorder=U$(e.overviewRulerBorder,V$),t.ansi=F$.slice(),t.ansi[0]=U$(e.black,F$[0]),t.ansi[1]=U$(e.red,F$[1]),t.ansi[2]=U$(e.green,F$[2]),t.ansi[3]=U$(e.yellow,F$[3]),t.ansi[4]=U$(e.blue,F$[4]),t.ansi[5]=U$(e.magenta,F$[5]),t.ansi[6]=U$(e.cyan,F$[6]),t.ansi[7]=U$(e.white,F$[7]),t.ansi[8]=U$(e.brightBlack,F$[8]),t.ansi[9]=U$(e.brightRed,F$[9]),t.ansi[10]=U$(e.brightGreen,F$[10]),t.ansi[11]=U$(e.brightYellow,F$[11]),t.ansi[12]=U$(e.brightBlue,F$[12]),t.ansi[13]=U$(e.brightMagenta,F$[13]),t.ansi[14]=U$(e.brightCyan,F$[14]),t.ansi[15]=U$(e.brightWhite,F$[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<n;r++)t.ansi[r+16]=U$(e.extendedAnsi[r],F$[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};H$=Yq([Xq(0,kJ)],H$);function U$(e,t){if(e!==void 0)try{return lQ.toColor(e)}catch{}return t}var W$=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}forEach(e){for(let[t,n]of this._entries.entries())e(t,n)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},G$=class{constructor(){this._services=new W$,this._services.set(DJ,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=bJ(e).sort((e,t)=>e.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},K$={trace:0,debug:1,info:2,warn:3,error:4,off:5},q$=`xterm.js: `,J$=class extends fY{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),Y$=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=K$[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:q$)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};J$=Yq([Xq(0,kJ)],J$);var Y$,X$=class extends fY{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new Q),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new Q),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new Q),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=Array(e);for(let n=0;n<Math.min(e,this.length);n++)t[n]=this._array[this._getCyclicIndex(n)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error(`Can only recycle when the buffer is full`);return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...n){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<n.length;t++)this._array[this._getCyclicIndex(e+t)]=n[t];if(n.length&&this.onInsertEmitter.fire({index:e,amount:n.length}),this._length+n.length>this._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r<t;r++)this.set(e+r+n,this.get(e+r))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},Z$=3,Q$=Object.freeze(new mJ),$$=0,e1=2,t1=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*Z$);let r=t||gJ.fromCharData([0,fJ,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*Z$+0],n=t&2097151;return[this._data[e*Z$+1],t&2097152?this._combined[e]:n?cJ(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*Z$+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*Z$+0]=e|2097152|t[2]<<22):this._data[e*Z$+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*Z$+0]>>22}hasWidth(e){return this._data[e*Z$+0]&12582912}getFg(e){return this._data[e*Z$+1]}getBg(e){return this._data[e*Z$+2]}hasContent(e){return this._data[e*Z$+0]&4194303}getCodePoint(e){let t=this._data[e*Z$+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*Z$+0]&2097152}getString(e){let t=this._data[e*Z$+0];return t&2097152?this._combined[e]:t&2097151?cJ(t&2097151):``}isProtected(e){return this._data[e*Z$+2]&536870912}loadCell(e,t){return $$=e*Z$,t.content=this._data[$$+0],t.fg=this._data[$$+1],t.bg=this._data[$$+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*Z$+0]=t.content,this._data[e*Z$+1]=t.fg,this._data[e*Z$+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*Z$+0]=t|n<<22,this._data[e*Z$+1]=r.fg,this._data[e*Z$+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*Z$+0];r&2097152?this._combined[e]+=cJ(t):r&2097151?(this._combined[e]=cJ(r&2097151)+cJ(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*Z$+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length-e){let r=new gJ;for(let n=this.length-e-t-1;n>=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;r<t;++r)this.setCell(e+r,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(e,t,n){if(e%=this.length,t<this.length-e){let r=new gJ;for(let n=0;n<this.length-e-t;++n)this.setCell(e+n,this.loadCell(e+t+n,r));for(let e=this.length-t;e<this.length;++e)this.setCell(e,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,n)}replaceCells(e,t,n,r=!1){if(r){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,n),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.setCell(e++,n)}resize(e,t){if(e===this.length)return this._data.length*4*e1<this._data.buffer.byteLength;let n=e*Z$;if(e>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n<e;++n)this.setCell(n,t)}else{this._data=this._data.subarray(0,n);let t=Object.keys(this._combined);for(let n=0;n<t.length;n++){let r=parseInt(t[n],10);r>=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t<r.length;t++){let n=parseInt(r[t],10);n>=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*e1<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*e1<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t){for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);return}this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}copyFrom(e){this.length===e.length?this._data.set(e._data):this._data=new Uint32Array(e._data),this.length=e.length,this._combined={};for(let t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(let t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){let t=new e(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Z$+0]&4194303)return e+(this._data[e*Z$+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Z$+0]&4194303||this._data[e*Z$+2]&50331648)return e+(this._data[e*Z$+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e<Z$;e++)this._data[(n+i)*Z$+e]=a[(t+i)*Z$+e];a[(t+i)*Z$+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<Z$;e++)this._data[(n+i)*Z$+e]=a[(t+i)*Z$+e];a[(t+i)*Z$+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}let o=Object.keys(e._combined);for(let r=0;r<o.length;r++){let i=parseInt(o[r],10);i>=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t<n;){let e=this._data[t*Z$+0],n=e&2097151,a=e&2097152?this._combined[t]:n?cJ(n):pJ;if(i+=a,r)for(let e=0;e<a.length;++e)r.push(t);t+=e>>22||1}return r&&r.push(t),i}};function n1(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=o1(u,d,t),p=1,m=0;for(;p<u.length;){let e=o1(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function r1(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function i1(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function a1(e,t,n){let r=[],i=e.map((n,r)=>o1(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=o1(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function o1(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var s1=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new Q),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),sY(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};s1._nextId=1;var c1=s1,l1={},u1=l1.B;l1[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:``,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},l1.A={"#":`£`},l1.B=void 0,l1[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},l1.C=l1[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},l1.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},l1.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},l1.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},l1.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},l1.E=l1[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},l1.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},l1.H=l1[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},l1[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var d1=4294967295,f1=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=Q$.clone(),this.savedCharset=u1,this.markers=[],this._nullCell=gJ.fromCharData([0,fJ,1,0]),this._whitespaceCell=gJ.fromCharData([0,pJ,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new c$,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new X$(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new hJ),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new hJ),this._whitespaceCell}getBlankLine(e,t){return new t1(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>d1?d1:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Q$);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new X$(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(Q$),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);let a=0;if(this._rows<t)for(let r=this._rows;r<t;r++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new t1(e,n)):this.ybase>0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new t1(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){let e=this.lines.length-i;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=n1(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Q$),n);if(r.length>0){let n=r1(this.lines,r);i1(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(Q$),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new t1(e,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-n,0)}_reflowSmaller(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(Q$),i=[],a=0;for(let o=this.lines.length-1;o>=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e<o+c.length)continue}let l=c[c.length-1].getTrimmedLength(),u=a1(c,this._cols,e),d=u.length-c.length,f;f=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+d):Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let e=0;e<d;e++){let e=this.getBlankLine(Q$,!0);p.push(e)}p.length>0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=o1(c,Math.max(g,0),this._cols))}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],r);let v=d-f;for(;v-->0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+a)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(i.length>0){let e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));let n=this.lines.length,r=n-1,o=0,s=i[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+a);let c=0;for(let l=Math.min(this.lines.maxLength-1,n+a-1);l>=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+1<this.lines.length&&this.lines.get(n+1).isWrapped;)n++;return{first:t,last:n}}setupTabStops(e){for(e==null?(this.tabs={},e=0):this.tabs[e]||(e=this.prevStop(e));e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e??=this.x;!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new c1(e);return this.markers.push(t),t.register(this.lines.onTrim(e=>{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},p1=class extends fY{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new Q),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(`scrollback`,()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(`tabStopWidth`,()=>this.setupTabStops()))}reset(){this._normal=new f1(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new f1(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},m1=2,h1=1,g1=class extends fY{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new Q),this.onResize=this._onResize.event,this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,m1),this.rows=Math.max(e.rawOptions.rows||0,h1),this.buffers=this._register(new p1(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};g1=Yq([Xq(0,kJ)],g1);var _1={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:$Q,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},v1=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],y1=class extends fY{constructor(e){super(),this._onOptionChange=this._register(new Q),this.onOptionChange=this._onOptionChange.event;let t={..._1};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(lY(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in _1))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in _1))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=_1[e],!b1(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=_1[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=v1.includes(t)?t:_1[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={}}return t}};function b1(e){return e===`block`||e===`underline`||e===`bar`}function x1(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&x1(e[r],t-1);return n}var S1=Object.freeze({insertMode:!1}),C1=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),w1=class extends fY{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new Q),this.onData=this._onData.event,this._onUserInput=this._register(new Q),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new Q),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new Q),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=x1(S1),this.decPrivateModes=x1(C1)}reset(){this.modes=x1(S1),this.decPrivateModes=x1(C1)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};w1=Yq([Xq(0,CJ),Xq(1,OJ),Xq(2,kJ)],w1);var T1={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>e.action!==32||e.button!==3},ANY:{events:31,restrict:e=>!0}};function E1(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var D1=String.fromCharCode,O1={DEFAULT:e=>{let t=[E1(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${D1(t[0])}${D1(t[1])}${D1(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${E1(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${E1(e,!0)};${e.x};${e.y}${t}`}},k1=class extends fY{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new Q),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(T1))this.addProtocol(e,T1[e]);for(let e of Object.keys(O1))this.addEncoding(e,O1[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};k1=Yq([Xq(0,CJ),Xq(1,TJ),Xq(2,kJ)],k1);var A1=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],j1=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],M1;function N1(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var P1=class{constructor(){if(this.version=`6`,!M1){M1=new Uint8Array(65536),M1.fill(1),M1[0]=0,M1.fill(0,1,32),M1.fill(0,127,160),M1.fill(2,4352,4448),M1[9001]=2,M1[9002]=2,M1.fill(2,11904,42192),M1[12351]=1,M1.fill(2,44032,55204),M1.fill(2,63744,64256),M1.fill(2,65040,65050),M1.fill(2,65072,65136),M1.fill(2,65280,65377),M1.fill(2,65504,65511);for(let e=0;e<A1.length;++e)M1.fill(0,A1[e][0],A1[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?M1[e]:N1(e,j1)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=F1.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return F1.createPropertyValue(0,n,r)}},F1=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new Q,this.onChange=this._onChange.event;let e=new P1;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return!!(e&1)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a<i;++a){let o=t.charCodeAt(a);if(55296<=o&&o<=56319){if(++a>=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},I1=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function L1(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var R1=2147483647,z1=256,B1=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>z1)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e<t.length;++e){let r=t[e];if(Array.isArray(r))for(let e=0;e<r.length;++e)n.addSubParam(r[e]);else n.addParam(r)}return n}clone(){let t=new e(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>R1?R1:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>R1?R1:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t<this.length;++t){let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,R1):e}},V1=[],H1=class{constructor(){this._state=0,this._active=V1,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=V1}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=V1,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||V1,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,lJ(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t<n;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&n-t>0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3){if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}}this._active=V1,this._id=-1,this._state=0}}},U1=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=lJ(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},W1=[],G1=class{constructor(){this._handlers=Object.create(null),this._active=W1,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=W1}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=W1,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||W1,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,lJ(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=W1,this._ident=0}},K1=new B1;K1.addParam(0);var q1=class{constructor(e){this._handler=e,this._data=``,this._params=K1,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():K1,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=lJ(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=K1,this._data=``,this._hitLimit=!1,e));return this._params=K1,this._data=``,this._hitLimit=!1,t}},J1=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;i<e.length;i++)this.table[t<<8|e[i]]=n<<4|r}},Y1=160,X1=function(){let e=new J1(4095),t=Array.apply(null,Array(256)).map((e,t)=>t),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(Y1,0,2,0),e.add(Y1,8,5,8),e.add(Y1,6,0,6),e.add(Y1,11,0,11),e.add(Y1,13,13,13),e}(),Z1=class extends fY{constructor(e=X1){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new B1,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(lY(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new H1),this._dcsParser=this._register(new G1),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;t<e.intermediates.length;++t){let r=e.intermediates.charCodeAt(t);if(32>r||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state){if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}}for(let n=a;n<t;++n){switch(r=e[n],i=this._transitions.table[this.currentState<<8|(r<160?r:Y1)],i>>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r<Y1){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Y1){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Y1){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Y1){this._printHandler(e,n,i),n=i-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:n,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a=this._csiHandlers[this._collect<<8|r],s=a?a.length-1:-1;for(;s>=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n<t&&(r=e[n])>47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r<Y1){this._dcsParser.put(e,n,i),n=i-1;break}break;case 14:if(o=this._dcsParser.unhook(r!==24&&r!==26),o)return this._preserveStack(6,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let i=n+1;;i++)if(i>=t||(r=e[i])<32||r>127&&r<Y1){this._oscParser.put(e,n,i),n=i-1;break}break;case 6:if(o=this._oscParser.end(r!==24&&r!==26),o)return this._preserveStack(5,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=i&15}}},Q1=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,$1=/^[\da-f]+$/;function e0(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=Q1.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),$1.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function t0(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function n0(e,t=16){let[n,r,i]=e;return`rgb:${t0(n,t)}/${t0(r,t)}/${t0(i,t)}`}var r0={"(":0,")":1,"*":2,"+":3,"-":1,".":2},i0=131072,a0=10;function o0(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var s0=5e3,c0=0,l0=class extends fY{constructor(e,t,n,r,i,a,o,s,c=new Z1){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new uJ,this._utf8Decoder=new dJ,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Q$.clone(),this._eraseAttrDataInternal=Q$.clone(),this._onRequestBell=this._register(new Q),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new Q),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new Q),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new Q),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new Q),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new Q),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new Q),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new Q),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new Q),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new Q),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new Q),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new Q),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new u0(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler($.BEL,()=>this.bell()),this._parser.setExecuteHandler($.LF,()=>this.lineFeed()),this._parser.setExecuteHandler($.VT,()=>this.lineFeed()),this._parser.setExecuteHandler($.FF,()=>this.lineFeed()),this._parser.setExecuteHandler($.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler($.BS,()=>this.backspace()),this._parser.setExecuteHandler($.HT,()=>this.tab()),this._parser.setExecuteHandler($.SO,()=>this.shiftOut()),this._parser.setExecuteHandler($.SI,()=>this.shiftIn()),this._parser.setExecuteHandler($Z.IND,()=>this.index()),this._parser.setExecuteHandler($Z.NEL,()=>this.nextLine()),this._parser.setExecuteHandler($Z.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new U1(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new U1(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new U1(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new U1(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new U1(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new U1(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new U1(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new U1(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new U1(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new U1(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new U1(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new U1(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:`7`},()=>this.saveCursor()),this._parser.registerEscHandler({final:`8`},()=>this.restoreCursor()),this._parser.registerEscHandler({final:`D`},()=>this.index()),this._parser.registerEscHandler({final:`E`},()=>this.nextLine()),this._parser.registerEscHandler({final:`H`},()=>this.tabSet()),this._parser.registerEscHandler({final:`M`},()=>this.reverseIndex()),this._parser.registerEscHandler({final:`=`},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:`>`},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:`c`},()=>this.fullReset()),this._parser.registerEscHandler({final:`n`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`o`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`|`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`}`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`~`},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:`%`,final:`@`},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:`%`,final:`G`},()=>this.selectDefaultCharset());for(let e in l1)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new q1((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),s0))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${s0} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>i0&&(a=this._parseStack.position+i0)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<i0&&(this._parseBuffer=new Uint32Array(Math.min(e.length,i0))),o||this._dirtyRowTracker.clearRange(),e.length>i0)for(let t=a;t<e.length;t+=i0){let a=t+i0<e.length?t+i0:e.length,o=typeof e==`string`?this._stringDecoder.decode(e.substring(t,a),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,a),this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,o))return this._preserveStack(r,i,o,t),this._logSlowResolvingAsync(n),n}else if(!o){let t=typeof e==`string`?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,t))return this._preserveStack(r,i,t,0),this._logSlowResolvingAsync(n),n}(this._activeBuffer.x!==r||this._activeBuffer.y!==i)&&this._onCursorMove.fire();let s=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(s,this._bufferService.rows-1)})}print(e,t,n){let r,i,a=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,s=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,l=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&n-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;p<n;++p){if(r=e[p],r<127&&a){let e=a[String.fromCharCode(r)];e&&(r=e.charCodeAt(0))}let t=this._unicodeService.charProperties(r,f);i=F1.extractWidth(t);let n=F1.extractShouldJoin(t),m=n?F1.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(cJ(r)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+i-m>s){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof t1&&d.copyCellsFrom(e,t,0,m,!1);t<s;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=s-1,i===2)continue}if(n&&this._activeBuffer.x){let e=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-e,r,i);for(let e=i-m;--e>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<s&&n-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>!o0(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new q1(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new U1(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n<this._bufferService.rows;n++)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(n);break;case 1:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-r+1;for(;t--;)this._activeBuffer.lines.splice(i-1,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r;for(r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-r;t--;)this._activeBuffer.lines.splice(n,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(Q$));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let n=e.params[0]||1,r=F1.extractWidth(t),i=this._activeBuffer.x-r,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(i),o=new Uint32Array(a.length*n),s=0;for(let e=0;e<a.length;){let t=a.codePointAt(e)||0;o[s++]=t,e+=t>65535?2:1}let c=s;for(let e=1;e<n;++e)o.copyWithin(c,0,s),c+=s;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent($.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent($.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent($.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent($.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent($.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,u1),this._charsetService.setgCharset(1,u1),this._charsetService.setgCharset(2,u1),this._charsetService.setgCharset(3,u1);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=`X10`;break;case 1e3:this._coreMouseService.activeProtocol=`VT200`;break;case 1002:this._coreMouseService.activeProtocol=`DRAG`;break;case 1003:this._coreMouseService.activeProtocol=`ANY`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(`DECSET 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`SGR`;break;case 1015:this._logService.debug(`DECSET 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`SGR_PIXELS`;break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=`NONE`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(`DECRST 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 1015:this._logService.debug(`DECRST 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,t){let n;(e=>(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${$.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=mJ.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o<n.length&&o+a+1+i<r.length);break}if(r[1]===5&&a+i>=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t<e.length&&a+i<r.length);for(let e=2;e<r.length;++e)r[e]===-1&&(r[e]=0);switch(r[0]){case 38:n.fg=this._updateAttrColor(n.fg,r[1],r[3],r[4],r[5]);break;case 48:n.bg=this._updateAttrColor(n.bg,r[1],r[3],r[4],r[5]);break;case 58:n.extended=n.extended.clone(),n.extended.underlineColor=this._updateAttrColor(n.extended.underlineColor,r[1],r[3],r[4],r[5])}return a}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=Q$.fg,e.bg=Q$.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i<t;i++)n=e.params[i],n>=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=Q$.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=Q$.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=Q$.fg&16777215,r.bg&=-67108864,r.bg|=Q$.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${$.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${$.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(e.params[0]===6){let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${$.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=Q$.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!o0(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${$.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>a0&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>a0&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(d0(n)){if(r===`?`)t.push({type:0,index:n});else{let e=e0(r);e&&t.push({type:1,index:n,color:e})}}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):!n.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e<n.length&&!(t>=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=e0(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e<n.length;++e)if(/^\d+$/.exec(n[e])){let r=parseInt(n[e]);d0(r)&&t.push({type:2,index:r})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,u1),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(r0[e[0]],l1[e[1]]||u1),!0):(this.selectDefaultCharset(),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=Q$.clone(),this._eraseAttrDataInternal=Q$.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new gJ;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let n=this._activeBuffer.ybase+this._activeBuffer.y+t,r=this._activeBuffer.lines.get(n);r&&(r.fill(e),r.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let n=e=>(this._coreService.triggerDataEvent(`${$.ESC}${e}${$.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},u0=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(c0=e,e=t,t=c0),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};u0=Yq([Xq(0,CJ)],u0);function d0(e){return 0<=e&&e<256}var f0=5e7,p0=12,m0=50,h0=class extends fY{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new Q),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>f0)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=p0?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=p0)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>m0&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},g0=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};g0=Yq([Xq(0,CJ)],g0);var _0=!1,v0=class extends fY{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new pY),this._onBinary=this._register(new Q),this.onBinary=this._onBinary.event,this._onData=this._register(new Q),this.onData=this._onData.event,this._onLineFeed=this._register(new Q),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new Q),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new Q),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new Q),this._instantiationService=new G$,this.optionsService=this._register(new y1(e)),this._instantiationService.setService(kJ,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(g1)),this._instantiationService.setService(CJ,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(J$)),this._instantiationService.setService(OJ,this._logService),this.coreService=this._register(this._instantiationService.createInstance(w1)),this._instantiationService.setService(TJ,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(k1)),this._instantiationService.setService(wJ,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(F1)),this._instantiationService.setService(jJ,this.unicodeService),this._charsetService=this._instantiationService.createInstance(I1),this._instantiationService.setService(EJ,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(g0),this._instantiationService.setService(AJ,this._oscLinkService),this._inputHandler=this._register(new l0(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(bY.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(bY.forward(this._bufferService.onResize,this._onResize)),this._register(bY.forward(this.coreService.onData,this._onData)),this._register(bY.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new h0((e,t)=>this._inputHandler.parse(e,t))),this._register(bY.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new Q),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!_0&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),_0=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,m1),t=Math.max(t,h1),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(L1.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(L1(this._bufferService),!1))),this._windowsWrappingHeuristics.value=lY(()=>{for(let t of e)t.dispose()})}}},y0={48:[`0`,`)`],49:[`1`,`!`],50:[`2`,`@`],51:[`3`,`#`],52:[`4`,`$`],53:[`5`,`%`],54:[`6`,`^`],55:[`7`,`&`],56:[`8`,`*`],57:[`9`,`(`],186:[`;`,`:`],187:[`=`,`+`],188:[`,`,`<`],189:[`-`,`_`],190:[`.`,`>`],191:[`/`,`?`],192:["`",`~`],219:[`[`,`{`],220:[`\\`,`|`],221:[`]`,`}`],222:[`'`,`"`]};function b0(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?i.key=t?$.ESC+`OA`:$.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?$.ESC+`OD`:$.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?$.ESC+`OC`:$.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?$.ESC+`OB`:$.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:$.DEL,e.altKey&&(i.key=$.ESC+i.key);break;case 9:if(e.shiftKey){i.key=$.ESC+`[Z`;break}i.key=$.HT,i.cancel=!0;break;case 13:i.key=e.altKey?$.ESC+$.CR:$.CR,i.cancel=!0;break;case 27:i.key=$.ESC,e.altKey&&(i.key=$.ESC+$.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`D`:t?$.ESC+`OD`:$.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`C`:t?$.ESC+`OC`:$.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`A`:t?$.ESC+`OA`:$.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`B`:t?$.ESC+`OB`:$.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=$.ESC+`[2~`);break;case 46:i.key=a?$.ESC+`[3;`+(a+1)+`~`:$.ESC+`[3~`;break;case 36:i.key=a?$.ESC+`[1;`+(a+1)+`H`:t?$.ESC+`OH`:$.ESC+`[H`;break;case 35:i.key=a?$.ESC+`[1;`+(a+1)+`F`:t?$.ESC+`OF`:$.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?$.ESC+`[5;`+(a+1)+`~`:$.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?$.ESC+`[6;`+(a+1)+`~`:$.ESC+`[6~`;break;case 112:i.key=a?$.ESC+`[1;`+(a+1)+`P`:$.ESC+`OP`;break;case 113:i.key=a?$.ESC+`[1;`+(a+1)+`Q`:$.ESC+`OQ`;break;case 114:i.key=a?$.ESC+`[1;`+(a+1)+`R`:$.ESC+`OR`;break;case 115:i.key=a?$.ESC+`[1;`+(a+1)+`S`:$.ESC+`OS`;break;case 116:i.key=a?$.ESC+`[15;`+(a+1)+`~`:$.ESC+`[15~`;break;case 117:i.key=a?$.ESC+`[17;`+(a+1)+`~`:$.ESC+`[17~`;break;case 118:i.key=a?$.ESC+`[18;`+(a+1)+`~`:$.ESC+`[18~`;break;case 119:i.key=a?$.ESC+`[19;`+(a+1)+`~`:$.ESC+`[19~`;break;case 120:i.key=a?$.ESC+`[20;`+(a+1)+`~`:$.ESC+`[20~`;break;case 121:i.key=a?$.ESC+`[21;`+(a+1)+`~`:$.ESC+`[21~`;break;case 122:i.key=a?$.ESC+`[23;`+(a+1)+`~`:$.ESC+`[23~`;break;case 123:i.key=a?$.ESC+`[24;`+(a+1)+`~`:$.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=$.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=$.DEL:e.keyCode===219?i.key=$.ESC:e.keyCode===220?i.key=$.FS:e.keyCode===221&&(i.key=$.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=y0[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=$.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=$.ESC+n}else if(e.keyCode===32)i.key=$.ESC+(e.ctrlKey?$.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=$.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=$.US),e.key===`@`&&(i.key=$.NUL))}return i}var x0=0,S0=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new c$,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new c$,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i<r.length;i++)n>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(x0=this._search(t),x0===-1)||this._getKey(this._array[x0])!==t)return!1;do if(this._array[x0]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(x0),!0;while(++x0<this._array.length&&this._getKey(this._array[x0])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,t)=>e-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i<this._array.length;i++)e[t]===i?t++:n[r++]=this._array[i];this._array=n,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(x0=this._search(e),!(x0<0||x0>=this._array.length)&&this._getKey(this._array[x0])===e))do yield this._array[x0];while(++x0<this._array.length&&this._getKey(this._array[x0])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(x0=this._search(e),!(x0<0||x0>=this._array.length)&&this._getKey(this._array[x0])===e))do t(this._array[x0]);while(++x0<this._array.length&&this._getKey(this._array[x0])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,n=this._array.length-1;for(;n>=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i<e)t=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},C0=0,w0=0,T0=class extends fY{constructor(){super(),this._decorations=new S0(e=>e?.marker.line),this._onDecorationRegistered=this._register(new Q),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new Q),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(lY(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new E0(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e<i&&(!n||(a.options.layer??`bottom`)===n)&&(yield a)}forEachDecorationAtCell(e,t,n,r){this._decorations.forEachByKey(t,t=>{C0=t.options.x??0,w0=C0+(t.options.width??1),e>=C0&&e<w0&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},E0=class extends dY{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new Q),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new Q),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=`full`)}get backgroundColorRGB(){return this._cachedBg===null&&(this._cachedBg=this.options.backgroundColor?lQ.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?lQ.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},D0=1e3,O0=class{constructor(e,t=D0){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},k0=20,A0=class extends fY{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new O0(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
143
|
-
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(
|
|
144
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===k0+1&&(this._liveRegion.textContent+=eJ.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};A0=Yq([Xq(1,DJ),Xq(2,IJ),Xq(3,RJ)],A0);var j0=class extends fY{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new Q),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new Q),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(lY(()=>{sY(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(nZ(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(nZ(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(nZ(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(nZ(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&M0(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,sY(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};j0=Yq([Xq(1,LJ),Xq(2,RJ),Xq(3,CJ),Xq(4,HJ)],j0);function M0(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var N0=class extends v0{constructor(e={}){super(e),this._linkifier=this._register(new pY),this.browser=GQ,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new pY),this._onCursorMove=this._register(new Q),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new Q),this.onKey=this._onKey.event,this._onRender=this._register(new Q),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new Q),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new Q),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new Q),this.onBell=this._onBell.event,this._onFocus=this._register(new Q),this._onBlur=this._register(new Q),this._onA11yCharEmitter=this._register(new Q),this._onA11yTabEmitter=this._register(new Q),this._onWillOpen=this._register(new Q),this._setup(),this._decorationService=this._instantiationService.createInstance(T0),this._instantiationService.setService(MJ,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(BQ),this._instantiationService.setService(HJ,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(NJ)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(bY.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(bY.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(bY.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(bY.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(lY(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=cQ.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${$.ESC}]${n};${n0(r)}${eQ.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=sQ.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=sQ.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(A0,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent($.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent($.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(nZ(this.element,`copy`,e=>{this.hasSelection()&&rJ(e,this._selectionService)}));let e=e=>iJ(e,this.textarea,this.coreService,this.optionsService);this._register(nZ(this.textarea,`paste`,e)),this._register(nZ(this.element,`paste`,e)),YQ?this._register(nZ(this.element,`mousedown`,e=>{e.button===2&&sJ(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(nZ(this.element,`contextmenu`,e=>{sJ(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),r$&&this._register(nZ(this.element,`auxclick`,e=>{e.button===1&&oJ(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(nZ(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(nZ(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(nZ(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(nZ(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(nZ(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(nZ(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(nZ(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(nZ(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,Qq.get()),i$||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(RQ,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(IJ,this._coreBrowserService),this._register(nZ(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(nZ(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(PQ,this._document,this._helperContainer),this._instantiationService.setService(FJ,this._charSizeService),this._themeService=this._instantiationService.createInstance(H$),this._instantiationService.setService(VJ,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(hQ),this._instantiationService.setService(BJ,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(u$,this.rows,this.screenElement)),this._instantiationService.setService(RJ,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(tQ,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(UQ),this._instantiationService.setService(LJ,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(j0,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(KZ,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(M$,this.element,this.screenElement,r)),this._instantiationService.setService(zJ,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(bY.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(qZ,this.screenElement)),this._register(nZ(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(A0,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(QZ,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(QZ,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(NQ,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(nZ(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(nZ(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=$.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){aJ(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=b0(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===$.ETX||n.key===$.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(P0(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(Q$));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent($.ESC+`[I`):this.coreService.triggerDataEvent($.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${$.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${$.ESC}[6;${r};${n}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function P0(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var F0=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},I0=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new gJ)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},L0=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new I0(t)}getNullCell(){return new gJ}},R0=class extends fY{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new Q),this.onBufferChange=this._onBufferChange.event,this._normal=new L0(this._core.buffers.normal,`normal`),this._alternate=new L0(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},z0=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},B0=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},V0=[`cols`,`rows`],H0=0,U0=class extends fY{constructor(e){super(),this._core=this._register(new N0(e)),this._addonManager=this._register(new F0),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(V0.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new z0(this._core),this._parser}get unicode(){return this._checkProposedApi(),new B0(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new R0(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
145
|
-
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Qq.get()},set promptLabel(e){Qq.set(e)},get tooMuchOutput(){return eJ.get()},set tooMuchOutput(e){eJ.set(e)}}}_verifyIntegers(...e){for(H0 of e)if(H0===1/0||isNaN(H0)||H0%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(H0 of e)if(H0&&(H0===1/0||isNaN(H0)||H0%1!=0||H0<0))throw Error(`This API only accepts positive integers`)}},W0=40,G0=12,K0=120,q0=36,J0=60;function Y0(e,t,n){let r=window.location.protocol===`https:`?`wss`:`ws`,i=new URL(`/api/sessions/${encodeURIComponent(e)}/terminal/ws`,`${r}://${window.location.host}`);return i.searchParams.set(`cols`,String(t)),i.searchParams.set(`rows`,String(n)),i.toString()}var X0=[{label:`esc`,data:`\x1B`},{label:`tab`,data:` `},{label:`◀`,data:`\x1B[D`},{label:`▲`,data:`\x1B[A`},{label:`▼`,data:`\x1B[B`},{label:`▶`,data:`\x1B[C`}];function Z0({session:e}){let t=_.useRef(null),n=_.useRef(null),r=_.useRef(null),[i,a]=_.useState(``),[o,s]=_.useState(!1),[c,l]=_.useState(!1),u=_.useRef(!1),d=_.useRef(!1);_.useEffect(()=>{u.current=o},[o]),_.useEffect(()=>{d.current=c},[c]);let f=e?.status===`history`;function p(e){let t=n.current;t&&t.readyState===WebSocket.OPEN&&t.send(JSON.stringify({type:`input`,data:e})),r.current?.focus()}return _.useEffect(()=>{let i=t.current;if(!e||!i||f)return;let o=new U0({convertEol:!0,fontSize:13,cursorBlink:!0,theme:{background:`#09090b`}}),s=new Gq;o.loadAddon(s),o.open(i),s.fit(),r.current=o;let c=Math.max(o.cols||K0,W0),l=Math.max(o.rows||q0,G0);a(`连接中...`);let p=new WebSocket(Y0(e.name,c,l));n.current=p,p.onmessage=e=>{try{let t=JSON.parse(e.data);t.type===`output`?o.write(t.data):t.type===`status`?t.phase===`ready`?a(`已连接`):t.phase===`closed`&&a(`会话已结束`):t.type===`error`&&o.write(`\r\n[error] ${t.error}\r\n`)}catch{}},p.onclose=()=>a(`连接已断开`),p.onerror=()=>a(`连接出错`);let m=o.onData(e=>{if(!e||p.readyState!==WebSocket.OPEN)return;let t=e;if(u.current&&e.length===1){let n=e.charCodeAt(0);(n>=65&&n<=90||n>=97&&n<=122)&&(t=String.fromCharCode(n&31))}else d.current&&e.length===1&&(t=`\x1B`+e);p.send(JSON.stringify({type:`input`,data:t}))}),h=0,g=new ResizeObserver(()=>{window.clearTimeout(h),h=window.setTimeout(()=>s.fit(),J0)});return g.observe(i),()=>{g.disconnect(),window.clearTimeout(h),m.dispose(),(p.readyState===WebSocket.OPEN||p.readyState===WebSocket.CONNECTING)&&(p.send(JSON.stringify({type:`close`})),p.close()),o.dispose(),n.current=null,r.current=null}},[e,f]),e?f?(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 bg-zinc-950 p-6 text-center text-sm text-zinc-400`,children:[(0,G.jsx)(`p`,{className:`font-medium text-zinc-200`,children:`容器不可用`}),(0,G.jsx)(`p`,{children:`当前会话只有历史记录,没有可访问的运行中容器,无法连接终端。`})]}):(0,G.jsxs)(`div`,{className:`flex h-full flex-col bg-zinc-950`,children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-b border-zinc-800 bg-zinc-900 px-2 py-1.5`,children:[(0,G.jsx)(`span`,{className:`shrink-0 truncate px-1 text-xs text-zinc-400`,children:i}),(0,G.jsxs)(`div`,{className:`flex gap-1 overflow-x-auto pb-0.5`,children:[X0.map(e=>(0,G.jsx)(`button`,{type:`button`,onClick:()=>p(e.data),className:`shrink-0 rounded border border-zinc-700 px-2 py-0.5 font-mono text-xs text-zinc-300 hover:bg-zinc-800`,children:e.label},e.label)),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{s(e=>!e),r.current?.focus()},className:U(`shrink-0 rounded border border-zinc-700 px-2 py-0.5 font-mono text-xs text-zinc-300 hover:bg-zinc-800`,o&&`border-zinc-100 bg-zinc-100 text-zinc-900 hover:bg-zinc-100`),children:`ctrl`}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{l(e=>!e),r.current?.focus()},className:U(`shrink-0 rounded border border-zinc-700 px-2 py-0.5 font-mono text-xs text-zinc-300 hover:bg-zinc-800`,c&&`border-zinc-100 bg-zinc-100 text-zinc-900 hover:bg-zinc-100`),children:`alt`})]})]}),(0,G.jsx)(`div`,{ref:t,className:`min-h-0 flex-1 p-2`})]}):(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center bg-zinc-950 p-6 text-center text-sm text-zinc-400`,children:`请先在左侧选择一个容器 / AGENT`})}var Q0=_.createContext(void 0);function $0(e){let t=_.useContext(Q0);if(t===void 0&&!e)throw Error(Qt(47));return t}var e2={...bl,disabled:e=>e.disabled,instantType:e=>e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,modal:e=>e.modal,focusManagerModal:e=>e.focusManagerModal,stickIfOpen:e=>e.stickIfOpen,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},t2=class extends Gc{constructor(e,t,n){let r=new dl;super(n2(e,r,t,n),r2(r),e2)}setOpen=(e,t)=>{let n=t.reason===Hr,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=il(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n={open:e,openChangeReason:t.reason};rl(n,e,t.trigger,a()),this.update(n)};n?(this.set(`stickIfOpen`,!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set(`stickIfOpen`,!1)}),Go.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function n2(e,t,n,r=!1){let i={...pl(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i.floatingRootContext=ml(t,n,r),i}function r2(e){return{popupRef:_.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:_.createRef(),beforeContentFocusGuardRef:_.createRef(),stickIfOpenTimeout:new di,triggerElements:e}}function i2({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=o2(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),p=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),ul(u,d),sl(u);let{forceUnmount:m}=cl(d,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:o}),_.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),_.useImperativeHandle(e.actionsRef,()=>({unmount:m,close:()=>u.setOpen(!1,ti($r))}),[m,u]);let h=d||f;return(0,G.jsxs)(Q0.Provider,{value:u,children:[s&&(0,G.jsx)(tl,{handle:s,store:u}),h&&(0,G.jsx)(s2,{store:u,modal:o}),typeof t==`function`?t({payload:p}):t]})}function a2(e){return $0(!0)?(0,G.jsx)(i2,{props:e}):(0,G.jsx)(as,{children:(0,G.jsx)(i2,{props:e})})}function o2(e,t){let n=el((e,n)=>new t2(t,e,n));return _.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function s2({store:e,modal:t}){let n=Ss(e.useState(`floatingRootContext`),{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),r=n.reference,i=n.floating;return ll(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:i}),null}var c2=_.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...p}=e,m=$0(!0),h=xl(s)??m;if(!h)throw Error(Qt(74));let g=si(f),v=h.useState(`isTriggerActive`,g),y=h.useState(`floatingRootContext`),b=h.useState(`isOpenedByTrigger`,g),x=h.useState(`triggerPopupId`,g),S=_.useRef(null),{registerTrigger:C,isMountedByThisTrigger:w}=ol(g,S,h,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),T=h.useState(`openChangeReason`),E=h.useState(`stickIfOpen`),D=h.useState(`openMethod`),O=h.useState(`focusManagerModal`),k=Pl(y,{enabled:!a&&l&&(D!==`touch`||T!==`trigger-press`),mouseOnly:!0,move:!1,handleClose:Zl(),restMs:u,delay:{close:d},triggerElementRef:S,isActiveTrigger:v,isClosing:()=>h.select(`transitionStatus`)===`ending`}),A=gs(y,{stickIfOpen:E}),j=Du(()=>h.select(`open`),e=>{h.set(`openMethod`,e)}),M=h.useState(`triggerProps`,w),{getButtonProps:N,buttonRef:P}=Lr({disabled:a,native:o}),F={open(e){return e&&T===`trigger-press`?Zn.open(e):Xn.open(e)}},{preFocusGuardRef:I,handlePreFocusGuardFocus:L,handleFocusTargetFocus:ee}=um(h,S),R=Fn(`button`,e,{state:{disabled:a,open:b},ref:[P,t,C,S],props:[A.reference,k,M,j,{[Vo]:``,id:g,"aria-haspopup":`dialog`,"aria-expanded":b,"aria-controls":x},p,N],stateAttributesMapping:F}),te=(0,G.jsx)(_.Fragment,{children:R},g);return w&&!O?(0,G.jsxs)(_.Fragment,{children:[(0,G.jsx)(ga,{ref:I,onFocus:L}),te,(0,G.jsx)(ga,{ref:h.context.triggerFocusTargetRef,onFocus:ee})]}):te}),l2=_.createContext(void 0);function u2(){let e=_.useContext(l2);if(e===void 0)throw Error(Qt(45));return e}var d2=_.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return $0().useState(`mounted`)||n?(0,G.jsx)(l2.Provider,{value:n,children:(0,G.jsx)(Xo,{ref:t,...r})}):null}),f2=_.createContext(void 0);function p2(){let e=_.useContext(f2);if(!e)throw Error(Qt(46));return e}var m2=_.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:m,disableAnchorTracking:h=!1,collisionAvoidance:g=Uo,...v}=e,y=$0(),b=u2(),x=rs(),S=y.useState(`floatingRootContext`),C=y.useState(`mounted`),w=y.useState(`open`),T=y.useState(`openChangeReason`),E=y.useState(`activeTriggerElement`),D=y.useState(`modal`),O=y.useState(`openMethod`),k=y.useState(`positionerElement`),A=y.useState(`instantType`),j=y.useState(`transitionStatus`),M=y.useState(`adaptiveOrigin`),N=_.useRef(null),P=Xc(k),F=bf({anchor:a,floatingRootContext:S,positionMethod:o,mounted:C,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:m,disableAnchorTracking:h,keepMounted:b,nodeId:x,collisionAvoidance:g,adaptiveOrigin:M}),I=S.useState(`domReferenceElement`);W(()=>{let e=I,t=N.current;if(e&&(N.current=e),t&&e&&e!==t){y.set(`instantType`,void 0);let e=new AbortController;return P(()=>{y.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[I,P,y]);let L=D===!0&&T!==`trigger-hover`;Af(w&&L,O===`touch`,k,E);let ee=y.useStateSetter(`positionerElement`),R=Of(e,{open:w,side:F.side,align:F.align,anchorHidden:F.anchorHidden,instant:A},{styles:F.positionerStyles,transitionStatus:j,props:v,refs:[t,ee],hidden:!C,inert:!w});return(0,G.jsxs)(f2.Provider,{value:F,children:[C&&L&&(0,G.jsx)(iu,{inert:ru(!w),cutout:E}),(0,G.jsx)(is,{id:x,children:R})]})}),h2=_.createContext(void 0);function g2(){let[e,t]=_.useState(0),n=kr(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:_.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var _2=_.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=$0(),l=p2(),u=If(!0)!=null,{context:d,hasClosePart:f}=g2(),p=c.useState(`open`),m=c.useState(`openMethod`),h=c.useState(`instantType`),g=c.useState(`transitionStatus`),_=c.useState(`popupProps`),v=c.useState(`titleElementId`),y=c.useState(`descriptionElementId`),b=c.useState(`modal`),x=c.useState(`mounted`),S=c.useState(`openChangeReason`),C=c.useState(`activeTriggerElement`),w=c.useState(`floatingRootContext`),T=w.useState(`floatingId`),E=c.useState(`disabled`),D=c.useState(`openOnHover`),O=c.useState(`closeDelay`);Zc({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),Ml(w,{enabled:D&&!E,closeDelay:O});let k=a===void 0?$c(c.context.popupRef):a,A=b!==!1&&f;c.useSyncedValue(`focusManagerModal`,A);let j=c.useStateSetter(`popupElement`),M=Fn(`div`,e,{state:{open:p,side:l.side,align:l.align,instant:h,transitionStatus:g},ref:[t,c.context.popupRef,j],props:[_,{id:T,role:`dialog`,...Qc,"aria-labelledby":v,"aria-describedby":y,onKeyDown(e){u&&eu.has(e.key)&&e.stopPropagation()}},Df(g),s],stateAttributesMapping:$n});return(0,G.jsx)(hs,{context:w,openInteractionType:m,modal:A,disabled:!x||S===`trigger-hover`,initialFocus:k,returnFocus:o,restoreFocus:`popup`,previousFocusableElement:sr(C)?C:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,G.jsx)(h2.Provider,{value:d,children:M})})});function v2({...e}){return(0,G.jsx)(a2,{"data-slot":`popover`,...e})}function y2({...e}){return(0,G.jsx)(c2,{"data-slot":`popover-trigger`,...e})}function b2({className:e,align:t=`center`,alignOffset:n=0,side:r=`bottom`,sideOffset:i=4,...a}){return(0,G.jsx)(d2,{children:(0,G.jsx)(m2,{align:t,alignOffset:n,side:r,sideOffset:i,className:`isolate z-50`,children:(0,G.jsx)(_2,{"data-slot":`popover-content`,className:U(`z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...a})})})}function x2(e){let{open:t,defaultOpen:n,onOpenChange:r,disabled:i}=e,[a,o]=hd({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:s,setMounted:c,transitionStatus:l}=Yc(a,!0,!0),u=si(),[d,f]=_.useState(),p=d===null?void 0:d??u,m=kr(e=>{let t=!a,n=ti(Vr,e.nativeEvent);r(t,n),!n.isCanceled&&o(t)});return _.useMemo(()=>({defaultPanelId:u,disabled:i,handleTrigger:m,mounted:s,open:a,panelId:p,setMounted:c,setOpen:o,setPanelIdState:f,transitionStatus:l}),[u,i,m,s,a,p,c,o,f,l])}var S2=_.createContext(void 0);function C2(){let e=_.useContext(S2);if(e===void 0)throw Error(Qt(15));return e}var w2=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=Vn.startingStyle]=`startingStyle`,e[e.endingStyle=Vn.endingStyle]=`endingStyle`,e}({}),T2=function(e){return e.panelOpen=`data-panel-open`,e}({}),E2={[w2.open]:``},D2={[w2.closed]:``},O2={open(e){return e?{[T2.panelOpen]:``}:null}},k2={open(e){return e?E2:D2},...Wn},A2=_.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,u=kr(o),d=x2({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=_.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),p=_.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),m=Fn(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:k2});return(0,G.jsx)(S2.Provider,{value:p,children:m})}),j2={...O2,...Wn},M2=_.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=C2(),{className:s,disabled:c=o,render:l,nativeButton:u=!0,style:d,...f}=e,{getButtonProps:p,buttonRef:m}=Lr({disabled:c,focusableWhenDisabled:!0,native:u});return Fn(`button`,e,{state:a,ref:[t,m],props:[{"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i},f,p],stateAttributesMapping:j2})}),N2={height:void 0,width:void 0};function P2(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:i,mounted:a,onOpenChange:o,open:s,setMounted:c,setOpen:l,transitionStatus:u}=e,d=_.useRef(null),f=_.useRef(null),[p,m]=_.useState(N2),h=_.useRef(N2),g=_.useRef(!1),v=_.useRef(s),y=_.useRef(!1),[b,x]=_.useState(!1),S=_.useRef(null),C=rn(t,d),w=sa(s),T=Xc(d),E=!s&&!a,D=b?`idle`:u,O=s&&(v.current||y.current),k=!s&&a&&f.current===`css-animation`&&p.height===void 0&&p.width===void 0?h.current:p,A=n&&E&&f.current!==`css-animation`,j=kr((e,t=!0)=>{t&&(h.current=e),m(e)}),M=kr(()=>{S.current?.(),S.current=null}),N=kr(e=>{M(),S.current=()=>{S.current=null,e()}}),P=kr(()=>{s&&a&&f.current===`css-animation`&&(y.current=!0)});W(()=>{!b||u===`starting`||x(!1)},[b,u]),_.useEffect(()=>()=>{P(),M()},[P,M]),W(()=>{let e=d.current;if(!e)return;!s&&S.current&&M();let t=I2(e,O);if(f.current=t,s&&u===`idle`&&v.current&&t===`css-animation`){h.current=F2(e);return}if(s&&u===`starting`){let n=g.current;if(g.current=!1,t===`none`){j(F2(e)),x(!0);return}if(t===`css-transition`){let t=z2(e);if(j(F2(e)),!n)return t;let r=R2(e,`transition-duration`,`0s`);return N(r),x(!0),t}j(F2(e));let r=R2(e,`animation-name`,`none`);if(!n){r();return}let i=R2(e,`animation-duration`,`0s`);r(),N(i),x(!0);return}if(!s&&a&&(u===`idle`||u===`starting`)){if(v.current=!1,y.current=!1,t===`none`){j(N2,!1),c(!1);return}j(F2(e));return}if(u!==`ending`)return;if(t===`none`){c(!1);return}let n=F2(e);if(!(n.height>0||n.width>0)){c(!1);return}j(n),t===`css-animation`&&R2(e,`animation-name`,`none`)()},[a,s,M,j,c,N,O,u]),Zc({enabled:s&&a&&D===`idle`,open:!0,ref:d,onComplete(){s&&j(N2,!1)}}),_.useEffect(()=>{if(s||!a||D!==`ending`||!d.current)return;let e=new AbortController,t=-1;function n(){w.current||(c(!1),j(N2,!1))}return t=da.request(()=>{T(n,e.signal)}),()=>{da.cancel(t),e.abort()}},[w,a,s,D,T,j,c]),W(()=>{let e=d.current;!e||!n||!E||e.setAttribute(`hidden`,`until-found`)},[E,n]),_.useEffect(function(){let e=d.current;if(!e)return;function t(e){let t=ti(Br,e);o(!0,t),!t.isCanceled&&(g.current=!0,l(!0))}return aa(e,`beforematch`,t)},[o,l]);let F=i||n||a||s;return{height:k.height,props:{...A?{[w2.startingStyle]:``}:void 0,hidden:E,id:r},ref:C,shouldPreventOpenAnimation:O,shouldRender:F,transitionStatus:D,width:k.width}}function F2(e){return{height:e.scrollHeight,width:e.scrollWidth}}function I2(e,t){let n=rr(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&L2(n.animationDuration),i=L2(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function L2(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function R2(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function z2(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=da.request(n);return()=>{da.cancel(r),n()}}var B2=function(e){return e.collapsiblePanelHeight=`--collapsible-panel-height`,e.collapsiblePanelWidth=`--collapsible-panel-width`,e}({}),V2=_.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{defaultPanelId:l,mounted:u,onOpenChange:d,open:f,setMounted:p,setPanelIdState:m,setOpen:h,state:g,transitionStatus:_}=C2(),v=r??!1,y=i??!1,b=o||void 0,x=b??l;W(()=>(m(e=>b??(e===null?void 0:e)),()=>{m(e=>e===b?null:e)}),[b,m]);let{height:S,props:C,ref:w,shouldPreventOpenAnimation:T,shouldRender:E,transitionStatus:D,width:O}=P2({externalRef:t,hiddenUntilFound:v,id:x,keepMounted:y,mounted:u,onOpenChange:d,open:f,setMounted:p,setOpen:h,transitionStatus:_}),k={...g,transitionStatus:D},A=yn(s,k),j=Fn(`div`,{...e,style:void 0},{state:k,ref:w,props:[C,{style:{[B2.collapsiblePanelHeight]:S===void 0?`auto`:`${S}px`,[B2.collapsiblePanelWidth]:O===void 0?`auto`:`${O}px`}},c,A?{style:A}:void 0,T?{style:{animationName:`none`}}:void 0],stateAttributesMapping:k2});return E?j:null});function H2({...e}){return(0,G.jsx)(A2,{"data-slot":`collapsible`,...e})}function U2({...e}){return(0,G.jsx)(M2,{"data-slot":`collapsible-trigger`,...e})}function W2({...e}){return(0,G.jsx)(V2,{"data-slot":`collapsible-content`,...e})}var G2={tool:ue,command:le,mcp:ie,agent_message:B,error:re};function K2(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function q2(e){let t=[],n=(e,n)=>{let r=K2(n).trim();r&&t.push({label:e,value:r})};return e.kind===`command`&&(n(`命令`,e.command),typeof e.exitCode==`number`?n(`退出码`,String(e.exitCode)):n(`状态`,e.status),n(`结果`,e.result),n(`错误`,e.error)),e.kind===`mcp`&&(n(`工具`,[e.server,e.toolName].filter(Boolean).join(`.`)),n(`参数摘要`,e.argumentSummary),n(`参数`,e.arguments),n(`结果`,e.result),n(`错误`,e.error)),e.kind===`tool`&&(n(`工具`,e.toolName),n(`参数摘要`,e.argumentSummary),n(`参数`,e.arguments),n(`结果`,e.result),n(`错误`,e.error)),(e.kind===`agent_message`||e.kind===`status`||e.kind===`error`)&&e.detail&&n(`详情`,e.detail),t}function J2({text:e}){let[t,n]=_.useState(!1);async function r(){try{await navigator.clipboard.writeText(e),n(!0),window.setTimeout(()=>n(!1),1500)}catch{}}return(0,G.jsx)(`button`,{type:`button`,onClick:r,title:`复制`,className:`shrink-0 rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,children:t?(0,G.jsx)(j,{className:`size-3`}):(0,G.jsx)(F,{className:`size-3`})})}function Y2({part:e}){let t=e.label===`结果`;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:e.label}),t?(0,G.jsx)(J2,{text:e.value}):null]}),(0,G.jsx)(`pre`,{className:`overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs whitespace-pre-wrap text-foreground`,children:e.value})]})}function X2({event:e}){let[t,n]=_.useState(!1),r=G2[e.kind]||B,i=e.kind===`agent_message`,a=_.useMemo(()=>q2(e),[e]);return i||a.length>0?(0,G.jsxs)(H2,{open:t,onOpenChange:n,children:[(0,G.jsxs)(U2,{className:`flex w-full items-center gap-1.5 rounded-md px-1.5 py-1 text-left text-sm hover:bg-muted`,children:[(0,G.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`flex-1 truncate text-foreground`,children:i?`说明`:e.text}),(0,G.jsx)(N,{className:U(`size-3.5 shrink-0 text-muted-foreground transition-transform`,t&&`rotate-90`)})]}),(0,G.jsx)(W2,{className:`flex flex-col gap-2 px-1.5 pt-1 pb-1.5 pl-6`,children:i&&!a.length?(0,G.jsx)(`p`,{className:`text-sm whitespace-pre-wrap text-foreground`,children:e.detail||e.text}):a.map(e=>(0,G.jsx)(Y2,{part:e},e.label))})]}):(0,G.jsxs)(`div`,{className:`flex items-start gap-1.5 px-1.5 py-1 text-sm`,children:[(0,G.jsx)(r,{className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`flex-1 truncate text-foreground`,children:e.text})]})}function Z2({trace:e}){let[t,n]=_.useState(!1),r=_.useMemo(()=>Ut(e.traceEvents||[]),[e.traceEvents]);if(!r.length)return null;let i=Wt(r,e.pending===!0);return(0,G.jsxs)(H2,{open:t,onOpenChange:n,className:`w-full max-w-[75%]`,children:[(0,G.jsxs)(U2,{className:`flex w-full items-center gap-1.5 rounded-lg border bg-muted/40 px-2.5 py-1.5 text-left text-xs text-muted-foreground hover:bg-muted`,children:[(0,G.jsx)(N,{className:U(`size-3.5 shrink-0 transition-transform`,t&&`rotate-90`)}),(0,G.jsxs)(`span`,{className:`flex-1`,children:[`执行过程 · `,i]})]}),(0,G.jsx)(W2,{className:`mt-1 flex flex-col gap-0.5 rounded-lg border bg-muted/20 p-1.5`,children:r.map((e,t)=>(0,G.jsx)(X2,{event:e},`${e.kind}-${t}`))})]})}var Q2={activity:`聊天`,terminal:`终端`,files:`文件`,detail:`详情`,config:`配置`,check:`检查`},$2=[`activity`,`files`],e4=Object.keys(Q2).filter(e=>!$2.includes(e)),t4=`__streaming__`,n4=`__streaming_trace__`,r4=/^(\d+\.\d+\.\d+)-([A-Za-z0-9][A-Za-z0-9_.-]*)$/,i4={ok:`secondary`,warn:`outline`,danger:`destructive`,info:`outline`},a4={agent:`当前 AGENT 覆盖`,container:`容器默认模板`,inferred:`从启动命令推导`,none:`未配置`},o4={user:`用户`,assistant:`AGENT`,system:`系统`};function s4(e){return e===`history`?{label:`仅历史`,tone:`warn`}:e.toLowerCase().includes(`up`)?{label:`运行中`,tone:`ok`}:{label:`已停止`,tone:`danger`}}function c4(e){let t=e.lastResumeAt?u4(e.lastResumeAt):`暂无记录`;return e.lastResumeOk===!0?{value:`最近成功`,tone:`ok`,detail:`最近一次 resume 成功,时间:${t}。`}:e.lastResumeOk===!1?{value:`最近失败`,tone:`danger`,detail:e.lastResumeError?`最近一次 resume 失败:${e.lastResumeError}`:`最近一次 resume 失败,时间:${t}。`}:e.resumeSupported?{value:`未执行`,tone:`warn`,detail:`支持 resume,但当前会话还没有最近一次执行记录。`}:{value:`不支持`,tone:`warn`,detail:`当前 Agent 程序或模板不支持 resume。`}}function l4({title:e,rows:t}){return(0,G.jsxs)(Ph,{children:[(0,G.jsx)(Fh,{children:(0,G.jsx)(Ih,{className:`text-sm`,children:e})}),(0,G.jsx)(Lh,{className:`flex flex-col divide-y`,children:t.map(e=>(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5 py-2 first:pt-0 last:pb-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.label}),e.tone?(0,G.jsx)(Gu,{variant:i4[e.tone],children:e.value}):(0,G.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e.value})]}),e.detail?(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.detail}):null]},e.label))})]})}function u4(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function d4({text:e}){let[t,n]=_.useState(!1);async function r(){try{await navigator.clipboard.writeText(e),n(!0),window.setTimeout(()=>n(!1),1500)}catch{}}return(0,G.jsx)(`button`,{type:`button`,onClick:r,title:`复制`,className:`rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,children:t?(0,G.jsx)(j,{className:`size-3`}):(0,G.jsx)(F,{className:`size-3`})})}function f4({session:e,messages:t,mode:n}){let r=_.useMemo(()=>Vt(t),[t]),i=_.useRef(null),a=_.useRef(!0);function o(){let e=i.current;e&&(a.current=e.scrollHeight-e.scrollTop-e.clientHeight<48)}return _.useEffect(()=>{let e=i.current;!e||!a.current||(e.scrollTop=e.scrollHeight)},[r]),e?r.length?(0,G.jsx)(`div`,{ref:i,onScroll:o,className:`h-full overflow-x-hidden overflow-y-auto overscroll-y-contain`,children:(0,G.jsx)(`div`,{className:`flex flex-col gap-3 p-4`,children:r.map(e=>{let t=e.mode===`agent`||e.mode===`command`?e.mode:``,r=t!==``&&t!==n,i=e.streamTrace===!0&&!e.pairedTrace;return(0,G.jsxs)(`div`,{className:U(`flex flex-col gap-1 transition-opacity`,e.role===`user`?`items-end`:`items-start`,r&&`opacity-25`),children:[e.pairedTrace?(0,G.jsx)(Z2,{trace:e.pairedTrace}):null,i?(0,G.jsx)(Z2,{trace:e}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:U(`max-w-full rounded-xl px-3 py-2 text-sm sm:max-w-[75%]`,e.role===`user`?`max-w-[88%] bg-[color-mix(in_oklch,var(--muted),black_10%)] text-foreground whitespace-pre-wrap sm:max-w-[75%]`:e.role===`system`?`bg-transparent whitespace-pre-wrap text-muted-foreground italic`:`bg-muted text-foreground`,e.pending&&`opacity-70`),children:e.role===`assistant`?(0,G.jsx)(Nq,{content:e.content||(e.pending?`…`:``)}):e.content||(e.pending?`…`:``)}),(0,G.jsxs)(`span`,{className:`flex items-center gap-1 px-1 text-xs text-muted-foreground`,children:[u4(e.timestamp),e.interrupted?` · 已停止`:``,e.content&&!e.pending?(0,G.jsx)(d4,{text:e.content}):null]})]})]},e.id)})})}):(0,G.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-sm text-muted-foreground`,children:(0,G.jsx)(`p`,{children:`还没有对话记录,在下方输入内容开始与 AGENT 交流。`})}):(0,G.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-sm text-muted-foreground`,children:(0,G.jsx)(`p`,{children:`请选择左侧的容器 / AGENT,或点击「新建容器」创建一个新会话。`})})}function p4({text:e}){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-center text-sm text-muted-foreground`,children:e})}function m4({detail:e}){if(!e)return(0,G.jsx)(p4,{text:`请先选择左侧的容器 / AGENT`});let t=s4(e.status),n=c4(e),r=r4.test(e.applied.imageVersion||``),i=!!(e.applied.hostPath&&e.applied.containerPath);return(0,G.jsxs)(`div`,{className:`flex h-full flex-col gap-3 overflow-auto p-4`,children:[(0,G.jsx)(l4,{title:`运行检查`,rows:[{label:`容器状态`,value:t.label,tone:t.tone,detail:t.tone===`ok`?`容器处于可交互状态。`:`当前不是活跃运行态,部分功能可能受限。`},{label:`Agent 输入`,value:e.agentEnabled?`已配置`:`未配置`,tone:e.agentEnabled?`ok`:`warn`,detail:e.agentEnabled?`活动页可直接发送 Agent 提示词。`:`当前会话不支持 Agent 模式。`},{label:`Resume 健康`,value:n.value,tone:n.tone,detail:n.detail},{label:`镜像版本`,value:r?`格式正常`:`格式异常`,tone:r?`ok`:`danger`,detail:e.applied.imageVersion?`当前值:${e.applied.imageVersion}。建议保持 x.y.z-后缀 格式,便于 manyoyo 的版本校验。`:`缺少 imageVersion,manyoyo 的版本校验会失效。`},{label:`工作目录映射`,value:i?`已配置`:`缺失`,tone:i?`ok`:`danger`,detail:i?`宿主目录与容器目录都已配置。`:`hostPath / containerPath 是容器会话最关键的上下文。`}]}),e.lastResumeError?(0,G.jsx)(l4,{title:`最近问题`,rows:[{label:`Resume 错误`,value:`有错误输出`,tone:`danger`,detail:e.lastResumeError}]}):null]})}function h4({detail:e}){if(!e)return(0,G.jsx)(p4,{text:`请先选择左侧的容器 / AGENT`});let t=e.applied,n=a4[e.agentPromptSource]||`未配置`,r=[];return t.shellPrefix&&r.push({label:`shellPrefix`,value:t.shellPrefix}),t.shell&&r.push({label:`shell`,value:t.shell}),t.shellSuffix&&r.push({label:`shellSuffix`,value:t.shellSuffix}),t.defaultCommand&&t.defaultCommand!==t.shell?r.push({label:`启动命令`,value:t.defaultCommand}):t.shell||r.push({label:`启动命令`,value:t.defaultCommand||`—`}),r.push({label:`Agent 模板`,value:e.agentPromptCommand||`—`}),r.push({label:`模板来源`,value:n}),r.push({label:`yolo`,value:t.yolo||`—`}),(0,G.jsxs)(`div`,{className:`flex h-full flex-col gap-3 overflow-auto p-4`,children:[(0,G.jsx)(l4,{title:`基础配置`,rows:[{label:`AGENT`,value:e.agentName||e.name||`—`},{label:`containerName`,value:t.containerName||e.containerName||`—`},{label:`imageName`,value:t.imageName||e.image||`—`},{label:`imageVersion`,value:t.imageVersion||`—`},{label:`containerMode`,value:t.containerMode||`default`}]}),(0,G.jsx)(l4,{title:`路径与资源`,rows:[{label:`hostPath`,value:t.hostPath||`—`},{label:`containerPath`,value:t.containerPath||`—`},{label:`env 数量`,value:String(t.envCount||0)},{label:`volume 数量`,value:String(t.volumeCount||0)},{label:`port 数量`,value:String(t.portCount||0)}]}),(0,G.jsx)(l4,{title:`命令与 Agent`,rows:r})]})}function g4({detail:e}){if(!e)return(0,G.jsx)(p4,{text:`请先选择左侧的容器 / AGENT`});let t=s4(e.status),n=c4(e),r=a4[e.agentPromptSource]||`未配置`,i=o4[e.latestRole]||`暂无`,a=e.latestTimestamp?u4(e.latestTimestamp):`暂无`;return(0,G.jsxs)(`div`,{className:`flex h-full flex-col gap-3 overflow-auto p-4`,children:[(0,G.jsx)(l4,{title:`会话概览`,rows:[{label:`AGENT`,value:e.agentName||e.name},{label:`容器`,value:e.containerName||`—`},{label:`状态`,value:t.label,tone:t.tone},{label:`镜像`,value:e.image||e.applied.imageName||`—`},{label:`最近更新`,value:e.updatedAt?u4(e.updatedAt):`—`},{label:`消息数`,value:String(e.messageCount||0)}]}),(0,G.jsx)(l4,{title:`Agent 运行`,rows:[{label:`已启用`,value:e.agentEnabled?`是`:`否`,tone:e.agentEnabled?`ok`:`warn`},{label:`程序`,value:e.agentProgram||`—`},{label:`模板来源`,value:r},{label:`支持 resume`,value:e.resumeSupported?`是`:`否`,tone:e.resumeSupported?`ok`:`warn`},{label:`最近 resume`,value:e.lastResumeAt?u4(e.lastResumeAt):`暂无`},{label:`最近结果`,value:e.lastResumeOk==null?`暂无`:e.lastResumeOk?`成功`:`失败`,tone:e.lastResumeOk==null?`info`:e.lastResumeOk?`ok`:`danger`}]}),(0,G.jsx)(l4,{title:`用量统计`,rows:e.usageTotal?[{label:`累计输入 tokens`,value:String(e.usageTotal.inputTokens)},{label:`累计输出 tokens`,value:String(e.usageTotal.outputTokens)},{label:`累计花费`,value:typeof e.usageTotal.costUsd==`number`?`$${e.usageTotal.costUsd.toFixed(4)}`:`暂不支持`}]:[{label:`状态`,value:`暂无数据`,tone:`info`,detail:`当前 Agent 程序不支持用量统计,或还未执行过对话。`}]}),(0,G.jsx)(l4,{title:`最近活动`,rows:[{label:`最近角色`,value:i},{label:`最近时间`,value:a},{label:`resume 状态`,value:n.value,tone:n.tone}]})]})}function _4({draft:e,onDraftChange:t,onSend:n,onStop:r,mode:i,onModeChange:a,disabled:o,sending:s,session:c,onOpenCliTemplate:l,onOpenModel:u}){let d=xm(),[f,p]=_.useState(!1),m=i===`agent`&&!!c&&!c?.agentEnabled,h=!!c?.archived,g=o||m||h;return(0,G.jsxs)(`div`,{className:`border-t p-3`,children:[(0,G.jsx)(_p,{placeholder:o?`请先在左侧选择一个容器 / AGENT`:h?`该 AGENT 已被删除,仅可查看历史消息`:m?`当前会话不支持 Agent 模式`:i===`command`?`输入容器命令,例如: ls -la`:`输入要发给 AGENT 的内容`,className:`min-h-16 resize-none`,value:e,disabled:g,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key!==`Enter`||e.nativeEvent.isComposing||d||e.shiftKey||e.altKey||(e.preventDefault(),!s&&!g&&n())}}),(0,G.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,G.jsxs)(v2,{open:f,onOpenChange:p,children:[(0,G.jsx)(y2,{render:(0,G.jsx)(Pu,{variant:`outline`,className:`px-4`,disabled:o}),children:`选项`}),(0,G.jsx)(b2,{align:`start`,className:`w-44 p-1`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(Pu,{variant:i===`agent`?`secondary`:`ghost`,size:`sm`,className:`justify-start`,onClick:()=>{a(`agent`),p(!1)},children:`Agent对话`}),(0,G.jsx)(Pu,{variant:i===`command`?`secondary`:`ghost`,size:`sm`,className:`justify-start`,onClick:()=>{a(`command`),p(!1)},children:`系统命令`}),(0,G.jsx)(Qu,{className:`my-1`}),(0,G.jsxs)(Pu,{variant:`ghost`,size:`sm`,className:`justify-start`,disabled:!c||h,onClick:()=>{l(),p(!1)},children:[`CLI · `,c?.agentProgram||`未设置`]}),(0,G.jsxs)(Pu,{variant:`ghost`,size:`sm`,className:`justify-start`,disabled:!c||h,onClick:()=>{u(),p(!1)},children:[`模型 · `,c?.model||`跟随默认`]})]})})]}),s?(0,G.jsx)(Pu,{variant:`destructive`,className:`px-4`,onClick:r,children:`停止`}):(0,G.jsxs)(Pu,{className:`px-4`,onClick:n,disabled:g,children:[(0,G.jsx)(se,{"data-icon":`inline-start`}),`发送`]})]})]})}function v4({activeSession:e,onAfterSend:t,filesEditorRef:n,confirmLeaveIfDirty:r,creatingAgent:i}){let[a,o]=_.useState(`activity`),[s,c]=_.useState([]),[l,u]=_.useState(!1),[d,f]=_.useState(``),[p,m]=_.useState(`agent`),[h,g]=_.useState(!1),[v,y]=_.useState(()=>new Set),[b,x]=_.useState(``),[S,C]=_.useState(!1),[w,T]=_.useState(!1),[E,D]=_.useState(null),O=_.useRef(e?.name??null);_.useEffect(()=>{O.current=e?.name??null},[e?.name]);let k=e?v.has(e.name):!1;async function A(e){a!==e&&(a===`files`&&!await r()||o(e))}function j(e,t){y(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})}let M=_.useCallback(t=>e?(t||(x(``),u(!0)),Kt(`/api/sessions/${encodeURIComponent(e.name)}/messages`).then(e=>{c(Array.isArray(e.messages)?e.messages:[])}).catch(e=>{t||x(e instanceof Error?e.message:`加载消息失败`)}).finally(()=>{t||u(!1)})):(c([]),u(!1),Promise.resolve()),[e?.name]),N=_.useCallback(()=>e?Kt(`/api/sessions/${encodeURIComponent(e.name)}/detail`).then(e=>D(e.detail||null)).catch(()=>{}):(D(null),Promise.resolve()),[e?.name]);_.useEffect(()=>{M(),N()},[M,N]),kh(e,s,_.useCallback(async()=>{await Promise.all([M(!0),N()])},[M,N]),k);async function P(){let n=d.trim();if(!n||!e||v.has(e.name))return;let r=e.name,i=()=>O.current===r;if(f(``),x(``),c(e=>[...e,{id:`local-${Date.now()}`,role:`user`,content:n,timestamp:new Date().toISOString(),mode:p}]),p===`command`){j(r,!0);try{let e=await qt(`/api/sessions/${encodeURIComponent(r)}/run`,{command:n});i()&&c(t=>[...t,{id:`result-${Date.now()}`,role:`system`,content:String(e.output||``),timestamp:new Date().toISOString(),mode:`command`,exitCode:e.exitCode}])}catch(e){i()&&x(e instanceof Error?e.message:`命令执行失败`)}finally{j(r,!1),t(),i()&&N()}return}j(r,!0);let a=[];c(e=>[...e,{id:n4,role:`assistant`,content:`[执行过程]`,timestamp:new Date().toISOString(),streamTrace:!0,traceEvents:[],pending:!0,mode:`agent`},{id:t4,role:`assistant`,content:``,timestamp:new Date().toISOString(),pending:!0,mode:`agent`}]);try{await Yt(`/api/sessions/${encodeURIComponent(r)}/agent/stream`,{prompt:n},e=>{i()&&(e.type===`trace`?(e.traceEvent&&a.push(e.traceEvent),c(e=>e.map(e=>e.id===n4?{...e,traceEvents:a.slice()}:e))):e.type===`content_delta`?c(t=>t.map(t=>t.id===t4?{...t,content:e.content}:t)):e.type===`result`?c(t=>t.map(e=>e.id===n4?{...e,pending:!1}:e).map(t=>t.id===t4?{...t,content:e.output,pending:!1,interrupted:e.interrupted,exitCode:e.exitCode}:t)):e.type===`error`&&(x(e.error),c(e=>e.filter(e=>e.id!==t4&&e.id!==n4))))})}catch(e){i()&&(x(e instanceof Error?e.message:`发送失败`),c(e=>e.filter(e=>e.id!==t4&&e.id!==n4)))}finally{j(r,!1),t(),i()&&N()}}async function F(){if(e)try{await qt(`/api/sessions/${encodeURIComponent(e.name)}/agent/stop`,{})}catch(e){x(e instanceof Error?e.message:`停止失败`)}}return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,children:[(0,G.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b px-3`,children:[(0,G.jsx)(dh,{}),(0,G.jsx)(Qu,{orientation:`vertical`,className:`h-4!`}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,G.jsx)(Pu,{variant:a===`activity`?`secondary`:`ghost`,size:`sm`,"aria-current":a===`activity`,onClick:()=>A(`activity`),children:`聊天`}),(0,G.jsx)(Pu,{variant:a===`files`?`secondary`:`ghost`,size:`sm`,"aria-current":a===`files`,onClick:()=>A(`files`),children:`文件`}),(0,G.jsxs)(v2,{open:h,onOpenChange:g,children:[(0,G.jsx)(y2,{render:(0,G.jsx)(Pu,{variant:`ghost`,size:`icon-sm`,title:`更多标签页`}),children:(0,G.jsx)(I,{})}),(0,G.jsx)(b2,{align:`start`,className:`w-36 p-1`,children:(0,G.jsx)(`div`,{className:`flex flex-col gap-1`,children:e4.map(e=>(0,G.jsx)(Pu,{variant:a===e?`secondary`:`ghost`,size:`sm`,className:`justify-start`,"aria-current":a===e,onClick:()=>{A(e),g(!1)},children:Q2[e]},e))})})]})]}),(0,G.jsx)(Qu,{orientation:`vertical`,className:`h-4! shrink-0`}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 truncate text-sm font-medium`,children:[(0,G.jsx)(`span`,{className:`truncate`,children:e?`${e.containerRemark||e.containerName} · ${e.agentRemark||e.agentName}`:`选择左侧的容器 / AGENT 开始`}),e?.archived?(0,G.jsx)(Gu,{variant:`outline`,className:`shrink-0`,children:`已停止`}):null]})]}),(0,G.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-x-hidden`,children:[i?(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2`,children:[(0,G.jsx)(Ku,{className:`size-6`}),(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`正在创建 AGENT...`})]}):a===`activity`?l?(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,G.jsx)(Ku,{className:`size-6`})}):(0,G.jsx)(f4,{session:e,messages:s,mode:p},e?.name??`none`):null,a===`terminal`?(0,G.jsx)(Z0,{session:e}):null,a===`files`?(0,G.jsx)(zq,{activeSession:e,editorStateRef:n,confirmLeaveIfDirty:r}):null,a===`detail`?(0,G.jsx)(g4,{detail:E}):null,a===`config`?(0,G.jsx)(h4,{detail:E}):null,a===`check`?(0,G.jsx)(m4,{detail:E}):null]}),a===`activity`&&b?(0,G.jsx)(Ju,{variant:`destructive`,className:`mx-3 mb-2`,children:(0,G.jsx)(Yu,{children:b})}):null,a===`activity`?(0,G.jsx)(_4,{draft:d,onDraftChange:f,onSend:P,onStop:F,mode:p,onModeChange:m,disabled:!e||l,sending:k,session:e,onOpenCliTemplate:()=>C(!0),onOpenModel:()=>T(!0)}):null,(0,G.jsx)(Nh,{open:S,onOpenChange:C,session:e,onSaved:()=>{t(),N()}}),(0,G.jsx)(Hq,{open:w,onOpenChange:T,session:e,onSaved:()=>{t(),N()}})]})}function y4(){let[e,t]=_.useState([]),[n,r]=_.useState(!0),[i,a]=_.useState(``),o=_.useCallback(async()=>{a(``);try{let e=await Kt(`/api/sessions`),n=Array.isArray(e.sessions)?e.sessions:[];return t(n),n}catch(e){return a(e instanceof Error?e.message:`加载会话列表失败`),[]}finally{r(!1)}},[]);return _.useEffect(()=>{o()},[o]),{sessions:e,containers:_.useMemo(()=>Xt(e),[e]),loading:n,error:i,refresh:o}}function b4(){let[e,t]=_.useState(null),[n,r]=_.useState(!1),i=_.useCallback((e,n)=>new Promise(r=>{t({fileName:e,save:n,resolve:r})}),[]);function a(e){t(t=>(t?.resolve(e),null))}async function o(){if(!e||n)return;r(!0);let t=await e.save();r(!1),a(t?`proceed`:`cancel`)}return{ask:i,dialog:(0,G.jsx)(Fu,{open:e!==null,onOpenChange:e=>{!e&&!n&&a(`cancel`)},children:(0,G.jsxs)(Ru,{className:`sm:max-w-sm`,children:[(0,G.jsx)(Vu,{className:`sr-only`,children:`有未保存的修改`}),(0,G.jsxs)(Hu,{className:`text-foreground`,children:[`是否要保存对 `,e?.fileName,` 的更改?`,(0,G.jsx)(`br`,{}),`如果不保存,你的更改将丢失。`]}),(0,G.jsxs)(Bu,{children:[(0,G.jsxs)(Pu,{disabled:n,onClick:o,children:[n?(0,G.jsx)(Ku,{"data-icon":`inline-start`}):null,`保存`]}),(0,G.jsx)(Pu,{variant:`outline`,disabled:n,onClick:()=>a(`proceed`),children:`不保存`}),(0,G.jsx)(Pu,{variant:`outline`,disabled:n,onClick:()=>a(`cancel`),children:`取消`})]})]})})}}function x4(){let{sessions:e,containers:t,loading:n,error:r,refresh:i}=y4(),[a,o]=_.useState(null),[s,c]=_.useState(null),l=_.useMemo(()=>e.find(e=>e.name===a)??null,[e,a]),u=_.useRef(null),{ask:d,dialog:f}=b4(),p=_.useCallback(async()=>{let e=u.current;return!e||await d(e.fileName,e.save)===`proceed`},[d]);function m(e){o(e?e.name:null)}return(0,G.jsxs)(lh,{className:`h-svh overflow-hidden`,style:{"--sidebar-width":`18rem`},children:[(0,G.jsx)(Eh,{containers:t,loading:n,error:r,activeSessionName:a,onSelectSession:m,onRefresh:i,confirmLeaveIfDirty:p,creatingAgentContainer:s,onCreatingAgentContainerChange:c}),(0,G.jsx)(fh,{className:`min-h-0 min-w-0`,children:(0,G.jsx)(v4,{activeSession:l,onAfterSend:i,filesEditorRef:u,confirmLeaveIfDirty:p,creatingAgent:s!==null})}),f]})}var S4=`/shadcn`;function C4(){let[e,t]=_.useState(``),[n,r]=_.useState(``),[i,a]=_.useState(``),[o,s]=_.useState(!1),[c,l]=_.useState(!0);_.useEffect(()=>{let e=!1;return fetch(`/api/sessions`,{headers:{"X-Requested-With":`XMLHttpRequest`}}).then(t=>{if(!e&&t.ok){window.location.href=S4;return}e||l(!1)}).catch(()=>{e||l(!1)}),()=>{e=!0}},[]);async function u(t){if(t.preventDefault(),!o){a(``),s(!0);try{let t=await fetch(`/auth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({username:e.trim(),password:n})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r.error||`登录失败`);window.location.href=S4}catch(e){a(e instanceof Error?e.message:`登录失败`),s(!1)}}}return c?(0,G.jsx)(`div`,{className:`flex min-h-svh items-center justify-center`}):(0,G.jsx)(`div`,{className:`flex min-h-svh items-center justify-center p-6`,children:(0,G.jsxs)(Ph,{className:`w-full max-w-sm`,children:[(0,G.jsx)(Fh,{children:(0,G.jsx)(Ih,{className:`text-2xl`,children:`MANYOYO Web`})}),(0,G.jsx)(Lh,{children:(0,G.jsx)(`form`,{onSubmit:u,children:(0,G.jsxs)($u,{children:[(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`login-username`,children:`用户名`}),(0,G.jsx)(yd,{id:`login-username`,autoFocus:!0,autoComplete:`username`,value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),document.getElementById(`login-password`)?.focus())}})]}),(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`login-password`,children:`密码`}),(0,G.jsx)(yd,{id:`login-password`,type:`password`,autoComplete:`current-password`,value:n,onChange:e=>r(e.target.value)})]}),i?(0,G.jsx)(Ju,{variant:`destructive`,children:(0,G.jsx)(Yu,{children:i})}):null,(0,G.jsx)(Pu,{type:`submit`,className:`w-full`,disabled:o,children:o?`登录中...`:`登录`})]})})})]})})}var w4=`(prefers-color-scheme: dark)`,T4=[`dark`,`light`,`system`],E4=_.createContext(void 0);function D4(e){return e!==null&&T4.includes(e)}function O4(){return window.matchMedia(w4).matches?`dark`:`light`}function k4(){let e=document.createElement(`style`);return e.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;transition:none!important}`)),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.remove()})})}}function A4(e){return e instanceof HTMLElement&&!!(e.isContentEditable||e.closest(`input, textarea, select, [contenteditable='true']`))}function j4({children:e,defaultTheme:t=`system`,storageKey:n=`theme`,disableTransitionOnChange:r=!0,...i}){let[a,o]=_.useState(()=>{let e=localStorage.getItem(n);return D4(e)?e:t}),s=_.useCallback(e=>{localStorage.setItem(n,e),o(e)},[n]),c=_.useCallback(e=>{let t=document.documentElement,n=e===`system`?O4():e,i=r?k4():null;t.classList.remove(`light`,`dark`),t.classList.add(n),i&&i()},[r]);_.useEffect(()=>{if(c(a),a!==`system`)return;let e=window.matchMedia(w4),t=()=>{c(`system`)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}},[a,c]),_.useEffect(()=>{let e=e=>{e.repeat||e.metaKey||e.ctrlKey||e.altKey||A4(e.target)||e.key.toLowerCase()===`d`&&o(e=>{let t=e===`dark`?`light`:e===`light`?`dark`:O4()===`dark`?`light`:`dark`;return localStorage.setItem(n,t),t})};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[n]),_.useEffect(()=>{let e=e=>{if(e.storageArea===localStorage&&e.key===n){if(D4(e.newValue)){o(e.newValue);return}o(t)}};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}},[t,n]);let l=_.useMemo(()=>({theme:a,setTheme:s}),[a,s]);return(0,G.jsx)(E4.Provider,{...i,value:l,children:e})}var M4=window.location.pathname===`/shadcn/auth/login`;(0,v.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(_.StrictMode,{children:(0,G.jsx)(j4,{children:M4?(0,G.jsx)(C4,{}):(0,G.jsx)(x4,{})})}));</script>
|
|
142
|
+
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),i$&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=D$(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=HQ(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-O$),O$),t/=O$,t/Math.abs(t)+Math.round(t*(k$-1)))}shouldForceSelection(e){return e$?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(`mouseup`,this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),A$)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(`mouseup`,this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(e$&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]<n.lines.length){let e=n.lines.get(this._model.selectionEnd[1]);e&&e.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<j$&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&t[0]!==void 0&&t[1]!==void 0){let e=p$(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,n=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!n){this._oldHasSelection&&this._fireOnSelectionChange(e,t,n);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,n)}_fireOnSelectionChange(e,t,n){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=n,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c<o.length&&o.charAt(c+1)===` `;)c++}else{let t=e[0],n=e[0];a.getWidth(t)===0&&(u++,t--),a.getWidth(n)===2&&(d++,n++);let r=a.getString(n).length;for(r>1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n<a.length&&c+1<o.length&&!this._isCharWordSeparator(a.loadCell(n+1,this._workCell));){a.loadCell(n+1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,n++):e>1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(!(!t&&o.slice(s,c).trim()===``)){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=D$(n,this._bufferService.cols)}};N$=Xq([Zq(3,wJ),Zq(4,EJ),Zq(5,RJ),Zq(6,AJ),Zq(7,zJ),Zq(8,LJ)],N$);var P$=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},F$=class{constructor(){this._color=new P$,this._css=new P$}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},I$=Object.freeze((()=>{let e=[uQ.toColor(`#2e3436`),uQ.toColor(`#cc0000`),uQ.toColor(`#4e9a06`),uQ.toColor(`#c4a000`),uQ.toColor(`#3465a4`),uQ.toColor(`#75507b`),uQ.toColor(`#06989a`),uQ.toColor(`#d3d7cf`),uQ.toColor(`#555753`),uQ.toColor(`#ef2929`),uQ.toColor(`#8ae234`),uQ.toColor(`#fce94f`),uQ.toColor(`#729fcf`),uQ.toColor(`#ad7fa8`),uQ.toColor(`#34e2e2`),uQ.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:cQ.toCss(r,i,a),rgba:cQ.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:cQ.toCss(n,n,n),rgba:cQ.toRgba(n,n,n)})}return e})()),L$=uQ.toColor(`#ffffff`),R$=uQ.toColor(`#000000`),z$=uQ.toColor(`#ffffff`),B$=R$,V$={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},H$=L$,U$=class extends pY{constructor(e){super(),this._optionsService=e,this._contrastCache=new F$,this._halfContrastCache=new F$,this._onChangeColors=this._register(new Q),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:L$,background:R$,cursor:z$,cursorAccent:B$,selectionForeground:void 0,selectionBackgroundTransparent:V$,selectionBackgroundOpaque:lQ.blend(R$,V$),selectionInactiveBackgroundTransparent:V$,selectionInactiveBackgroundOpaque:lQ.blend(R$,V$),scrollbarSliderBackground:lQ.opacity(L$,.2),scrollbarSliderHoverBackground:lQ.opacity(L$,.4),scrollbarSliderActiveBackground:lQ.opacity(L$,.5),overviewRulerBorder:L$,ansi:I$.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(`minimumContrastRatio`,()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(`theme`,()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=W$(e.foreground,L$),t.background=W$(e.background,R$),t.cursor=lQ.blend(t.background,W$(e.cursor,z$)),t.cursorAccent=lQ.blend(t.background,W$(e.cursorAccent,B$)),t.selectionBackgroundTransparent=W$(e.selectionBackground,V$),t.selectionBackgroundOpaque=lQ.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=W$(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=lQ.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?W$(e.selectionForeground,sQ):void 0,t.selectionForeground===sQ&&(t.selectionForeground=void 0),lQ.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=lQ.opacity(t.selectionBackgroundTransparent,.3)),lQ.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=lQ.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=W$(e.scrollbarSliderBackground,lQ.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=W$(e.scrollbarSliderHoverBackground,lQ.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=W$(e.scrollbarSliderActiveBackground,lQ.opacity(t.foreground,.5)),t.overviewRulerBorder=W$(e.overviewRulerBorder,H$),t.ansi=I$.slice(),t.ansi[0]=W$(e.black,I$[0]),t.ansi[1]=W$(e.red,I$[1]),t.ansi[2]=W$(e.green,I$[2]),t.ansi[3]=W$(e.yellow,I$[3]),t.ansi[4]=W$(e.blue,I$[4]),t.ansi[5]=W$(e.magenta,I$[5]),t.ansi[6]=W$(e.cyan,I$[6]),t.ansi[7]=W$(e.white,I$[7]),t.ansi[8]=W$(e.brightBlack,I$[8]),t.ansi[9]=W$(e.brightRed,I$[9]),t.ansi[10]=W$(e.brightGreen,I$[10]),t.ansi[11]=W$(e.brightYellow,I$[11]),t.ansi[12]=W$(e.brightBlue,I$[12]),t.ansi[13]=W$(e.brightMagenta,I$[13]),t.ansi[14]=W$(e.brightCyan,I$[14]),t.ansi[15]=W$(e.brightWhite,I$[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<n;r++)t.ansi[r+16]=W$(e.extendedAnsi[r],I$[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};U$=Xq([Zq(0,AJ)],U$);function W$(e,t){if(e!==void 0)try{return uQ.toColor(e)}catch{}return t}var G$=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}forEach(e){for(let[t,n]of this._entries.entries())e(t,n)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},K$=class{constructor(){this._services=new G$,this._services.set(OJ,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=xJ(e).sort((e,t)=>e.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},q$={trace:0,debug:1,info:2,warn:3,error:4,off:5},J$=`xterm.js: `,Y$=class extends pY{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),X$=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=q$[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:J$)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};Y$=Xq([Zq(0,AJ)],Y$);var X$,Z$=class extends pY{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new Q),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new Q),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new Q),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=Array(e);for(let n=0;n<Math.min(e,this.length);n++)t[n]=this._array[this._getCyclicIndex(n)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error(`Can only recycle when the buffer is full`);return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...n){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<n.length;t++)this._array[this._getCyclicIndex(e+t)]=n[t];if(n.length&&this.onInsertEmitter.fire({index:e,amount:n.length}),this._length+n.length>this._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r<t;r++)this.set(e+r+n,this.get(e+r))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},Q$=3,$$=Object.freeze(new hJ),e1=0,t1=2,n1=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*Q$);let r=t||_J.fromCharData([0,pJ,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*Q$+0],n=t&2097151;return[this._data[e*Q$+1],t&2097152?this._combined[e]:n?lJ(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*Q$+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*Q$+0]=e|2097152|t[2]<<22):this._data[e*Q$+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*Q$+0]>>22}hasWidth(e){return this._data[e*Q$+0]&12582912}getFg(e){return this._data[e*Q$+1]}getBg(e){return this._data[e*Q$+2]}hasContent(e){return this._data[e*Q$+0]&4194303}getCodePoint(e){let t=this._data[e*Q$+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*Q$+0]&2097152}getString(e){let t=this._data[e*Q$+0];return t&2097152?this._combined[e]:t&2097151?lJ(t&2097151):``}isProtected(e){return this._data[e*Q$+2]&536870912}loadCell(e,t){return e1=e*Q$,t.content=this._data[e1+0],t.fg=this._data[e1+1],t.bg=this._data[e1+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*Q$+0]=t.content,this._data[e*Q$+1]=t.fg,this._data[e*Q$+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*Q$+0]=t|n<<22,this._data[e*Q$+1]=r.fg,this._data[e*Q$+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*Q$+0];r&2097152?this._combined[e]+=lJ(t):r&2097151?(this._combined[e]=lJ(r&2097151)+lJ(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*Q$+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length-e){let r=new _J;for(let n=this.length-e-t-1;n>=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;r<t;++r)this.setCell(e+r,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(e,t,n){if(e%=this.length,t<this.length-e){let r=new _J;for(let n=0;n<this.length-e-t;++n)this.setCell(e+n,this.loadCell(e+t+n,r));for(let e=this.length-t;e<this.length;++e)this.setCell(e,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,n)}replaceCells(e,t,n,r=!1){if(r){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,n),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.setCell(e++,n)}resize(e,t){if(e===this.length)return this._data.length*4*t1<this._data.buffer.byteLength;let n=e*Q$;if(e>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n<e;++n)this.setCell(n,t)}else{this._data=this._data.subarray(0,n);let t=Object.keys(this._combined);for(let n=0;n<t.length;n++){let r=parseInt(t[n],10);r>=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t<r.length;t++){let n=parseInt(r[t],10);n>=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*t1<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*t1<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t){for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);return}this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}copyFrom(e){this.length===e.length?this._data.set(e._data):this._data=new Uint32Array(e._data),this.length=e.length,this._combined={};for(let t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(let t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){let t=new e(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Q$+0]&4194303)return e+(this._data[e*Q$+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Q$+0]&4194303||this._data[e*Q$+2]&50331648)return e+(this._data[e*Q$+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e<Q$;e++)this._data[(n+i)*Q$+e]=a[(t+i)*Q$+e];a[(t+i)*Q$+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<Q$;e++)this._data[(n+i)*Q$+e]=a[(t+i)*Q$+e];a[(t+i)*Q$+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}let o=Object.keys(e._combined);for(let r=0;r<o.length;r++){let i=parseInt(o[r],10);i>=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t<n;){let e=this._data[t*Q$+0],n=e&2097151,a=e&2097152?this._combined[t]:n?lJ(n):mJ;if(i+=a,r)for(let e=0;e<a.length;++e)r.push(t);t+=e>>22||1}return r&&r.push(t),i}};function r1(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=s1(u,d,t),p=1,m=0;for(;p<u.length;){let e=s1(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function i1(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function a1(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function o1(e,t,n){let r=[],i=e.map((n,r)=>s1(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=s1(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function s1(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var c1=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new Q),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),cY(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};c1._nextId=1;var l1=c1,u1={},d1=u1.B;u1[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:``,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},u1.A={"#":`£`},u1.B=void 0,u1[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},u1.C=u1[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},u1.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},u1.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},u1.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},u1.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},u1.E=u1[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},u1.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},u1.H=u1[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},u1[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var f1=4294967295,p1=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=$$.clone(),this.savedCharset=d1,this.markers=[],this._nullCell=_J.fromCharData([0,pJ,1,0]),this._whitespaceCell=_J.fromCharData([0,mJ,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new l$,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Z$(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new gJ),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new gJ),this._whitespaceCell}getBlankLine(e,t){return new n1(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>f1?f1:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=$$);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Z$(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell($$),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);let a=0;if(this._rows<t)for(let r=this._rows;r<t;r++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new n1(e,n)):this.ybase>0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new n1(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){let e=this.lines.length-i;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=r1(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell($$),n);if(r.length>0){let n=i1(this.lines,r);a1(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell($$),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new n1(e,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-n,0)}_reflowSmaller(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell($$),i=[],a=0;for(let o=this.lines.length-1;o>=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e<o+c.length)continue}let l=c[c.length-1].getTrimmedLength(),u=o1(c,this._cols,e),d=u.length-c.length,f;f=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+d):Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let e=0;e<d;e++){let e=this.getBlankLine($$,!0);p.push(e)}p.length>0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=s1(c,Math.max(g,0),this._cols))}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],r);let v=d-f;for(;v-->0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+a)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(i.length>0){let e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));let n=this.lines.length,r=n-1,o=0,s=i[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+a);let c=0;for(let l=Math.min(this.lines.maxLength-1,n+a-1);l>=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+1<this.lines.length&&this.lines.get(n+1).isWrapped;)n++;return{first:t,last:n}}setupTabStops(e){for(e==null?(this.tabs={},e=0):this.tabs[e]||(e=this.prevStop(e));e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e??=this.x;!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new l1(e);return this.markers.push(t),t.register(this.lines.onTrim(e=>{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},m1=class extends pY{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new Q),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(`scrollback`,()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(`tabStopWidth`,()=>this.setupTabStops()))}reset(){this._normal=new p1(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new p1(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},h1=2,g1=1,_1=class extends pY{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new Q),this.onResize=this._onResize.event,this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,h1),this.rows=Math.max(e.rawOptions.rows||0,g1),this.buffers=this._register(new m1(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};_1=Xq([Zq(0,AJ)],_1);var v1={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:e$,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},y1=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],b1=class extends pY{constructor(e){super(),this._onOptionChange=this._register(new Q),this.onOptionChange=this._onOptionChange.event;let t={...v1};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(uY(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in v1))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in v1))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=v1[e],!x1(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=v1[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=y1.includes(t)?t:v1[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={}}return t}};function x1(e){return e===`block`||e===`underline`||e===`bar`}function S1(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&S1(e[r],t-1);return n}var C1=Object.freeze({insertMode:!1}),w1=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),T1=class extends pY{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new Q),this.onData=this._onData.event,this._onUserInput=this._register(new Q),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new Q),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new Q),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=S1(C1),this.decPrivateModes=S1(w1)}reset(){this.modes=S1(C1),this.decPrivateModes=S1(w1)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};T1=Xq([Zq(0,wJ),Zq(1,kJ),Zq(2,AJ)],T1);var E1={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>e.action!==32||e.button!==3},ANY:{events:31,restrict:e=>!0}};function D1(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var O1=String.fromCharCode,k1={DEFAULT:e=>{let t=[D1(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${O1(t[0])}${O1(t[1])}${O1(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${D1(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${D1(e,!0)};${e.x};${e.y}${t}`}},A1=class extends pY{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new Q),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(E1))this.addProtocol(e,E1[e]);for(let e of Object.keys(k1))this.addEncoding(e,k1[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};A1=Xq([Zq(0,wJ),Zq(1,EJ),Zq(2,AJ)],A1);var j1=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],M1=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],N1;function P1(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var F1=class{constructor(){if(this.version=`6`,!N1){N1=new Uint8Array(65536),N1.fill(1),N1[0]=0,N1.fill(0,1,32),N1.fill(0,127,160),N1.fill(2,4352,4448),N1[9001]=2,N1[9002]=2,N1.fill(2,11904,42192),N1[12351]=1,N1.fill(2,44032,55204),N1.fill(2,63744,64256),N1.fill(2,65040,65050),N1.fill(2,65072,65136),N1.fill(2,65280,65377),N1.fill(2,65504,65511);for(let e=0;e<j1.length;++e)N1.fill(0,j1[e][0],j1[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?N1[e]:P1(e,M1)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=I1.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return I1.createPropertyValue(0,n,r)}},I1=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new Q,this.onChange=this._onChange.event;let e=new F1;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return!!(e&1)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a<i;++a){let o=t.charCodeAt(a);if(55296<=o&&o<=56319){if(++a>=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},L1=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function R1(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var z1=2147483647,B1=256,V1=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>B1)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e<t.length;++e){let r=t[e];if(Array.isArray(r))for(let e=0;e<r.length;++e)n.addSubParam(r[e]);else n.addParam(r)}return n}clone(){let t=new e(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>z1?z1:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>z1?z1:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t<this.length;++t){let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,z1):e}},H1=[],U1=class{constructor(){this._state=0,this._active=H1,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=H1}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=H1,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||H1,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,uJ(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t<n;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&n-t>0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3){if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}}this._active=H1,this._id=-1,this._state=0}}},W1=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=uJ(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},G1=[],K1=class{constructor(){this._handlers=Object.create(null),this._active=G1,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=G1}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=G1,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||G1,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,uJ(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=G1,this._ident=0}},q1=new V1;q1.addParam(0);var J1=class{constructor(e){this._handler=e,this._data=``,this._params=q1,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():q1,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=uJ(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=q1,this._data=``,this._hitLimit=!1,e));return this._params=q1,this._data=``,this._hitLimit=!1,t}},Y1=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;i<e.length;i++)this.table[t<<8|e[i]]=n<<4|r}},X1=160,Z1=function(){let e=new Y1(4095),t=Array.apply(null,Array(256)).map((e,t)=>t),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(X1,0,2,0),e.add(X1,8,5,8),e.add(X1,6,0,6),e.add(X1,11,0,11),e.add(X1,13,13,13),e}(),Q1=class extends pY{constructor(e=Z1){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new V1,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(uY(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new U1),this._dcsParser=this._register(new K1),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;t<e.intermediates.length;++t){let r=e.intermediates.charCodeAt(t);if(32>r||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state){if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}}for(let n=a;n<t;++n){switch(r=e[n],i=this._transitions.table[this.currentState<<8|(r<160?r:X1)],i>>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r<X1){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<X1){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<X1){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<X1){this._printHandler(e,n,i),n=i-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:n,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a=this._csiHandlers[this._collect<<8|r],s=a?a.length-1:-1;for(;s>=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n<t&&(r=e[n])>47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r<X1){this._dcsParser.put(e,n,i),n=i-1;break}break;case 14:if(o=this._dcsParser.unhook(r!==24&&r!==26),o)return this._preserveStack(6,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let i=n+1;;i++)if(i>=t||(r=e[i])<32||r>127&&r<X1){this._oscParser.put(e,n,i),n=i-1;break}break;case 6:if(o=this._oscParser.end(r!==24&&r!==26),o)return this._preserveStack(5,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=i&15}}},$1=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,e0=/^[\da-f]+$/;function t0(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=$1.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),e0.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function n0(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function r0(e,t=16){let[n,r,i]=e;return`rgb:${n0(n,t)}/${n0(r,t)}/${n0(i,t)}`}var i0={"(":0,")":1,"*":2,"+":3,"-":1,".":2},a0=131072,o0=10;function s0(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var c0=5e3,l0=0,u0=class extends pY{constructor(e,t,n,r,i,a,o,s,c=new Q1){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new dJ,this._utf8Decoder=new fJ,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=$$.clone(),this._eraseAttrDataInternal=$$.clone(),this._onRequestBell=this._register(new Q),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new Q),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new Q),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new Q),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new Q),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new Q),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new Q),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new Q),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new Q),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new Q),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new Q),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new Q),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new Q),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new d0(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler($.BEL,()=>this.bell()),this._parser.setExecuteHandler($.LF,()=>this.lineFeed()),this._parser.setExecuteHandler($.VT,()=>this.lineFeed()),this._parser.setExecuteHandler($.FF,()=>this.lineFeed()),this._parser.setExecuteHandler($.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler($.BS,()=>this.backspace()),this._parser.setExecuteHandler($.HT,()=>this.tab()),this._parser.setExecuteHandler($.SO,()=>this.shiftOut()),this._parser.setExecuteHandler($.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(eQ.IND,()=>this.index()),this._parser.setExecuteHandler(eQ.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(eQ.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new W1(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new W1(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new W1(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new W1(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new W1(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new W1(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new W1(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new W1(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new W1(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new W1(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new W1(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new W1(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:`7`},()=>this.saveCursor()),this._parser.registerEscHandler({final:`8`},()=>this.restoreCursor()),this._parser.registerEscHandler({final:`D`},()=>this.index()),this._parser.registerEscHandler({final:`E`},()=>this.nextLine()),this._parser.registerEscHandler({final:`H`},()=>this.tabSet()),this._parser.registerEscHandler({final:`M`},()=>this.reverseIndex()),this._parser.registerEscHandler({final:`=`},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:`>`},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:`c`},()=>this.fullReset()),this._parser.registerEscHandler({final:`n`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`o`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`|`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`}`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`~`},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:`%`,final:`@`},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:`%`,final:`G`},()=>this.selectDefaultCharset());for(let e in u1)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new J1((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),c0))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${c0} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>a0&&(a=this._parseStack.position+a0)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<a0&&(this._parseBuffer=new Uint32Array(Math.min(e.length,a0))),o||this._dirtyRowTracker.clearRange(),e.length>a0)for(let t=a;t<e.length;t+=a0){let a=t+a0<e.length?t+a0:e.length,o=typeof e==`string`?this._stringDecoder.decode(e.substring(t,a),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,a),this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,o))return this._preserveStack(r,i,o,t),this._logSlowResolvingAsync(n),n}else if(!o){let t=typeof e==`string`?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,t))return this._preserveStack(r,i,t,0),this._logSlowResolvingAsync(n),n}(this._activeBuffer.x!==r||this._activeBuffer.y!==i)&&this._onCursorMove.fire();let s=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(s,this._bufferService.rows-1)})}print(e,t,n){let r,i,a=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,s=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,l=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&n-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;p<n;++p){if(r=e[p],r<127&&a){let e=a[String.fromCharCode(r)];e&&(r=e.charCodeAt(0))}let t=this._unicodeService.charProperties(r,f);i=I1.extractWidth(t);let n=I1.extractShouldJoin(t),m=n?I1.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(lJ(r)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+i-m>s){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof n1&&d.copyCellsFrom(e,t,0,m,!1);t<s;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=s-1,i===2)continue}if(n&&this._activeBuffer.x){let e=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-e,r,i);for(let e=i-m;--e>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<s&&n-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>!s0(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new J1(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new W1(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n<this._bufferService.rows;n++)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(n);break;case 1:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-r+1;for(;t--;)this._activeBuffer.lines.splice(i-1,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r;for(r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-r;t--;)this._activeBuffer.lines.splice(n,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine($$));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let n=e.params[0]||1,r=I1.extractWidth(t),i=this._activeBuffer.x-r,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(i),o=new Uint32Array(a.length*n),s=0;for(let e=0;e<a.length;){let t=a.codePointAt(e)||0;o[s++]=t,e+=t>65535?2:1}let c=s;for(let e=1;e<n;++e)o.copyWithin(c,0,s),c+=s;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent($.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent($.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent($.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent($.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent($.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,d1),this._charsetService.setgCharset(1,d1),this._charsetService.setgCharset(2,d1),this._charsetService.setgCharset(3,d1);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=`X10`;break;case 1e3:this._coreMouseService.activeProtocol=`VT200`;break;case 1002:this._coreMouseService.activeProtocol=`DRAG`;break;case 1003:this._coreMouseService.activeProtocol=`ANY`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(`DECSET 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`SGR`;break;case 1015:this._logService.debug(`DECSET 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`SGR_PIXELS`;break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=`NONE`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(`DECRST 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 1015:this._logService.debug(`DECRST 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,t){let n;(e=>(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${$.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=hJ.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o<n.length&&o+a+1+i<r.length);break}if(r[1]===5&&a+i>=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t<e.length&&a+i<r.length);for(let e=2;e<r.length;++e)r[e]===-1&&(r[e]=0);switch(r[0]){case 38:n.fg=this._updateAttrColor(n.fg,r[1],r[3],r[4],r[5]);break;case 48:n.bg=this._updateAttrColor(n.bg,r[1],r[3],r[4],r[5]);break;case 58:n.extended=n.extended.clone(),n.extended.underlineColor=this._updateAttrColor(n.extended.underlineColor,r[1],r[3],r[4],r[5])}return a}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=$$.fg,e.bg=$$.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i<t;i++)n=e.params[i],n>=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=$$.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=$$.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=$$.fg&16777215,r.bg&=-67108864,r.bg|=$$.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${$.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${$.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(e.params[0]===6){let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${$.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=$$.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!s0(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${$.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>o0&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>o0&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(f0(n)){if(r===`?`)t.push({type:0,index:n});else{let e=t0(r);e&&t.push({type:1,index:n,color:e})}}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):!n.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e<n.length&&!(t>=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=t0(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e<n.length;++e)if(/^\d+$/.exec(n[e])){let r=parseInt(n[e]);f0(r)&&t.push({type:2,index:r})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,d1),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(i0[e[0]],u1[e[1]]||d1),!0):(this.selectDefaultCharset(),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=$$.clone(),this._eraseAttrDataInternal=$$.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new _J;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let n=this._activeBuffer.ybase+this._activeBuffer.y+t,r=this._activeBuffer.lines.get(n);r&&(r.fill(e),r.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let n=e=>(this._coreService.triggerDataEvent(`${$.ESC}${e}${$.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},d0=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(l0=e,e=t,t=l0),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};d0=Xq([Zq(0,wJ)],d0);function f0(e){return 0<=e&&e<256}var p0=5e7,m0=12,h0=50,g0=class extends pY{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new Q),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>p0)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=m0?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=m0)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>h0&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},_0=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};_0=Xq([Zq(0,wJ)],_0);var v0=!1,y0=class extends pY{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new mY),this._onBinary=this._register(new Q),this.onBinary=this._onBinary.event,this._onData=this._register(new Q),this.onData=this._onData.event,this._onLineFeed=this._register(new Q),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new Q),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new Q),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new Q),this._instantiationService=new K$,this.optionsService=this._register(new b1(e)),this._instantiationService.setService(AJ,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(_1)),this._instantiationService.setService(wJ,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Y$)),this._instantiationService.setService(kJ,this._logService),this.coreService=this._register(this._instantiationService.createInstance(T1)),this._instantiationService.setService(EJ,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(A1)),this._instantiationService.setService(TJ,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(I1)),this._instantiationService.setService(MJ,this.unicodeService),this._charsetService=this._instantiationService.createInstance(L1),this._instantiationService.setService(DJ,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(_0),this._instantiationService.setService(jJ,this._oscLinkService),this._inputHandler=this._register(new u0(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(xY.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(xY.forward(this._bufferService.onResize,this._onResize)),this._register(xY.forward(this.coreService.onData,this._onData)),this._register(xY.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new g0((e,t)=>this._inputHandler.parse(e,t))),this._register(xY.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new Q),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!v0&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),v0=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,h1),t=Math.max(t,g1),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(R1.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(R1(this._bufferService),!1))),this._windowsWrappingHeuristics.value=uY(()=>{for(let t of e)t.dispose()})}}},b0={48:[`0`,`)`],49:[`1`,`!`],50:[`2`,`@`],51:[`3`,`#`],52:[`4`,`$`],53:[`5`,`%`],54:[`6`,`^`],55:[`7`,`&`],56:[`8`,`*`],57:[`9`,`(`],186:[`;`,`:`],187:[`=`,`+`],188:[`,`,`<`],189:[`-`,`_`],190:[`.`,`>`],191:[`/`,`?`],192:["`",`~`],219:[`[`,`{`],220:[`\\`,`|`],221:[`]`,`}`],222:[`'`,`"`]};function x0(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?i.key=t?$.ESC+`OA`:$.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?$.ESC+`OD`:$.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?$.ESC+`OC`:$.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?$.ESC+`OB`:$.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:$.DEL,e.altKey&&(i.key=$.ESC+i.key);break;case 9:if(e.shiftKey){i.key=$.ESC+`[Z`;break}i.key=$.HT,i.cancel=!0;break;case 13:i.key=e.altKey?$.ESC+$.CR:$.CR,i.cancel=!0;break;case 27:i.key=$.ESC,e.altKey&&(i.key=$.ESC+$.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`D`:t?$.ESC+`OD`:$.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`C`:t?$.ESC+`OC`:$.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`A`:t?$.ESC+`OA`:$.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?$.ESC+`[1;`+(a+1)+`B`:t?$.ESC+`OB`:$.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=$.ESC+`[2~`);break;case 46:i.key=a?$.ESC+`[3;`+(a+1)+`~`:$.ESC+`[3~`;break;case 36:i.key=a?$.ESC+`[1;`+(a+1)+`H`:t?$.ESC+`OH`:$.ESC+`[H`;break;case 35:i.key=a?$.ESC+`[1;`+(a+1)+`F`:t?$.ESC+`OF`:$.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?$.ESC+`[5;`+(a+1)+`~`:$.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?$.ESC+`[6;`+(a+1)+`~`:$.ESC+`[6~`;break;case 112:i.key=a?$.ESC+`[1;`+(a+1)+`P`:$.ESC+`OP`;break;case 113:i.key=a?$.ESC+`[1;`+(a+1)+`Q`:$.ESC+`OQ`;break;case 114:i.key=a?$.ESC+`[1;`+(a+1)+`R`:$.ESC+`OR`;break;case 115:i.key=a?$.ESC+`[1;`+(a+1)+`S`:$.ESC+`OS`;break;case 116:i.key=a?$.ESC+`[15;`+(a+1)+`~`:$.ESC+`[15~`;break;case 117:i.key=a?$.ESC+`[17;`+(a+1)+`~`:$.ESC+`[17~`;break;case 118:i.key=a?$.ESC+`[18;`+(a+1)+`~`:$.ESC+`[18~`;break;case 119:i.key=a?$.ESC+`[19;`+(a+1)+`~`:$.ESC+`[19~`;break;case 120:i.key=a?$.ESC+`[20;`+(a+1)+`~`:$.ESC+`[20~`;break;case 121:i.key=a?$.ESC+`[21;`+(a+1)+`~`:$.ESC+`[21~`;break;case 122:i.key=a?$.ESC+`[23;`+(a+1)+`~`:$.ESC+`[23~`;break;case 123:i.key=a?$.ESC+`[24;`+(a+1)+`~`:$.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=$.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=$.DEL:e.keyCode===219?i.key=$.ESC:e.keyCode===220?i.key=$.FS:e.keyCode===221&&(i.key=$.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=b0[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=$.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=$.ESC+n}else if(e.keyCode===32)i.key=$.ESC+(e.ctrlKey?$.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=$.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=$.US),e.key===`@`&&(i.key=$.NUL))}return i}var S0=0,C0=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new l$,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new l$,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i<r.length;i++)n>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(S0=this._search(t),S0===-1)||this._getKey(this._array[S0])!==t)return!1;do if(this._array[S0]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(S0),!0;while(++S0<this._array.length&&this._getKey(this._array[S0])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,t)=>e-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i<this._array.length;i++)e[t]===i?t++:n[r++]=this._array[i];this._array=n,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(S0=this._search(e),!(S0<0||S0>=this._array.length)&&this._getKey(this._array[S0])===e))do yield this._array[S0];while(++S0<this._array.length&&this._getKey(this._array[S0])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(S0=this._search(e),!(S0<0||S0>=this._array.length)&&this._getKey(this._array[S0])===e))do t(this._array[S0]);while(++S0<this._array.length&&this._getKey(this._array[S0])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,n=this._array.length-1;for(;n>=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i<e)t=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},w0=0,T0=0,E0=class extends pY{constructor(){super(),this._decorations=new C0(e=>e?.marker.line),this._onDecorationRegistered=this._register(new Q),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new Q),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(uY(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new D0(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e<i&&(!n||(a.options.layer??`bottom`)===n)&&(yield a)}forEachDecorationAtCell(e,t,n,r){this._decorations.forEachByKey(t,t=>{w0=t.options.x??0,T0=w0+(t.options.width??1),e>=w0&&e<T0&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},D0=class extends fY{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new Q),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new Q),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=`full`)}get backgroundColorRGB(){return this._cachedBg===null&&(this._cachedBg=this.options.backgroundColor?uQ.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?uQ.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},O0=1e3,k0=class{constructor(e,t=O0){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},A0=20,j0=class extends pY{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new k0(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
143
|
+
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(rZ(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(uY(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<A0+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
144
|
+
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===A0+1&&(this._liveRegion.textContent+=tJ.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};j0=Xq([Zq(1,OJ),Zq(2,LJ),Zq(3,zJ)],j0);var M0=class extends pY{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new Q),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new Q),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(uY(()=>{cY(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(rZ(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(rZ(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(rZ(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(rZ(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&N0(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,cY(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};M0=Xq([Zq(1,RJ),Zq(2,zJ),Zq(3,wJ),Zq(4,UJ)],M0);function N0(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var P0=class extends y0{constructor(e={}){super(e),this._linkifier=this._register(new mY),this.browser=KQ,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new mY),this._onCursorMove=this._register(new Q),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new Q),this.onKey=this._onKey.event,this._onRender=this._register(new Q),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new Q),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new Q),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new Q),this.onBell=this._onBell.event,this._onFocus=this._register(new Q),this._onBlur=this._register(new Q),this._onA11yCharEmitter=this._register(new Q),this._onA11yTabEmitter=this._register(new Q),this._onWillOpen=this._register(new Q),this._setup(),this._decorationService=this._instantiationService.createInstance(E0),this._instantiationService.setService(NJ,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(VQ),this._instantiationService.setService(UJ,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(PJ)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(xY.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(xY.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(xY.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(xY.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(uY(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=lQ.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${$.ESC}]${n};${r0(r)}${tQ.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=cQ.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=cQ.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(j0,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent($.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent($.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(rZ(this.element,`copy`,e=>{this.hasSelection()&&iJ(e,this._selectionService)}));let e=e=>aJ(e,this.textarea,this.coreService,this.optionsService);this._register(rZ(this.textarea,`paste`,e)),this._register(rZ(this.element,`paste`,e)),XQ?this._register(rZ(this.element,`mousedown`,e=>{e.button===2&&cJ(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(rZ(this.element,`contextmenu`,e=>{cJ(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),i$&&this._register(rZ(this.element,`auxclick`,e=>{e.button===1&&sJ(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(rZ(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(rZ(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(rZ(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(rZ(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(rZ(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(rZ(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(rZ(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(rZ(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,$q.get()),a$||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(zQ,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(LJ,this._coreBrowserService),this._register(rZ(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(rZ(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(FQ,this._document,this._helperContainer),this._instantiationService.setService(IJ,this._charSizeService),this._themeService=this._instantiationService.createInstance(U$),this._instantiationService.setService(HJ,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(gQ),this._instantiationService.setService(VJ,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(d$,this.rows,this.screenElement)),this._instantiationService.setService(zJ,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(nQ,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(WQ),this._instantiationService.setService(RJ,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(M0,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(qZ,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(N$,this.element,this.screenElement,r)),this._instantiationService.setService(BJ,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(xY.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(JZ,this.screenElement)),this._register(rZ(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(j0,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance($Z,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance($Z,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(PQ,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(rZ(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(rZ(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=$.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){oJ(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=x0(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===$.ETX||n.key===$.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(F0(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine($$));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent($.ESC+`[I`):this.coreService.triggerDataEvent($.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${$.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${$.ESC}[6;${r};${n}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function F0(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var I0=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},L0=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new _J)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},R0=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new L0(t)}getNullCell(){return new _J}},z0=class extends pY{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new Q),this.onBufferChange=this._onBufferChange.event,this._normal=new R0(this._core.buffers.normal,`normal`),this._alternate=new R0(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},B0=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},V0=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},H0=[`cols`,`rows`],U0=0,W0=class extends pY{constructor(e){super(),this._core=this._register(new P0(e)),this._addonManager=this._register(new I0),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(H0.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new B0(this._core),this._parser}get unicode(){return this._checkProposedApi(),new V0(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new z0(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
145
|
+
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return $q.get()},set promptLabel(e){$q.set(e)},get tooMuchOutput(){return tJ.get()},set tooMuchOutput(e){tJ.set(e)}}}_verifyIntegers(...e){for(U0 of e)if(U0===1/0||isNaN(U0)||U0%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(U0 of e)if(U0&&(U0===1/0||isNaN(U0)||U0%1!=0||U0<0))throw Error(`This API only accepts positive integers`)}},G0=40,K0=12,q0=120,J0=36,Y0=60;function X0(e,t,n){let r=window.location.protocol===`https:`?`wss`:`ws`,i=new URL(`/api/sessions/${encodeURIComponent(e)}/terminal/ws`,`${r}://${window.location.host}`);return i.searchParams.set(`cols`,String(t)),i.searchParams.set(`rows`,String(n)),i.toString()}var Z0=[{label:`esc`,data:`\x1B`},{label:`tab`,data:` `},{label:`◀`,data:`\x1B[D`},{label:`▲`,data:`\x1B[A`},{label:`▼`,data:`\x1B[B`},{label:`▶`,data:`\x1B[C`}];function Q0({session:e}){let t=_.useRef(null),n=_.useRef(null),r=_.useRef(null),[i,a]=_.useState(``),[o,s]=_.useState(!1),[c,l]=_.useState(!1),u=_.useRef(!1),d=_.useRef(!1);_.useEffect(()=>{u.current=o},[o]),_.useEffect(()=>{d.current=c},[c]);let f=e?.status===`history`;function p(e){let t=n.current;t&&t.readyState===WebSocket.OPEN&&t.send(JSON.stringify({type:`input`,data:e})),r.current?.focus()}return _.useEffect(()=>{let i=t.current;if(!e||!i||f)return;let o=new W0({convertEol:!0,fontSize:13,cursorBlink:!0,theme:{background:`#09090b`}}),s=new Kq;o.loadAddon(s),o.open(i),s.fit(),r.current=o;let c=Math.max(o.cols||q0,G0),l=Math.max(o.rows||J0,K0);a(`连接中...`);let p=new WebSocket(X0(e.name,c,l));n.current=p,p.onmessage=e=>{try{let t=JSON.parse(e.data);t.type===`output`?o.write(t.data):t.type===`status`?t.phase===`ready`?a(`已连接`):t.phase===`closed`&&a(`会话已结束`):t.type===`error`&&o.write(`\r\n[error] ${t.error}\r\n`)}catch{}},p.onclose=()=>a(`连接已断开`),p.onerror=()=>a(`连接出错`);let m=o.onData(e=>{if(!e||p.readyState!==WebSocket.OPEN)return;let t=e;if(u.current&&e.length===1){let n=e.charCodeAt(0);(n>=65&&n<=90||n>=97&&n<=122)&&(t=String.fromCharCode(n&31))}else d.current&&e.length===1&&(t=`\x1B`+e);p.send(JSON.stringify({type:`input`,data:t}))}),h=0,g=new ResizeObserver(()=>{window.clearTimeout(h),h=window.setTimeout(()=>s.fit(),Y0)});return g.observe(i),()=>{g.disconnect(),window.clearTimeout(h),m.dispose(),(p.readyState===WebSocket.OPEN||p.readyState===WebSocket.CONNECTING)&&(p.send(JSON.stringify({type:`close`})),p.close()),o.dispose(),n.current=null,r.current=null}},[e,f]),e?f?(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 bg-zinc-950 p-6 text-center text-sm text-zinc-400`,children:[(0,G.jsx)(`p`,{className:`font-medium text-zinc-200`,children:`容器不可用`}),(0,G.jsx)(`p`,{children:`当前会话只有历史记录,没有可访问的运行中容器,无法连接终端。`})]}):(0,G.jsxs)(`div`,{className:`flex h-full flex-col bg-zinc-950`,children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-zinc-800 bg-zinc-900 px-2 py-1.5`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 gap-1 overflow-x-auto`,children:[Z0.map(e=>(0,G.jsx)(`button`,{type:`button`,onClick:()=>p(e.data),className:`shrink-0 rounded border border-zinc-700 px-2 py-0.5 font-mono text-xs text-zinc-300 hover:bg-zinc-800`,children:e.label},e.label)),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{s(e=>!e),r.current?.focus()},className:U(`shrink-0 rounded border border-zinc-700 px-2 py-0.5 font-mono text-xs text-zinc-300 hover:bg-zinc-800`,o&&`border-zinc-100 bg-zinc-100 text-zinc-900 hover:bg-zinc-100`),children:`ctrl`}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>{l(e=>!e),r.current?.focus()},className:U(`shrink-0 rounded border border-zinc-700 px-2 py-0.5 font-mono text-xs text-zinc-300 hover:bg-zinc-800`,c&&`border-zinc-100 bg-zinc-100 text-zinc-900 hover:bg-zinc-100`),children:`alt`})]}),(0,G.jsx)(`span`,{className:`shrink-0 truncate px-1 text-xs text-zinc-400`,children:i})]}),(0,G.jsx)(`div`,{ref:t,className:`min-h-0 flex-1 p-2`})]}):(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center bg-zinc-950 p-6 text-center text-sm text-zinc-400`,children:`请先在左侧选择一个容器 / AGENT`})}var $0=_.createContext(void 0);function e2(e){let t=_.useContext($0);if(t===void 0&&!e)throw Error(Qt(47));return t}var t2={...bl,disabled:e=>e.disabled,instantType:e=>e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,modal:e=>e.modal,focusManagerModal:e=>e.focusManagerModal,stickIfOpen:e=>e.stickIfOpen,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},n2=class extends Gc{constructor(e,t,n){let r=new dl;super(r2(e,r,t,n),i2(r),t2)}setOpen=(e,t)=>{let n=t.reason===Hr,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=il(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n={open:e,openChangeReason:t.reason};rl(n,e,t.trigger,a()),this.update(n)};n?(this.set(`stickIfOpen`,!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set(`stickIfOpen`,!1)}),Go.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function r2(e,t,n,r=!1){let i={...pl(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i.floatingRootContext=ml(t,n,r),i}function i2(e){return{popupRef:_.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:_.createRef(),beforeContentFocusGuardRef:_.createRef(),stickIfOpenTimeout:new di,triggerElements:e}}function a2({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=s2(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),p=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),ul(u,d),sl(u);let{forceUnmount:m}=cl(d,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:o}),_.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),_.useImperativeHandle(e.actionsRef,()=>({unmount:m,close:()=>u.setOpen(!1,ti($r))}),[m,u]);let h=d||f;return(0,G.jsxs)($0.Provider,{value:u,children:[s&&(0,G.jsx)(tl,{handle:s,store:u}),h&&(0,G.jsx)(c2,{store:u,modal:o}),typeof t==`function`?t({payload:p}):t]})}function o2(e){return e2(!0)?(0,G.jsx)(a2,{props:e}):(0,G.jsx)(as,{children:(0,G.jsx)(a2,{props:e})})}function s2(e,t){let n=el((e,n)=>new n2(t,e,n));return _.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function c2({store:e,modal:t}){let n=Ss(e.useState(`floatingRootContext`),{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),r=n.reference,i=n.floating;return ll(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:i}),null}var l2=_.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...p}=e,m=e2(!0),h=xl(s)??m;if(!h)throw Error(Qt(74));let g=si(f),v=h.useState(`isTriggerActive`,g),y=h.useState(`floatingRootContext`),b=h.useState(`isOpenedByTrigger`,g),x=h.useState(`triggerPopupId`,g),S=_.useRef(null),{registerTrigger:C,isMountedByThisTrigger:w}=ol(g,S,h,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),T=h.useState(`openChangeReason`),E=h.useState(`stickIfOpen`),D=h.useState(`openMethod`),O=h.useState(`focusManagerModal`),k=Pl(y,{enabled:!a&&l&&(D!==`touch`||T!==`trigger-press`),mouseOnly:!0,move:!1,handleClose:Zl(),restMs:u,delay:{close:d},triggerElementRef:S,isActiveTrigger:v,isClosing:()=>h.select(`transitionStatus`)===`ending`}),A=gs(y,{stickIfOpen:E}),j=Du(()=>h.select(`open`),e=>{h.set(`openMethod`,e)}),M=h.useState(`triggerProps`,w),{getButtonProps:N,buttonRef:P}=Lr({disabled:a,native:o}),F={open(e){return e&&T===`trigger-press`?Zn.open(e):Xn.open(e)}},{preFocusGuardRef:I,handlePreFocusGuardFocus:L,handleFocusTargetFocus:ee}=um(h,S),R=Fn(`button`,e,{state:{disabled:a,open:b},ref:[P,t,C,S],props:[A.reference,k,M,j,{[Vo]:``,id:g,"aria-haspopup":`dialog`,"aria-expanded":b,"aria-controls":x},p,N],stateAttributesMapping:F}),te=(0,G.jsx)(_.Fragment,{children:R},g);return w&&!O?(0,G.jsxs)(_.Fragment,{children:[(0,G.jsx)(ga,{ref:I,onFocus:L}),te,(0,G.jsx)(ga,{ref:h.context.triggerFocusTargetRef,onFocus:ee})]}):te}),u2=_.createContext(void 0);function d2(){let e=_.useContext(u2);if(e===void 0)throw Error(Qt(45));return e}var f2=_.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return e2().useState(`mounted`)||n?(0,G.jsx)(u2.Provider,{value:n,children:(0,G.jsx)(Xo,{ref:t,...r})}):null}),p2=_.createContext(void 0);function m2(){let e=_.useContext(p2);if(!e)throw Error(Qt(46));return e}var h2=_.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:m,disableAnchorTracking:h=!1,collisionAvoidance:g=Uo,...v}=e,y=e2(),b=d2(),x=rs(),S=y.useState(`floatingRootContext`),C=y.useState(`mounted`),w=y.useState(`open`),T=y.useState(`openChangeReason`),E=y.useState(`activeTriggerElement`),D=y.useState(`modal`),O=y.useState(`openMethod`),k=y.useState(`positionerElement`),A=y.useState(`instantType`),j=y.useState(`transitionStatus`),M=y.useState(`adaptiveOrigin`),N=_.useRef(null),P=Xc(k),F=bf({anchor:a,floatingRootContext:S,positionMethod:o,mounted:C,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:m,disableAnchorTracking:h,keepMounted:b,nodeId:x,collisionAvoidance:g,adaptiveOrigin:M}),I=S.useState(`domReferenceElement`);W(()=>{let e=I,t=N.current;if(e&&(N.current=e),t&&e&&e!==t){y.set(`instantType`,void 0);let e=new AbortController;return P(()=>{y.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[I,P,y]);let L=D===!0&&T!==`trigger-hover`;Af(w&&L,O===`touch`,k,E);let ee=y.useStateSetter(`positionerElement`),R=Of(e,{open:w,side:F.side,align:F.align,anchorHidden:F.anchorHidden,instant:A},{styles:F.positionerStyles,transitionStatus:j,props:v,refs:[t,ee],hidden:!C,inert:!w});return(0,G.jsxs)(p2.Provider,{value:F,children:[C&&L&&(0,G.jsx)(iu,{inert:ru(!w),cutout:E}),(0,G.jsx)(is,{id:x,children:R})]})}),g2=_.createContext(void 0);function _2(){let[e,t]=_.useState(0),n=kr(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:_.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var v2=_.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=e2(),l=m2(),u=If(!0)!=null,{context:d,hasClosePart:f}=_2(),p=c.useState(`open`),m=c.useState(`openMethod`),h=c.useState(`instantType`),g=c.useState(`transitionStatus`),_=c.useState(`popupProps`),v=c.useState(`titleElementId`),y=c.useState(`descriptionElementId`),b=c.useState(`modal`),x=c.useState(`mounted`),S=c.useState(`openChangeReason`),C=c.useState(`activeTriggerElement`),w=c.useState(`floatingRootContext`),T=w.useState(`floatingId`),E=c.useState(`disabled`),D=c.useState(`openOnHover`),O=c.useState(`closeDelay`);Zc({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),Ml(w,{enabled:D&&!E,closeDelay:O});let k=a===void 0?$c(c.context.popupRef):a,A=b!==!1&&f;c.useSyncedValue(`focusManagerModal`,A);let j=c.useStateSetter(`popupElement`),M=Fn(`div`,e,{state:{open:p,side:l.side,align:l.align,instant:h,transitionStatus:g},ref:[t,c.context.popupRef,j],props:[_,{id:T,role:`dialog`,...Qc,"aria-labelledby":v,"aria-describedby":y,onKeyDown(e){u&&eu.has(e.key)&&e.stopPropagation()}},Df(g),s],stateAttributesMapping:$n});return(0,G.jsx)(hs,{context:w,openInteractionType:m,modal:A,disabled:!x||S===`trigger-hover`,initialFocus:k,returnFocus:o,restoreFocus:`popup`,previousFocusableElement:sr(C)?C:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,G.jsx)(g2.Provider,{value:d,children:M})})});function y2({...e}){return(0,G.jsx)(o2,{"data-slot":`popover`,...e})}function b2({...e}){return(0,G.jsx)(l2,{"data-slot":`popover-trigger`,...e})}function x2({className:e,align:t=`center`,alignOffset:n=0,side:r=`bottom`,sideOffset:i=4,...a}){return(0,G.jsx)(f2,{children:(0,G.jsx)(h2,{align:t,alignOffset:n,side:r,sideOffset:i,className:`isolate z-50`,children:(0,G.jsx)(v2,{"data-slot":`popover-content`,className:U(`z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...a})})})}function S2(e){let{open:t,defaultOpen:n,onOpenChange:r,disabled:i}=e,[a,o]=hd({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:s,setMounted:c,transitionStatus:l}=Yc(a,!0,!0),u=si(),[d,f]=_.useState(),p=d===null?void 0:d??u,m=kr(e=>{let t=!a,n=ti(Vr,e.nativeEvent);r(t,n),!n.isCanceled&&o(t)});return _.useMemo(()=>({defaultPanelId:u,disabled:i,handleTrigger:m,mounted:s,open:a,panelId:p,setMounted:c,setOpen:o,setPanelIdState:f,transitionStatus:l}),[u,i,m,s,a,p,c,o,f,l])}var C2=_.createContext(void 0);function w2(){let e=_.useContext(C2);if(e===void 0)throw Error(Qt(15));return e}var T2=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=Vn.startingStyle]=`startingStyle`,e[e.endingStyle=Vn.endingStyle]=`endingStyle`,e}({}),E2=function(e){return e.panelOpen=`data-panel-open`,e}({}),D2={[T2.open]:``},O2={[T2.closed]:``},k2={open(e){return e?{[E2.panelOpen]:``}:null}},A2={open(e){return e?D2:O2},...Wn},j2=_.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,u=kr(o),d=S2({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=_.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),p=_.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),m=Fn(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:A2});return(0,G.jsx)(C2.Provider,{value:p,children:m})}),M2={...k2,...Wn},N2=_.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=w2(),{className:s,disabled:c=o,render:l,nativeButton:u=!0,style:d,...f}=e,{getButtonProps:p,buttonRef:m}=Lr({disabled:c,focusableWhenDisabled:!0,native:u});return Fn(`button`,e,{state:a,ref:[t,m],props:[{"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i},f,p],stateAttributesMapping:M2})}),P2={height:void 0,width:void 0};function F2(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:i,mounted:a,onOpenChange:o,open:s,setMounted:c,setOpen:l,transitionStatus:u}=e,d=_.useRef(null),f=_.useRef(null),[p,m]=_.useState(P2),h=_.useRef(P2),g=_.useRef(!1),v=_.useRef(s),y=_.useRef(!1),[b,x]=_.useState(!1),S=_.useRef(null),C=rn(t,d),w=sa(s),T=Xc(d),E=!s&&!a,D=b?`idle`:u,O=s&&(v.current||y.current),k=!s&&a&&f.current===`css-animation`&&p.height===void 0&&p.width===void 0?h.current:p,A=n&&E&&f.current!==`css-animation`,j=kr((e,t=!0)=>{t&&(h.current=e),m(e)}),M=kr(()=>{S.current?.(),S.current=null}),N=kr(e=>{M(),S.current=()=>{S.current=null,e()}}),P=kr(()=>{s&&a&&f.current===`css-animation`&&(y.current=!0)});W(()=>{!b||u===`starting`||x(!1)},[b,u]),_.useEffect(()=>()=>{P(),M()},[P,M]),W(()=>{let e=d.current;if(!e)return;!s&&S.current&&M();let t=L2(e,O);if(f.current=t,s&&u===`idle`&&v.current&&t===`css-animation`){h.current=I2(e);return}if(s&&u===`starting`){let n=g.current;if(g.current=!1,t===`none`){j(I2(e)),x(!0);return}if(t===`css-transition`){let t=B2(e);if(j(I2(e)),!n)return t;let r=z2(e,`transition-duration`,`0s`);return N(r),x(!0),t}j(I2(e));let r=z2(e,`animation-name`,`none`);if(!n){r();return}let i=z2(e,`animation-duration`,`0s`);r(),N(i),x(!0);return}if(!s&&a&&(u===`idle`||u===`starting`)){if(v.current=!1,y.current=!1,t===`none`){j(P2,!1),c(!1);return}j(I2(e));return}if(u!==`ending`)return;if(t===`none`){c(!1);return}let n=I2(e);if(!(n.height>0||n.width>0)){c(!1);return}j(n),t===`css-animation`&&z2(e,`animation-name`,`none`)()},[a,s,M,j,c,N,O,u]),Zc({enabled:s&&a&&D===`idle`,open:!0,ref:d,onComplete(){s&&j(P2,!1)}}),_.useEffect(()=>{if(s||!a||D!==`ending`||!d.current)return;let e=new AbortController,t=-1;function n(){w.current||(c(!1),j(P2,!1))}return t=da.request(()=>{T(n,e.signal)}),()=>{da.cancel(t),e.abort()}},[w,a,s,D,T,j,c]),W(()=>{let e=d.current;!e||!n||!E||e.setAttribute(`hidden`,`until-found`)},[E,n]),_.useEffect(function(){let e=d.current;if(!e)return;function t(e){let t=ti(Br,e);o(!0,t),!t.isCanceled&&(g.current=!0,l(!0))}return aa(e,`beforematch`,t)},[o,l]);let F=i||n||a||s;return{height:k.height,props:{...A?{[T2.startingStyle]:``}:void 0,hidden:E,id:r},ref:C,shouldPreventOpenAnimation:O,shouldRender:F,transitionStatus:D,width:k.width}}function I2(e){return{height:e.scrollHeight,width:e.scrollWidth}}function L2(e,t){let n=rr(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&R2(n.animationDuration),i=R2(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function R2(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function z2(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function B2(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=da.request(n);return()=>{da.cancel(r),n()}}var V2=function(e){return e.collapsiblePanelHeight=`--collapsible-panel-height`,e.collapsiblePanelWidth=`--collapsible-panel-width`,e}({}),H2=_.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{defaultPanelId:l,mounted:u,onOpenChange:d,open:f,setMounted:p,setPanelIdState:m,setOpen:h,state:g,transitionStatus:_}=w2(),v=r??!1,y=i??!1,b=o||void 0,x=b??l;W(()=>(m(e=>b??(e===null?void 0:e)),()=>{m(e=>e===b?null:e)}),[b,m]);let{height:S,props:C,ref:w,shouldPreventOpenAnimation:T,shouldRender:E,transitionStatus:D,width:O}=F2({externalRef:t,hiddenUntilFound:v,id:x,keepMounted:y,mounted:u,onOpenChange:d,open:f,setMounted:p,setOpen:h,transitionStatus:_}),k={...g,transitionStatus:D},A=yn(s,k),j=Fn(`div`,{...e,style:void 0},{state:k,ref:w,props:[C,{style:{[V2.collapsiblePanelHeight]:S===void 0?`auto`:`${S}px`,[V2.collapsiblePanelWidth]:O===void 0?`auto`:`${O}px`}},c,A?{style:A}:void 0,T?{style:{animationName:`none`}}:void 0],stateAttributesMapping:A2});return E?j:null});function U2({...e}){return(0,G.jsx)(j2,{"data-slot":`collapsible`,...e})}function W2({...e}){return(0,G.jsx)(N2,{"data-slot":`collapsible-trigger`,...e})}function G2({...e}){return(0,G.jsx)(H2,{"data-slot":`collapsible-content`,...e})}var K2={tool:ue,command:le,mcp:ie,agent_message:B,error:re};function q2(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function J2(e){let t=[],n=(e,n)=>{let r=q2(n).trim();r&&t.push({label:e,value:r})};return e.kind===`command`&&(n(`命令`,e.command),typeof e.exitCode==`number`?n(`退出码`,String(e.exitCode)):n(`状态`,e.status),n(`结果`,e.result),n(`错误`,e.error)),e.kind===`mcp`&&(n(`工具`,[e.server,e.toolName].filter(Boolean).join(`.`)),n(`参数摘要`,e.argumentSummary),n(`参数`,e.arguments),n(`结果`,e.result),n(`错误`,e.error)),e.kind===`tool`&&(n(`工具`,e.toolName),n(`参数摘要`,e.argumentSummary),n(`参数`,e.arguments),n(`结果`,e.result),n(`错误`,e.error)),(e.kind===`agent_message`||e.kind===`status`||e.kind===`error`)&&e.detail&&n(`详情`,e.detail),t}function Y2({text:e}){let[t,n]=_.useState(!1);async function r(){try{await navigator.clipboard.writeText(e),n(!0),window.setTimeout(()=>n(!1),1500)}catch{}}return(0,G.jsx)(`button`,{type:`button`,onClick:r,title:`复制`,className:`shrink-0 rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,children:t?(0,G.jsx)(j,{className:`size-3`}):(0,G.jsx)(F,{className:`size-3`})})}function X2({part:e}){let t=e.label===`结果`;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:e.label}),t?(0,G.jsx)(Y2,{text:e.value}):null]}),(0,G.jsx)(`pre`,{className:`overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs whitespace-pre-wrap text-foreground`,children:e.value})]})}function Z2({event:e}){let[t,n]=_.useState(!1),r=K2[e.kind]||B,i=e.kind===`agent_message`,a=_.useMemo(()=>J2(e),[e]);return i||a.length>0?(0,G.jsxs)(U2,{open:t,onOpenChange:n,children:[(0,G.jsxs)(W2,{className:`flex w-full items-center gap-1.5 rounded-md px-1.5 py-1 text-left text-sm hover:bg-muted`,children:[(0,G.jsx)(r,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`flex-1 truncate text-foreground`,children:i?`说明`:e.text}),(0,G.jsx)(N,{className:U(`size-3.5 shrink-0 text-muted-foreground transition-transform`,t&&`rotate-90`)})]}),(0,G.jsx)(G2,{className:`flex flex-col gap-2 px-1.5 pt-1 pb-1.5 pl-6`,children:i&&!a.length?(0,G.jsx)(`p`,{className:`text-sm whitespace-pre-wrap text-foreground`,children:e.detail||e.text}):a.map(e=>(0,G.jsx)(X2,{part:e},e.label))})]}):(0,G.jsxs)(`div`,{className:`flex items-start gap-1.5 px-1.5 py-1 text-sm`,children:[(0,G.jsx)(r,{className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`flex-1 truncate text-foreground`,children:e.text})]})}function Q2({trace:e}){let[t,n]=_.useState(!1),r=_.useMemo(()=>Ut(e.traceEvents||[]),[e.traceEvents]);if(!r.length)return null;let i=Wt(r,e.pending===!0);return(0,G.jsxs)(U2,{open:t,onOpenChange:n,className:`w-full max-w-[75%]`,children:[(0,G.jsxs)(W2,{className:`flex w-full items-center gap-1.5 rounded-lg border bg-muted/40 px-2.5 py-1.5 text-left text-xs text-muted-foreground hover:bg-muted`,children:[(0,G.jsx)(N,{className:U(`size-3.5 shrink-0 transition-transform`,t&&`rotate-90`)}),(0,G.jsxs)(`span`,{className:`flex-1`,children:[`执行过程 · `,i]})]}),(0,G.jsx)(G2,{className:`mt-1 flex flex-col gap-0.5 rounded-lg border bg-muted/20 p-1.5`,children:r.map((e,t)=>(0,G.jsx)(Z2,{event:e},`${e.kind}-${t}`))})]})}var $2={activity:`聊天`,terminal:`终端`,files:`文件`,detail:`详情`,config:`配置`,check:`检查`},e4=[`activity`,`files`],t4=Object.keys($2).filter(e=>!e4.includes(e)),n4=`__streaming__`,r4=`__streaming_trace__`,i4=/^(\d+\.\d+\.\d+)-([A-Za-z0-9][A-Za-z0-9_.-]*)$/,a4={ok:`secondary`,warn:`outline`,danger:`destructive`,info:`outline`},o4={agent:`当前 AGENT 覆盖`,container:`容器默认模板`,inferred:`从启动命令推导`,none:`未配置`},s4={user:`用户`,assistant:`AGENT`,system:`系统`};function c4(e){return e===`history`?{label:`仅历史`,tone:`warn`}:e.toLowerCase().includes(`up`)?{label:`运行中`,tone:`ok`}:{label:`已停止`,tone:`danger`}}function l4(e){let t=e.lastResumeAt?d4(e.lastResumeAt):`暂无记录`;return e.lastResumeOk===!0?{value:`最近成功`,tone:`ok`,detail:`最近一次 resume 成功,时间:${t}。`}:e.lastResumeOk===!1?{value:`最近失败`,tone:`danger`,detail:e.lastResumeError?`最近一次 resume 失败:${e.lastResumeError}`:`最近一次 resume 失败,时间:${t}。`}:e.resumeSupported?{value:`未执行`,tone:`warn`,detail:`支持 resume,但当前会话还没有最近一次执行记录。`}:{value:`不支持`,tone:`warn`,detail:`当前 Agent 程序或模板不支持 resume。`}}function u4({title:e,rows:t}){return(0,G.jsxs)(Ph,{children:[(0,G.jsx)(Fh,{children:(0,G.jsx)(Ih,{className:`text-sm`,children:e})}),(0,G.jsx)(Lh,{className:`flex flex-col divide-y`,children:t.map(e=>(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5 py-2 first:pt-0 last:pb-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e.label}),e.tone?(0,G.jsx)(Gu,{variant:a4[e.tone],children:e.value}):(0,G.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e.value})]}),e.detail?(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.detail}):null]},e.label))})]})}function d4(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function f4({text:e}){let[t,n]=_.useState(!1);async function r(){try{await navigator.clipboard.writeText(e),n(!0),window.setTimeout(()=>n(!1),1500)}catch{}}return(0,G.jsx)(`button`,{type:`button`,onClick:r,title:`复制`,className:`rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,children:t?(0,G.jsx)(j,{className:`size-3`}):(0,G.jsx)(F,{className:`size-3`})})}function p4({session:e,messages:t,mode:n}){let r=_.useMemo(()=>Vt(t),[t]),i=_.useRef(null),a=_.useRef(!0);function o(){let e=i.current;e&&(a.current=e.scrollHeight-e.scrollTop-e.clientHeight<48)}return _.useEffect(()=>{let e=i.current;!e||!a.current||(e.scrollTop=e.scrollHeight)},[r]),e?r.length?(0,G.jsx)(`div`,{ref:i,onScroll:o,className:`h-full overflow-x-hidden overflow-y-auto overscroll-y-contain`,children:(0,G.jsx)(`div`,{className:`flex flex-col gap-3 p-4`,children:r.map(e=>{let t=e.mode===`agent`||e.mode===`command`?e.mode:``,r=t!==``&&t!==n,i=e.streamTrace===!0&&!e.pairedTrace;return(0,G.jsxs)(`div`,{className:U(`flex flex-col gap-1 transition-opacity`,e.role===`user`?`items-end`:`items-start`,r&&`opacity-25`),children:[e.pairedTrace?(0,G.jsx)(Q2,{trace:e.pairedTrace}):null,i?(0,G.jsx)(Q2,{trace:e}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:U(`max-w-full rounded-xl px-3 py-2 text-sm sm:max-w-[75%]`,e.role===`user`?`max-w-[88%] bg-muted/80 text-foreground whitespace-pre-wrap sm:max-w-[75%]`:e.role===`system`?`bg-transparent whitespace-pre-wrap text-muted-foreground italic`:`bg-muted/40 text-foreground`,e.pending&&`opacity-70`),children:e.role===`assistant`?(0,G.jsx)(Nq,{content:e.content||(e.pending?`…`:``)}):e.content||(e.pending?`…`:``)}),(0,G.jsxs)(`span`,{className:`flex items-center gap-1 px-1 text-xs text-muted-foreground`,children:[d4(e.timestamp),e.interrupted?` · 已停止`:``,e.content&&!e.pending?(0,G.jsx)(f4,{text:e.content}):null]})]})]},e.id)})})}):(0,G.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-sm text-muted-foreground`,children:(0,G.jsx)(`p`,{children:`还没有对话记录,在下方输入内容开始与 AGENT 交流。`})}):(0,G.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-sm text-muted-foreground`,children:(0,G.jsx)(`p`,{children:`请选择左侧的容器 / AGENT,或点击「新建容器」创建一个新会话。`})})}function m4({text:e}){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-center text-sm text-muted-foreground`,children:e})}function h4({detail:e}){if(!e)return(0,G.jsx)(m4,{text:`请先选择左侧的容器 / AGENT`});let t=c4(e.status),n=l4(e),r=i4.test(e.applied.imageVersion||``),i=!!(e.applied.hostPath&&e.applied.containerPath);return(0,G.jsxs)(`div`,{className:`flex h-full flex-col gap-3 overflow-auto p-4`,children:[(0,G.jsx)(u4,{title:`运行检查`,rows:[{label:`容器状态`,value:t.label,tone:t.tone,detail:t.tone===`ok`?`容器处于可交互状态。`:`当前不是活跃运行态,部分功能可能受限。`},{label:`Agent 输入`,value:e.agentEnabled?`已配置`:`未配置`,tone:e.agentEnabled?`ok`:`warn`,detail:e.agentEnabled?`活动页可直接发送 Agent 提示词。`:`当前会话不支持 Agent 模式。`},{label:`Resume 健康`,value:n.value,tone:n.tone,detail:n.detail},{label:`镜像版本`,value:r?`格式正常`:`格式异常`,tone:r?`ok`:`danger`,detail:e.applied.imageVersion?`当前值:${e.applied.imageVersion}。建议保持 x.y.z-后缀 格式,便于 manyoyo 的版本校验。`:`缺少 imageVersion,manyoyo 的版本校验会失效。`},{label:`工作目录映射`,value:i?`已配置`:`缺失`,tone:i?`ok`:`danger`,detail:i?`宿主目录与容器目录都已配置。`:`hostPath / containerPath 是容器会话最关键的上下文。`}]}),e.lastResumeError?(0,G.jsx)(u4,{title:`最近问题`,rows:[{label:`Resume 错误`,value:`有错误输出`,tone:`danger`,detail:e.lastResumeError}]}):null]})}function g4({detail:e}){if(!e)return(0,G.jsx)(m4,{text:`请先选择左侧的容器 / AGENT`});let t=e.applied,n=o4[e.agentPromptSource]||`未配置`,r=[];return t.shellPrefix&&r.push({label:`shellPrefix`,value:t.shellPrefix}),t.shell&&r.push({label:`shell`,value:t.shell}),t.shellSuffix&&r.push({label:`shellSuffix`,value:t.shellSuffix}),t.defaultCommand&&t.defaultCommand!==t.shell?r.push({label:`启动命令`,value:t.defaultCommand}):t.shell||r.push({label:`启动命令`,value:t.defaultCommand||`—`}),r.push({label:`Agent 模板`,value:e.agentPromptCommand||`—`}),r.push({label:`模板来源`,value:n}),r.push({label:`yolo`,value:t.yolo||`—`}),(0,G.jsxs)(`div`,{className:`flex h-full flex-col gap-3 overflow-auto p-4`,children:[(0,G.jsx)(u4,{title:`基础配置`,rows:[{label:`AGENT`,value:e.agentName||e.name||`—`},{label:`containerName`,value:t.containerName||e.containerName||`—`},{label:`imageName`,value:t.imageName||e.image||`—`},{label:`imageVersion`,value:t.imageVersion||`—`},{label:`containerMode`,value:t.containerMode||`default`}]}),(0,G.jsx)(u4,{title:`路径与资源`,rows:[{label:`hostPath`,value:t.hostPath||`—`},{label:`containerPath`,value:t.containerPath||`—`},{label:`env 数量`,value:String(t.envCount||0)},{label:`volume 数量`,value:String(t.volumeCount||0)},{label:`port 数量`,value:String(t.portCount||0)}]}),(0,G.jsx)(u4,{title:`命令与 Agent`,rows:r})]})}function _4({detail:e}){if(!e)return(0,G.jsx)(m4,{text:`请先选择左侧的容器 / AGENT`});let t=c4(e.status),n=l4(e),r=o4[e.agentPromptSource]||`未配置`,i=s4[e.latestRole]||`暂无`,a=e.latestTimestamp?d4(e.latestTimestamp):`暂无`;return(0,G.jsxs)(`div`,{className:`flex h-full flex-col gap-3 overflow-auto p-4`,children:[(0,G.jsx)(u4,{title:`会话概览`,rows:[{label:`AGENT`,value:e.agentName||e.name},{label:`容器`,value:e.containerName||`—`},{label:`状态`,value:t.label,tone:t.tone},{label:`镜像`,value:e.image||e.applied.imageName||`—`},{label:`最近更新`,value:e.updatedAt?d4(e.updatedAt):`—`},{label:`消息数`,value:String(e.messageCount||0)}]}),(0,G.jsx)(u4,{title:`Agent 运行`,rows:[{label:`已启用`,value:e.agentEnabled?`是`:`否`,tone:e.agentEnabled?`ok`:`warn`},{label:`程序`,value:e.agentProgram||`—`},{label:`模板来源`,value:r},{label:`支持 resume`,value:e.resumeSupported?`是`:`否`,tone:e.resumeSupported?`ok`:`warn`},{label:`最近 resume`,value:e.lastResumeAt?d4(e.lastResumeAt):`暂无`},{label:`最近结果`,value:e.lastResumeOk==null?`暂无`:e.lastResumeOk?`成功`:`失败`,tone:e.lastResumeOk==null?`info`:e.lastResumeOk?`ok`:`danger`}]}),(0,G.jsx)(u4,{title:`用量统计`,rows:e.usageTotal?[{label:`累计输入 tokens`,value:String(e.usageTotal.inputTokens)},{label:`累计输出 tokens`,value:String(e.usageTotal.outputTokens)},{label:`累计花费`,value:typeof e.usageTotal.costUsd==`number`?`$${e.usageTotal.costUsd.toFixed(4)}`:`暂不支持`}]:[{label:`状态`,value:`暂无数据`,tone:`info`,detail:`当前 Agent 程序不支持用量统计,或还未执行过对话。`}]}),(0,G.jsx)(u4,{title:`最近活动`,rows:[{label:`最近角色`,value:i},{label:`最近时间`,value:a},{label:`resume 状态`,value:n.value,tone:n.tone}]})]})}function v4({draft:e,onDraftChange:t,onSend:n,onStop:r,mode:i,onModeChange:a,disabled:o,sending:s,session:c,onOpenCliTemplate:l,onOpenModel:u}){let d=xm(),[f,p]=_.useState(!1),m=i===`agent`&&!!c&&!c?.agentEnabled,h=!!c?.archived,g=o||m||h;return(0,G.jsxs)(`div`,{className:`border-t p-3`,children:[(0,G.jsx)(_p,{placeholder:o?`请先在左侧选择一个容器 / AGENT`:h?`该 AGENT 已被删除,仅可查看历史消息`:m?`当前会话不支持 Agent 模式`:i===`command`?`输入容器命令,例如: ls -la`:`输入要发给 AGENT 的内容`,className:`min-h-16 resize-none`,value:e,disabled:g,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key!==`Enter`||e.nativeEvent.isComposing||d||e.shiftKey||e.altKey||(e.preventDefault(),!s&&!g&&n())}}),(0,G.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,G.jsxs)(y2,{open:f,onOpenChange:p,children:[(0,G.jsx)(b2,{render:(0,G.jsx)(Pu,{variant:`outline`,className:`px-4`,disabled:o}),children:`选项`}),(0,G.jsx)(x2,{align:`start`,className:`w-44 p-1`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(Pu,{variant:i===`agent`?`secondary`:`ghost`,size:`sm`,className:`justify-start`,onClick:()=>{a(`agent`),p(!1)},children:`Agent对话`}),(0,G.jsx)(Pu,{variant:i===`command`?`secondary`:`ghost`,size:`sm`,className:`justify-start`,onClick:()=>{a(`command`),p(!1)},children:`系统命令`}),(0,G.jsx)(Qu,{className:`my-1`}),(0,G.jsxs)(Pu,{variant:`ghost`,size:`sm`,className:`justify-start`,disabled:!c||h,onClick:()=>{l(),p(!1)},children:[`CLI · `,c?.agentProgram||`未设置`]}),(0,G.jsxs)(Pu,{variant:`ghost`,size:`sm`,className:`justify-start`,disabled:!c||h,onClick:()=>{u(),p(!1)},children:[`模型 · `,c?.model||`跟随默认`]})]})})]}),s?(0,G.jsx)(Pu,{variant:`destructive`,className:`px-4`,onClick:r,children:`停止`}):(0,G.jsxs)(Pu,{className:`px-4`,onClick:n,disabled:g,children:[(0,G.jsx)(se,{"data-icon":`inline-start`}),`发送`]})]})]})}function y4({activeSession:e,onAfterSend:t,filesEditorRef:n,confirmLeaveIfDirty:r,creatingAgent:i}){let[a,o]=_.useState(`activity`),[s,c]=_.useState([]),[l,u]=_.useState(!1),[d,f]=_.useState(``),[p,m]=_.useState(`agent`),[h,g]=_.useState(!1),[v,y]=_.useState(()=>new Set),[b,x]=_.useState(``),[S,C]=_.useState(!1),[w,T]=_.useState(!1),[E,D]=_.useState(null),O=_.useRef(e?.name??null);_.useEffect(()=>{O.current=e?.name??null},[e?.name]);let k=e?v.has(e.name):!1;async function A(e){a!==e&&(a===`files`&&!await r()||o(e))}function j(e,t){y(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})}let M=_.useCallback(t=>e?(t||(x(``),u(!0)),Kt(`/api/sessions/${encodeURIComponent(e.name)}/messages`).then(e=>{c(Array.isArray(e.messages)?e.messages:[])}).catch(e=>{t||x(e instanceof Error?e.message:`加载消息失败`)}).finally(()=>{t||u(!1)})):(c([]),u(!1),Promise.resolve()),[e?.name]),N=_.useCallback(()=>e?Kt(`/api/sessions/${encodeURIComponent(e.name)}/detail`).then(e=>D(e.detail||null)).catch(()=>{}):(D(null),Promise.resolve()),[e?.name]);_.useEffect(()=>{M(),N()},[M,N]),kh(e,s,_.useCallback(async()=>{await Promise.all([M(!0),N()])},[M,N]),k);async function P(){let n=d.trim();if(!n||!e||v.has(e.name))return;let r=e.name,i=()=>O.current===r;if(f(``),x(``),c(e=>[...e,{id:`local-${Date.now()}`,role:`user`,content:n,timestamp:new Date().toISOString(),mode:p}]),p===`command`){j(r,!0);try{let e=await qt(`/api/sessions/${encodeURIComponent(r)}/run`,{command:n});i()&&c(t=>[...t,{id:`result-${Date.now()}`,role:`system`,content:String(e.output||``),timestamp:new Date().toISOString(),mode:`command`,exitCode:e.exitCode}])}catch(e){i()&&x(e instanceof Error?e.message:`命令执行失败`)}finally{j(r,!1),t(),i()&&N()}return}j(r,!0);let a=[];c(e=>[...e,{id:r4,role:`assistant`,content:`[执行过程]`,timestamp:new Date().toISOString(),streamTrace:!0,traceEvents:[],pending:!0,mode:`agent`},{id:n4,role:`assistant`,content:``,timestamp:new Date().toISOString(),pending:!0,mode:`agent`}]);try{await Yt(`/api/sessions/${encodeURIComponent(r)}/agent/stream`,{prompt:n},e=>{i()&&(e.type===`trace`?(e.traceEvent&&a.push(e.traceEvent),c(e=>e.map(e=>e.id===r4?{...e,traceEvents:a.slice()}:e))):e.type===`content_delta`?c(t=>t.map(t=>t.id===n4?{...t,content:e.content}:t)):e.type===`result`?c(t=>t.map(e=>e.id===r4?{...e,pending:!1}:e).map(t=>t.id===n4?{...t,content:e.output,pending:!1,interrupted:e.interrupted,exitCode:e.exitCode}:t)):e.type===`error`&&(x(e.error),c(e=>e.filter(e=>e.id!==n4&&e.id!==r4))))})}catch(e){i()&&(x(e instanceof Error?e.message:`发送失败`),c(e=>e.filter(e=>e.id!==n4&&e.id!==r4)))}finally{j(r,!1),t(),i()&&N()}}async function F(){if(e)try{await qt(`/api/sessions/${encodeURIComponent(e.name)}/agent/stop`,{})}catch(e){x(e instanceof Error?e.message:`停止失败`)}}return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,children:[(0,G.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b px-3`,children:[(0,G.jsx)(dh,{}),(0,G.jsx)(Qu,{orientation:`vertical`,className:`h-4!`}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,G.jsx)(Pu,{variant:a===`activity`?`secondary`:`ghost`,size:`sm`,"aria-current":a===`activity`,onClick:()=>A(`activity`),children:`聊天`}),(0,G.jsx)(Pu,{variant:a===`files`?`secondary`:`ghost`,size:`sm`,"aria-current":a===`files`,onClick:()=>A(`files`),children:`文件`}),(0,G.jsxs)(y2,{open:h,onOpenChange:g,children:[(0,G.jsx)(b2,{render:(0,G.jsx)(Pu,{variant:`ghost`,size:`icon-sm`,title:`更多标签页`}),children:(0,G.jsx)(I,{})}),(0,G.jsx)(x2,{align:`start`,className:`w-36 p-1`,children:(0,G.jsx)(`div`,{className:`flex flex-col gap-1`,children:t4.map(e=>(0,G.jsx)(Pu,{variant:a===e?`secondary`:`ghost`,size:`sm`,className:`justify-start`,"aria-current":a===e,onClick:()=>{A(e),g(!1)},children:$2[e]},e))})})]})]}),(0,G.jsx)(Qu,{orientation:`vertical`,className:`h-4! shrink-0`}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 truncate text-sm font-medium`,children:[(0,G.jsx)(`span`,{className:`truncate`,children:e?`${e.containerRemark||e.containerName} · ${e.agentRemark||e.agentName}`:`选择左侧的容器 / AGENT 开始`}),e?.archived?(0,G.jsx)(Gu,{variant:`outline`,className:`shrink-0`,children:`已停止`}):null]})]}),(0,G.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-x-hidden`,children:[i?(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2`,children:[(0,G.jsx)(Ku,{className:`size-6`}),(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`正在创建 AGENT...`})]}):a===`activity`?l?(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,G.jsx)(Ku,{className:`size-6`})}):(0,G.jsx)(p4,{session:e,messages:s,mode:p},e?.name??`none`):null,a===`terminal`?(0,G.jsx)(Q0,{session:e}):null,a===`files`?(0,G.jsx)(Bq,{activeSession:e,editorStateRef:n,confirmLeaveIfDirty:r}):null,a===`detail`?(0,G.jsx)(_4,{detail:E}):null,a===`config`?(0,G.jsx)(g4,{detail:E}):null,a===`check`?(0,G.jsx)(h4,{detail:E}):null]}),a===`activity`&&b?(0,G.jsx)(Ju,{variant:`destructive`,className:`mx-3 mb-2`,children:(0,G.jsx)(Yu,{children:b})}):null,a===`activity`?(0,G.jsx)(v4,{draft:d,onDraftChange:f,onSend:P,onStop:F,mode:p,onModeChange:m,disabled:!e||l,sending:k,session:e,onOpenCliTemplate:()=>C(!0),onOpenModel:()=>T(!0)}):null,(0,G.jsx)(Nh,{open:S,onOpenChange:C,session:e,onSaved:()=>{t(),N()}}),(0,G.jsx)(Uq,{open:w,onOpenChange:T,session:e,onSaved:()=>{t(),N()}})]})}function b4(){let[e,t]=_.useState([]),[n,r]=_.useState(!0),[i,a]=_.useState(``),o=_.useCallback(async()=>{a(``);try{let e=await Kt(`/api/sessions`),n=Array.isArray(e.sessions)?e.sessions:[];return t(n),n}catch(e){return a(e instanceof Error?e.message:`加载会话列表失败`),[]}finally{r(!1)}},[]);return _.useEffect(()=>{o()},[o]),{sessions:e,containers:_.useMemo(()=>Xt(e),[e]),loading:n,error:i,refresh:o}}function x4(){let[e,t]=_.useState(null),[n,r]=_.useState(!1),i=_.useCallback((e,n)=>new Promise(r=>{t({fileName:e,save:n,resolve:r})}),[]);function a(e){t(t=>(t?.resolve(e),null))}async function o(){if(!e||n)return;r(!0);let t=await e.save();r(!1),a(t?`proceed`:`cancel`)}return{ask:i,dialog:(0,G.jsx)(Fu,{open:e!==null,onOpenChange:e=>{!e&&!n&&a(`cancel`)},children:(0,G.jsxs)(Ru,{className:`sm:max-w-sm`,children:[(0,G.jsx)(Vu,{className:`sr-only`,children:`有未保存的修改`}),(0,G.jsxs)(Hu,{className:`text-foreground`,children:[`是否要保存对 `,e?.fileName,` 的更改?`,(0,G.jsx)(`br`,{}),`如果不保存,你的更改将丢失。`]}),(0,G.jsxs)(Bu,{children:[(0,G.jsxs)(Pu,{disabled:n,onClick:o,children:[n?(0,G.jsx)(Ku,{"data-icon":`inline-start`}):null,`保存`]}),(0,G.jsx)(Pu,{variant:`outline`,disabled:n,onClick:()=>a(`proceed`),children:`不保存`}),(0,G.jsx)(Pu,{variant:`outline`,disabled:n,onClick:()=>a(`cancel`),children:`取消`})]})]})})}}function S4(){let{sessions:e,containers:t,loading:n,error:r,refresh:i}=b4(),[a,o]=_.useState(null),[s,c]=_.useState(null),l=_.useMemo(()=>e.find(e=>e.name===a)??null,[e,a]),u=_.useRef(null),{ask:d,dialog:f}=x4(),p=_.useCallback(async()=>{let e=u.current;return!e||await d(e.fileName,e.save)===`proceed`},[d]);function m(e){o(e?e.name:null)}return(0,G.jsxs)(lh,{className:`h-svh overflow-hidden`,style:{"--sidebar-width":`18rem`},children:[(0,G.jsx)(Eh,{containers:t,loading:n,error:r,activeSessionName:a,onSelectSession:m,onRefresh:i,confirmLeaveIfDirty:p,creatingAgentContainer:s,onCreatingAgentContainerChange:c}),(0,G.jsx)(fh,{className:`min-h-0 min-w-0`,children:(0,G.jsx)(y4,{activeSession:l,onAfterSend:i,filesEditorRef:u,confirmLeaveIfDirty:p,creatingAgent:s!==null})}),f]})}var C4=`/shadcn`;function w4(){let[e,t]=_.useState(``),[n,r]=_.useState(``),[i,a]=_.useState(``),[o,s]=_.useState(!1),[c,l]=_.useState(!0);_.useEffect(()=>{let e=!1;return fetch(`/api/sessions`,{headers:{"X-Requested-With":`XMLHttpRequest`}}).then(t=>{if(!e&&t.ok){window.location.href=C4;return}e||l(!1)}).catch(()=>{e||l(!1)}),()=>{e=!0}},[]);async function u(t){if(t.preventDefault(),!o){a(``),s(!0);try{let t=await fetch(`/auth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({username:e.trim(),password:n})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r.error||`登录失败`);window.location.href=C4}catch(e){a(e instanceof Error?e.message:`登录失败`),s(!1)}}}return c?(0,G.jsx)(`div`,{className:`flex min-h-svh items-center justify-center`}):(0,G.jsx)(`div`,{className:`flex min-h-svh items-center justify-center p-6`,children:(0,G.jsxs)(Ph,{className:`w-full max-w-sm`,children:[(0,G.jsx)(Fh,{children:(0,G.jsx)(Ih,{className:`text-2xl`,children:`MANYOYO Web`})}),(0,G.jsx)(Lh,{children:(0,G.jsx)(`form`,{onSubmit:u,children:(0,G.jsxs)($u,{children:[(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`login-username`,children:`用户名`}),(0,G.jsx)(yd,{id:`login-username`,autoFocus:!0,autoComplete:`username`,value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),document.getElementById(`login-password`)?.focus())}})]}),(0,G.jsxs)(td,{children:[(0,G.jsx)(nd,{htmlFor:`login-password`,children:`密码`}),(0,G.jsx)(yd,{id:`login-password`,type:`password`,autoComplete:`current-password`,value:n,onChange:e=>r(e.target.value)})]}),i?(0,G.jsx)(Ju,{variant:`destructive`,children:(0,G.jsx)(Yu,{children:i})}):null,(0,G.jsx)(Pu,{type:`submit`,className:`w-full`,disabled:o,children:o?`登录中...`:`登录`})]})})})]})})}var T4=`(prefers-color-scheme: dark)`,E4=[`dark`,`light`,`system`],D4=_.createContext(void 0);function O4(e){return e!==null&&E4.includes(e)}function k4(){return window.matchMedia(T4).matches?`dark`:`light`}function A4(){let e=document.createElement(`style`);return e.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;transition:none!important}`)),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.remove()})})}}function j4(e){return e instanceof HTMLElement&&!!(e.isContentEditable||e.closest(`input, textarea, select, [contenteditable='true']`))}function M4({children:e,defaultTheme:t=`system`,storageKey:n=`theme`,disableTransitionOnChange:r=!0,...i}){let[a,o]=_.useState(()=>{let e=localStorage.getItem(n);return O4(e)?e:t}),s=_.useCallback(e=>{localStorage.setItem(n,e),o(e)},[n]),c=_.useCallback(e=>{let t=document.documentElement,n=e===`system`?k4():e,i=r?A4():null;t.classList.remove(`light`,`dark`),t.classList.add(n),i&&i()},[r]);_.useEffect(()=>{if(c(a),a!==`system`)return;let e=window.matchMedia(T4),t=()=>{c(`system`)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}},[a,c]),_.useEffect(()=>{let e=e=>{e.repeat||e.metaKey||e.ctrlKey||e.altKey||j4(e.target)||e.key.toLowerCase()===`d`&&o(e=>{let t=e===`dark`?`light`:e===`light`?`dark`:k4()===`dark`?`light`:`dark`;return localStorage.setItem(n,t),t})};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[n]),_.useEffect(()=>{let e=e=>{if(e.storageArea===localStorage&&e.key===n){if(O4(e.newValue)){o(e.newValue);return}o(t)}};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}},[t,n]);let l=_.useMemo(()=>({theme:a,setTheme:s}),[a,s]);return(0,G.jsx)(D4.Provider,{...i,value:l,children:e})}var N4=window.location.pathname===`/shadcn/auth/login`;(0,v.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(_.StrictMode,{children:(0,G.jsx)(M4,{children:N4?(0,G.jsx)(w4,{}):(0,G.jsx)(S4,{})})}));</script>
|
|
146
146
|
<style rel="stylesheet" crossorigin>/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
147
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:"Geist Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-emerald-600:oklch(59.6% .145 163.225);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", sans-serif;--default-mono-font-family:var(--font-mono);--color-ring:var(--ring)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:Geist Variable,sans-serif}html,body{overscroll-behavior:none}.prose table{max-width:100%;display:block;overflow-x:auto}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-2{margin:calc(var(--spacing) * 2)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:var(--spacing)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-4{height:calc(var(--spacing) * 4)}.h-4\!{height:calc(var(--spacing) * 4)!important}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-32{height:calc(var(--spacing) * 32)}.h-72{height:calc(var(--spacing) * 72)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-72{min-height:calc(var(--spacing) * 72)}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-\[75\%\]{max-width:75%}.max-w-\[88\%\]{max-width:88%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:var(--spacing)}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-\(--card-spacing\){gap:var(--card-spacing)}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.rounded-\[2px\]{border-radius:2px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-zinc-100{border-color:var(--color-zinc-100)}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.bg-\[color-mix\(in_oklch\,var\(--muted\)\,black_10\%\)\]{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklch\,var\(--muted\)\,black_10\%\)\]{background-color:color-mix(in oklch,var(--muted),black 10%)}}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.bg-black\/45{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-foreground,.bg-foreground\/12{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/12{background-color:color-mix(in oklab, var(--foreground) 12%, transparent)}}.bg-muted,.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.font-heading{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-white{color:var(--color-white)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-900{color:var(--color-zinc-900)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-\[2px\]{--tw-blur:blur(2px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--card-spacing\:--spacing\(4\)\]{--card-spacing:calc(var(--spacing) * 4)}:is(.\*\:w-full>*){width:100%}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-horizontal\/field\:text-balance:is(:where(.group\/field):has(:where([data-orientation=horizontal])) *){text-wrap:balance}.group-has-\[\>svg\]\/alert\:col-start-2:is(:where(.group\/alert):has(>svg) *){grid-column-start:2}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.peer-data-active\/menu-button\:text-sidebar-accent-foreground:is(:is(:where(.peer\/menu-button):where([data-state=active]),:where(.peer\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:start-1\/2:after{content:var(--tw-content);inset-inline-start:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:0}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:0}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.first\:pt-0:first-child{padding-top:0}.last\:mt-0:last-child{margin-top:0}.last\:pb-0:last-child{padding-bottom:0}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\]:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\]:hover{background-color:color-mix(in oklch,var(--sidebar-accent),var(--foreground) 18%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-foreground\/8:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/8:hover{background-color:color-mix(in oklab, var(--foreground) 8%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=alert-action\]\:relative:has([data-slot=alert-action]){position:relative}.has-data-\[slot\=alert-action\]\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:0}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-data-checked\:border-primary\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:border-primary\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.has-data-checked\:bg-primary\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:bg-primary\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-lg:has(>[data-slot=field]){border-radius:var(--radius)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}@media (hover:hover){.has-\[\>\[data-slot\=field\]\]\:not-has-\[\:disabled\,\[data-disabled\]\]\:hover\:bg-muted\/50:has(>[data-slot=field]):not(:has(:is(:disabled,[data-disabled]))):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-\[\>\[data-slot\=field\]\]\:not-has-\[\:disabled\,\[data-disabled\]\]\:hover\:bg-muted\/50:has(>[data-slot=field]):not(:has(:is(:disabled,[data-disabled]))):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:border-ring:has(>[data-slot=field]):has(:focus-visible){border-color:var(--ring)}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-3:has(>[data-slot=field]):has(:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-ring\/50:has(>[data-slot=field]):has(:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-ring\/50:has(>[data-slot=field]):has(:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg){grid-template-columns:auto 1fr}.has-\[\>svg\]\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\][aria-expanded=true]{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.aria-expanded\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\][aria-expanded=true]{background-color:color-mix(in oklch,var(--sidebar-accent),var(--foreground) 18%)}}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-expanded\:text-sidebar-accent-foreground[aria-expanded=true]{color:var(--sidebar-accent-foreground)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-popup-open\:bg-accent[data-popup-open]{background-color:var(--accent)}.data-popup-open\:text-accent-foreground[data-popup-open]{color:var(--accent-foreground)}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\][data-side=bottom][data-ending-style],.data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\][data-side=bottom][data-starting-style]{--tw-translate-y:2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing) * -1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing) * -1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.data-\[side\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\][data-side=left][data-ending-style],.data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\][data-side=left][data-starting-style]{--tw-translate-x:-2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\][data-side=right][data-ending-style],.data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\][data-side=right][data-starting-style]{--tw-translate-x:2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\][data-side=top][data-ending-style],.data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\][data-side=top][data-starting-style]{--tw-translate-y:-2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=md\]\:text-sm[data-size=md]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\][data-size=sm]{--card-spacing:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:0}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\:data-\[slot\=field\]\:p-2\.5>*)[data-slot=field]{padding:calc(var(--spacing) * 2.5)}:is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}:is(.\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:flex{display:flex}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-\[75\%\]{max-width:75%}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right],.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (width>=64rem){.lg\:max-w-2xl{max-width:var(--container-2xl)}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}:is(.\@md\/field-group\:\*\:w-auto>*){width:auto}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}:is(.\@md\/field-group\:\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}}.ltr\:-translate-x-1\/2:where(:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=ltr],[dir=ltr] *),.rtl\:-translate-x-1\/2:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:has-data-checked\:border-primary\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:border-primary\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.dark\:has-data-checked\:bg-primary\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.prose-pre\:bg-muted :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--muted)}.prose-pre\:text-foreground :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--foreground)}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent:where([data-state=open]),.data-open\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.data-open\:text-accent-foreground:where([data-state=open]),.data-open\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.data-open\:hover\:bg-sidebar-accent:where([data-state=open]),.data-open\:hover\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.data-open\:hover\:text-sidebar-accent-foreground:where([data-state=open]),.data-open\:hover\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:overflow-hidden:where([data-state=closed]),.data-closed\:overflow-hidden:where([data-closed]:not([data-closed=false])){overflow:hidden}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-state=active]),.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-state=active]),.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-active]:not([data-active=false])){background-color:color-mix(in oklch,var(--sidebar-accent),var(--foreground) 8%)}}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:bg-sidebar-accent:where([data-state=active]),.data-active\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.data-active\:font-medium:where([data-state=active]),.data-active\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.data-active\:text-sidebar-accent-foreground:where([data-state=active]),.data-active\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.\[\&_a\]\:hover\:text-foreground a:hover{color:var(--foreground)}}.\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\]\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.\*\:\[svg\]\:translate-y-0\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.\*\:\[svg\]\:text-current>*):is(svg){color:currentColor}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}.thin-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-ring) transparent}.thin-scrollbar::-webkit-scrollbar{width:8px;height:8px}.thin-scrollbar::-webkit-scrollbar-track{background:0 0}.thin-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-ring);border-radius:9999px}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAECAABQAAAAAjngAAEALAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoYBG7gSHIEsP0hWQVKDOD9NVkFSPAZgP1NUQVSBOACFJC9+EQgKx2i8CAuDVAAw4wABNgIkA4ckBCAFiBoHjy0MBxtohQfw5rFUboeN+dW9GRdMN3cKdAeuofolLopSPqqR/f+fkSCHDAvojlCrdv47kSFKBFtlevTBCEAxBiqjMXu4g0+MVROL6cSHKr3ILHYYhCLcXHdtWrrCCvcV+aod7RQ2lR7ZwQvZW2rwwFfPXGdF/21FZIgMkeELtdC9pu5mEEzSgW79e2iNmmoEYbSa2KHOCk1P2TpWILLfG3myqn1evVv7A08tzsBPB9Vbfp/YqmymRW494d5jpkdo7Jpc4p/i/P+vtTvJlXLyIHsE6oszQv0DbfPfuwMERPJEQESkLIyqGXPRzM8iy+pFtetSf8gY+hnmImt42uY/NnH7RCtmIkYRJcfBCUcdeBxHCAYgVixdR7L9il7FpU6Dr4SH1WPLstjtZKsMsy6RzVEDNG/9Pzf/u3wR8W677cSq3Z/HWlP8ajvR6qvlGRF4BIkOMjAMEAiJn7c//071z0VJV2BSDOFmKWfpEOnrAcv2tveFQN1KKVFKDjlgkmUSEgU3mr1DzRJLKABMtOThDfaiTifv58nYwK3/x7967+ABHL5Z0lV4+mVZp0pRfZQRFiIYdHv+bccpxRBBh2vWzG5KM0nbAyZ3/+9eqEB7ACjMxW7tA7FwAFAAAepUpMWsJdf1DPrVdjTH0eSLe9tL03Hr/91jzKGxEkfS29IfyGUsEk0B/PP8+7urCrUd723k/hEI1SYIls2VkrhHtSQmY4xue8hVHREZzDfVl+osX8Z2sjud7kltf0CS38IxCdDpfD7dSfKSh2w5087L/nNaSUf+mChJu9EeKO4aA439eFEBKiAFaLKJ0QSogBQwUIBanv9+WUrn/rOqv63c9ZVsI5fQlghZCmecRj3PqnbIbWck7JCQ2ZYIMDZ0CVEDSAxP71Sx860OqfsyaLsJDmBXBr0zdM+wY+FJQJlgoGEA7P+v83V9V5ailx9S5COfF1a2l6IKZ3crFwO0/XTrsJKh/1imWg6hvksqvzgFJfycIsELv58U/J3w1GHjYQmcvXunBv7Nkz8EsGB9WCgAZaFxDHMZFCc+oqmYTcnOAbfBg8BCaEOb8XjNdyavfRL807almBE+QRRhhBFBGGGMcXPsafdj6vew2jn8fWZRQpHgiSfhE1fN+Gv+806QhACyLMjOCHqIATHZQw64EB8FickhBVfIjRZy5w558oL0/KAAwVCocChSNBQrCUqRDnWTC/XUB+rHAOUxQkMNg0YYDY01AZpkMjTVTGi2hdBiS6ACpVC5CqhKLbTMSmi1tdB6G6HNtkM77YH2qYOOOgGdcg664BJ0xVXoH/9ATZqQbjIjWdmQ2rUjIRKYAPOBCYTaIYYmN5lZ3WaDIK8jQR4DuRwYOwgUEFk377njf0vw1vh3+z6AP9CLe7FCbVRoIFMP9Es/B6fsHImTETJGNjppJ+eM0DodNEFNl7vrPeoxj3t9/qC/2l/nT/qb/IvLjPfiN9oJVz3nru4djFBDj2xIwzO8kpED6ZKuqUxt6idzDk8VbECgqOGADAETYih+XvWxrHg9sJSVWJ7Lt4nmHW9Ru7R2/72H7+wO5HNGLBoNmnT/e+m5PDVEnaLSNCCVfI7V6HRcwmUM3JhY+MaCdOhDI0p60nG2wppsMzJjKrd5cvDi5CaX5IZM+ZbjSkKcFERQURYQS1BIXEKIpDC1WS3UYAwjEaMxNV6Oh9TXpOaYbHZtN+2BjVAqUa8c5kSt3pR9JFlocTPrucoUHl7AAgL+8PeQoDPYwmUBER93GWB78SDATPHGou28qwUHupMmDHQB2WkD4U4gO7t5qAfo0AC9C7iC7dFc4KxTBnqAZuG6gfyczkMvoICGTbzqGO8tGM6KHW5gFI2DgQ+xEXA4nRIOvuNANKTZ8wA7exBcrwcIZLMK2Dzz/cz31TM7zP59qfkKFxeABgQTDlXtFBzswbFxN33CalAIp7ftaF4X2rQNFa3AldjiCYx6gLqXdV+0FF9tOF2HvHfAdbCWzS18MrCbbgQkgAXq2suqCCQ5WC34O689H8I2/o+DkQso3gfX7V2bxamFM8UIwwpHgJ0KRSNTVPXDRPDeN5cQDsnJZ4/HgfiMj43gcD0oIdeD0rzXhdiTD1aorHXWHCi5mqf0i/yubbLshvrciiqkXNoG33A9p5Z7jWMOrQnYqf/D0D9BAGnubBmeHN8FUnk9G+pe05EVQx5MB/tYNBE+PcEJEDXnaeqfLWaK8PMVU0/fF12LM9y3qG7x+DqWTLXsOa+a+qfELfk434uSig33ga+U7UBKOLSLsmbHajMtA97qQrmcgep3gW+HNGntIQUuU9jdZTp7vObXsdZ0Fte7muFcSRt908rGYBmhNriTCaLW8ejhxD1G7C4piw7oY/nscj4cyfFjD4gBvnExsHEISMi4UlLRUYBIqQoSChADMxsMjuQVFBHVo8+Q8YZNMdNcS6yw1rra0OnSUeINGkVElbL/dryJ35GsfetEvFq8FlQlRxTy7I4I19GkJB441rd3/tasWRO3opQ6bfKmuLGfMAL80FIHeNVArKb9SzHInyh+2drRLO0qOw1lD/HmVRcC9DSEGr472hRN1D6rcUTgQvyx7nG9dVgP1E5XfZ2Eu4RV9JpaXDMBIiLhQkrSWlBpxWglCA6+V546aUL1vnwVE9ddz3GyOylg+e5z05GJoncIzS+J3JlxMOEO3qEsKx+7OvhEmQy3pvZEQ1kf66BVO6DS0bAO1LjE6PLW/w+edz6qJr2Paut1I6xTC45oUyZz5/xJL3U9mq4WVDtxyuMjmtONuJ9oOKIt+lR+bF7rePku3nmkCP9yXwXzKrVWJu4KEdOCscmrB8SvrhDd7Y04Tc19ipF3l/CL8gtq/qr3UaVbbcyzD6A/Uf1Pie9UG/5pBoLLKc006ehp1JWn5mrPY7dOgch1eiY8akZTSq/NGKgIzsQ1ol1KDUJ690FN9qkS2fh3MoK8T6K6OLHHybDPDhxrL4poNaDH8X+JJDBnRU3cek64f1NxfxLefAy4cqPlSc9PiAjxknWTrbte+hkgzwijTDDJNLPMtUC+YlWWWmXtvB6KPXeE1L9/4MjycrUjGJYSYubyyWDehnNTuNAwMJqKavAfKTrqsn/NRnjcU+cKeOJCYyrE8nA/tzNdPLJ66+iLgp63j49ERM9oD68Hj97V9WG2z7Ko/kO2dmJV66OZYZfLPjqLH1ibdFyMqWdK6lAZ3PNW24htwOiqv6u1J8odijbNMiq8LNHC9smo2b0IUyON54GRpYyO+9UGethjDkAU1buWl6O2pJZei5YYnXip0WTlCz1xzECJ5K8NekUZLaJmfTQD3vC1UjgW05+dhP569Ci8OBiFuBh/PED9bhE/BxvtlG+NsefHyNcj2pdPv/X+PT/8zo6rtD6r+S7/mUZ9nQdtlcFqlsxdr//CcsT2pRfva+NpdFSYumIepQWlciIP+IQcbbUfvmfQdMt3fGuJ6z4tNJcVJTwLuG7WXDGetHpcJrG0nzSf1NjY7IfcO8lae71p7GDOicrFore6rOMZEg8FqEOMmLf1G6OlO84HHnuKOrOoK3Jcz+eec8CdzDQ6GMtfz2t3weHFMG88mskfc2fQ516bAfSPrHON1E8kb91n+8/7et2MpQbtqSszq2FW1ot6po6Mjxg38hza1aZ5XLRnVvva+XnUTIw9MjPt/VFsUYIZ09eD5sUfrrPUp5loHvsHobPW2/aA3Z61/qRX851ml6V8ktFsJZ2jxDyW3Fudc7FR4S8zkO29Gf8iiW1RrGpDeYxotVd3rJhl8sl4OLtHXNSgJ7BCnCnVDdF2GZ4LOet4JEW2OH6v0/BZvgKpvp9X7XPMUpSWeJmxPGo6d5fkKl/qSftENrW8fcL9fXfREebxSgya+PpdubYSd9+vPldqsyLa5mhSh5bnowyTv+9FaGziag5RzrfLXpf9OycdOHs2067W+Vya4OvWJ+LSnrgCjPiBetn3euUfs2Mnm6K29QDbcxDYjXSFTZxNiOeyooFWZJ1+Zr/jMc/fYdnfVOrW2yFgjgo5pWWKM7fHSUks1odfrnPFOpnG8o6IfakN1nXodcIzaDB3zvCzl2R6u/ws1dxlokykTKQj09EqozW1zX40knZyL6O35pPYRRTYW8pFTzL0eRDY7YAwa6tVYHSige5Z3MfcvvPkZnfthkEVyStM5wPfTZ8K8hTVmcSuD80l2ml4NhQ87o82hTbHtJjwJ5UCYzKBQOLvqB+1nT/3bX4/o7oCyjj+GJNkZDU6Xkp41WoaoUrglsMM1WbszD9wXz8X4Jkz70P4Ob8/0QT69Uixs6SgJv2Ph8bzDTc2AjEeKPsnNRINs98c+5Ixh+MofTNqY5iFuYUE4jTKGBWVz4v9CGcb32K2Gc9IYbfNci23M0MG0203raqZUgkGVbphUt2wa2ZEYLrVNQvM09s6lbUYLDQya0ewbJFUm8Do0AYj0+xFZuAg5qd8BFHJGTtlhNk6isQeu6xRrMAKJbL0Ic3KLfhPcRhlhh1qpWbcCB4ObomYMNlWZdkIds1lwWehwF+VBqrMNtXS2gDEKRy0WvBkvbz0GEGRFRMUZezGgBcYVHJGWRL6VnwbAwxk8CTS+wMK2SQgIUSF/dwHm+9lRn5XHfdjdnJJrGvS3kwOmOxxLgvREAhEJ1L8zxKl+Ps0CdAR6AhcdlhYEe3zIsjbVfQGI7yrgZSE92cHzri4SGIu22GH+LMbFhUtgh6sOCx6+dyHz9jqyy4Tl4U44T/vhiXz8u+ULLlYVOFGvOfsaFgRhBW9Ub0i3e97Aw0R0V5nuuofS9WoRaeqaNFTgR50drLrc6ndygliYpKgoz2THQx8nG4o4hR8APAgO/jtPjsYs4BiH7vl9or4QLv17UOCL8ZDg3+kzj6vtQtQ7E3FLQAKu62NAafC3LhovvLm/ugDX85XkBorhE8mSrfdnifjpdlq9wfy9MnY7eOhZ1sPb+qdvslvhrifu4hmBmDcVa3o2ZybNLrYC7gujLjm1mRnTvF51SF1ieAW+JpHYpH0zOtcqwnrUfxymb6fKRREPmkg3hEL/UwgoHjX3195YOPgJ8glFN7qL0JkpCMtaXM/LiNhK/hXHUcy7diAwIsIYCVgPhIiIPDgA2s/KPhBDFBAXj+3Od5++8jrx7GPpnhbukqYLOwTDgxMFdeIW8RrmXxplXRFIhWnyjp6PZuWPZfzF+NOjjv1JWKXFqK96Bwap0NGkrHF2Ia34N14Pz6EIeywdLaZ5DlXaZCOdyX+8YD433LPeA+913AffRh9ZAdfsF/A0AFnlVOD8j9rZUUAXH63DQEuQHU2lEzoKA3qiQaMZgKtUrIMHdSd1R/YK736HCswGrdHfgpcB5Q37dALtoDLlC9Wkq/+fxhgsH3ileBBQC2sGLA8NvQ32Z8A+/ZWRlx2WnSIAsD3EX1TKAUQRUkvXLrejMabrRACMjYcZE0Tja7FIwbNXYjUJuvD/K6lcw+ali1y4vLiphVblrVym6VHwFzcARArQeNjPk5dtKodPlg8Ot7PYoItrkSUklREGk2MscaRKVmaZdmaupjyrJxLWp46X+ersTobkjSSRaqXdVMUKTYpvilHlfuUR5THlWeUF3ZX/vmDxvsHnKQsVZEHChos+NHRt+RwmvKwJKChFchGMl1KxWLv96DiVj/byzQdcnvB/9/Sg6b2uf8LJ/QNvV7m/6f9+kKwF+B/7wf86HmAH754V1XMFs1isqiTA7zovU21wRb7HHdVo38AWTJpyUhWRFg8q6d85YerTwHIutjfAlkfGBqFNALDaExjsY1nbwKWcRxMwjWZ0HQC04jMwDeVxFxis8nMJzWPqyUUFtMqolZAo5CKm2LuSnmpoFfFVw0f1fzUCrBMkBUCLRdspXBrhVkj0nrRNoqyQazNEmwTb6s4W6TZLdUuKXbKVSfbQd3s091hWQ7IcUgvx/RzSn95LjC65C8XhVot0340I8kt5GQOT+USbZduj0eeamLjbIE+TujpqN6OG+iMAU4b5CyDc4a4DIH5CIjCwg6pEjBcDgWr3SzO4hjM73sqicAnaxZLUmnWziyRFMmWLJU09lcOL5MMEPyZ5ZIVUs1ZITmsNbmslDy970VWgbBH5gH8CpAvA1eC0W5g+kfAtO+CwfsBBoh+m5SX9dW0loyCWFQYYDaO7XIXhbBx7ZrH5o2vxw7U2EYVfnqpNvM2VtzOxGRWucKFRCbjJyGfPzRCoCFxbmPlh3d0enzIQ86EvULJsCGVkp0dojUrimWCSGazFamh5mSpSlG8XdaXpCsT5dldmWhSwqwQkstUqsqszPbJqggeWooyVUTxUtFbVcWp2XCqSqx0WrAHSCbTUlaL0kRWJCrL59/dOMcyYkHF5HT3ZtfURs86z/I0WakneWI+wn/o2X8uUKP/IUXwB4T+5QJz5g/84djsIAiQPbjRI1FOgYQH61D+XS77H9GrZX/02v96ZHnJaijCyYiZFYwZz/C/hVAFZMsuvV9iERXMYdnAleUMOCpQ4eC4Gg9ZUHhMnghaLvI3rJPpw5CDZIVVXlqmCQ1CaVh+ZuvbNrQhwgbXuwNEBp0w0sJzW66JvgDxmILwaPnjLowhe+UiCkJa/JF6Pe5+jT5+Cf3LjZbFBPGq9jcPk0PfzyqYG6lgKSYIYxMX68Zu5wHDMcIMkG24VLar3hmenr1/rlM0M8XhBOcnORcwbkpUsKZg0iKDNtHqV3bOI0VPrS3IsgAhzHBK3S6SvcCyS085rwn1m4KcVWA16RsFxibNFnMt5Quuvg9ZkH1EkXxsJ9DAgIiFGswfmFDCZeajCn3S447Re0oRboiCUTF0arBv0Dcp57SMhvOyHVpeSl5db727fNJi4CMJWjxcTcrELuFuHl95DhUsSct+lCm/2iPLGgo9D69182nkgoOaOXpofWvRebJGdHF6LGbIivmr569+i9n8Sav9Toobs7DEeGtkEj0mNI7mwwxtbHkm19zsLr+HvNHbn07+w1dYaeY6fcH/RNEB4n0cex14CQJqJUV3kSuoYJrN+aVtOtZTvG1N5IW9grDsBP3z0BZJeiJn6LBqRmh+walLBzGu+iNYAhNGjl+dZ/I/MwaOy5mVuT9gJ3Eh7VhXKJ/IcqjOylYmBm3ZLaWU6+120csVhBmQpwQoxNYDZkPVSRCeDGrMwJZzVxoiQrE4yKgVDFTeBRwSEkeWV75w72AGFA82D64YCy4//nHdLO8TiVlkYHfMHsqymXWsJ1FxGbIoCO6eaDbCZr6cciFv4GvQdH/o/zDvC/Lk2tMtPFibD9AW7Nv3/s4FZwr27Eml0XZ+cp/OX72bjoZXfidIYYIg7eDR5QZ2CShrz4pyWdKXgpTK6gW+DHoeQztS6Ku3276oi0IHLjct8Bd5K8O8fj99FQVEMF11+zosPnS3d3OU6TdLyk2qfesCkPtMmBQ2KMztgKm2usPfiNxzUYwZW1a/PuX1Ucssb8+xCOb8oDIABC9vDx2aA8irovdXa/o/4/ygkx1cStp3Dw7a9yz1BKcvnp7Q66WyzM1ujz6il0/zeuVTI7C+MdzEcHqpDIt5cJIW+GNf7Dh27uCBw2e3L2yYM3nynLnzo5RQ76/yCh790e/0/9yHA1tlbLRF2u6WKLRtKvU4MsutmdBWVycyZkwp844W6LBgbw3cstRr3dNPls3Dg0OV9YousYusnE1W5YJ2dmhxEN3T2Wneu6Qp5BpS69sZkIfK0HsInyNkL5thdZRPC5vtdT5ZZXDUG3eltWmpOy9fhdGACHSvQpyIa1fbohbj3rYoundpa2TCwmmCqIc6LEasRWpnWLXA9BBqg73S8kAy7lEchVZOswF/jPAcv3zcQxTQyBtnHmkMaNi6sEbWC4xuKnDUuyG9sZF46zLkkI4N1Qnvo1nT1J1QXbS8/bHiC/0517Pl4BK83M7EQG8fEZtGtoYmynp6n3FL6+ersWjWt2kegoQwqwH0scPLSOvuwUHrnmWecMQlQVXZPb2ncAMahaVTvV7ptKgeNamkSJWp+jsP/DGmubNa0aSrEKOGEgcJoUoqxH/Hzb2jbNe8lTFwAzJDao1Vh54FdrZzghrpotZ7qKFyE5YvrzIkQ3nZ3xEiXOAQNFWK6mtVMm97lcnWq4DCo7QeqlekM+XX6qya6uzf7Fkoj0yIqsT2ak2dt7cC+O8nnb3+XH/837urFnSEYHVLn8QyB5+DEvUaqNFgj1jBv5P/kh5V3wf2wJc4B/9yAJBs5/g67VjHW8RbRKDRrbjqarRjx6347YXbgeX2ZfaWCyX4YnYtzD8dAtzP+b4zctWsRMryOSCNHE7uxd9Nn7M5OJA10v9+HzGe/jd00Z1NZr3ebiXYF3NgDVQn/ecyGc9CB/zeSOdA+HPeW+wEtIJDy4tVFC1vJuwZeaZatKgQERcczPTMy843ggw62gUrJ+G4crhLj6oDIqVjgZs6yySTmBxRvz8ppvMjUS50UxcoiUA5oNMNIbh22OWiVH58aah1i8kXeswywu71VBTYy7Xl2aRKk+3WlpUjzqjf52wHGXRzF6yYhOOK4Q69ydCuVQx7kqfH4ZjLUKOruOOJFyBD3r/0+VSLpV6ptqGg892SZ4XKWaTDp33FGSr8n815ydzYNeMOsCK38wlz01e79IrhmkkdcG1Uq2we6XLgbaDyT36Aa7YaFRqbGSRtl/vy1YbDbuqp19RGi1xBFDdU1sBRSDFotsgHIpBORlan4thfGinZVoYy9Y4AcMTn2fSiMsQScDptAfDrfSSAlK29fq2xGF68fOPD6xSR3FZV5FW6cLVVYpJprVZUBTAezgNxq9GSlEfZGrwI+dQo+2zepaT1vfNNq3/k0MOkewE4V7a1pgX3cQCnDM1fN6wj5qzbkoakF6tttQVemQtXVybqeEVqmwVVA+ZqtCE9L7MVbynJ0+pyyliroTeDbupeYwSXVJpNpi64gAtXTuqCjXYTthcw4jnPAmA8dOTsgVdgnUZWg1UXWfaJtYBDN7WUNt+M3NSpvyCSHYUJJUMeE7OhOFVUH/U2IWRFqRV1U5M2KsRyX06KVv+xleEuFIlMfRjgGfUQEo/H5T3NzkLL7qDl6OyXXXFHL9aDgsL0N/DqN5yFolcIPKfbAx0BF66xSozyunqsXoXzsJkxttaDgAs7uf7h85PPe6/LTDrv38ntGLMi3COIrEbVadtastOvj/JvPr9mtvBH+G9na0E1bhs0oNtvv1luFPj66SMxJ0YfCVSoNu13UcWVUToU1gECmAKpf4gqr8TrzDAMUu6iJhQUflv6vUvyPfgZw2J/38haZgGSWejSL4/wq2AtrEBU4wKjE8nhSFN9pEJKqvnbJ6rQ1GVwSCx1ygS9XhVagi7v3MgtRVQKGSHVtIwSOuY3gZ7Yu7NmThwaO3PSuOEfZMMYZnGmAig2vHsm0oV0joszgMIJ6AyUOSH2ctWM/WG9sqW32r5fEN2fXjAMQxiE7Qdzivn4DUl9ukosltenSW7Ybxj6K2C//qaApYy/K2ZhWZgn9LGAuBLik0vp/6aFEBUGO2Y4F+Oc3NtqYkP6P+nnB0FJqIVsIdx/MyOY7fJMDUBTQYkLSoJn/spY+gu8+kVb4pk1MAtBWznXDCj57ANDZp4yOOtVmw3FCuhoTu7WSkWxyQDm1hXqC9kuzbxxvA87iGvmZzCYSjYvyq9JRouSypnPJhh8RV5NkQaU9BkZRrDSqqo+zWPzhMxbecWMuMSK015pOpUzeB/pVEUVEmOeFwT86PFNhTucnfITUMuMWaHxpdXgff9A0gu8/yBioVVvJtjy93+wRV3ULJ1zXCQ67X9hkDad8s1q8/7OQOnrPVXlkqX82PLzvMDh/NpopWHeKTOL76FoYe6+S8B9tcQfTzuCeYctagPuk6zqrVkg8CtDQa/qfyH6K/rOvUkLYzdYFQLTmP1yXJy1brFKN1urb9tw0ZX/QLRz2Iu0g252Yt4ipgjhzJpVf47cf8juZTyV0pq0yaPJbRV1CEaaY3iOO8f0FM1bbjr8AmUkKHN05+zaBc93/xdcTTt1KEXne64M/HJl6P+j3Oj6u0Ws/QI6scTTPMKy3Dzi8RxvMQvF+/VW8vTG5BpLPn3wW9/8x0KA86cp+jeE0NYhkLbszULOV2PWWbViJERuu2QRvoCLYEMeEbyymNjcsxhTukAMO21Ab9FrB6wxeTrsp1cF/qrV0HlGY2e7ZUwDWy2jP566DHeDdJeR7hZ3XXEAcvi/W/qLVQ3ooc0p0ZaodVM85WaC6KstxukmU+7aNYLhTfMwtNkDserLYG3WoJsNE5PLf6emmwYwG7410nLsddx8grh9cpPNaX8Qx9ADkyjsyZmXs5QQkwYmDm8Vgy/u2Bi2TWm2/3PV8NB/q/72OetZNGs5yaz5VLuWf6ZpdY6YmFyrfPbPEBfdvderO7qw9Bu2xHzL6JPr/CZvWvGj65dQuW99C35WU+L5TSFySrzla5T9NvcbKkU5Bk5S+Wjm+ezo5pZDYGukY+PX6b3vT7Kl9hcLoCoHO5crX46y6rUtgdysgFSAnquU6WZY92C+6FKa5/mOGbbpXuryTf3eUDqP7S1aGYc1cYch2Y59xxXsDS0nN5GZ5Pa6UuzzvcmZ1klXgurFTVdYvHUXO/JrI4PQFo90kxdy06d4spPR4ZwctidAnd08nbZZ6a07cV7MLnB+1nyEtcloER31BlYYom7+rRW0YTzierDt3z98WNA7eBFfuvDj1EdO/+z645nOd/XBvxgBmAMYg7q9lZ++aoQJM/ayOlj1fPo/tXqEwFfNwvMYQN3TgoCssgQr+gkOC919nSyDFyvncUjgxMsq9XlYfAIBqA94Os7pab0RJAyKeJelFUHmuFW9zP9Gf/YzbGqJJNZHReAXnCWNE4/MVFsABKRhqqOADP2umn5Xi74wcsfJ1vOE5eoEi36iFZ4IWkCYkkHCYKmQt3V9JEXOIAfU0owJaRanj7MkYpxlW8FwGR31rSfrCwC6hTOpRT+EeZfQgXYXCWBNcJ62j/4d1K4EwnBJfyleMcAF+gG4lpArAxLAmtC87AIZXTt9v1dUfU7g/HBZSStDdgDxdfj6jvgJfZ+HnoIGOtEKb4BTpyFQI4j2OClmvQG3dQYb5G9V3999tLR53WG0Q1O9TEM19I7lF6vP5PSlbCP2g9L8+ty6TC3X2uQ2zpKK7Qf4WxsazoEqa6U+AAYijI6/lRVCe0njpOcOQW0B/Eg9b2H7SR5FyApCJHIewunoEQLtIG+iQoocFkapSC0hkcNya+ANQl9l1xapWwHOjE4Wr3jQv+LIbcSgLVMfwc8n3NGae0eNJHAKKeDnfbYJAvk5AWzvaJCdEc0iWkTPmJkGvR75zq7R8f8XdEB++VMw+O3//k7jLlSK3oaZ4oTrmt33LrIURxZnmtOXqVmcpxVb1vJXZ02oebW63jdZK2rS1lLXExcJkUEynXyK/IPsGFobGlKNjgfPDl5J7bSRTqTz6ZfoD+jR4SPIJHI5chtby37Afs/+O2ISvRS9hXt4lI/lt0YcHrEwoi1RKYldJTmkJqlfmiZ9Qvqa9BNpx8jpkcsjXVmRx/Gz8atkTA7KPfJkeZ38Q/kP8v9HHR+1MspVXlTGKbOVzyrfVhZGtwQRCXIkKGhttLG0WbQ3xRfid/GE++jnGVmMMoaKgTJIRpgxyPhOT2IWMGuZCBNntjL7mTOYe5mnmR/rP+n30kJWAauGpWNhrLms1aydrONsChti29kBdhd7DXsn+zj7KieXU8mp41g5Pk47ZzXnVc5zrj03mYtySW6EO4Y7k7ucu5V7mPsB9zvuP9zfPA5PzqvnEbwQb4A3lbeBt493hneL9yXvd95jPvBH8WE+ye/ify5IE5CCvYIfBI8SGAnJCeKEugRvwpiETQlvJjISUxKtiZHEZYlbEs8m/if0FEqFBqFbGBaOE84WLhfuEZ4Qvmb3FS5bHGCiQ7XoN9y7mAAOCSQD+vUzoOrf/8fYBz6+GzYLcWO2KgK/f2vZQRi+2P5Skd4WHF0Dbcb0pz+F2n/o/2kjfMwADRj4gBwFIKYF75pghDDSnkcPKsXVWY1vPG0rLnuvKcPA4UQ/hoNpEx2Ugpr/uOFu3QmZRUOnPlMqzp71dvf5frbEa+UwJ/2vpBEwLFKeH6WDHwBUgoOrI30izFD46N0URz2IIzWTXFH5lQ8yXt0d2BenWLneHt+9MyMENZbSKIQgyDfOtNr3ENT/DZh9YcsnKndsGhXRWwT2BjXOyQtST6ae0iW9AlEcBaah1F4xhKLhVEiGnAF7Coi5vJU4MO08eqMpobH9KZRJ3aH+/MRbKDXIW/RuFJLjO/6wuYOtQfhtLNPLqkKATHUcuGU5gMARZt2cLnJxg+g+n7c7qyfmS1su4RuGVvmPq4+ejmmz+uC7Rz250JS2fW/TAr2nuZzPmDn4LhHACPRD/wbOTvv0QQhJPJxsspgUaB3juJGMUtKr1+AIOyHxehETjME9qx1ysJl+NBSaUpOOrUUOhVNIwUC4l4QghORYij/A7NmRzz5v0paEXk5S1hpwL+4NdT56QrPJGVVdcMA1yck2BS/Ll+CMeCzX2nhkZdq7feLdQ0r+mwsarSDvJAWeu365GebCyGhugR7cmfC07hImEnh0ZrNFNHfqvVPL9uO3yLlenejJW6eERshUSWJwQKnbA5nn+zhpdYaDQeXY8OvV18JANSfd0WJ8Tm2NsnmqK8iDBMdyXkGN4YNPGgPRkx3YZ588hBzvT82a1WDgcznbUUBLUeC/GVFnwRh4CGp3BImzWg5d8eOp0uTJa7xS6/hFsEJYGKRekRfoplvTtS/vUtOAg3gKtLySrmg1jundmM77Q6TVOpbz2pSZhAZOqYTmzkAcp3myH8uoxGuqJrm9QpoFCPcd2dNjtu1ATM9nYy3pHXFhFO6O7OAG6xEurs/q1dpMHmJIkqGMei71ER7aXzrOY/llJjLHiw21MVBavMrzIms2M0BIPtvLs3IfYziblHK67stBKSGGCI6ArKJ0igsWx+sHM+P1xaDuC6gSYSt0eIGIsShZTJTQpUvFey8+Jibcn1vNGmB9JMZqj73Cns6GugBFaI6WQ4iOMl1A5QnoDOosA/4ceHwCEEAUHYprIG3GjPmg6tHUZea78NdULoEeK4Q9Y6lsqVYEMZXXmVPLcCoDUKW3dQMS0mQAaOwOUDqVMEPIGPpfbFAwqOz7KJztQxuIJc8vNgMfFkIXLtZY7yWr5mFQ0bZRFXUg5mVtQj8NbWFNocVY+3Fg/SywsAXFjCZmeUFAK9ple4Al+IVChDa8FjP9zG++b4mfqlgDjnl0A+o8xz/t/iFAxtK+U+UJCXpAwAIUO4Y3Hi7agCRc6en5oWPuanpOFNhvz4xuvNGI5UJpLI2YeQhQvAQTeb4aj3WaexmRSowyfGEiUkA52msA0Kf0z8nkX9n1HAdFCd4tXNP9EtrwbLlhw+6lS4Bh5a/wTb10CU6rCScH7RqXv7xXLMgjNRX4L9EGDdJRzkOwguaajt/GyWxBltaRoXeCa3W221fkSXe3XXtzpZDhb78pqW6iNTNTtALD16FscX9lGlf2Q9H5/tYKZY1APS4aDfccFzFSyHUqJqJMN4riMor/iBYz/XTGBkzRLlgQLYjUCMHnXQkhtqaHg67rbBX3la+Ar6MRwZi2HpcDnkdGSmt1Cmwvv+PTDvVqgVAUAb4FQjemjx/+zRiQaXjgqgrAFXoe99998qblCJzbAmpLULtdaGirCVWog9ql9ygtE0u3QOntU4XNTZ2hflCOhgXzWg7OcyAaCapqCkNBGDq2lbsiBwzfz6+LsX4N2gtWrS+upKQBlpTWw5D6syDi6h0wHv+abNUZdgeIrLFCGEGe02rZHSs/LgvAMJ8EV4SH91wYnmq/jGVuzb2mBHkwXTiQkCAV5mFesmr3gohtf58wQzehUsrhUaEwCY6sFbdqLlgWZmHvAJXKKNglEpuCT00UdVvNE31oRy4Di2V0hdMMXjC9QFZTTm7RxKNmxXP9atcNi/cjXOR6z7Rgj7lUrSgUHbfRRnoS2p9W3u7Afv2zk/GuawXl0+bm1aNiQxUYJJOpxmhJI8TymIzWp9MpoUhDb471GmUz+/EJD/lBr8lTbjRiqRwLMSsGF2Nh197bsKCCwPyEWhJfDQZexWWED83cVdIANOGm+AfUTlKhhORf/pT6GgR3cs6rX/9nWnY2wLUECkFD5no4yzx1fcer54utIIo3Imeczdhh57qbByXH2Gs+MHE8goUdTTZFN6ZwHp1j8QgiKamvx1oCToK20i7+5/8HQ4s8P1/cCJKPL36YHp0cxlV6aALqP0MBOIowxphm/O1TDXweSCxbD+8M2kechT9qg608WhNg5zsT7VG/6HZeSdW1tTxfTScNQTJOGw2j7QTU0NTCYsg6wA6rPAYKg4KdR+ayQVjMNPBvSoroyUE0tYIuXSoRxnfsSNNX+9QA9kbN8B4pYsuHuUFeNi/QNe0Q17wMzd7A3HnYvQCSqm3VWNC0cyEDe0zoHe2rQQVRqqZEZ4CVcKqKkaCYN+dByHfa4PaYx4PvhNoBf24uNb6xH0oR/bS9n47gI53z8CVdxnA19Z7X+WVzYKihr21Qf+fRFd047oK0/welfswLUk/qQ24dXdI3ghBqANCzozL9nz9bFgTIGcHmtdfphK+UXz4WiQA/gTLcAuUwt+Lw5VikR6oDTFvm/M6k8Hc8B35eSWfaCMd05LZe9/Vx4EriKBQhQEK8zr/41naGbd4BCkg5/DPfcQVYSPfeHaf6Cf/bNh/BqydTQ+Tu2x7pkh6BiEU40BAwtjslg4jM8jW6RN4Igec96HEDHB3PP9wfdtDE800N/kt0QYNlWAkeAsKtpwQk54jOXD83gnmdigbDby5Jqp7Sp2kSo9COr+VgPNWnJAgiS3UcthvVSjYQIiMQsTxX4OmkACMWERsgzdA5NLKsHY5IVKw7L7APFDnsidAlMny8pN937742XktC6Pc7nVZpZkGcNZIxFHL1xyUaB+62ShBgpJswlSWh1I/AJo2OIWzVvzAg24AXLtuJDHgLQQ+VE3Dnyw42hrM3rDZ9cOIxaOb5atK1o7ZdE2p/0hBUQXW44zR9rr7fLNEl3Vo0E3fmOO6LEclDsROLVqBhKZUVeOjlaz+U1KFcEBV+O1fEtV6IiiOrNYLEKOMV9oVa/n+Q1Na0siUoX3psPhUm5EDQfkwZlwWocLmQkzjiDh8s+0SZnmfgRYwmg6t4APfx/FTNVPtUJakHFdAQ7hPCuAgYIUlb17fRLNiE7elZm/HsU5y4BNgCHYuz5UUheGVyFZBGcrkBBX4/2f2KX3HgbFSiFce5ffsX2106+XG53kioqytABCCqIMq4IiiTeCEehnDxxSkc651M4KXO8NGyYIgRg5tw8FOiW0GbmSMJMo8ZMvzMGkol1EJd926vG52ZoNODXk33hus1m9qYd+rVptas159KcajWYaRtd+Q+5XmKTi3qBbDwwpZrkcLomHoVZhPFHQRbCTXDBVyrcT8hnf/nflJXOQ7QfZ9BFnfbFXfyLjodgQ1BVSviHJdFGsdHocG8QxigTtBNzQWa4t7TunoGvvG/jZLnwZQMuiBXPx8lR1iOv06OkbT10pgUES4S/GM0IEPdmsX3Y9tj9WSlBOdNmDhpThL9Zofze3RYUaMeRSRVJTWO07NKr6sqSDHiks73b6i3LYfAvEsDP2jXhKqHfsvjO16byr8u8cnRcrT233i2k9SD3euAIrNC6S47I86i06YlCkbug/NaDNbltxCkTFVx8c3ped4eNV7e7/n/furxnRvSOF2h3AuhcMZI3pSTsuM87qGTNn1NRNFgcNkGmJZOB+Cm0wvkxO9Jp85ypGTSdRF34CBUk4qyszFcbvN+Q+fgfqEJ2QBYNEUIDpeasJ5xV95k51wPMM6jWSFWplgGn4YFY8aalB39MtibDUS7234moBNRS2DQwAntmleZV+8ON2WqSuPPqNPOeTc2tlGdtCFwsZlK2zVPKt4YPQ8RWXhaFg3SCDInlUB7RuIru0Ozmd2PGUJ5KoOgK5t8V5pqnyqfzmkxRFHuNa+gdmPDfGf3RupdCVX5FxFj85hMo/2DfLjZ7HBQ/0WUW2zH+dc1kDuGTMjZ9CpjOxMDCb5gWCbaAAdkLZcwOWCJzCLSyFMQFJwygZ4YVMyWrRs3EB2k09WjQF+QpjEx6IOqQUYJeiETdCgSt3jzwMtnPuz90HzG9vRL5fJDG0uFg4HuWUBgerToEEZAMCMYYf1E5RsHgGY5z6yCkEiABnDAG4SjCFqG+LXmqgWY8kpqJ8kEQqGWs9EBDR7p2/EWo1lAm7U7HMGCSKj9upoy9LcDeYAI3SMutSxygzc9pSNeBPNrwdI4ym9cA8YR+XJ+NpW1NNpVY1uHEuJnwDhuV17WdmZl4T1ZR0oNqKAdKMDjYrY+mHuRtubHeeKDoNjkvYKWOPfSDEvAaaedxykCcxj+SPRDEGywF2T1VuXLE4opSYAo6q7E7Fw2bfYP2XiwjG74wTavAUsfD9fOvfPaOmluOuFByeUW8zA8j18F43lmMth+1j6wdMkkvs38Z7h7C+VrSIOCza4xto+XeLFgGrpfLxF8drxcayVwP+7koc1c+s1cOPXpC1pVWVV9Xd3lhImtheVEFWIuH/GM43y3dDT1Pj7LdvWHUYhyEK/DWTw/1ZSqJxlQD53MMUK+nDW0/VxxxS/LdFF87pOQDx/swC+Wi1kjxEwpq+jMc4Zr02z0lUn6ccdfB6awvL1QABXzt5xuI3g16jr1cgqtskMHjASdWU6ogy1BtCHSbxYRmNFzXchure64w7SX3+pWG63xiPKC0atr+mzIjHO4g0ndjFEc5tlIJVnu8EE+bJXFZzkHzAE/tP8OFqexvAvM5a5SUgai4G2nYmyvkJSyWBTzhUzlCrISPmn4Xe4Ma8Ml5GKibN25R/i8AZL0kUTVIQurCzFvtAXRv16pTy39sDtKmX6WFFhcf19jfJUm9cEETAqvuwFmfEccN5IeSnnSi0dUMWs3lm1n2RID7VZ5UBmz2bbr2fc0jZoMe44907+ShK7Sp2siI+R8iutiZJJzpSE0sFds4gZOt3g9zro75vFGQz5rk+rIWcxZEQ/fWDHQHHz4GKfTmn2gXPqaqr5moQk00PUIE5xMh9AlSc+u+m7oUgFDxTYu5w954EumE4mFFJYVR5rKbVxAH89PdUBNup5+Pwf1JZ12qef0uSuMaegfRjPT6eHMhSBR1JiO+WkpTQFssDBZqLJIG+gZPxwh/uUXISCpnkpl9GuuqOP18PostvkoZOCM0XuMOl95KDmq6hXZyWLWuGAj18GnwzFCuKibQs+kUzrhSkOhHzLhI4C2bdgsJH0z4RU73jt89A1BJWjO6LLhneOmjJWwHZ/chcVllWRpmtFnCvgtPgkkz1dTSeOQDBnTh+wW7SS4Lg9HD60FcyVLgD9HAt4uC9yc+38Zo48uplfMDiVQhoMn2cKFC//8GrounGcllQiRzWnDIS4Nk8LCa9PFzWBRzuI6FPJ8Mws/PEsECQ3F0NEXqExjZhNIyqFG99glzDWnyq4Z1UwaBgu83yNP+Df7Y6asScL7sSt9IEqwGTYX7uy8HT4hfj/Hbs+2fc+5CKiyBAlxBSx5emYLPtkpmT4ccG3cV42pGdf9KkpSIA4pK9SNxrTTAFqCVaaIXC8vgDQoCgtRAZu3u0qiN2tNGzIUhWiFzxSfX/ukEYOB86heXm7bduBZ/MwD5Jt0KZ88C4beHX3WPEiv+NBdFBorK0paPw9lxk8a15BySrSR9e/+2+BGf+PdoEm3bgDJHhh/M7cf6vl02y1xsk9j9hyMBY1yMxUE7fc1F6lGLGi+42/0Xl4FCeXCWRfYkmUdOqSBIjX7fLJgGYp0fbZXpvcKmDaayqncpXCgJalWmSRxd1kUPV0ULCiWCakZrUmqifhD4T0CnNDeKzCSYTSxhonCWtnS8qqaShl41ap8MJWV6Sk/vysDaZbw20hjtv/+yftfsb/+jWFY5Gtj5QcmgQV2A2L9d5LwEbpXr9DYzo02YCo47LL4HshDJP+GfGjYdLGLJiFu1za0ZJiFxdbRHiwzD4zJZsiEdKvMJSYm0F63asChcqHt+Yg6tQTCbPtAsqcNrZ32Tj40GtCxstQB9obpI3aR5YNAXoqozmpT4dRYxDiS05Z14XtdDfbm9vsv30G94oPnhT0TmsHdHUNcJTWn0R8G7ugmsjiNceSl69z2zl62gyvjr82nIhiIyloIeTWbP3S2r6Eb5IPfbrZChFpW5HGVI1GkqlFEE3paM68o4gzeEEAplIZaIa9Nw0NbDcbMjMq+rTFaoTF2DzIzyuhj5R2CgZBEo4lCr3WfPkaf3bECTdzTOl6MVrzHMBTyc5Mber7C73tf2mtgPAOnXBhQDOOJU87HQYegywWVAi+J6uqedNtb1PJCSob93rA7ae/1KYMMTh+TGWxJRcJ0iOFn0hZDhYINzSaEHW3a0mKQLFfuMajf94T68Dsh/w/oCFLC+mxe6CeGGU95m+3/vDNoxs2J7JtBukA6Ouf5S/h3HpIFBln82+dx+rHcAwsiGUydCRWFTB0rRB+UH7BUJHYtZDebq1rNyP6vftHcUZUine6ogW20el+bfUW4KqUrfxsdPx5lN8lzB/eMEipcLvBvniCPai8bRSWzOiiPrtQtdJBBHi4ZLW4dIJuJwz1lRRlbQX5kXmfYC5/zMjeRbSayWZA3IShwugALNqt4H6GbEIyOGekFxrS/e/y4cRA4iz90St99b4IDzakG6+3ydEretH2nzl1iIYHoDksihO+SfuVmbC/Azh2yarCKU2doPs5KD3hMugI5z1D4ZVq9F2Cfb02y0CzQCsRxbtLcpptU8PESo7i2S+lbPtBZq8/xzhZDd2XRJn9ToRrhTQjaXtkOIIMcCZz+7S+zWm4oGjRCNC0p0k+HE97lz3HyMr9xKy2+azHWUqCnc5r+ZEnrhATBWYb0ZJATHXe+qKdVlEMXQBjCLWftSOXzOGi7TFrQXDaLxRRC3IqFLUKUWCuJ+x1nXKXxeBic7uMgqLhNnSiGdK83uu5nVNZHgROrpYznkw3EXM7tpVzOqVqPNc/zJ8YDzXmzQuIP3RCN3Y5QEEYu8gh3Uokcx8jqaMgNJTTSroqlWW5cQTEqbgFrNTdsue1mjdIRkt9sNlqp41DX5XmdXTNlRddNsSVVRd2OtoN6+yiZG+BW2udqUrfMW9szjJQmEDQM/TGt8Q1Tr1fCJYM2Ce1okISdWFIY1nW8zvX4CLHRwtRh63DVNqRDendzHIaIjQiROQm7ZYWU2AYPCagkD+YlPbBqPu8Eo+cUkZiOF9lNF4ykZ5INgrDbspdpu+5oWfKgfYSg0Bl6XiSNHUVBYH2snEgYxsQH7TiN0zwSiZtVpo4ROcMdFKhAgTimi1wiJAghwduAMT6g7ZTb+UDhrg7moA2sttPoBkfGVbDOLt8slsaQhKzZ31JV+A9CWIQKLsErXYDpe3RUM4p29KMxrz8zB5Mmm/xaEAtqHn9JVUdKpwjky/IBYKXhU75sOUEnMofTIt7BnFrYiE7ZOs4HQqfzLq1tkGTZd12nZRki4hsrEuk6uiazdiQCerc2bWEkJCuqVMFYoV6Eyf45huHZlS0u0wCay9QgZEP2/FgbdBETdHbJOVH3OF9CGpJEm41JkZCJ53dB1kK7vC0/3IjpoEN62fK2769X7XFZUUFhbnF+eCM6DjYSJBXAZjVV2RW/PrIO5SSKlqYxh1czc+/5B/UxODTNz7mPS1D7P5/9IIRSCbGcvbazBb/4Qx96tcrSpWd67RVgyrNeaSHj/V0V/+IXQyae/xPhu+4iB4ZkTppF5lH4L3ErTAUEkFDxL+MfdMfdYVhCu16wSwQBpZypghPKZcWgQlOxKU5Z2dcnAWSDNApxBML9n+rTPQNDUxAPEJq2PaaKAN+iqYpFzSmW6QEEyGc/5xjRtUG26m9MknwK+NnLIxsA8LO/xn/4J7xzZuQMcoARAiDge3f6M45fwP9Lzilwt9/+V9WfR21CPdBmf5VPwxmGU6bKx8BeXd7YSwB+UV+V4YJ0f2GBYe1skAAUVPv7s1h9JDVNY/CtP2WqfmZo/z2f9tsYjnmaMHZKpi/CgWN9RLawPnXHrbTdbackX0wdn9Ljnr6QHlTdcqChsia9L5WQqhP6BhvkIjbVGz7KrXWHQK04nddyEvfHA1I5cqf3BswKHaqarMLQ0YRNpqYfkWG5EHW+ITUa9EMyT9iCkCxNczCs6uQC7FLX6VYTj1slnyZohvf4ley67wB6mQ5ba+ZRRoZZL6z2UdRrLdrnL5WdAWvDhmf22nA1jCurZ/+T1TNMnw56JkG+83CKHwR+ZTa+PHTotjSIll8mLUg4YEn8eGJkIHbxIXCLgOSf96CR5ZzotkUMmzW5QmNbEGB2EqEwE4kjKgUSGw8nSu+RYHuKlJjlkOF6obPJBeU46nEhcQgFvk24kstHiWkubigjURHqjZpCKBpserTExNIZO9yff+BSqpyKMXNvlfZSZuKWjeUkT0VZ5iiiKtqv7awsmA+nNI2KrF+1/PisV9U48+lOTs+axnqxZOUqng6ZSMXhCW4XlflePr+k9Z6lM+n6ZWWQo7TvP0sXzpmrzC6z+JCZWRGLEpilrLPO1IVEM/uoVmJNcmrhJ4GFmqmmPP74SRUM+/DyxexSrt8P2pNL/fapfBlVI+/aW1g26CGwW4xnObPFhoG9jaWcfKJOEiu0pkN1+Kf3HFCjJMTChdf0NpSvYX5o+ZlpsUyROl5MI0ph1hPh9lT7YwKV/Iq1sr9HHf+ZpiEddH75E0A7cM9oZIFHaGiPHHRALnj5Gh7yww0v/Ah4JyGJ9BH6HkmSk8InqXyTlnR+yUhmstwXkOzkJDd5ApOfghQKSVGKIxKaEg/9iD6lKROW8lSkMlXCU52a1EYSaWSRi4wiyqiiFh2Nc4mLNlB0YgJ7iD9NTiRT9OlMNgfxIsCsgvriA0gvlSvVGtTjeKPZaneYuz0fNwyGo/GEbTpjny+Wvnfnar3Zcu72B67j6Yy4+JF/4MZ9D49PyOeX17f3j0/er+8wYviVpFlu8H9PllV1g0RrVye/H8ZpNl8sV+vNdrc/HE/ny/V2fzxf78/XHafu//1FE6B0YTcWwZhhX18hZDCThZshZErczBZ97A/6C/zjpAZ6WO5WC/LvbdADeGYG0F0KimlEItkjRHFE5OEk/Hln1Q1QUlv1KY3+xRcgpEcpovecf00wG7hmLTr9Yqs+nYw2GBYx2p3MrQVmz8qp7bNaY9cKBqgAPumGV/aOzRNOfQSipzgz401iTNpS7Raz4U1ZV6nfva5KMxJD0ipjoCp4qlkuQONsr68VoIT42J6B4Lqlp8Nbg/6WuCBiKwTDDUbbMOlt6EZZnYak4TVbMMAocQysVXpYl+xaeWb/THLpQ3O1MBsPx48je8PAuSSTukgtBW5e2/bc2hgNpYrGdPGznzuReQ7vpqsY3waSNanhGiUw8cw8MmeuFR7kUcDCs9iD8AAq39Vsaa+Cfi1v1R51HDWnsBGbTKNpV3LRVPZbT4JBvYTeq6/XMHqNLtEsxMl7gpNz9VrrJWy+t3TQ2iOvHdL6CEAEb4AAQQQnOE+ep+KT8+T70o7DBcr6AK4+r1D70kUClyKHQwx/ySVmfQRHLIU+vHIGZWG4M6ZYGbJbJPt/LYF3UeAXrc8f1WemXMnoJIUaimjYJQQrONFCbFhPrvi9qfM5cZ9Ew9Egn1a/PkXeK3EiAEqnqqQcigo54Pw/rUAmROlAHSTS4AxW1Or/SxraYgAA)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(97.5% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(93% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(93% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(93% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(94% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(90% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(34% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
|
|
147
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:"Geist Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-emerald-600:oklch(59.6% .145 163.225);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", sans-serif;--default-mono-font-family:var(--font-mono);--color-ring:var(--ring)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:Geist Variable,sans-serif}html,body{overscroll-behavior:none}.prose table{max-width:100%;display:block;overflow-x:auto}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-2{margin:calc(var(--spacing) * 2)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:var(--spacing)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-4{height:calc(var(--spacing) * 4)}.h-4\!{height:calc(var(--spacing) * 4)!important}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-32{height:calc(var(--spacing) * 32)}.h-72{height:calc(var(--spacing) * 72)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-72{min-height:calc(var(--spacing) * 72)}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-\[75\%\]{max-width:75%}.max-w-\[88\%\]{max-width:88%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:var(--spacing)}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-\(--card-spacing\){gap:var(--card-spacing)}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.rounded-\[2px\]{border-radius:2px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-zinc-100{border-color:var(--color-zinc-100)}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.bg-black\/45{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-foreground,.bg-foreground\/12{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/12{background-color:color-mix(in oklab, var(--foreground) 12%, transparent)}}.bg-muted,.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-muted\/80{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/80{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.font-heading{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-white{color:var(--color-white)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-900{color:var(--color-zinc-900)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-\[2px\]{--tw-blur:blur(2px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--card-spacing\:--spacing\(4\)\]{--card-spacing:calc(var(--spacing) * 4)}:is(.\*\:w-full>*){width:100%}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-horizontal\/field\:text-balance:is(:where(.group\/field):has(:where([data-orientation=horizontal])) *){text-wrap:balance}.group-has-\[\>svg\]\/alert\:col-start-2:is(:where(.group\/alert):has(>svg) *){grid-column-start:2}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.peer-data-active\/menu-button\:text-sidebar-accent-foreground:is(:is(:where(.peer\/menu-button):where([data-state=active]),:where(.peer\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:start-1\/2:after{content:var(--tw-content);inset-inline-start:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:0}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:0}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.first\:pt-0:first-child{padding-top:0}.last\:mt-0:last-child{margin-top:0}.last\:pb-0:last-child{padding-bottom:0}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\]:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\]:hover{background-color:color-mix(in oklch,var(--sidebar-accent),var(--foreground) 18%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-foreground\/8:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/8:hover{background-color:color-mix(in oklab, var(--foreground) 8%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=alert-action\]\:relative:has([data-slot=alert-action]){position:relative}.has-data-\[slot\=alert-action\]\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:0}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-data-checked\:border-primary\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:border-primary\/30:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.has-data-checked\:bg-primary\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:bg-primary\/5:has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-lg:has(>[data-slot=field]){border-radius:var(--radius)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}@media (hover:hover){.has-\[\>\[data-slot\=field\]\]\:not-has-\[\:disabled\,\[data-disabled\]\]\:hover\:bg-muted\/50:has(>[data-slot=field]):not(:has(:is(:disabled,[data-disabled]))):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-\[\>\[data-slot\=field\]\]\:not-has-\[\:disabled\,\[data-disabled\]\]\:hover\:bg-muted\/50:has(>[data-slot=field]):not(:has(:is(:disabled,[data-disabled]))):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:border-ring:has(>[data-slot=field]):has(:focus-visible){border-color:var(--ring)}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-3:has(>[data-slot=field]):has(:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-ring\/50:has(>[data-slot=field]):has(:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-ring\/50:has(>[data-slot=field]):has(:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg){grid-template-columns:auto 1fr}.has-\[\>svg\]\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\][aria-expanded=true]{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.aria-expanded\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_18\%\)\][aria-expanded=true]{background-color:color-mix(in oklch,var(--sidebar-accent),var(--foreground) 18%)}}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-expanded\:text-sidebar-accent-foreground[aria-expanded=true]{color:var(--sidebar-accent-foreground)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-popup-open\:bg-accent[data-popup-open]{background-color:var(--accent)}.data-popup-open\:text-accent-foreground[data-popup-open]{color:var(--accent-foreground)}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\][data-side=bottom][data-ending-style],.data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\][data-side=bottom][data-starting-style]{--tw-translate-y:2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing) * -1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing) * -1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.data-\[side\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\][data-side=left][data-ending-style],.data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\][data-side=left][data-starting-style]{--tw-translate-x:-2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\][data-side=right][data-ending-style],.data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\][data-side=right][data-starting-style]{--tw-translate-x:2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\][data-side=top][data-ending-style],.data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\][data-side=top][data-starting-style]{--tw-translate-y:-2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=md\]\:text-sm[data-size=md]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\][data-size=sm]{--card-spacing:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:0}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\:data-\[slot\=field\]\:p-2\.5>*)[data-slot=field]{padding:calc(var(--spacing) * 2.5)}:is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}:is(.\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:flex{display:flex}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-\[75\%\]{max-width:75%}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right],.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (width>=64rem){.lg\:max-w-2xl{max-width:var(--container-2xl)}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}:is(.\@md\/field-group\:\*\:w-auto>*){width:auto}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}:is(.\@md\/field-group\:\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}}.ltr\:-translate-x-1\/2:where(:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=ltr],[dir=ltr] *),.rtl\:-translate-x-1\/2:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:has-data-checked\:border-primary\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:border-primary\/20:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.dark\:has-data-checked\:bg-primary\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:is(.dark *):has(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.prose-pre\:bg-muted :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--muted)}.prose-pre\:text-foreground :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--foreground)}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent:where([data-state=open]),.data-open\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.data-open\:text-accent-foreground:where([data-state=open]),.data-open\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.data-open\:hover\:bg-sidebar-accent:where([data-state=open]),.data-open\:hover\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.data-open\:hover\:text-sidebar-accent-foreground:where([data-state=open]),.data-open\:hover\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:overflow-hidden:where([data-state=closed]),.data-closed\:overflow-hidden:where([data-closed]:not([data-closed=false])){overflow:hidden}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-state=active]),.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-state=active]),.data-active\:bg-\[color-mix\(in_oklch\,var\(--sidebar-accent\)\,var\(--foreground\)_8\%\)\]:where([data-active]:not([data-active=false])){background-color:color-mix(in oklch,var(--sidebar-accent),var(--foreground) 8%)}}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:bg-sidebar-accent:where([data-state=active]),.data-active\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.data-active\:font-medium:where([data-state=active]),.data-active\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.data-active\:text-sidebar-accent-foreground:where([data-state=active]),.data-active\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.\[\&_a\]\:hover\:text-foreground a:hover{color:var(--foreground)}}.\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\]\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.\*\:\[svg\]\:translate-y-0\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.\*\:\[svg\]\:text-current>*):is(svg){color:currentColor}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}.thin-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-ring) transparent}.thin-scrollbar::-webkit-scrollbar{width:8px;height:8px}.thin-scrollbar::-webkit-scrollbar-track{background:0 0}.thin-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-ring);border-radius:9999px}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAECAABQAAAAAjngAAEALAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoYBG7gSHIEsP0hWQVKDOD9NVkFSPAZgP1NUQVSBOACFJC9+EQgKx2i8CAuDVAAw4wABNgIkA4ckBCAFiBoHjy0MBxtohQfw5rFUboeN+dW9GRdMN3cKdAeuofolLopSPqqR/f+fkSCHDAvojlCrdv47kSFKBFtlevTBCEAxBiqjMXu4g0+MVROL6cSHKr3ILHYYhCLcXHdtWrrCCvcV+aod7RQ2lR7ZwQvZW2rwwFfPXGdF/21FZIgMkeELtdC9pu5mEEzSgW79e2iNmmoEYbSa2KHOCk1P2TpWILLfG3myqn1evVv7A08tzsBPB9Vbfp/YqmymRW494d5jpkdo7Jpc4p/i/P+vtTvJlXLyIHsE6oszQv0DbfPfuwMERPJEQESkLIyqGXPRzM8iy+pFtetSf8gY+hnmImt42uY/NnH7RCtmIkYRJcfBCUcdeBxHCAYgVixdR7L9il7FpU6Dr4SH1WPLstjtZKsMsy6RzVEDNG/9Pzf/u3wR8W677cSq3Z/HWlP8ajvR6qvlGRF4BIkOMjAMEAiJn7c//071z0VJV2BSDOFmKWfpEOnrAcv2tveFQN1KKVFKDjlgkmUSEgU3mr1DzRJLKABMtOThDfaiTifv58nYwK3/x7967+ABHL5Z0lV4+mVZp0pRfZQRFiIYdHv+bccpxRBBh2vWzG5KM0nbAyZ3/+9eqEB7ACjMxW7tA7FwAFAAAepUpMWsJdf1DPrVdjTH0eSLe9tL03Hr/91jzKGxEkfS29IfyGUsEk0B/PP8+7urCrUd723k/hEI1SYIls2VkrhHtSQmY4xue8hVHREZzDfVl+osX8Z2sjud7kltf0CS38IxCdDpfD7dSfKSh2w5087L/nNaSUf+mChJu9EeKO4aA439eFEBKiAFaLKJ0QSogBQwUIBanv9+WUrn/rOqv63c9ZVsI5fQlghZCmecRj3PqnbIbWck7JCQ2ZYIMDZ0CVEDSAxP71Sx860OqfsyaLsJDmBXBr0zdM+wY+FJQJlgoGEA7P+v83V9V5ailx9S5COfF1a2l6IKZ3crFwO0/XTrsJKh/1imWg6hvksqvzgFJfycIsELv58U/J3w1GHjYQmcvXunBv7Nkz8EsGB9WCgAZaFxDHMZFCc+oqmYTcnOAbfBg8BCaEOb8XjNdyavfRL807almBE+QRRhhBFBGGGMcXPsafdj6vew2jn8fWZRQpHgiSfhE1fN+Gv+806QhACyLMjOCHqIATHZQw64EB8FickhBVfIjRZy5w558oL0/KAAwVCocChSNBQrCUqRDnWTC/XUB+rHAOUxQkMNg0YYDY01AZpkMjTVTGi2hdBiS6ACpVC5CqhKLbTMSmi1tdB6G6HNtkM77YH2qYOOOgGdcg664BJ0xVXoH/9ATZqQbjIjWdmQ2rUjIRKYAPOBCYTaIYYmN5lZ3WaDIK8jQR4DuRwYOwgUEFk377njf0vw1vh3+z6AP9CLe7FCbVRoIFMP9Es/B6fsHImTETJGNjppJ+eM0DodNEFNl7vrPeoxj3t9/qC/2l/nT/qb/IvLjPfiN9oJVz3nru4djFBDj2xIwzO8kpED6ZKuqUxt6idzDk8VbECgqOGADAETYih+XvWxrHg9sJSVWJ7Lt4nmHW9Ru7R2/72H7+wO5HNGLBoNmnT/e+m5PDVEnaLSNCCVfI7V6HRcwmUM3JhY+MaCdOhDI0p60nG2wppsMzJjKrd5cvDi5CaX5IZM+ZbjSkKcFERQURYQS1BIXEKIpDC1WS3UYAwjEaMxNV6Oh9TXpOaYbHZtN+2BjVAqUa8c5kSt3pR9JFlocTPrucoUHl7AAgL+8PeQoDPYwmUBER93GWB78SDATPHGou28qwUHupMmDHQB2WkD4U4gO7t5qAfo0AC9C7iC7dFc4KxTBnqAZuG6gfyczkMvoICGTbzqGO8tGM6KHW5gFI2DgQ+xEXA4nRIOvuNANKTZ8wA7exBcrwcIZLMK2Dzz/cz31TM7zP59qfkKFxeABgQTDlXtFBzswbFxN33CalAIp7ftaF4X2rQNFa3AldjiCYx6gLqXdV+0FF9tOF2HvHfAdbCWzS18MrCbbgQkgAXq2suqCCQ5WC34O689H8I2/o+DkQso3gfX7V2bxamFM8UIwwpHgJ0KRSNTVPXDRPDeN5cQDsnJZ4/HgfiMj43gcD0oIdeD0rzXhdiTD1aorHXWHCi5mqf0i/yubbLshvrciiqkXNoG33A9p5Z7jWMOrQnYqf/D0D9BAGnubBmeHN8FUnk9G+pe05EVQx5MB/tYNBE+PcEJEDXnaeqfLWaK8PMVU0/fF12LM9y3qG7x+DqWTLXsOa+a+qfELfk434uSig33ga+U7UBKOLSLsmbHajMtA97qQrmcgep3gW+HNGntIQUuU9jdZTp7vObXsdZ0Fte7muFcSRt908rGYBmhNriTCaLW8ejhxD1G7C4piw7oY/nscj4cyfFjD4gBvnExsHEISMi4UlLRUYBIqQoSChADMxsMjuQVFBHVo8+Q8YZNMdNcS6yw1rra0OnSUeINGkVElbL/dryJ35GsfetEvFq8FlQlRxTy7I4I19GkJB441rd3/tasWRO3opQ6bfKmuLGfMAL80FIHeNVArKb9SzHInyh+2drRLO0qOw1lD/HmVRcC9DSEGr472hRN1D6rcUTgQvyx7nG9dVgP1E5XfZ2Eu4RV9JpaXDMBIiLhQkrSWlBpxWglCA6+V546aUL1vnwVE9ddz3GyOylg+e5z05GJoncIzS+J3JlxMOEO3qEsKx+7OvhEmQy3pvZEQ1kf66BVO6DS0bAO1LjE6PLW/w+edz6qJr2Paut1I6xTC45oUyZz5/xJL3U9mq4WVDtxyuMjmtONuJ9oOKIt+lR+bF7rePku3nmkCP9yXwXzKrVWJu4KEdOCscmrB8SvrhDd7Y04Tc19ipF3l/CL8gtq/qr3UaVbbcyzD6A/Uf1Pie9UG/5pBoLLKc006ehp1JWn5mrPY7dOgch1eiY8akZTSq/NGKgIzsQ1ol1KDUJ690FN9qkS2fh3MoK8T6K6OLHHybDPDhxrL4poNaDH8X+JJDBnRU3cek64f1NxfxLefAy4cqPlSc9PiAjxknWTrbte+hkgzwijTDDJNLPMtUC+YlWWWmXtvB6KPXeE1L9/4MjycrUjGJYSYubyyWDehnNTuNAwMJqKavAfKTrqsn/NRnjcU+cKeOJCYyrE8nA/tzNdPLJ66+iLgp63j49ERM9oD68Hj97V9WG2z7Ko/kO2dmJV66OZYZfLPjqLH1ibdFyMqWdK6lAZ3PNW24htwOiqv6u1J8odijbNMiq8LNHC9smo2b0IUyON54GRpYyO+9UGethjDkAU1buWl6O2pJZei5YYnXip0WTlCz1xzECJ5K8NekUZLaJmfTQD3vC1UjgW05+dhP569Ci8OBiFuBh/PED9bhE/BxvtlG+NsefHyNcj2pdPv/X+PT/8zo6rtD6r+S7/mUZ9nQdtlcFqlsxdr//CcsT2pRfva+NpdFSYumIepQWlciIP+IQcbbUfvmfQdMt3fGuJ6z4tNJcVJTwLuG7WXDGetHpcJrG0nzSf1NjY7IfcO8lae71p7GDOicrFore6rOMZEg8FqEOMmLf1G6OlO84HHnuKOrOoK3Jcz+eec8CdzDQ6GMtfz2t3weHFMG88mskfc2fQ516bAfSPrHON1E8kb91n+8/7et2MpQbtqSszq2FW1ot6po6Mjxg38hza1aZ5XLRnVvva+XnUTIw9MjPt/VFsUYIZ09eD5sUfrrPUp5loHvsHobPW2/aA3Z61/qRX851ml6V8ktFsJZ2jxDyW3Fudc7FR4S8zkO29Gf8iiW1RrGpDeYxotVd3rJhl8sl4OLtHXNSgJ7BCnCnVDdF2GZ4LOet4JEW2OH6v0/BZvgKpvp9X7XPMUpSWeJmxPGo6d5fkKl/qSftENrW8fcL9fXfREebxSgya+PpdubYSd9+vPldqsyLa5mhSh5bnowyTv+9FaGziag5RzrfLXpf9OycdOHs2067W+Vya4OvWJ+LSnrgCjPiBetn3euUfs2Mnm6K29QDbcxDYjXSFTZxNiOeyooFWZJ1+Zr/jMc/fYdnfVOrW2yFgjgo5pWWKM7fHSUks1odfrnPFOpnG8o6IfakN1nXodcIzaDB3zvCzl2R6u/ws1dxlokykTKQj09EqozW1zX40knZyL6O35pPYRRTYW8pFTzL0eRDY7YAwa6tVYHSige5Z3MfcvvPkZnfthkEVyStM5wPfTZ8K8hTVmcSuD80l2ml4NhQ87o82hTbHtJjwJ5UCYzKBQOLvqB+1nT/3bX4/o7oCyjj+GJNkZDU6Xkp41WoaoUrglsMM1WbszD9wXz8X4Jkz70P4Ob8/0QT69Uixs6SgJv2Ph8bzDTc2AjEeKPsnNRINs98c+5Ixh+MofTNqY5iFuYUE4jTKGBWVz4v9CGcb32K2Gc9IYbfNci23M0MG0203raqZUgkGVbphUt2wa2ZEYLrVNQvM09s6lbUYLDQya0ewbJFUm8Do0AYj0+xFZuAg5qd8BFHJGTtlhNk6isQeu6xRrMAKJbL0Ic3KLfhPcRhlhh1qpWbcCB4ObomYMNlWZdkIds1lwWehwF+VBqrMNtXS2gDEKRy0WvBkvbz0GEGRFRMUZezGgBcYVHJGWRL6VnwbAwxk8CTS+wMK2SQgIUSF/dwHm+9lRn5XHfdjdnJJrGvS3kwOmOxxLgvREAhEJ1L8zxKl+Ps0CdAR6AhcdlhYEe3zIsjbVfQGI7yrgZSE92cHzri4SGIu22GH+LMbFhUtgh6sOCx6+dyHz9jqyy4Tl4U44T/vhiXz8u+ULLlYVOFGvOfsaFgRhBW9Ub0i3e97Aw0R0V5nuuofS9WoRaeqaNFTgR50drLrc6ndygliYpKgoz2THQx8nG4o4hR8APAgO/jtPjsYs4BiH7vl9or4QLv17UOCL8ZDg3+kzj6vtQtQ7E3FLQAKu62NAafC3LhovvLm/ugDX85XkBorhE8mSrfdnifjpdlq9wfy9MnY7eOhZ1sPb+qdvslvhrifu4hmBmDcVa3o2ZybNLrYC7gujLjm1mRnTvF51SF1ieAW+JpHYpH0zOtcqwnrUfxymb6fKRREPmkg3hEL/UwgoHjX3195YOPgJ8glFN7qL0JkpCMtaXM/LiNhK/hXHUcy7diAwIsIYCVgPhIiIPDgA2s/KPhBDFBAXj+3Od5++8jrx7GPpnhbukqYLOwTDgxMFdeIW8RrmXxplXRFIhWnyjp6PZuWPZfzF+NOjjv1JWKXFqK96Bwap0NGkrHF2Ia34N14Pz6EIeywdLaZ5DlXaZCOdyX+8YD433LPeA+913AffRh9ZAdfsF/A0AFnlVOD8j9rZUUAXH63DQEuQHU2lEzoKA3qiQaMZgKtUrIMHdSd1R/YK736HCswGrdHfgpcB5Q37dALtoDLlC9Wkq/+fxhgsH3ileBBQC2sGLA8NvQ32Z8A+/ZWRlx2WnSIAsD3EX1TKAUQRUkvXLrejMabrRACMjYcZE0Tja7FIwbNXYjUJuvD/K6lcw+ali1y4vLiphVblrVym6VHwFzcARArQeNjPk5dtKodPlg8Ot7PYoItrkSUklREGk2MscaRKVmaZdmaupjyrJxLWp46X+ersTobkjSSRaqXdVMUKTYpvilHlfuUR5THlWeUF3ZX/vmDxvsHnKQsVZEHChos+NHRt+RwmvKwJKChFchGMl1KxWLv96DiVj/byzQdcnvB/9/Sg6b2uf8LJ/QNvV7m/6f9+kKwF+B/7wf86HmAH754V1XMFs1isqiTA7zovU21wRb7HHdVo38AWTJpyUhWRFg8q6d85YerTwHIutjfAlkfGBqFNALDaExjsY1nbwKWcRxMwjWZ0HQC04jMwDeVxFxis8nMJzWPqyUUFtMqolZAo5CKm2LuSnmpoFfFVw0f1fzUCrBMkBUCLRdspXBrhVkj0nrRNoqyQazNEmwTb6s4W6TZLdUuKXbKVSfbQd3s091hWQ7IcUgvx/RzSn95LjC65C8XhVot0340I8kt5GQOT+USbZduj0eeamLjbIE+TujpqN6OG+iMAU4b5CyDc4a4DIH5CIjCwg6pEjBcDgWr3SzO4hjM73sqicAnaxZLUmnWziyRFMmWLJU09lcOL5MMEPyZ5ZIVUs1ZITmsNbmslDy970VWgbBH5gH8CpAvA1eC0W5g+kfAtO+CwfsBBoh+m5SX9dW0loyCWFQYYDaO7XIXhbBx7ZrH5o2vxw7U2EYVfnqpNvM2VtzOxGRWucKFRCbjJyGfPzRCoCFxbmPlh3d0enzIQ86EvULJsCGVkp0dojUrimWCSGazFamh5mSpSlG8XdaXpCsT5dldmWhSwqwQkstUqsqszPbJqggeWooyVUTxUtFbVcWp2XCqSqx0WrAHSCbTUlaL0kRWJCrL59/dOMcyYkHF5HT3ZtfURs86z/I0WakneWI+wn/o2X8uUKP/IUXwB4T+5QJz5g/84djsIAiQPbjRI1FOgYQH61D+XS77H9GrZX/02v96ZHnJaijCyYiZFYwZz/C/hVAFZMsuvV9iERXMYdnAleUMOCpQ4eC4Gg9ZUHhMnghaLvI3rJPpw5CDZIVVXlqmCQ1CaVh+ZuvbNrQhwgbXuwNEBp0w0sJzW66JvgDxmILwaPnjLowhe+UiCkJa/JF6Pe5+jT5+Cf3LjZbFBPGq9jcPk0PfzyqYG6lgKSYIYxMX68Zu5wHDMcIMkG24VLar3hmenr1/rlM0M8XhBOcnORcwbkpUsKZg0iKDNtHqV3bOI0VPrS3IsgAhzHBK3S6SvcCyS085rwn1m4KcVWA16RsFxibNFnMt5Quuvg9ZkH1EkXxsJ9DAgIiFGswfmFDCZeajCn3S447Re0oRboiCUTF0arBv0Dcp57SMhvOyHVpeSl5db727fNJi4CMJWjxcTcrELuFuHl95DhUsSct+lCm/2iPLGgo9D69182nkgoOaOXpofWvRebJGdHF6LGbIivmr569+i9n8Sav9Toobs7DEeGtkEj0mNI7mwwxtbHkm19zsLr+HvNHbn07+w1dYaeY6fcH/RNEB4n0cex14CQJqJUV3kSuoYJrN+aVtOtZTvG1N5IW9grDsBP3z0BZJeiJn6LBqRmh+walLBzGu+iNYAhNGjl+dZ/I/MwaOy5mVuT9gJ3Eh7VhXKJ/IcqjOylYmBm3ZLaWU6+120csVhBmQpwQoxNYDZkPVSRCeDGrMwJZzVxoiQrE4yKgVDFTeBRwSEkeWV75w72AGFA82D64YCy4//nHdLO8TiVlkYHfMHsqymXWsJ1FxGbIoCO6eaDbCZr6cciFv4GvQdH/o/zDvC/Lk2tMtPFibD9AW7Nv3/s4FZwr27Eml0XZ+cp/OX72bjoZXfidIYYIg7eDR5QZ2CShrz4pyWdKXgpTK6gW+DHoeQztS6Ku3276oi0IHLjct8Bd5K8O8fj99FQVEMF11+zosPnS3d3OU6TdLyk2qfesCkPtMmBQ2KMztgKm2usPfiNxzUYwZW1a/PuX1Ucssb8+xCOb8oDIABC9vDx2aA8irovdXa/o/4/ygkx1cStp3Dw7a9yz1BKcvnp7Q66WyzM1ujz6il0/zeuVTI7C+MdzEcHqpDIt5cJIW+GNf7Dh27uCBw2e3L2yYM3nynLnzo5RQ76/yCh790e/0/9yHA1tlbLRF2u6WKLRtKvU4MsutmdBWVycyZkwp844W6LBgbw3cstRr3dNPls3Dg0OV9YousYusnE1W5YJ2dmhxEN3T2Wneu6Qp5BpS69sZkIfK0HsInyNkL5thdZRPC5vtdT5ZZXDUG3eltWmpOy9fhdGACHSvQpyIa1fbohbj3rYoundpa2TCwmmCqIc6LEasRWpnWLXA9BBqg73S8kAy7lEchVZOswF/jPAcv3zcQxTQyBtnHmkMaNi6sEbWC4xuKnDUuyG9sZF46zLkkI4N1Qnvo1nT1J1QXbS8/bHiC/0517Pl4BK83M7EQG8fEZtGtoYmynp6n3FL6+ersWjWt2kegoQwqwH0scPLSOvuwUHrnmWecMQlQVXZPb2ncAMahaVTvV7ptKgeNamkSJWp+jsP/DGmubNa0aSrEKOGEgcJoUoqxH/Hzb2jbNe8lTFwAzJDao1Vh54FdrZzghrpotZ7qKFyE5YvrzIkQ3nZ3xEiXOAQNFWK6mtVMm97lcnWq4DCo7QeqlekM+XX6qya6uzf7Fkoj0yIqsT2ak2dt7cC+O8nnb3+XH/837urFnSEYHVLn8QyB5+DEvUaqNFgj1jBv5P/kh5V3wf2wJc4B/9yAJBs5/g67VjHW8RbRKDRrbjqarRjx6347YXbgeX2ZfaWCyX4YnYtzD8dAtzP+b4zctWsRMryOSCNHE7uxd9Nn7M5OJA10v9+HzGe/jd00Z1NZr3ebiXYF3NgDVQn/ecyGc9CB/zeSOdA+HPeW+wEtIJDy4tVFC1vJuwZeaZatKgQERcczPTMy843ggw62gUrJ+G4crhLj6oDIqVjgZs6yySTmBxRvz8ppvMjUS50UxcoiUA5oNMNIbh22OWiVH58aah1i8kXeswywu71VBTYy7Xl2aRKk+3WlpUjzqjf52wHGXRzF6yYhOOK4Q69ydCuVQx7kqfH4ZjLUKOruOOJFyBD3r/0+VSLpV6ptqGg892SZ4XKWaTDp33FGSr8n815ydzYNeMOsCK38wlz01e79IrhmkkdcG1Uq2we6XLgbaDyT36Aa7YaFRqbGSRtl/vy1YbDbuqp19RGi1xBFDdU1sBRSDFotsgHIpBORlan4thfGinZVoYy9Y4AcMTn2fSiMsQScDptAfDrfSSAlK29fq2xGF68fOPD6xSR3FZV5FW6cLVVYpJprVZUBTAezgNxq9GSlEfZGrwI+dQo+2zepaT1vfNNq3/k0MOkewE4V7a1pgX3cQCnDM1fN6wj5qzbkoakF6tttQVemQtXVybqeEVqmwVVA+ZqtCE9L7MVbynJ0+pyyliroTeDbupeYwSXVJpNpi64gAtXTuqCjXYTthcw4jnPAmA8dOTsgVdgnUZWg1UXWfaJtYBDN7WUNt+M3NSpvyCSHYUJJUMeE7OhOFVUH/U2IWRFqRV1U5M2KsRyX06KVv+xleEuFIlMfRjgGfUQEo/H5T3NzkLL7qDl6OyXXXFHL9aDgsL0N/DqN5yFolcIPKfbAx0BF66xSozyunqsXoXzsJkxttaDgAs7uf7h85PPe6/LTDrv38ntGLMi3COIrEbVadtastOvj/JvPr9mtvBH+G9na0E1bhs0oNtvv1luFPj66SMxJ0YfCVSoNu13UcWVUToU1gECmAKpf4gqr8TrzDAMUu6iJhQUflv6vUvyPfgZw2J/38haZgGSWejSL4/wq2AtrEBU4wKjE8nhSFN9pEJKqvnbJ6rQ1GVwSCx1ygS9XhVagi7v3MgtRVQKGSHVtIwSOuY3gZ7Yu7NmThwaO3PSuOEfZMMYZnGmAig2vHsm0oV0joszgMIJ6AyUOSH2ctWM/WG9sqW32r5fEN2fXjAMQxiE7Qdzivn4DUl9ukosltenSW7Ybxj6K2C//qaApYy/K2ZhWZgn9LGAuBLik0vp/6aFEBUGO2Y4F+Oc3NtqYkP6P+nnB0FJqIVsIdx/MyOY7fJMDUBTQYkLSoJn/spY+gu8+kVb4pk1MAtBWznXDCj57ANDZp4yOOtVmw3FCuhoTu7WSkWxyQDm1hXqC9kuzbxxvA87iGvmZzCYSjYvyq9JRouSypnPJhh8RV5NkQaU9BkZRrDSqqo+zWPzhMxbecWMuMSK015pOpUzeB/pVEUVEmOeFwT86PFNhTucnfITUMuMWaHxpdXgff9A0gu8/yBioVVvJtjy93+wRV3ULJ1zXCQ67X9hkDad8s1q8/7OQOnrPVXlkqX82PLzvMDh/NpopWHeKTOL76FoYe6+S8B9tcQfTzuCeYctagPuk6zqrVkg8CtDQa/qfyH6K/rOvUkLYzdYFQLTmP1yXJy1brFKN1urb9tw0ZX/QLRz2Iu0g252Yt4ipgjhzJpVf47cf8juZTyV0pq0yaPJbRV1CEaaY3iOO8f0FM1bbjr8AmUkKHN05+zaBc93/xdcTTt1KEXne64M/HJl6P+j3Oj6u0Ws/QI6scTTPMKy3Dzi8RxvMQvF+/VW8vTG5BpLPn3wW9/8x0KA86cp+jeE0NYhkLbszULOV2PWWbViJERuu2QRvoCLYEMeEbyymNjcsxhTukAMO21Ab9FrB6wxeTrsp1cF/qrV0HlGY2e7ZUwDWy2jP566DHeDdJeR7hZ3XXEAcvi/W/qLVQ3ooc0p0ZaodVM85WaC6KstxukmU+7aNYLhTfMwtNkDserLYG3WoJsNE5PLf6emmwYwG7410nLsddx8grh9cpPNaX8Qx9ADkyjsyZmXs5QQkwYmDm8Vgy/u2Bi2TWm2/3PV8NB/q/72OetZNGs5yaz5VLuWf6ZpdY6YmFyrfPbPEBfdvderO7qw9Bu2xHzL6JPr/CZvWvGj65dQuW99C35WU+L5TSFySrzla5T9NvcbKkU5Bk5S+Wjm+ezo5pZDYGukY+PX6b3vT7Kl9hcLoCoHO5crX46y6rUtgdysgFSAnquU6WZY92C+6FKa5/mOGbbpXuryTf3eUDqP7S1aGYc1cYch2Y59xxXsDS0nN5GZ5Pa6UuzzvcmZ1klXgurFTVdYvHUXO/JrI4PQFo90kxdy06d4spPR4ZwctidAnd08nbZZ6a07cV7MLnB+1nyEtcloER31BlYYom7+rRW0YTzierDt3z98WNA7eBFfuvDj1EdO/+z645nOd/XBvxgBmAMYg7q9lZ++aoQJM/ayOlj1fPo/tXqEwFfNwvMYQN3TgoCssgQr+gkOC919nSyDFyvncUjgxMsq9XlYfAIBqA94Os7pab0RJAyKeJelFUHmuFW9zP9Gf/YzbGqJJNZHReAXnCWNE4/MVFsABKRhqqOADP2umn5Xi74wcsfJ1vOE5eoEi36iFZ4IWkCYkkHCYKmQt3V9JEXOIAfU0owJaRanj7MkYpxlW8FwGR31rSfrCwC6hTOpRT+EeZfQgXYXCWBNcJ62j/4d1K4EwnBJfyleMcAF+gG4lpArAxLAmtC87AIZXTt9v1dUfU7g/HBZSStDdgDxdfj6jvgJfZ+HnoIGOtEKb4BTpyFQI4j2OClmvQG3dQYb5G9V3999tLR53WG0Q1O9TEM19I7lF6vP5PSlbCP2g9L8+ty6TC3X2uQ2zpKK7Qf4WxsazoEqa6U+AAYijI6/lRVCe0njpOcOQW0B/Eg9b2H7SR5FyApCJHIewunoEQLtIG+iQoocFkapSC0hkcNya+ANQl9l1xapWwHOjE4Wr3jQv+LIbcSgLVMfwc8n3NGae0eNJHAKKeDnfbYJAvk5AWzvaJCdEc0iWkTPmJkGvR75zq7R8f8XdEB++VMw+O3//k7jLlSK3oaZ4oTrmt33LrIURxZnmtOXqVmcpxVb1vJXZ02oebW63jdZK2rS1lLXExcJkUEynXyK/IPsGFobGlKNjgfPDl5J7bSRTqTz6ZfoD+jR4SPIJHI5chtby37Afs/+O2ISvRS9hXt4lI/lt0YcHrEwoi1RKYldJTmkJqlfmiZ9Qvqa9BNpx8jpkcsjXVmRx/Gz8atkTA7KPfJkeZ38Q/kP8v9HHR+1MspVXlTGKbOVzyrfVhZGtwQRCXIkKGhttLG0WbQ3xRfid/GE++jnGVmMMoaKgTJIRpgxyPhOT2IWMGuZCBNntjL7mTOYe5mnmR/rP+n30kJWAauGpWNhrLms1aydrONsChti29kBdhd7DXsn+zj7KieXU8mp41g5Pk47ZzXnVc5zrj03mYtySW6EO4Y7k7ucu5V7mPsB9zvuP9zfPA5PzqvnEbwQb4A3lbeBt493hneL9yXvd95jPvBH8WE+ye/ify5IE5CCvYIfBI8SGAnJCeKEugRvwpiETQlvJjISUxKtiZHEZYlbEs8m/if0FEqFBqFbGBaOE84WLhfuEZ4Qvmb3FS5bHGCiQ7XoN9y7mAAOCSQD+vUzoOrf/8fYBz6+GzYLcWO2KgK/f2vZQRi+2P5Skd4WHF0Dbcb0pz+F2n/o/2kjfMwADRj4gBwFIKYF75pghDDSnkcPKsXVWY1vPG0rLnuvKcPA4UQ/hoNpEx2Ugpr/uOFu3QmZRUOnPlMqzp71dvf5frbEa+UwJ/2vpBEwLFKeH6WDHwBUgoOrI30izFD46N0URz2IIzWTXFH5lQ8yXt0d2BenWLneHt+9MyMENZbSKIQgyDfOtNr3ENT/DZh9YcsnKndsGhXRWwT2BjXOyQtST6ae0iW9AlEcBaah1F4xhKLhVEiGnAF7Coi5vJU4MO08eqMpobH9KZRJ3aH+/MRbKDXIW/RuFJLjO/6wuYOtQfhtLNPLqkKATHUcuGU5gMARZt2cLnJxg+g+n7c7qyfmS1su4RuGVvmPq4+ejmmz+uC7Rz250JS2fW/TAr2nuZzPmDn4LhHACPRD/wbOTvv0QQhJPJxsspgUaB3juJGMUtKr1+AIOyHxehETjME9qx1ysJl+NBSaUpOOrUUOhVNIwUC4l4QghORYij/A7NmRzz5v0paEXk5S1hpwL+4NdT56QrPJGVVdcMA1yck2BS/Ll+CMeCzX2nhkZdq7feLdQ0r+mwsarSDvJAWeu365GebCyGhugR7cmfC07hImEnh0ZrNFNHfqvVPL9uO3yLlenejJW6eERshUSWJwQKnbA5nn+zhpdYaDQeXY8OvV18JANSfd0WJ8Tm2NsnmqK8iDBMdyXkGN4YNPGgPRkx3YZ588hBzvT82a1WDgcznbUUBLUeC/GVFnwRh4CGp3BImzWg5d8eOp0uTJa7xS6/hFsEJYGKRekRfoplvTtS/vUtOAg3gKtLySrmg1jundmM77Q6TVOpbz2pSZhAZOqYTmzkAcp3myH8uoxGuqJrm9QpoFCPcd2dNjtu1ATM9nYy3pHXFhFO6O7OAG6xEurs/q1dpMHmJIkqGMei71ER7aXzrOY/llJjLHiw21MVBavMrzIms2M0BIPtvLs3IfYziblHK67stBKSGGCI6ArKJ0igsWx+sHM+P1xaDuC6gSYSt0eIGIsShZTJTQpUvFey8+Jibcn1vNGmB9JMZqj73Cns6GugBFaI6WQ4iOMl1A5QnoDOosA/4ceHwCEEAUHYprIG3GjPmg6tHUZea78NdULoEeK4Q9Y6lsqVYEMZXXmVPLcCoDUKW3dQMS0mQAaOwOUDqVMEPIGPpfbFAwqOz7KJztQxuIJc8vNgMfFkIXLtZY7yWr5mFQ0bZRFXUg5mVtQj8NbWFNocVY+3Fg/SywsAXFjCZmeUFAK9ple4Al+IVChDa8FjP9zG++b4mfqlgDjnl0A+o8xz/t/iFAxtK+U+UJCXpAwAIUO4Y3Hi7agCRc6en5oWPuanpOFNhvz4xuvNGI5UJpLI2YeQhQvAQTeb4aj3WaexmRSowyfGEiUkA52msA0Kf0z8nkX9n1HAdFCd4tXNP9EtrwbLlhw+6lS4Bh5a/wTb10CU6rCScH7RqXv7xXLMgjNRX4L9EGDdJRzkOwguaajt/GyWxBltaRoXeCa3W221fkSXe3XXtzpZDhb78pqW6iNTNTtALD16FscX9lGlf2Q9H5/tYKZY1APS4aDfccFzFSyHUqJqJMN4riMor/iBYz/XTGBkzRLlgQLYjUCMHnXQkhtqaHg67rbBX3la+Ar6MRwZi2HpcDnkdGSmt1Cmwvv+PTDvVqgVAUAb4FQjemjx/+zRiQaXjgqgrAFXoe99998qblCJzbAmpLULtdaGirCVWog9ql9ygtE0u3QOntU4XNTZ2hflCOhgXzWg7OcyAaCapqCkNBGDq2lbsiBwzfz6+LsX4N2gtWrS+upKQBlpTWw5D6syDi6h0wHv+abNUZdgeIrLFCGEGe02rZHSs/LgvAMJ8EV4SH91wYnmq/jGVuzb2mBHkwXTiQkCAV5mFesmr3gohtf58wQzehUsrhUaEwCY6sFbdqLlgWZmHvAJXKKNglEpuCT00UdVvNE31oRy4Di2V0hdMMXjC9QFZTTm7RxKNmxXP9atcNi/cjXOR6z7Rgj7lUrSgUHbfRRnoS2p9W3u7Afv2zk/GuawXl0+bm1aNiQxUYJJOpxmhJI8TymIzWp9MpoUhDb471GmUz+/EJD/lBr8lTbjRiqRwLMSsGF2Nh197bsKCCwPyEWhJfDQZexWWED83cVdIANOGm+AfUTlKhhORf/pT6GgR3cs6rX/9nWnY2wLUECkFD5no4yzx1fcer54utIIo3Imeczdhh57qbByXH2Gs+MHE8goUdTTZFN6ZwHp1j8QgiKamvx1oCToK20i7+5/8HQ4s8P1/cCJKPL36YHp0cxlV6aALqP0MBOIowxphm/O1TDXweSCxbD+8M2kechT9qg608WhNg5zsT7VG/6HZeSdW1tTxfTScNQTJOGw2j7QTU0NTCYsg6wA6rPAYKg4KdR+ayQVjMNPBvSoroyUE0tYIuXSoRxnfsSNNX+9QA9kbN8B4pYsuHuUFeNi/QNe0Q17wMzd7A3HnYvQCSqm3VWNC0cyEDe0zoHe2rQQVRqqZEZ4CVcKqKkaCYN+dByHfa4PaYx4PvhNoBf24uNb6xH0oR/bS9n47gI53z8CVdxnA19Z7X+WVzYKihr21Qf+fRFd047oK0/welfswLUk/qQ24dXdI3ghBqANCzozL9nz9bFgTIGcHmtdfphK+UXz4WiQA/gTLcAuUwt+Lw5VikR6oDTFvm/M6k8Hc8B35eSWfaCMd05LZe9/Vx4EriKBQhQEK8zr/41naGbd4BCkg5/DPfcQVYSPfeHaf6Cf/bNh/BqydTQ+Tu2x7pkh6BiEU40BAwtjslg4jM8jW6RN4Igec96HEDHB3PP9wfdtDE800N/kt0QYNlWAkeAsKtpwQk54jOXD83gnmdigbDby5Jqp7Sp2kSo9COr+VgPNWnJAgiS3UcthvVSjYQIiMQsTxX4OmkACMWERsgzdA5NLKsHY5IVKw7L7APFDnsidAlMny8pN937742XktC6Pc7nVZpZkGcNZIxFHL1xyUaB+62ShBgpJswlSWh1I/AJo2OIWzVvzAg24AXLtuJDHgLQQ+VE3Dnyw42hrM3rDZ9cOIxaOb5atK1o7ZdE2p/0hBUQXW44zR9rr7fLNEl3Vo0E3fmOO6LEclDsROLVqBhKZUVeOjlaz+U1KFcEBV+O1fEtV6IiiOrNYLEKOMV9oVa/n+Q1Na0siUoX3psPhUm5EDQfkwZlwWocLmQkzjiDh8s+0SZnmfgRYwmg6t4APfx/FTNVPtUJakHFdAQ7hPCuAgYIUlb17fRLNiE7elZm/HsU5y4BNgCHYuz5UUheGVyFZBGcrkBBX4/2f2KX3HgbFSiFce5ffsX2106+XG53kioqytABCCqIMq4IiiTeCEehnDxxSkc651M4KXO8NGyYIgRg5tw8FOiW0GbmSMJMo8ZMvzMGkol1EJd926vG52ZoNODXk33hus1m9qYd+rVptas159KcajWYaRtd+Q+5XmKTi3qBbDwwpZrkcLomHoVZhPFHQRbCTXDBVyrcT8hnf/nflJXOQ7QfZ9BFnfbFXfyLjodgQ1BVSviHJdFGsdHocG8QxigTtBNzQWa4t7TunoGvvG/jZLnwZQMuiBXPx8lR1iOv06OkbT10pgUES4S/GM0IEPdmsX3Y9tj9WSlBOdNmDhpThL9Zofze3RYUaMeRSRVJTWO07NKr6sqSDHiks73b6i3LYfAvEsDP2jXhKqHfsvjO16byr8u8cnRcrT233i2k9SD3euAIrNC6S47I86i06YlCkbug/NaDNbltxCkTFVx8c3ped4eNV7e7/n/furxnRvSOF2h3AuhcMZI3pSTsuM87qGTNn1NRNFgcNkGmJZOB+Cm0wvkxO9Jp85ypGTSdRF34CBUk4qyszFcbvN+Q+fgfqEJ2QBYNEUIDpeasJ5xV95k51wPMM6jWSFWplgGn4YFY8aalB39MtibDUS7234moBNRS2DQwAntmleZV+8ON2WqSuPPqNPOeTc2tlGdtCFwsZlK2zVPKt4YPQ8RWXhaFg3SCDInlUB7RuIru0Ozmd2PGUJ5KoOgK5t8V5pqnyqfzmkxRFHuNa+gdmPDfGf3RupdCVX5FxFj85hMo/2DfLjZ7HBQ/0WUW2zH+dc1kDuGTMjZ9CpjOxMDCb5gWCbaAAdkLZcwOWCJzCLSyFMQFJwygZ4YVMyWrRs3EB2k09WjQF+QpjEx6IOqQUYJeiETdCgSt3jzwMtnPuz90HzG9vRL5fJDG0uFg4HuWUBgerToEEZAMCMYYf1E5RsHgGY5z6yCkEiABnDAG4SjCFqG+LXmqgWY8kpqJ8kEQqGWs9EBDR7p2/EWo1lAm7U7HMGCSKj9upoy9LcDeYAI3SMutSxygzc9pSNeBPNrwdI4ym9cA8YR+XJ+NpW1NNpVY1uHEuJnwDhuV17WdmZl4T1ZR0oNqKAdKMDjYrY+mHuRtubHeeKDoNjkvYKWOPfSDEvAaaedxykCcxj+SPRDEGywF2T1VuXLE4opSYAo6q7E7Fw2bfYP2XiwjG74wTavAUsfD9fOvfPaOmluOuFByeUW8zA8j18F43lmMth+1j6wdMkkvs38Z7h7C+VrSIOCza4xto+XeLFgGrpfLxF8drxcayVwP+7koc1c+s1cOPXpC1pVWVV9Xd3lhImtheVEFWIuH/GM43y3dDT1Pj7LdvWHUYhyEK/DWTw/1ZSqJxlQD53MMUK+nDW0/VxxxS/LdFF87pOQDx/swC+Wi1kjxEwpq+jMc4Zr02z0lUn6ccdfB6awvL1QABXzt5xuI3g16jr1cgqtskMHjASdWU6ogy1BtCHSbxYRmNFzXchure64w7SX3+pWG63xiPKC0atr+mzIjHO4g0ndjFEc5tlIJVnu8EE+bJXFZzkHzAE/tP8OFqexvAvM5a5SUgai4G2nYmyvkJSyWBTzhUzlCrISPmn4Xe4Ma8Ml5GKibN25R/i8AZL0kUTVIQurCzFvtAXRv16pTy39sDtKmX6WFFhcf19jfJUm9cEETAqvuwFmfEccN5IeSnnSi0dUMWs3lm1n2RID7VZ5UBmz2bbr2fc0jZoMe44907+ShK7Sp2siI+R8iutiZJJzpSE0sFds4gZOt3g9zro75vFGQz5rk+rIWcxZEQ/fWDHQHHz4GKfTmn2gXPqaqr5moQk00PUIE5xMh9AlSc+u+m7oUgFDxTYu5w954EumE4mFFJYVR5rKbVxAH89PdUBNup5+Pwf1JZ12qef0uSuMaegfRjPT6eHMhSBR1JiO+WkpTQFssDBZqLJIG+gZPxwh/uUXISCpnkpl9GuuqOP18PostvkoZOCM0XuMOl95KDmq6hXZyWLWuGAj18GnwzFCuKibQs+kUzrhSkOhHzLhI4C2bdgsJH0z4RU73jt89A1BJWjO6LLhneOmjJWwHZ/chcVllWRpmtFnCvgtPgkkz1dTSeOQDBnTh+wW7SS4Lg9HD60FcyVLgD9HAt4uC9yc+38Zo48uplfMDiVQhoMn2cKFC//8GrounGcllQiRzWnDIS4Nk8LCa9PFzWBRzuI6FPJ8Mws/PEsECQ3F0NEXqExjZhNIyqFG99glzDWnyq4Z1UwaBgu83yNP+Df7Y6asScL7sSt9IEqwGTYX7uy8HT4hfj/Hbs+2fc+5CKiyBAlxBSx5emYLPtkpmT4ccG3cV42pGdf9KkpSIA4pK9SNxrTTAFqCVaaIXC8vgDQoCgtRAZu3u0qiN2tNGzIUhWiFzxSfX/ukEYOB86heXm7bduBZ/MwD5Jt0KZ88C4beHX3WPEiv+NBdFBorK0paPw9lxk8a15BySrSR9e/+2+BGf+PdoEm3bgDJHhh/M7cf6vl02y1xsk9j9hyMBY1yMxUE7fc1F6lGLGi+42/0Xl4FCeXCWRfYkmUdOqSBIjX7fLJgGYp0fbZXpvcKmDaayqncpXCgJalWmSRxd1kUPV0ULCiWCakZrUmqifhD4T0CnNDeKzCSYTSxhonCWtnS8qqaShl41ap8MJWV6Sk/vysDaZbw20hjtv/+yftfsb/+jWFY5Gtj5QcmgQV2A2L9d5LwEbpXr9DYzo02YCo47LL4HshDJP+GfGjYdLGLJiFu1za0ZJiFxdbRHiwzD4zJZsiEdKvMJSYm0F63asChcqHt+Yg6tQTCbPtAsqcNrZ32Tj40GtCxstQB9obpI3aR5YNAXoqozmpT4dRYxDiS05Z14XtdDfbm9vsv30G94oPnhT0TmsHdHUNcJTWn0R8G7ugmsjiNceSl69z2zl62gyvjr82nIhiIyloIeTWbP3S2r6Eb5IPfbrZChFpW5HGVI1GkqlFEE3paM68o4gzeEEAplIZaIa9Nw0NbDcbMjMq+rTFaoTF2DzIzyuhj5R2CgZBEo4lCr3WfPkaf3bECTdzTOl6MVrzHMBTyc5Mber7C73tf2mtgPAOnXBhQDOOJU87HQYegywWVAi+J6uqedNtb1PJCSob93rA7ae/1KYMMTh+TGWxJRcJ0iOFn0hZDhYINzSaEHW3a0mKQLFfuMajf94T68Dsh/w/oCFLC+mxe6CeGGU95m+3/vDNoxs2J7JtBukA6Ouf5S/h3HpIFBln82+dx+rHcAwsiGUydCRWFTB0rRB+UH7BUJHYtZDebq1rNyP6vftHcUZUine6ogW20el+bfUW4KqUrfxsdPx5lN8lzB/eMEipcLvBvniCPai8bRSWzOiiPrtQtdJBBHi4ZLW4dIJuJwz1lRRlbQX5kXmfYC5/zMjeRbSayWZA3IShwugALNqt4H6GbEIyOGekFxrS/e/y4cRA4iz90St99b4IDzakG6+3ydEretH2nzl1iIYHoDksihO+SfuVmbC/Azh2yarCKU2doPs5KD3hMugI5z1D4ZVq9F2Cfb02y0CzQCsRxbtLcpptU8PESo7i2S+lbPtBZq8/xzhZDd2XRJn9ToRrhTQjaXtkOIIMcCZz+7S+zWm4oGjRCNC0p0k+HE97lz3HyMr9xKy2+azHWUqCnc5r+ZEnrhATBWYb0ZJATHXe+qKdVlEMXQBjCLWftSOXzOGi7TFrQXDaLxRRC3IqFLUKUWCuJ+x1nXKXxeBic7uMgqLhNnSiGdK83uu5nVNZHgROrpYznkw3EXM7tpVzOqVqPNc/zJ8YDzXmzQuIP3RCN3Y5QEEYu8gh3Uokcx8jqaMgNJTTSroqlWW5cQTEqbgFrNTdsue1mjdIRkt9sNlqp41DX5XmdXTNlRddNsSVVRd2OtoN6+yiZG+BW2udqUrfMW9szjJQmEDQM/TGt8Q1Tr1fCJYM2Ce1okISdWFIY1nW8zvX4CLHRwtRh63DVNqRDendzHIaIjQiROQm7ZYWU2AYPCagkD+YlPbBqPu8Eo+cUkZiOF9lNF4ykZ5INgrDbspdpu+5oWfKgfYSg0Bl6XiSNHUVBYH2snEgYxsQH7TiN0zwSiZtVpo4ROcMdFKhAgTimi1wiJAghwduAMT6g7ZTb+UDhrg7moA2sttPoBkfGVbDOLt8slsaQhKzZ31JV+A9CWIQKLsErXYDpe3RUM4p29KMxrz8zB5Mmm/xaEAtqHn9JVUdKpwjky/IBYKXhU75sOUEnMofTIt7BnFrYiE7ZOs4HQqfzLq1tkGTZd12nZRki4hsrEuk6uiazdiQCerc2bWEkJCuqVMFYoV6Eyf45huHZlS0u0wCay9QgZEP2/FgbdBETdHbJOVH3OF9CGpJEm41JkZCJ53dB1kK7vC0/3IjpoEN62fK2769X7XFZUUFhbnF+eCM6DjYSJBXAZjVV2RW/PrIO5SSKlqYxh1czc+/5B/UxODTNz7mPS1D7P5/9IIRSCbGcvbazBb/4Qx96tcrSpWd67RVgyrNeaSHj/V0V/+IXQyae/xPhu+4iB4ZkTppF5lH4L3ErTAUEkFDxL+MfdMfdYVhCu16wSwQBpZypghPKZcWgQlOxKU5Z2dcnAWSDNApxBML9n+rTPQNDUxAPEJq2PaaKAN+iqYpFzSmW6QEEyGc/5xjRtUG26m9MknwK+NnLIxsA8LO/xn/4J7xzZuQMcoARAiDge3f6M45fwP9Lzilwt9/+V9WfR21CPdBmf5VPwxmGU6bKx8BeXd7YSwB+UV+V4YJ0f2GBYe1skAAUVPv7s1h9JDVNY/CtP2WqfmZo/z2f9tsYjnmaMHZKpi/CgWN9RLawPnXHrbTdbackX0wdn9Ljnr6QHlTdcqChsia9L5WQqhP6BhvkIjbVGz7KrXWHQK04nddyEvfHA1I5cqf3BswKHaqarMLQ0YRNpqYfkWG5EHW+ITUa9EMyT9iCkCxNczCs6uQC7FLX6VYTj1slnyZohvf4ley67wB6mQ5ba+ZRRoZZL6z2UdRrLdrnL5WdAWvDhmf22nA1jCurZ/+T1TNMnw56JkG+83CKHwR+ZTa+PHTotjSIll8mLUg4YEn8eGJkIHbxIXCLgOSf96CR5ZzotkUMmzW5QmNbEGB2EqEwE4kjKgUSGw8nSu+RYHuKlJjlkOF6obPJBeU46nEhcQgFvk24kstHiWkubigjURHqjZpCKBpserTExNIZO9yff+BSqpyKMXNvlfZSZuKWjeUkT0VZ5iiiKtqv7awsmA+nNI2KrF+1/PisV9U48+lOTs+axnqxZOUqng6ZSMXhCW4XlflePr+k9Z6lM+n6ZWWQo7TvP0sXzpmrzC6z+JCZWRGLEpilrLPO1IVEM/uoVmJNcmrhJ4GFmqmmPP74SRUM+/DyxexSrt8P2pNL/fapfBlVI+/aW1g26CGwW4xnObPFhoG9jaWcfKJOEiu0pkN1+Kf3HFCjJMTChdf0NpSvYX5o+ZlpsUyROl5MI0ph1hPh9lT7YwKV/Iq1sr9HHf+ZpiEddH75E0A7cM9oZIFHaGiPHHRALnj5Gh7yww0v/Ah4JyGJ9BH6HkmSk8InqXyTlnR+yUhmstwXkOzkJDd5ApOfghQKSVGKIxKaEg/9iD6lKROW8lSkMlXCU52a1EYSaWSRi4wiyqiiFh2Nc4mLNlB0YgJ7iD9NTiRT9OlMNgfxIsCsgvriA0gvlSvVGtTjeKPZaneYuz0fNwyGo/GEbTpjny+Wvnfnar3Zcu72B67j6Yy4+JF/4MZ9D49PyOeX17f3j0/er+8wYviVpFlu8H9PllV1g0RrVye/H8ZpNl8sV+vNdrc/HE/ny/V2fzxf78/XHafu//1FE6B0YTcWwZhhX18hZDCThZshZErczBZ97A/6C/zjpAZ6WO5WC/LvbdADeGYG0F0KimlEItkjRHFE5OEk/Hln1Q1QUlv1KY3+xRcgpEcpovecf00wG7hmLTr9Yqs+nYw2GBYx2p3MrQVmz8qp7bNaY9cKBqgAPumGV/aOzRNOfQSipzgz401iTNpS7Raz4U1ZV6nfva5KMxJD0ipjoCp4qlkuQONsr68VoIT42J6B4Lqlp8Nbg/6WuCBiKwTDDUbbMOlt6EZZnYak4TVbMMAocQysVXpYl+xaeWb/THLpQ3O1MBsPx48je8PAuSSTukgtBW5e2/bc2hgNpYrGdPGznzuReQ7vpqsY3waSNanhGiUw8cw8MmeuFR7kUcDCs9iD8AAq39Vsaa+Cfi1v1R51HDWnsBGbTKNpV3LRVPZbT4JBvYTeq6/XMHqNLtEsxMl7gpNz9VrrJWy+t3TQ2iOvHdL6CEAEb4AAQQQnOE+ep+KT8+T70o7DBcr6AK4+r1D70kUClyKHQwx/ySVmfQRHLIU+vHIGZWG4M6ZYGbJbJPt/LYF3UeAXrc8f1WemXMnoJIUaimjYJQQrONFCbFhPrvi9qfM5cZ9Ew9Egn1a/PkXeK3EiAEqnqqQcigo54Pw/rUAmROlAHSTS4AxW1Or/SxraYgAA)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAHLYABQAAAABAQgAAHJiAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoYFG4GfHhyHTD9IVkFSh1s/TVZBUjwGYD9TVEFUgTgAhRAvfhEICvZo3iMLhEIAMIGoaAE2AiQDiQAEIAWIGgeLSQwHGyLxFWxXY6CewOalNZfPMyrYrmbcDkTU+r1qNsKGjQMg3hwT/X9SUhlDE9iTFqA63e4PtWQjlBo5goYcMo0ZqbViQ0jvqjjmPNf7mgM3sj6o9UXp+5FQOzPJbOE3Jx5hd/ytpmpjm0pYR9BzruG68ZnXxBVYEMSHMTAwnWpYTZ0wG3f74drkjkO9/6wik1904hQkUpdYDWmJLZFY0pNBEcb7IndF19PSj1kEuE38iIQcX4SK1qgisnr6gFERPc4+OgJHpJCEZJaAxtzpl8/CAc8Rzfk/exe9hCSEEEII4fAAIZilNJgFLUVSVAJFvJRHwV/VaP29R8UpddoiNaXiVOXz+nnW8vzTuOd/7TP3wUxgI76kJCdlOHSryZ2cIZquptBglVCzlLbxtmnUViK7SXY3ySbepI23Th21In7G/T/8PXD3nBn2TjlRgXtD5X9y8/sLj1BKDapUxtT7bcyW//zF1njpmb9ZiFmfWWVarEkKASLEBdHC8/y9O39WtzE54I1pQBMnULgfMHXC/yed9r1BDQhtGTCKA5+y+w8Yu+u5KTKSj4v2ymuaz5wFYG/AcWQSNAC4Gc+jnNqMoTBjlTBQYlhwJCcyUAFAfd3JRQxiCQASnZhHqyFanw2SSW3yoCX0NbQNST3t3wtitjLDMjrC5AKDqIA84tpO+X06q19d3aKW2DLteMgws7s+RPtdEF0YdkmaA4IIKEPg+LL735x+fyVLjuNAgT8DDtDyE8VJ5/zdX+xoswDARzSdN21KaWKzLNlCv34uhbKnT9eI6JKKPh395+QWaAu0BXoHtIXfybyEh3836/8kJIGEQAIRQoAECxKklEmpQGl9rGsus5371L9E9JqP7HZnzdqZmk8LlCIJoX/k9iCCRPK2rIWh3PYL4J+AWGsmndQZSiFWlgOPgZDfTBA9mlsoDTKxz8xQv/38r2Up7Xf/esMojtKulKeklnaUQvEVkpgOEEUkKHYzvaO5v32jkPtSnpPkmC+vzpmFSM1ChCEkZmZqQ1ED6jKABowZGnBonv//5Ts7529ae2sUMo7ILxzFmpQ23KS7P9QiUaXLCBVnQXUjMR6jHCDqZv81T3ETF1IgRjKJJB6jsPi8Nst2/GZ9wAogFg0Avz5FhfaXZNmjGdM4u2Ovj9m5AFmWtePzAVIVIKiqtCnTXV2t97qtAh1g0Vb5e1PN9j8EYcVLSyr9y//yvwzHWjacAi9Url26i4tdgNhdENICJO8Wq7QAeeeF4gdFn0BS8hHgRVKekUNMdEofIH3zSZ2sZTgfpHMIoWhCyJ2L0k2fq9pFpXFRea4oO5eRnseb+MCsd5v0rcACzGRv+jFSDL5rR3UVmRIi8/WOe9fUUvNIKU12j6zTMTxCIATCUNraqc9r6/omVq3JfU/2LaGEQYYiEoJIENcL3e/m91MrGjK6RrIPCSoSZQkEqSUm9d3XvQOzYiqtAy27c6EL4OPV3wvhCgBLAZ8AzmKjCObOihAGadQMEAWeVGgw8LQnvyyX5FkeJYJ28yAgeri/vhBImAZti/nf7CJ/usjUXBR6sFgmIo65HKSrbQ4BKwHpaBFUHkZoocuC6HIR7791yCyoIEMB/BLgHMA+wHoIUIDAf9gqBByCQYDnn/XrBzD/O7gICECv+OSXH37/oxc+evGj73/+zW8/+S7Nt6adaVIcEx+U7pSelL/zy7u/PqQt6yn9Gv16/Q79PmPOWDSWjWtMN06aaXPeituIHbfn7AXnJudW53bnbuce5wkX2Q/3V/eUffvB6n58v7hfqtjHOxW5EqykKn2V/ip22DscHG5Vhaq3qla1GjZ5dC1Qk2tKLX1gO3rcQbj+ZWvailucozRIw7SfrtelQ7VRa8jMn4WzT9yE5t35SjPZzLZaEi/Iwl88tn2+T5fb7by+OWCaZMNsXY/r43dlQ+1sjtJRY7XFBSme08lAz4WnUReneIGXOMMFFljhyCK8gjyMhSQjmEbIU9AY6dIlzShlFtN87E/81J/5mU/FzUQrmAVZIISPrxB7yUZST5pJO+mG4zAN52EWFiFTllKqQqwTO/ahfXvSnPT76VC5AUU87a+nfHZt3pxPrrOsJLgEIcDFG7lwf2tccvQTuBYACKDzvG7ablGymjetVNpiyi2hbMcNBVFKqMABAATg70VLW0wZVxVWAlmAUF5kCADnUQEOHqWahWkqYG7/a8tRdlwUmQBWZ9ZXlID43IrcYhBflFmlBSsU8E4Z40S9e97iwlsrtCDreF0gubh4fx8QAIKGLg4FvSio1PWEALOnvaKu9ATayqQSofhoeBACBg15iBU0JAs2hAJXV9fgIWBYNwJheiOAUHhFAhVH1sydmDMy41JSr+zsJRlVf6gY0JA2lkFDCGCjSKFiq/nDeGjwYmALWEcAt6sWsHlgRNWqVvw98jV9EDt/t6dJ4t38UWbZvNuC7zRW2/yOyRe4u3cTvMM85eBusFEccQn2k0cMrF+2bUoEc0Q0Cw35AJgLWuBptqK8NQxQJ79YEpIozULEpYRlx2qsRXMKCGV3QHai2S0OIuvP79huwNbY9k24R9KWqqkMEM061+nLuWQQ+Rm4LD/yqVz8plpK2c6Z7My6LEnXwN+csfSmq6E/Tg+OOoqCRcRH5wXQj76iMnJzL3liryh+gbvj6VbX2GODvYalBhta1eus2XcVyYCpygCPfQYhdpwFmPobyf0m0Q5fQFD2zTkYvxXNiI3Q6YbYubiiP79YtvIZGNag1Yzfw25N44dILrWOE/tGy07v+I7wtizXnozyygvx+XZSeGAY+aRs0Ynvt7pxlYldax4X5FlrG9ti3nrGhgxcWjSWT2mo37fRC6+vHq3cNEk9rWHcOUZi63kT9BnlQEKXX/YbzbHSkOe8du6C6aWTzdruMYlJOzhSYteOXvh3LrehC91O2A2R54sy2nJASFgckLmLiZqYZHoE3M551aqGndjctE57MNyLwb1Fawgyk8FeSauiw2xI7LQqYOaw6Z1QRvjO43xSsKfTaX7INVZ2SiQVWHJy2iTsVALOnv/6TlGOyNy6hNlwLTD8Z9ycKHdGvXW/3b5E9MBzDHoV/OxCnfqhwdWAu359A+AywAnAXsBaq50rhdh2RcwWcvtzgVIXcoBSbLaysi1L6dmTBP/S85VPLebSYKs6Pdh8tH4QvB3sApaqm6yJIDhz8B/rPhVTBf+52l19taC8+esGK1ZEoSUvixIU5WYbbDIvQuRKw/9mq7csbalqSiGGo9NBI48FCUopaNIXEhoXw138VzY86FYMucw285OptCEtqlyLWwukwGQNP5O8LzB3y32AUdjLUjRZWp8ZW3M1fb/czl606sIua1m64BrEsuEoidz0rjJA6/IGmTQqxkk7fH3Gr5oz3YEwT9v+jOhj/q2133BJDQg0R9WGeBLX2G5AGRFtAoRoh4eXaZdFhSI8JbHRocrBuzirxt9kXBVQZgiWpkGf2mu0uvMCjh20D/ssaczOzCZ4VW+wD2fc9SKmUyGkqbP4YC6k2goCp+MzAo4Lt32RWJiAqP8DqEaho3qyn6Cb5TR6pUKILZNAaqj1XJA6yOmhUhwRMWT/hP2vjGHAR9fML4cNG0kSCOZtzH9sYwB+KPe/rvdAE5itjuNwyb+ubUQWFj7flxVrSSYVGN0t27wtF3uCy9FcHWW++jEY8Fb5lvXJbbqUDLX3/P46HusWhwuM1t7424JxnZFwTe4341jYJbKJe7VN+OQ4Jvvq8wSXRAucgEN/t2pvr1+CcroGRq7VSUKnMU+X6l7dL6xitWr7GYTKP6m5P7l5KF5dF+wOx9ewPAD9HCw2sOG4j2pvMdD6jhG7HHhaL2xagjYzwTotcqvkJ5hDAdUYnuVhr/Viuo/do6cRrmptPFKBNc+qbXqeJepuWNYf37sd/2RMAItyJmV62GDjqh0u1dTW4h60pdVyb+75Qcor8mV2FXn8faldbosJTJT5mEPQnen8qeMs7Fa6QfdjHgvg1ZbHNP/kLDhG+RVeN1Oo5629XL4z6JZrDcegt5o+kt+0Soh7jL5r+7snuE7qZQtVm8uXM5Yh6un2HIx5OILHs9/GYu3QG/4xyE6redq069CpS7cevY474aRThgwbc94Fl113x133PfTIE89MeOO9KX/52z/+9Z8ffgoKwhAOiO6NALH/0e4smmndCW4eEWojYu3EUAfR00n4ugium4j0EF29Up+TRF+LmCEiyGlCcZbQDRPPJuAsmYbzZBLeJTPwPpmHj+US/2IEvgJJwtdkAr4hSZglEzBHELhI4nCJIDAv450Wx2EdZAq2SAoae3cABn8/NmbzNmdTttNmbLftuDoLerDH7Al73o4VU/AReWkAeznOOzpOGVOudsJO2pJm8vvqQhLCOEAtNSsjFCALMYBEU7dN+t1EY0R0oU5vIHWXObUdi5iq5Jpy/yp/CP1kTiVMt1wNzk8JkaMAEsgkAkRAQ2p2MD0UIAcqQKKrQ7ffnHGIERzuOgX9IgW0juXZQhGNRwuKe+gic9yPXG8HnOveYhkz36GCHrPiUCqrrpXW1i4aGqTYfSSUUH9gBtKvyk+pu6yjTW3bG7mshTEtVemEZSuCOo0CAyrDMKI1/N1QvnRc0NB8USn7tLRhrnrOmL8lk0oK0dFBZ5TBRXOdn0+yBP95o+fIhLiAtksPzdS6ngKbOdKRcZmnXOdaHXcuF2j68D4nj1iMgyapoQOvujO41Gxdjk5O4mR/Z2Qn7khkO8bvbqTKZU156rI2+lxl+DILdOdJ+TftWubGm6e1rpd3FQhqjgGdgcRLpSlo5lPDkdaypvbK206RbLwXO2et96Qd0U+QuC8k6RqKkXFzVsToa/MioW4uDcF1nZgYhbCo9bcs11Glipm3bVy58p42vIziqHNqZLDuD6rbS5o5jwQkQm4R97iMCvIOBCzUGkxI4f0zRt+f8ESIvRjTkyn/+FGovyoydZ9vAx+OeFVm+H5A9diI46htvsJK/eRpygPEPKK2VGtvSKCjvOotlMsI1J0jozpfaZ37G19ya1wj+1xJjaafAJwT1kdVKsy6jg/J9kAXSjiDbr7BKFxz5jJpajawGoorCce5f2bOCq8YGNnbAz0q2c+rla3hEdQqXGU0tT3Ztwm1QHMsY051861utJY5Mnm17QovFnTmRVCHDp1RJciOzlVYyxbtRxB4RdI+K3R2DsmqhDepv0jNkvAK6Iww4BIujfT7HqtA99av+RBeN+odHZqnxW5gRwlL4xGqr22Z2eBpcp7jLcwAbDBGo+soapNJg++5l9mH5xLD4jbaaZGCUq+9pMp3G7YvlzeaOYKLgISPfISwRysrsj4F1z73hyxzNABOjYken+yiDj5YnurFBWI02F61pRuf0GAESga1QgdeC0upyUWMIrjhRw2QJZyXIfA0ptobkw/rYsYcX2kUjwEuzm0WBic6iuXz3vWYmBie0oALBc5RjNgLvhkIHwR7bDyeNDNekUmpWYvLAhzF+3hK6Lj2uGcmk3xxKqCuIYOBTYBL7VZljrMl8p7zOVk/xwVWEhKq7M0Rj5Tel6LwJDESWGES4DhXsC1+FVAbSaj3L5YiYuohdJalyYWRS07cIAEG9hnMZz2OxSHSaP87LZU6f9f0aGWMa4bwrVk1gxNBWeg9bmN+yLkthL/EiGh01n5HXZr4BUbVHpvtpDivtb40D//FHIqTYeDRZnMQs2xsKx7nYsQwhcExKWEnHDPejyPWp6HL1ei7nqQFVYuLNh4jInTm85tVr9X6xjq/rC/ZV2X0aPWQ/pbxUWr0ES8d4ODau2d9dcU17qmaBR141Z3ABZDgCKDrKT1LeEfCuxAfTjObB5+mlyZ45t8xkItazLxzb/7mdbGWjTFhm/WsT9cQ+njXJMje1a8GCE4F8FgAZkLFeG/6bBZjXhjq4qdrKnQuSk9eMdNKf9BtRfW/M5loPAgG7UicUls1J7OMDi+afUcjOJ0pedfOIz5S3DOXfKO1m4xk7N+4zZ6cdEYEtcBQOsFLXyiXmv5Nz0OGfbo5MUc4VnBQowsij+KnrMWkZNFkvOusfaHBKbpunmwXdJrLpkcGf9yXDles6xbjeQQF1hlurdgl/j+3OY8axbkuvTuld6G7c04VO2ZZ3cUF1Do6kWDT5iuhBNAxV6/u0jWtNXfocZqjcT3iPqyGWmJ54bpRFea3ZEQfkq0b9ybqq3dhZfBRriuhMcVKeLslCzR0ur93Vnrw4I1+snvs5del/7W/UR7bMaetU2x1BpB4/0n4mio8RmjjAKNWMebaC3kMvb9K6+vKnAufB296rlBc20KnBxosjW2IHn1F9Fy5oXtne4400lGrcODR2ncPGVgzqBU68NKskC18ZqlkDbR4odZ2CAfw6wi/1QB66Yd4wujb7PsJ1IzXORoe4ntOucz1Du8I3dJDnzVw6c4Z9tk7eub/tJWiozCOfK1gZ6SwfsX+a/vOuVI+AGIa81fNFK5VXodjdWtmPf2tUX+dhcq/zsQ08PW1oS14YKVBxi2toT20Od79BFjrq1eNpBLWQrqPeArURFYg42gE6sWvMB5de03hyvBfOj7/ls39qYeB8N/zcSvBzYMWhtZfn7o5598XqtJvt9DNqsr/kOiFKB19/eBQIgvg598LTeotJ9Hb/DVH9tpbC6QWe38Esgn0DOU/XpyT/oS8VKJX1SFExdaHcwcHUlK8T4t+fKtecx03pNvwPlO1BcamFzrvskWuTy93xz0rPJhe7ZEJa7xpG73/+iZTwWEzzO83mp035rQLOdOgj8JyaowooDWqzXCqGsyWUafJAsN1r53gcp1sM+p9klurkweeuivfY3eyfgQIgIeoCsENS7wxmClUglY2icpp6+Cg2joC/sMVBY11BVQ6LmNb6rfwKq/cs8zt2gH8rjpQzzOfZBU1dPW/5VrWxVrH3O89kOWZJ+qcc0qF87RL4rKrKqd9z6NLXHMJc6yPjWJTN4r/iFM80GJXBbThkmpLAzsdvRBGFUPFPVpvniab7M2SLcapxx5FaEnrZUCaZT3MQVRtNgvYWg0k18KL6P9HJECYaAgEhIUNp0MHwsGB4xJA9OnDCRlBJIyJSJlgIZlBzNnC2ZFD7NnDKSggDhzgHDnicOKGwZ0HNk+edHnxpsOHDyGlABSBAiFBomDU1PiiRcPEmAlJkkIgVSpEQ0PfLOmoMuTDFChAVagQUqQIplgxqhIlMKVKIVpaXGUq0VWpxlSjhp5a9ZgaNDDQaA6+Zs245moh1aqV2DzzOGjTxkW7ds46dJDr1MlOly5i3bo56dHDVq9eCsedwHPSKYaGDOE57TQjZ51laswYa+edZ+mCC2QuusjEJZeQLrvM3g03OLrjLp577jF3330WHnjA3EMPWXjkEYnHHjP2xBMSTz1l7JkJZt54w8p779mYMsXVX8GBgImFMNAwMdERCDpY2Hh06MBxcBjj0kMnIGBDnz6CkBGMhDEmKSkOEyaESGYw5mzgbNmis2NHSq6Jq/XoXs3EwY3BM39UIfuqGhgFzcWgiIURoBZFeqj4chNBGAQYMVzgZqSpYeYUNRExJ2HGnRsHCi6c2ZPQJy59J2QVuwW66Sr6WSYsWJajQ5YT0C+Z3CUTGskUyZQ1W3Jm32NBFAIBS3PJc/Lpl9ef1lEzNlu2/L0WFYokQviYCFw8uvj02FJwpJaqWKMz/yt2CeP+UBwe8G3MHzcCOfa/aWi7j8AoRr5AV2r7wdG8jJQ/PuqGiMnbywX1UYPgJESoMOEiRIoSLUOmLNly5MqTr0jJiNnMpo0jbiPiXQS3gXADAAAAALCycXuyAAd6084t/bMQBdCVSxPImfy/+o4SBP9vxzGOjcLxeRKpZEnKfBr3fkMeS/8/l8Y0DXNwOEUNMSJapbeBuTaGBPvrfNX8F/m+w1GFvvWGIBJStvslHC1we9zllP1+KZcOiQycKY7yI9pRcRHLf6/vxOz7aOjZYUzyxtTjlJECmJOzVi7+nTjz5tJyqDtLW1YKFcci5VUouKgwPxP64zCWgGYh8bWYS6pLKyD8sm4GgVfhwNc7/zJwMdFR4NGt2lyWTh6iMovRt+dXRuxpjsC77nnGZvultSrlL+Sdh4YNsELBgMBNtjVL0gbwh1CQRHgIz2EuewHfJJhXcdUPL1H05KtwQhwMx2B+OMrTkTABqjZ3vV44gRBzjGZD1xKrcaOqJVZN68fPBOw8dSsi+/O0zsEgv1oOaPj+FBogrBBwCB+ikLgLYZdX2AA4SMr57kZ/wGv7q1UPqILzwveeEYIiKUx/x4jt6PcjxlJnCpqQiWgsTIUsJxFTBPEEyWyiTBQXP9UCPVNCNLSKMxybrSMwzkVMKgsDOWlIUzsovbwHFWZRikzTE8Tq5GLULQhPoKWgAdlYSdbwVsywW5tA4xPbGkBJEg0zyR/jT7Ma5DyAHHdhufErrwpJI+75thxcNMb8EJP13tJLMDsiqPyhPPlzLg9y87iYwE1PZ6np8IfxCBscGsbK8uYIMWttiGj5xywAlwsgJqV/Bh/uAsqj0xYh1PJge9nCWUvEhjwm+Kz+mTLDQHREQzjY0pMolZMqFTQyaClUKlc/+DvPJDdbmSSFEqQplkC9Pld0GILjaqKa9yLZMGAeBhgFSH4ICTc3RSBQQh8SKWoABtzAWmUTDEEOtvrCQkxwvJKnUVmqGdoaAihyNL/nDGJBJwhMML9ZhFI0SeegVh1d8eI+S+drmUqJDXiG7oqaruSr/a6YppEp4ssQAp4LDrgWsA2w/A/+nvHNzLvAae7Nh+14xMJHDT+h62lHn9f/Dux8D65+CCOflfHncPSr/0v3ZxwBzwEC8JZdHTXRbe56zHt44Aj+9Phx51/df6NOD4/YRnVj2NjQueyFJVfMV/uvtV+zXgtcZ35QdUN6S3/LeAu/rRznjgvHpeO6O+DTsLtVd/l3hXc9d4P3Ku/p7ssfFH8FP3Q+an4UfeJ90v+08Dv2s2vPGp9xn41NMH+onmiccE5MPi/8uexl9UvpS/lL02vpa/1rw2vza+i1+3XP69E38AjOD8/GtHu1N3670fjWf+bNW82Hzc/++7D9uHO/89KF8Yv5/YmLN14Sq6XqyctTV45due7KXVfFg56DE9eI9DUNf6PUmLpx1e2+drk9pCf0Qf3+e+GPBh4ClpNRDgwGoG+e5T/32vxv8/0Xf6/S/ohuJ+vGjqN1sAsAPHxeftXaYA0wfwErM6g4HW5h0EcCpYLcBRXk7iQBXB5fvafgHF/G5GlwuyPu8jG75oiASBhCLuTjH///ArQtziGBlwFkYkYBNiOgtfZ8gOUIwHbYtbcXVCEA9I9mMeK+rwIkOU+hEmQoUacNAuBkckC6YirnNkxX/hzbEcsiIM9yG2Y76VbMTdJ150tWLCyydXG13XFBsFgDPaRCerlXYyulmr7STiFRSDjw0mynn+bIyficymhqoSqCU3Ambr5ZQIpJKWlGWpEupDcZSO5cNTNdvLp0wP/pwGaOvG20uzgSdxLgDWecokeKSMmFO5NeXVcY/yGc9InA/2fSkHn+j3kA/33fMQDfP97lnlRZsoGzbz6pYkeZc4AoAdd5agqADzFo9V4eCO92AbcmfeO0Z875MxR4Y8J1N4z5ywmXHXfeSaf85D8/nPUaQmDRwSWgT8iAhJQJkilzduwpOHDkxJ0HT1583HbBeI7BtWRQChQkRBi1aDFiJUmlMUuaDAWKFCuhVaZKtRq1Gtz01a1EYNAZ//N/k6Z88y5LvDfXo0ThQ67iUwA+tS+G/OKtkVzNHi0e22mHXYbRYCgYqOiY2PTw6OIzImJIjMOMNQuWbFj5h4wbZy5ceZMrpTKNL3/T+QkQLEq4CJFmipdghlDpcmTKkifbv3JVKjdbhTqF6tnKz1zE44GH7rjnvrsQYDEMIsBEdCEJctSXvvbyzWFnMeESO0WhCuw0RepFnzMUi492lhL6V8A5SrXOvnaeZBfCLtBM7RzYRVqoF4tdsgl1Z9F5cL65Rf1nDyw8F1h+JMCwEqhXAaDB+riX8HIz6UgSoaq86q6GxqUyATQaHhsLoGk6alKN1cjE1a2cukzw42JQ02px9aXmOnHy0evjUSUjqj52pav6VMUaFpIWr0O5HGXSUTP19KTUNW/is9SXsU6qkSSboV1kcHkiAgqi61MbEUY1JmNiyPPNsbG2WeXOTZJ/xo2goIleZCB0BVqtjrvZqsCl82v22TVlGu9yyCPII0vMYgfcrH337LZTKVImpwPRer2U+1XgI1dSmJ1CczXN4jivNxEhQj/2I54yfroPzYnNxm5na40dwxAw3iAFXs8ZwnJprelWCtPQH9M+s7lPcs+qalZJcnZRLgbpjEUSGbc52qXdlkmUabPZA21JpapONB7sksg+KnQf32eV4R8VX/veHaFDawevYZvzSQWExSavMyAAH/PAgGYvpdnPmRkS/KZOq0ZmSeXzLuggInw4JuKiv7nl34tZKZZR5MJv5OY/t6yWJH8XoBIuxX46dLNzeqZ9VRdUE37Kv96EhodUx6sFxi/MPqXYR96p1+K54zvWVzrrNPSy5zDWs1IcT5ApACPWgGUu32461R+iAl9qzbAOrfWVm4IpqzJ2KXTKr0YvMxObqPnzrFXNNYI83vp2aOQZQx4EEn72bVDlB6J8kISMZsrOiuW3XD2DseyYTg8vIyWpwlfxrO6yBI56hU5ymu8vH2UhDCD51v2TTyX7CVsDnTi4Vd1seWMtj4ppLvhAGu+/K8SWyXkWB/PIDLJ385M9jOsCaEDaAOlSe67WDiL3k6XofjdwGGeGsxq5zU3s+MYnrUTx+jH3JNjm33j9Fwa7YnBd4Z4qF59A/bK50uObRo3iz19umCA/Q5PkVojOdMyfnqL0sIRTDXrL4liNfLmhyD5S9dKM3yrsUbGRQUetYlsHnPApFwUtTEwYzbJ/DZjBzOmBNtGA7Mfk6GvPl10Q64EYgRCS5tiuyyZQ5HKnt/e5l3Pylkq1Pitwzbn4UD78IX0/VuSR8t3XwdE2MyRPHt9U5rPM4/cGw2z8Y8ivlHTmIWruSJL0rT/hVPb9mdPZo+VQkM1lJLKsbxhosyluIO+fiMKJfUd20ByUB62e+68hC5fr1Ur2Wq3vLG90nI/zstRLoJxJ2eJy8LGb5QHJ/zD2XPECErA3XxiZ3+0NIwkbltlZM/k7XcsQjecnUb2VVjLKR9gx5bnACGRoSRdoG5bVT2qIwJGSKXcfTdnmuPogxlR7seLDLPfV7z/fGh5kdVFlFtavaJz8ymNW5h37lVsDbAuZqNJZe2tnTa9yK70SNGt6eQleF9lPNFvbhOzjcZT+9O1WtX/ycSmhSJJikFmKyq3qfK9cftx7hayCwGO+w8AAptjDQBA1vNJxSkh56V8whCwDAsFOV96PglHmO/oX/nzRTwO1jMs/7IKLqd85J11Hd/14sitY0F1Hm1iG6irDu6Pu+5sS0XuVYt2qvxejAdSYnmX5Z3FfOfMv2cPUfe+LFYlu2Eq3k322+6BosLemdZwWvFryufuM0iMtFB89InssR301eXGVe6VuNeUua55CfXP6TJhQ7oEFy73dnDn/Uo3tO4MMrdZyjq26zCua4wup6/PGROa0kFAzPB+jGK1Mr+NcuIptUK2PxIWyQonKxTvvmT3nslPvm3pcaRGrVhGU6rtc7S3P8OmEBjyH3/A0YD++MkCn5Davzx1HZdpUrX9vrTMuc5rmT4L7IJ5KciK+78vYmwc31duK7WFkkJowROhC9BeRGzaXJfarVXNy+Zoz9goYSJ+Lix+NRRxMqHkSlkXfJ9yPoCGpTftLf01+lCIfhgX3u6vgQphBNhBq93bToX9astcbjc57axnt2anlUi8VDCSXKLY5FNWGCCuYU8p9vDtCe1mjAR+kLRKNTX/RWbPzzEnSt+yKR30TGyE6yUPCTHsLOVRi+AvQl8bAnRnclobOwT8LyhmPdxMTKYGa9I8fMLjV9WSSCDVnIB9LNPRsM/uLU+WaWCZ3nBipfZ2RJJnYWqsmDMJScpBNbcOA6i7JFMf3tMP2oLAX9+2T9O6dhGTMds87JpK4Dza8N6qRNv85fzmdL9p3yH414qIEzrYQqc5eYbLK/D+Vkq+ZR6tVjyssr01uaqqz1OAVymIYImnaJ+2ja7DCvdx6NDYp0+V8g+EtU+32dZPPKcE14+7qQspnPNt+8sNdmACFuaq6k6J5jvw04cER/59B9TLmC4XqTb9KiTQVDiTCRhWOPJk9/2gLks52cP0e17n4Szu3u8ur03ixnMZa5YSyyltT2+lASYoAuY00pm0m55HFwYCXPd0KI08NQ8a2rJZadc0f1nlamoVszs0snxGUl1/aHNJh0jixwlQfpD6pT3W+iFV6ZUStlqZC+OWONOdmKiCN1bO6OUf/HlGMoiE+8ozfxlfLdCLkQs6qTKtgJzmbgQ7DAoMzox63o8O6VXvZE22L/NTKuLk6sSLmDuiM44v34Dpz0wh7DEvUVZ3FGIMoRiAW7VDY5JyTRTWMuc2wWqeS3AgizXTroQ32otkQJ4aBXF5XFueRYnEW353E4ebC6zi9LRnHVCLuZ982iCcxUcA+spGBpQXsMyuWtmZhShrIdnvxtbrz2lwuhqz3h87fzu75mWVVy9a5Rb9Kw+azqOw5yfue0zneMPxjowE21YVZHa0D2nq1MUzpUIvuy706K8JfaTkVhUiB/pzhPHlO4afibeqqgzVVx8T8maKZf5tfXHlx7i7nuxud5Rvf4+wBwf2tqhmnBb8uPBQljS9MRoFg2ZnbCfaf9XH6X6mEI28ssvVeDcjQMaCZudK8IpIU8SwYV8aI5LqI7hXdY2e8o5hap1YTRmyG7iO8WoWaUrp/D4qZ8Z1B8vDoKHlkZ3J8zfZf9MvCjGJHdyCEZlDN6nBYsyqDoJ3prkJPmFHodIwuNwPNzFdbnx3c0b/r8Kbe+I0rVmzc1C1KjJcn+Qud+zkaF/11OGHri23vseBja+LWHEsDhczU9jh+pK/PcXRHRso3ZkB7CqEQoxAN+SPuFCla63J3rE47SFNELYnPfcsjyZoZj50+FYDHhCA6409+7vS+ZL/CLHPWHr+jgM2E00b1EAgNMECsLQCh9k7/O/tGt8dEyoQxQ6axa6BCxt/dc9MdSf33gNN3bEG1mKmJ7LNs3epavcGpvBtW3MTStKFh/8zqYDIFypnpXUHX4dFR15FdyemMKBq3+uGSKO3Fc4hqVTisWp1DcYwVjrO+inmgjJnd2ek4MjCIX/GVlqUm9dn0QRr/2Rhn/NWT8Hgqs37wSS+ZtctX017ZmhxOEllcusZLy1Zn7EAzc3+yXZxGdYkhGflEecETFIUgELXzngBV++mz7hgIhlO0+yw9Ntm2OJNxJr/df/K+WlCtY8mdlrwdCcfRbA4/ujM7k0Nz2NFcwvIYJAkMlmyuFJzJtEQdyTni5R5SuiZDbFaaUIOkQ07GBTQzRY4+mbYLFrfhllZ3EMJ1DKjsvYDuWV2h8R1WxT+gCMhgdMH4KyCa6VlisPYzbCFGqgOjOBqppQZiN/3gt6XL3eVdEqFNoVeHe6QYMaSF0nPNIUZYCGMcBewyypp+I0m8NFiR07eRMqMpPCQG5yse0Tz66xFIYnqmTOYJ9zv+mE/rDEATn6yamBRUgDNpD7L3s2lgBL4/ajcuJneRiU89Ptn9vZzdDzDfJF91573aMNCQ80v8XTrvRFOIgqvzvx/L+6tDz+hgM6gPLqsZot+Ph5iNNHjM8nQ5UJR0+ZknmwOMkEl14XTSnGJ8JBrO9I2kvyy9wqzAxQsXsGfEst3dfpLFxhQ4n2dt4x5rTN7cZGkHT1lk2m5TiyBn0+GTIsB0KKr6+aHgHKZjcSSQHhocqtk7YfQk2nnYIZTNQyT1xyoGRMa86bPWiH5Eu5ymtct6UczSY8YnJ1SzJp+mfBY5LD4bopVbx8L/Qy0ZTqdNZyBw4F+g8ol7Z5HOGfqHOF6usqYR1TKfTxR8cnAScfVEoq4cJLGI2AGjnh1EOwCrAO9HdMtpWresH8UNMaHOPR1grMfUSsydi0ahY5Ol21oQTesSYx2ggGVJIYplPh8p+sVjUQTagvfoGSdGhkNiLtlh7mgK6o1NAbOow+rJRSOeHvBJZ5Wkb1XXyGr91hXe+NwyLDZ/nZNa1nIwfnEBNmDQjZKUbiQ0g6mCIhPe5OOtWre1lMSoaMxFhTDMHfH58MwE0gIu/GNog3WI3U7jROP3LOWBs7gpDkSHNKkcg+WpAOPFNwyhTo3WL/BK5EgO0o46nJqRDASrg7I6mvqf0SOYFeFFqDsGYuewCVQosjpjHg8RAzEztM3uA/+31Ao1hJQf1vlog0uJqc0uF64HVCldCvKX4621N5osaL71czv+gVzPqx9+77t7jnlPXs8OTINB0QZ5Fh1ZCBaK8PSZcM3a8ELvFciMb/E7FiAXVjyNNLVpXCJeyOyjEbvKruIkG2CxgTbYJKSOk2QhHQYiwcaH+iTBDQIDoeCG1b7n0ZJKuJRvIJx4kVWADYgT+RTFGNaPYB+tW16wkxg1ISopVzGI3v+4Om/xS1qN3kCmXOIVTxRRVEQKrHV5a04z9n9uic52dqKuRQS3sgMQ1BJAWlvqRf3X0xRf40q4OqJCiopcGpI3+snOz1X+KlZYqgADq1VKRANLLsHXhqjBrOX0vNNrkLVOUI7YGNULX8pbTJx/28G/tSUAQb3CGRHNAwAxpfjsDSPzEdiollMyvvPxNhXgFWCJ9uyQF2CsOmd1/yNPv3UshBV5BXVCWy7cZQ2K2114gFF9QCvXRJprzeinLnaAJxRiwxSIuYYourvkUGIg7UF9fms+2B+WSL3K2Lq+KTNlJmmDWdjrZGnbyDajxaToOGFU2uzQNcC3o5B1Dp3Pvt0UiYvO4g44+C+Qsd6Yjza6lHaNyUbZ9HQptW6GaQ5ZwZ0hXc3DJ3ddwzaceMx6y46vOB6+28uPRye7aHzP/sEBDv9gvpqXmD678WxqYPZfixK7P97zMcjsxw31BxNNDX+fG/3d8RXu+p/Q715RgIwmRi34oeOTH8DB2kn5vVb7Ec1gRXNeQ/1Nm2/2ekJtsmNWZEXR9PwF+kUXC8obmhoTg19prWs5VZ6S/ZMlpV5wvVYdiVGUlAhXJE4qz2kWHJe7nBDYnpTS2xJE71/uff71UPcpicKZ/hUh9PDICHpkRdgfYMWiUf1wie/3RpP7tmjaVtOw0UCKWtEt+T8ZwfHifbie96PJFp0BeodoamKgRzX/5HMWltf+3xHhdy2whRgF2U3LRrGsTBk1KFsIGsG4cWkiy99CAzlzYtVgfiDIYJiDKkTkqr4hDumEXGpabfJIDCqr2ma1KgZDjPnkkkSvPStS+XSwh6KKS/3z01kChePjErDpkUIi8XX0bjAh+Ij/v3k08GA6+iXGEB5iLPPrEUeAdki5downl5ACRlS0Y0eCqZFx39rRcq6tz6gbtNlMg4sNoJ1JDdu129PB+ofNY70wGc9Gy/HQ3OOHfJJS+2c9WLaln2LLrD06bT9GmIaH9TavNRgkJRwbwm0XO7itNomE67AJwfODui+GLxMpj9A3iGB6ZEZxYwrsmc6JDrjT4oqkHCVlf8MjYbU6kJZaLBmpKqCGMed7ZZEl4ZTLAneOdzi9ZNSMGD14KOjFjUjUTERhm1ojs+hQxKqTaWxqUMANDvrLoPCcF67Lk2M7QB9SDWftFkuPQT+EE6bhIb0tNOxW7EmF6h4waXMGk1WCcYQ2mYTrtLVKJRYhxyGRcu0ID7Qy3aMh4+GREeOR0bDbQ0cbDo+OcEJur4/et6UnYf+wT9/+6e4Z+0AhvZE+V/x73CrsD+7xaT8iEjSwUqherf/DM7d9L1nWtzmLP13k7YItkMf2OW8tx2KSX90EVecfcN/N3nbPvR2JuXPhn97Bvr5YjO612SSuvD6rrq3dZkVF9tbwL5LFZpa4wMSi/3wPo/C9OHCubnuL77QeWMPCt/e+orT1PFQm1lWzpciloBU1axGDVKx8ecOTx8uHtHBQ63rykPRblT2f01Xf4Gmt0dTU19RUfb3IpLDscgTSaU23Osw4N+tcmlSUEZyGwy/KDl81flZ6K8PP7NXuBDu1Xla5+VKAy2rZwCELWurZzxmMvvvEe+OC5OmBaqPOoTY5LeCwVkXWucX/4kI2fdr4yamSSObmHwPJkKF2sbSXPK6ltHWrelgTFrBbG4xrFS0PGv64xnYwKwzGqx0W155QbG9xwyqVGu62BuONXMsHjopH2Uca3tUJzxl/5yqNfgMGHbHlWVBHmUqVQjGkUG6PAB5z2wvjcy8k0gfrG8BFO1hxh0nMIoB8MTNAcaBjrUx9JHVPgLi3mmndjDT/F/8rPiU9OM2BtzAs/0PnANVQrZCfy4zs/3C+PRcqp03Z9Z+xXFHEgBOOubYQgwGZ0n0aDErIVBG98KnRY0teV+S+lj1H3/TYEtX1bjnqmnj04WPnVpCOObnZHyd11r7RYnSwkTxYZ67SIpNK2LdCAqenzFN9fwnUC/dKkC2EsHAPeDfvjH0muuECy/Gu6X/tHOY6XA6sB0pHo5Q4oG9gwVLA7jbpIG/H3CGuEyCTXcTHszw8MP3e14973nU0f/pJ8fRPjMUgecBhNFbfeEF3lP198wgMI2Q47vS2Lv+2Kb7p2+V2Xufqi1QTxCxYoIg6IM8XeefNMxxReWCIPAIEj7wRMg8SyJWifT7vi7pCuuI8AXIWoaZC+ShoDCIGLkQvWA++dxBwSpe6FevBmo+Fs+rTtZGHWCB1ZLf+Mfy+Lf/Y2fGx9ar9Nmh1vGeOoQSgOll2hAoy5kcZ84MUF4DyJDPXKf7uwXO7MqVSoRxSKPQUfxYx68Hpfo+vPnEpwpImpabFsb7y+xi6WtkyrL3KeitFnEnELgA1qEXKB8qNo3+k/YcWZ0xHJ5YeghOLjwYifxigOpZ4UZXocPvzUxK/+hYd1S5wKxH5QMxsVuCi/Q/TohjzfYattHKyWqbpi3Va1mz0T3g2qTIz8u2BTnTtuoCYMlf+/KmFzk9ZkYKW3CJh+zuNkSK52AJwbmY8ERHVWPUQOnCF0eiK+t0KjM1FOjRImJQfekeS551bwB76B52Xdr6ZIg2kDKnKe+Zr2t7SIYV16sWBz3SG7HE2/zhX8MAWEEgtWbEmbDRqwjkx+tNMTAO6FBiZkKRITcF+xiqL2iySdFc2mtsJJlLs4QW4bffxm3fNHWRohGPQh3kqR9rHWGGTaBov/lVgAtvLXKWhVkc7/4FdSxtFrQo4ymlUdfS2NFXjpdy6fz1fKXzDagR+V+DcoM5Nqzc4Xer16fQGdaRr/S5Z73KqN6D1HFKXaSOJtpxeL4oqdotOl20jUoUU4hkduohC1mU0ymLwrZMSXIlF78r37RJYrL0nsLmPWkjOfeHziZiQYpQAGJ7XZAlxXJDQaEQhKSHYo1uw66NbuNkc1yoTOp2yO64xm7s0iNsPYqJL2wYLk1pzR2tj3a/ORhM6Jhp/TGZ8o0JwtcEFGDOrYqopU+USk7Kf7nRMHzvG9axTi7hxbXyeiMD51a0hAqG1vV1os/FbqZUvtBnWUhNYSzGH29jc3MjlsADv+/bnPvcfQWQgSkWPsukklSRv3Bhwk2X83hqH5UfwflS3jO4IX70+TqVqkzZdrY5rtaLodbWbfI2Fe3WIxxu6yrW+Ggc/fvVY08SGDbWN6ze01Qa5nayVanZK7TX/vgRJaCm+tB6jJvSWXoYlwEiKbARbLUGrxS1N7/tsPGVkeVzMt8q1qmBGYncOqM3JVUEGJoDsbDnkMEgXfUGY2Ev8FRltKyHVG4MDYvA0E+5VOhOCjW43f5Mr2auETWmNJVVsDjGYZh+lhUOO9jUed/uaEA4bA5EiS4RRgKL9PYZTt/DdC7AND4cfXoABT89ifcI0v6xmBO+eYSKNamUwLtM74mIZOZic83fUsY27+hzH4KtXng8/Emrr//8jATBzBzFDjOwlZghZ87fkiv97PCYeV4wR80lgff/tx93pwcFMbypnk2SAjgurtK6ulJXs2dCzVZj9O+Itt9FLuYtvr3sm9PbniLU84cybRfDRhBQkDvBBhr+Bs3reIC4UnCboYCD93y39H6rzGAW1LymiPba0lvv27t2b9cRH5DsC8Av0bBj/0y1gvXKyqZexp+unwqbAmdIAf9jn94cQ1Bfy+3xhxCDYqnTfKpAdoKf7wOkDyO6/ugUf7CONHkqFYkiUkhffsS9uX68fPunKRIYUCp5/kAfYpRLBhF8SG1zQ7gutikGrgJ0P0kBICq331lvx5ML7ewwOhw0Oi0ALPdNs/geJtwCzgE6TNcq7O6G7dLL0ixtQMstYhUU6ZmmuTF6D86s7iu6YhWVatpxvBK3D9kI7WOrSy14q5ZZWFf1rrbY1v1L8EtesDrTuDwfDYOOX4nUHzds/rBG/WKb3qvhExNyQ9x1P8noVrJpqtwceWCYncgSYe+NnOiQkWDf4cnOB84cNX72yiwCswgsIMCsE/Odg1p4NK9qzYHV7OmxYyoQ/Av3JdeAMt4QDbWkWTuJzFoBOqUfwimUz3NrBDwnXngVd7emwYAkTVgUN2hPg3p7181J7+s8bS5g/p0HJEgLNz5iaDA5mzLnrkq49C463p8OZtFdgwqUbe/S3wd18DvyWOCkSQzrRVulE/dKJDiZeK0dXE6VfOAJe0sPKTAv0fDqZsynYVwcWOJxICnL49ydhuu6V3teH1RS5PejlDrOB4goMMwqEDQXWCM8u/JHcYd6m5CcwnOEQXpTmcJJPZJgzQgTtI2hEeAjm663EtFJ2xlJh2Z6U6dLF+rKafDeTXqpRV5vUFtBxqnXoaUYdBtRZRHZ5l7gk5S9hoHYk8zWZNFrnatPe07X9sXDa/3Y6mtP5q9PVne7ZTs//ud4RN59lN/j/OZV75F65T+6XB+RBHMLzZiCv0nQCpj20l/bRfjpAB+kQBsxO+S136Y8YqJ3L8Ojk/P1ZIvfJSBoeOr4KYBbfhmO6sY4B8wnGTgMXZ4+QnEtFXAL4c2Z/2QNcX6LF7gnbHpJ522sG9Frkt7b21AigV/+pg89NfcYN80IHYhJBLNIhDnEF/zc99+59DI03sfimH3z5Et7tlMJvXY36gacB/o8A5M7qcbtbeLKRh97CO2rnjguw70/Jyox792UUDS/0VZxceE0jfcpCfvrB4+uCknek4OT5/GpA3ySXm3v0G3MMVKJcOE0jPTPjgR9RyKk4uVMuK52e/gayaxfknUWQcflgujEnp3B/9VMC2Nx2KnYL8t7JEYSdxvuoxoj59N9qfIqADXsAB/ArYh4IHww105ABhPGUjDwsE5r7eqxLlSgf1I7RKCWp5SW1JFJiTvm5HnlZP7njbxT2+zIbO46hBLk1o8mIHBfAw7s/C3AxS+vZPPbEpsSb6uwItmE4sYzYsYzlsCo4Z/zTZL0xw60IAF+njZcA1wWAQhBFNzgvQOITm8PleaezlKBiWfWWGXkHQQLaFdD8AOWNZSgEUVSZ0QCJTzThvPW3miCtU90K5M+MOfkm/10Wmi7OpIcZPf1ykHEw2z9lfQrRRauVx42btiPX73DMzguvb58jBmQmT997W4vMT1LIMuFNGJZXrtKnr1iJXBrhFmvMA0/Fi+p4qWbzxarZqnNksD9F3d+ntBjw/2/HRQDkBIBZrLkLkiBbhRYLjWTBZLPucoNHPGdF2WZE0eaBbM+hDAcPX6kyKb8K1co6UP31qYaNTTFqts2zhbTH28MhPZQPx7tF9+qFfapv6iv6tn6sPzZ9LGr1rM+2vo1+yP/52MEYO2aN9QIh/hesjt+JvwqPwoXk7cQriXcQM4k8Yod129/BSmTls6pZ8+zv27+w/2q/Zy9NWJMz9mfIH8VnJvGpOccTHc93vNbxbp0knTydKp3R6UXnPZwlaX3p99xfsv/OfjJTmKFm9FR0OUlPLXxl4a/mf5z/Z/7j/IMUk7LS75b8TnFmNr4acz9X+sVsm5kq+9/qq/n18u/2apzIxbg8V+ZOVNxYcW/FkxWvVvxK/Qf1n9f/XP9//bOFwkJ9QemAldMrHZWBymTlUOWyyk2VSys3VO6owqvKqpqrJFXmqtVVG6reVgdXZ6qfqqHWtNbsq1lbs7nmZM39mu+1tNqmWmktXOuuXVH7RO3/64LqvHXL6p6se1D3ru7vemZ9VT2/XlOP10fql9Y/XP+xwa/B3zDYsLRha8PhhvMNzxu+sUQsHsvI8rEmWDtZO1hjrOeNRONfFwUv6mua37SlmdIsah5u3tC8rHlr82ALvWWw5Tu2L/sAe5T9iP2Jw+LYOTHOUs6DnIOc71yC28Tdw93Lvcp9zv3Ko/CqeFJeiDfNO8+7wyf41XwvP8lfzF/F38Pv4/fzB/hn+Ff49/mv+N8EdDMYgtV5gAFUQLAI8EUDaq51CpAgAAQiAMRUv/RyxL+2cyUmwq7OhEJga3IHGnfsvT33Wcey8Xmu4CGd/pcHcHnx7P3RFm8rQIIVICAiAJw6gHcdKAhhZP8RfWd5kCO7sdZ3Hy2N0LH2d6elLFmBMErhHY8bLwRPfdS8i+xHnoIUHBlYU/XzR+66a4Y/LTMXbxm/A3+Xxi8UVuWVlXf3siYU2jIeeOB06gAIj7sQuhxY2LeAzfhrtzBPK90oH8mOrwm/Pf/mNfDkg//+7xGpBcel4zEzSh4INJdIAidIZTStoEUXoLegdDBCoA6UtZGBSsmJUtKMincx1cQhuog92ivQ07NFPnN9f2nY7nDixEScH0DPiygTI+sxC7fZp55aB1zTRqYBoWhWGVSMilFggQedo0WsbxyeS97SsoUBaSRve79mqZUFyw+5xnLG2Fl4Xl+44Nod7zwn6CC5uGrrrq5BxSjYL+d4SiQG5nCbocgSvtONxGD5Au5tqVf30oynjavM7D72SEYGmhFtWsj/oqo2W89tQr0iwfKXj7/GjoCfRENpEqdMkE53igMahKUwMBUl41iSMv1zvtfTLXsGdBcF7+oYMN84qLInVpJSov0DrNen9N8qC2yHfjy4Gbq9WVujlxGweVwYhZ4C1BYKgM9FXuD0QWGvy/+IC8uZvay3eP96cOS3WdpjrilwGQaLj+P6NZq8+zwyEor1ZsQemYFf8sPwlNIHmn+u4H91Aa/Ee2XAzuy6676VLvJ33GH/QEwByILq2i7ffux/N218U+cwXANXevv7LY+1ABrbI6rBr87VaxmVp5K27LbnVGq1H9/xBJUVK6wR3WpB8LjGvCPxOE2q2w820jkfh80d75KQZW1Uzp3ed3TREgH2WkrPiOUjsvPo0p29NB3RyOjt/EEmM2Epo3b8AQ4MEzL0bg2JU+lwE+qDEILPHJ9S0Fjg0ulTvN0SWlMgBCFeQcnHBe9saupcZVgPvLkZqGsYHZkIysQgTEyKRX6dEqyce3aZ1vrlNrOg+AXs3FCcmyt7lD+pO+CAm6a4jYC50JBZQHowihMKnzzq4EUp5F1ORLhYZyJmREJMSgC3Gh8CpR8XZR8ajRb4kgkSCXSNiqMcc+BRautJ5TNnPP82Kfd1FtnPUxB/6C+hvRNRutR/ouRIkZIO4TISVlbvUwYf+MyEI8xNLMHf3N/PBIoG/y4wDan66YQG89tHU/5f7jcL3M/QMXTY850PKIBLcsGagFKlVOf91M7e3kZAWCowCwPqk3XQj8PwIZAO6nEd+rr/5AVuaem9lYCkcvwiWFsrYnTTbX6v8ZNPOv/v3DGHTPba4ZulvYSTI6EfwIEH2QN5rnTPUncVCtDQ4FyA8dlF/u4zTx9Rl68HCuG7sau5suwyNI58PAnjUm/k7UxaiDWFFiyReUq2QueLFG2ys0qermigELINTKc2TQkhmInWfPA2bSeqFNGChnI38P0kRDCm/n3WopS3MjAKa62X8Ye/22t4O4NQ6YC3AqEfCzc3/1z0qOG1ezN97e5zyEgw1qUIcafepVagq+zkNny95mMEioRwq3RrheXEZNtUvGB+2+PR9QPuQ5kZEWVy0E6RlCy1OB+sug1NojsWCInp6xPiFwrLYibz7l62PM4FM9FDExa3NLlpHmzncuhS8tsVU/W7ElEz9g57IvGhzEwd9vGTg1DS+NWFW3pFQRXoMaKbArSMKaDjf/sxS8i+hq0pZ0TYMRov2AxtVu4N3Ucl/QVkpAyYfQ+kK4V12z8n+3Qlh5bqxbY5EgZiQANUu/qhp0Z9e+763uBsgLlazp/4uiTE1oH9sre3zBB5JVh8MmM575cgK2WBGSzbZ8PHmzU2Hky9xDVaLKbHduG8UVgebSZRlSus57r/HNh7vep5rOCxlRtkKabDNsxjm6JzrDAbfPOKSMaoSDo1uFm6uc1H63aykAti9ozjw+XERohXsvw8Mtmm2976gA8NZYPCEcVj3WxAijiySah+KvgwWmlk048JG1Y+NQhzIlhN5tCjciwRk0WbCoUCOTUwwrW6Ao0u49B9kcowKHn8mp4be4cGFKBkFAlmsaq49UNjr2DWefKdYVZY0fNIoA5syOMEDZa+CGMwinYK93VV3Pi1/Vyd5+i5Rd6MC8gqrHUjJ10qIaJtyVBuLStHaStsKYElpx0OntGOe+tdfWUFE4hyYByBDDNEWWl+APnmRsmvEVsHoelCCyNoyeq6FKP0YpVAgqscJCZEp03gfrhfMBw3jWMfbhVlX66EQwVoLJRMgMvRoLUrX31j0AkrMaiDSk2xdIFmgkN6kGvq6pEcc6m6wLyGwFF9lye9thHoqtvwKdpcldiW02yknZwoU06qOxLUgW3PGqHMyTv8aCsg7VRpyk2dtwZbqbEkVMTccmQc51ukYELTQ3tu1D8JXxNhsXwPOyAapq/Os+39mUztnPJdfmZ3/aoUDvl4ijpEsJfbARiKMBZIGzA/6OAvgILRe/aDcXLWYXxbMCFRmYoAqMc1Q0Qfr2341F+1qO6ZqGPGehXJ2xt2kpAA2z8TfUURWz/m16lW7u7DD6eEty3igvPHFceY1MEss8CKdCtTE3mXMxEp1jsRW2QJlERDg6CN/Dt43FIeFI+0//vAsPfIofuLQI9mbfUFfhOkaVMf+affP+us0gdT3lXgOvQvc/uXFm8uxYr7YNbNMvvXysqK94Ex4uwjItva9a7OE4L0WUxYn/hv77l7s8GLOuegwwE2+Bw6oA5Nu7v8uoXpDzvxDn6bXRPLgLnN0uLK4b+nYZce9ceEvuksVwkCaC3OPESHwj7QsXdnJgOiHNZhCtYlnkG5sa7B3PSerD+k3WExQoC4+En47LJmxLYfhgGE3Pk1X60CW+mG+Hzlt/GLd20CD0uP5J6UW3hPFwBvCxfH+UIcWYpECLLTnQuaqlvzeBhHl051v4Xc3Dsn4CEkCVzwIg228/C8FkdjD4dmk0DO1hCbI9t1OJyIKM1/vMBbmxMCPQlBE6fz6EMdubH/+siVg/76aDBwo1GPx6XK9kSdw8rSc+WFxqby0x8lBVZgJ8fBRFhK7t+C6B0xVERnr+zOyaDzzQrngvEP9fUKWOSJy7Dbz017xTYL1FYcwo9SqLuUCUkxvwnZVqLCaGczHddLFDJXYuE34ffcVWH4PedSQquN2LN8IR5Z8upIbErZnvaW+Q5VT5hIBoIUjfcqdtT0dbrT62u9HSCuPxl/vWpnt2DMSIKWqWLo2sL9fFgCFrebsQSGT9MNv9pgWZwfVrLaJuHwK+rVD4Ma1yq2PGwN3BtAA4OOV7Bm4WQheWhEbindEJkbdjfGOoPFNEKf9hmigS89pNbZxqG6y1Jugmg6GtJJ1kR7h+i4/VzcSl5duB7AZIqQXBNVPfiao52OCGdPZydyAMePBVCe54Wvu7lTGzBhXNRYPOOJlX7U6IDLaUHrx+VOS5owChMVu/drhWIRQQZTolVZ4EIE2YosE2ghkcUuUu7kzRgtTNM56TiZLkkuFDTgBS9EQLVWQHdv8IbCOae+6w/5fB7SBSE91e2LZLipTvqL1lYwYhWLdjzElM0SLFEYil/1oWlxAN2kYabIEgzBsLc1qWpfK6v2lXNRvXbJxo4L3qAUBr3IlmoGcIDjbKl3OrqXF/NgM15HabUWDbcUDzTyUUMpXJdKXK6vKiNJ3w3EYRrVL6X9GnAjGXOoVCxYmmx0LWStmAlnFcVrm4SAgf3lCrhx1SDvXOIxHg4jpOIXhEU+A8FLNWgShyoPCgaHyotpbhfNB2RwXKIDsFbWPAe2YmHHCdhWViRhbBjfQUVi3ZBubJHOSmQ4aUIpHUKUcanOZPEk73RKSYrO95NtINeaBoQb4HZmObeWxXZzyTZzY0UQQok5NF6w/EwSsBGSDkbYUaE5ETRJFJhrjUYnyoLaWuEE5t8VETgje90xYbFRVTZ9LSvb199qOq9F5/smqECAQzas6Ka/oWjHAhjn4LPO8SZuBjikX7CZ1AD6EIFBpNDYMSO9muk8I1cOiFPAF7/IrWz/gWd73Vl8RBNhzNueNxyXykUL88WvlMK+3O0PlG27de72u4Tm4i40tbQ122Fe8F4z1neFP7/SU90Il6qLj/tV9184WI2Vbwc40wBsjS0CPqHEjhCGzjAuj32AvMtr4Sj2QlgFuZMYiKBUKq/CA78DYN0E34qrVbhN08lDdf+AFCDITR44jngq8rJwIl6QNcgmxQH0YPMqEscJ67/WyALLS8WPzONhAMaU4PAkcUa90vRK7t5ENNptnVNHFvhJOqPqP427fQX+dKnzTxyAu4V3B3DctGmC4KuS0aatUCwhJeJROLe9CsctNVJc7re9AgX1gYEOBZVUFg8XrdFrb8U5I/OTCjCOaZnI5oyTwnsRFZID5drbegQ9TsV5w++IwUL7HGRND16Z2cHJrH+YyTBpit4xjf5OatJ7VcKaI0YLh6pEErcCdaZWISKUbq95XRJB9jhn4Yekz24dy2T7GtBtDu2cd1jEWek9zbdXl8joYquBDp+Xeb0TkWHGBt+y6EDDoU0rt8IQDNtwoK9wd7h1IwdITRMaraWKKGlx41WvnX8cX9jRvQCxvArfAFwiI9OwEa86FzIcbE7o/rtGQBjiUDt4WAt1l9pDXNB+9RhK+dgEAqjaoM0Bi8vT4CXwQcgTu9erNpqL4m3gOf0xn+uNqGV2PYSuKCGcUbAT5vnpwOu2C4Yy4fLoAuI7ZlRCeDBXIzajcou5hd3S79T3WTAJvY8MKepWRcRceTDbfTMaC8RD+CWCCKTFxeqY4Zpkv270UrEmk+RYKdSIs3qFwppsJFFkht614tmRBc6aJI3a1wSZkiwEroNb9KOr6U8TdaIi6I16uV5t6JZAEZolFsMOcDRenLf5nkoB52/VK9pIb9YZuRWpdmtG/mFvS1oEhzeGSfv223aPrquvOXGnE7Mi+sH+YrlYONJbBn1IrOhstozWCSw/NeFvBLjGVURY4VnKHxSUJbUqg+HGv1Q6X/YbVWlqWan01CTGIQU9MNoJJ/EyK0ui5m9wQSUcdBB78ofG1uttcne0uP3XCLO+ODRuGuvTIzNPgEHOEuoOE/pJ8umC/83BVvdU365vaFNgbbkD8tADg85k0rAgJTRj+Sw+NtU9J1U0MP8F01gzugdCm90Txa4X64p2wuOMJYf9ZQQTxqxGcRijXYtWP5qoPn2c6YhOYGOFAT9Noe5SLhSMuRAi7gwXRAPucRuiEDSuCNo8gFzegO/ACbiCO2f0xAFBcBZHc81leEeuYkSx2O60IFgd14pa/MJr1M8vMcu9ETbU3qOS18pFcCFuhG0kgEK7w52vq++FgkGvx4G7qh6GUd5g0Of313Te2kY7qYAt52ItM6XMh1I0k1EJUdERyQfRefTqAW10WWMASG1rTEGQKFpoj6YkiTh2e2apL0UZqRdkzhgI2w3P0UO7Al1Fnj8P3o9hMiw+lXJI1AW283l0ZpYMpUok8iX1/M4auu7YLTn8Kh+q2l5JHfe9KawV5EwTZnzV4+0twpufgkXZ5dM+0kdNWu2Z0gI4CVPc+c1MhuGcaEYld0rFF36V4flFt+l13WAKDV/CxbLGv6PrDGwVq4uXLmeTG1uFPrBeENdgfsu/DVPTbK8JiuoKnlmapuof8PnW29H9zcRYAGnInYCheNzSqeefOXhKK/XVYpcHrR76zRV1qAEIgzJDwegpokRSSrnMsBVDRRSr5iXnuMm1J+HBsPho9GHUHwnHgsFI0N9CkRMl+K7UD/VXszZX53wS3AF3co+dGZjxj3aVzmpCSmHabU/zWVosNOPG671Yk+JQFbnLy7yRhgkpO01WHoZZAl92a4LH7QhFXGED5UYi71vGTBlruuWxZnJs1CkZ+3ynheMsoUTQtLKYj9wxeEN3/HoT11PHIlA+VD50XTcXA15yGMIEV9JwJcKbl6lj+ZIoZI3H0oyZytOdMBCKyJyT1gNuglusJZOUojwVqHK+UGE52jl6ZBzZLRuv82mxC2v1ytTClQmZLo6uFJumZiG3HVUzTThX9upoCbc63TxmvrVcJ53HD929kurz+1MTq+QeDyFJXVGh8vUul63N7cSHjvEajfpSP/48jCKzzIvMcVnTyKg3JemgjfkSWsL1i/n/9jzxnHNcpUi2exS5zMkIMoYhyOACSWh/L+vNklgnwzlbQLnoDiudKemcygVBkjCqY/A9lckt4L2z5AdaDQnI5PoMoE+w0g76ylP8q1cZnwvsOPDqM8KprKNEOWvkpL8t+ztXF0T29fE2cWHDlxK+YBprUarZfZKvc3uQCI2Kp92nA4/AzkUcwBd214cKxWJ+FaJXcgAFzPseWPhtKbZ7GfY0OHMfWIr7DNS3q8ESThPqbwTB2bBvxjSA/+EkC2qK2Jowc1AmmhucCXDN0rr9QltHs1568MmWt/9chmjDt2DH1waD3x2eSYYMzWBe/kmeKW7nJ9VLUOTQgo9Bh8hS0BH8MzLyK7MH53k8CPqZzBDqS0SIDd69BRCF5JDyYH/P6ACt2k6z5cI+TgAZKHlsOMaZ94Vayt2S7Pe8HIfX9g7B7reTnRQCPHfFUsnvZ1Baz0+tQ+xyrg2BL1thuLYWKiSHV0ePadV9Bi7+5VXk/buhcDLIv1NX3cAWujIy3/O9JPZMQLoEArx1Ds5dge4HcydmYAsQIm428JELnHoyE5h7choLxG0bsA93Bv9cjWx7H34Hjy/6F9wH986KpipaQu3Qhe3q7hYcTWKW2IZUmVqtLlteDNaG2uS2EvlWbYupQY0kYZoyr1bj8gQrxfEGbBKBQY5G6YeIcS45zNV8veYcsPmCRomy4qV1GaW+GEllAKTa6Z4g7u3VtFzEL4sMw7rcUQ5FXsvmHRVoZbCI5FBOc20hpUxgqi2Wc2EwinMTsUJBEKCuaiTmOnDtkIfuSrrvR73KOlsSs2o7wNNZbXdjDUoaVzWUoHJkvySdIzstYMyURIm3Rz1iM5IJDvM2gYO6UmiogIwRBYE5TKBoow2HA/s6IFr0oAs0c2wXrpJzeC4C5R8Lfezj9V7ASjxfAleygAIMOlvzThexyIu2uoTkmUEbrDTFwm1GY0IdPB2gfyczOR2mNzR4ihM2o+iW6DQcyg7bilYiPYpYf59qRFe6r007epC/ukLoIIJiQMPkeFg92IlsuvktC9Z+XF/wgrc81lqpwqHOmUNgOS8Wq4dp5YMxxjNtO6Hf//wY6H9i//kdX9sjBNoKkzBZuatCn5DdKC0/5LApUUokRaE4g1nIZnX7yl4IBZfXN6mDitTG7qbmQfghi+Ko4zACWJC7e3sbu4YBh9V6Wcrc0Ubf3ZkbNVINaWWZ0ogztnRpCUG/cbkvl/T73FC5v73p/t4T1E4UGaLMmQL5+SFjuAPu4B5Llhy1g+nH5hVV2qXvF3orxaVwecgsrrhhVVeQE4bRfC63kJFx65DFOQjbQTxCm3hsqqM1G2Fd9sjCXFolwaUxmAyPjVGc35HUxbj9L6HhKp8OgNkGR53CtfRvxthqV3/Aw0jSbZOLKMCgkTGtquXjEKSdrX6Nkni2v7t5E16rM25kOw1rRcMLiwmuB7CIdUKBHJD6IRQd4okripRb9Wy1BWDPFwu8AvMetP76HhnwnX9p3rNbQb0Bt/8f5HAlupKPRW6RWu3g6rA/aF9+0pa38ATy2ML2sFJVsYNMp5HdhkNSmJJXVw94CiSjnNwATZ9KCoVlivcttrGw5k8WUbrTau9IG6P4sY2DlVjuKv+l+oc8OO35P0HLQb83hyt6GmyBDGqerhMSgbN9uKiX799nNvn2YyVtwwghIl1a1jRzj/NaczwbRNj9KTRNNf2Ga20ixkpklbObdVU04Y6ESUoiVHEbc+kAluHrRm2tS6YwlQ3NM+HXylIoudoiDDNRedSLMnAjLkzs5dDjZVJxfGLfJ8TGoP9a0aWem/1uyqLtHxyBIdqUCGYpPTYfmwi6mAj0fQmMLeA8bls0rS0ypdNSf83P23jMd4WWGr7xDX9rLX+BAXmlN9gqA5BBmlH7NOflT/lztKnVakCfiw9yvbdQOMX5kXZ8ojc0vnhW/HB44JpAADQb4SHmAcLf/+JIOQl4Gp4++rTCZIVGMMh9MLS0VpRdOKFpGZ4wdlO1y2EvoGZHfdvq7myYrlJ/ECxCC+DI4kxJGs+QrmLMQhw6BxRmolqvu1ocXJ7lHOfI7mlwAqTL0NPyIsQhnk/DgrLb+an0AOmm6a5BksKlXhN7n7k+jR1SL4Tb+RPJmRwgRaxpDWKlbbzLtjATWhbWUZRbB6+/ah+6kIOs9p2o8hgrpRNc9r403ArOVt2rBzfCN3y+Bbnvt9KpSMQVgyyxXJbZzFaNK9VKutfKNpkGfKas7qdMTpK4KyKSPhUF/S/qW5eqbpLCFwWxZXtrGkycBvVO5dNH0oPqj/uMSdeGKglNUTMuJYN6pHi8zJCLRV37YKyJa7SrYrqEHAzJlNjTkj0TkuJ7mJrwSbNGmqgP80NaDODTn45RNr9yiSvh9qC/3j0NrwL9jmhEbo4pTf3zlIPF4+XwYNPGm+g0YI2Fm8lNjpnIdMdbkVODk00Madn4Ij98/NB8ARMoBayxdDN/mqQcx3IIRTJCiFHp44gVd/dbhz0mdrIbQMk/z0zk1U+/YcqsGb5HD47Tf27p06MJIIB9PUBJpyAomQ6HQcUywY/VBi9WA1QsGMpYDlB3yfZKHUABfTAEuzrBQGA2xmhAj5EItGOUA5dj5KE+KjuB7UWFiPWtqICZCMTZ9RsFwTVwrVsf7MddqeoBAqPCmjtuQNtdI6PsoEwYfVtujbVWcxgRRqD9G01Mq5MGOH6rYOXYYOxEEYXnp3B84EFwet+bKuBDFV1Uo54eCfGUR6ltgwUsG0qOxAUatWYQ4HAZSnMeTVCia6IY4ZZwGJjAt32Qdf7udGG2nKKSWBn9Y6ObAg54pdPMQgE4Fx6QxdY6qI/opwRtePYsvqvscTYKpmojl/wHf30RWXD3Me1LcPGEchk8DX1QrKRpGw2bh3XaOBSogi0ipuqqnDN1BLYWUJzY7CITgjuQa4fdencvfv00BeyvueRjswPibIBFnFogHtj7TsepdTBgRJkQjSsYTFjrknDYddcQZNc52HPQXt1xEHijVoQIHw4+xB4VuzaE0nJ02YDuZmFMuG0D5nzHf7WZyTe1Axh6g/FK2cLXGEB3A82jZDllIAKtn5btydIfVchRIMmLDSHi0GLsSzZDjWCJQwQrT/lwMeU3djDfrrhwWmrqDJ1eMmlC0l4PvjNpRS0UVBUkjMvZsOSlSbIoZzwCr9UkDpu8baS0jzape3Aj3NjIEUrN4lLDhHSJxYAxwbleDqnnvsrCZeNlyxSPQlszMhE6mIKdIamiGtbLgqzzD/qXsbIqZRiGzu7wqMxYMfR9qUt2YdJ+yOMJeZ28VjCtabreiQbGwGa1VuaOAKORRLddVZHAtE0n1PGwmSfCD6NtuzgOYIpm0nHAgtuPkQbrHUeqTTgJ5D5Ih7ByATYKu5f3D8SQF9nOkoA/gPHLdzAMI7ztXEcwXzP6naZCRJWH7NC07X6ZEIO0Ba+FlAAxUW0KboPfiXKOQ0laNI5EFNAhRZDRRp+myl4EoWqFshqwfEsl7dEyuUIJs+BtmQy3vYYkFmxof3+1UiOebySOxcouxNAFwDUCWspoiuD5wnTSU2jH1qmGGZZxcFs6d1ipxbzB8X6CdWDMgzCtBMWtL7UuhwGF+aZnOy2ao6C1aKAUIKIp+VglXi5S61wwruXzqlo4QjojE8/rx7r7TGdsADZDn/Daej2XPXoQkiwaEEh9JxyOtzg97PYDBAh2ygGq7A2HBZWyrvIcxgwEjs4LxqknHLhFiW40gmW3b64o+pRcDojG6fqcKZezfIGQe5OgDe5zKPOUh+XxoqnbpnGZ+g1mOuhiq8738s6gY1td+tokHsxI0LJdFoB0xTtLHpeFhJttcxA2agihY75ZK6pSAjeq6jFJcLTE1q1ajPv9w1iZ6C3hfonFcqHkCty4xFHipqRkzITsuIGl9BFAmJB4ZwgwApiVHkh9jraqcDo+J0EoTXWeLbrdQsk4mQkCOMzaUWsLnlkzEQDiJxIjKHQX5EEorKuZISDE5gyizzyyzT899SSQT7836jSQhYVOM3eR0/1MAPX4OOmwkjFGRwveO1B+r72HZHQrMWj6tfOdMpSo2tt1YIz5+UdADrvyFK5AFWTDH5Z6j58OYHvyaNGmAkXfew4eC8j/dwwEENNxYeEkBzbhXRuWTObnGIAHcESt8xahobIY6UWB5Lb43AUOJ26wzw3jXVsd93WnTYsbfbiuSJQHgHmOiWJhZnnbGFFJH5Y2inYjj0Uf+KBd+O32+wiA00pE9vlO+WOCckQBY088Wcehi1ZcI4o59YcerVjMcjCvqOMa+w7lchVfB7uNepeLDoVCybjN+3ThisTR9TrNSdJx+uEzKRyDSTT18BxZshvNTmt7uXhskSrS8JKLE3l8O2MicRKDQzmFjziya9IPOSKPxXkkji1e3y/53MwtLnyY3Jgui4LM18lu1FsfuCtxpSZomP1u6loxq1MfF/bejAClSeM9PekIh8mDc+zrhyM0jPVWCoW524/XuYo1d9fVflyMBd6yOyWCOsznrE/b/VB+clBX8/ljx3h2Mu7sTUVetm3HK5xWJVvwlK9SH6LcjCiX0w3balY4T9w5/U2Pl6LDsfqGsP4F8Txs6p60Xq7CkSHyk6GokOW0Ws3tE7TR81dG8+obITemHz4T7Aat6HOwP3vR4OveS1CREUESxTfxVt9fXrrws+d/EyjCSvHSpehNwK7QlfJxXajqIYz0ClfFSeV1C4694W3HYsLi16eLA1WsAkC15CTM73NtzK/vfvrZbS1jQJqC7nBctRrOHumEK+X7Y9uh1enKvVYO2TVltrcwudbpPIY86MFYsRDcrMylD/F1XKwwX1SDgx2GQZ65GwCyKrNlwGCHhuy2uconLRf0ua/PDbdjLaB0h8cI+BPO7y5KI+BJ/K0SKneZwXpyiyPgKP7CrR2Xls+trJxDef7+++cLBxvgIuEPi1Byoamwu1LA+ltjnMqZbi/ML0Nngnd/Mj8FzmCuqHLYaepe5YSbYCoB60B1Hr4SyILYQw8eUw7kh+GWFqWnAZ50c7wxC4ARYKQ1693nmyU/otyyH9B3QECCi3iEtDw69b546xR+LE5ZoQXwP+MDhVx/rKsQ8QN3uQ2DZi1i9xTSzyIj+Kk4BB1go1pgJfHt/xwWyuoz/ji0w31N4AmAK+DKwpx3bV4sWWKjxC9TNAVXEEXhU5sdLHAyGOcgq6LPt6aobot5rHIZcmQNhVAbHJxewaLo3NtZ5X52R6km3Sgb7USjwyQkHFNXuvnUH5DN9LIDk7Y6mvJrazZWlnaYfT73+FOvW02JF0gFhaFyObBNsVm8hCBkXiyMsav4KX+pcriZ1dSsbhiVNxQf8EmihTHnCC3NSJHHcu+kGJ7nM0VZXRUZHIxQwpS6XWIoqyudOc37q/3Urzsejca7NzpDbE779NNDBReBFnhRJ7unH38iCYqyZEHXv8g3Q9sGR71xnE9fJS5sZZX6OcRuvtkDbGvUf54PAIHcHZiV7IC+thUp3378DIBJxhZO9E7barp6r/TOAl8tKgIB9gXhDfhroZYc43prO4UaDUsQQskisjNS5H8hBz9++Kab3i2cwl+K07J8Fck5tRSe9obdryRut3vfhX34Dfz1n84XS3Fg7ncvEl3/+on/tHQkZSA38rtH8EsH2jutbqNnH+E/gAEmE9C+DM5x1MLBJXA8/7Fm0HIJFZSTrXA8/EPwQWSX7EIm7je/qi0HAUuI39yQwlfeXZPbmT/fbQYz+x/p0N7Z2b0eqCoJQeWEaw1IEWYMvmlVr/AXnQEa6OsGZaj5h4Mu4C1urAexz8wZf6da3aloaXNxI6iVq/gWp1NbMtEQRBCnt3PKTlWK+K/ufgh/L8QSglghEU5bQ6nnZwK+q0gXwC9kN3tAek9rzgdwg7u+v6TsFE4DiTxE49GNab9Z6OoGakO4VxXYTR68wsDyytOorCehMS8IzXUVFkAzg+kPwHoZj38D/72PbLMLviSBNNcGx2gP6WEgqfy00m8C/XgqlUAU/KFMO/Ksz31afuqp6WxPMILDxYHVQEmDZTwZzF0YG7RFGiD8B/r3wXCrdl12FNsoAvqe8gStZHcmlU0mQjSwSk49oaxqLJ05glCaua10vldawbVIBJqnd9ZbBrVKFyagBAzPpkRUAKGJXASZDBWAKY5Xei0fCbJpRcsHyeFFl3Kch7e/U2zxF2pdqmUfogaukegXFe1QabtYXbs0R07v4FoohD4xQKFRA11dA0m7JGwckWT3reuSJQhZNVGWiSZjkk8K+OGKHrcgB+z9X0bgDrALQwx06UhciYZDPIVLdxf7jhoiuIXyu92T8d6oCIiJGmXKd1mrASUrmGaNhOq4Ls8bSihgFPEWzFvIJacpSkEIxtmcpxVXAtM2R/nZrNeoxeQ+A2JMrxNm3Qy8DL/mujPxUKoue52UkvSkjh80LOVHSJ3HyxQ2M/znaLyNUHMZk4TzNpE4PaFyvjAGKBIZGkmBAq+HJ6L4pq6WB6dPVk48/b7bjMZeGnyYFFvPkjE9LcmuIm5/+KqSd9n4OOsieEnakzAaRrfRkrSATrAS1ukFC2bp+EIUrDuJF4AOsLreSCRokpX/71fXmHSIN2KXtmIdFh5wehPMAdznh7sJYUSgsZyJonU8rh3zJGt9aluIhiE1Gq+H8LsfVl4Qkat7r68lxUF5wG7L6zWx3Tc2cKDYJpuFGLbxN2Yd0Xn9sw+2ftchaywxnl5DFPgZX237Nm8AW1V31xP5VE4KG+Enjh/+FP6Mv8pawNlOSRiUvaclHoOmUdzMBzABmpf5CcvMpuwiruxDZL/KM7x36hOPxE6TRHSYWG3uUnhD2oSQjCAEnYn38y+3zTKNGwlYQXvXtnB8uN0CUs1pKexln2dOS4KYc221rjiMpkOf6qq+HHiRL0x01ROyKXV32iFi2jXqGMje60YmvHoS2B2KTiZfMn3r3tAdDqQkAbnE1oUzPT1pErMvzL9JCyG3Ovzxxj4ZiLM2cMgwpMasdtuXf57Eh3kaOJEVeZnZbRsd1mupzR06/7qk+yqs8g5icUaFj1rzKNHhpSfG1dc636+TMDno17dBZABYRBJGJYowtUwCrCcEgRkGKPUGXb29XWHqIRwPMQRKPSvhRvnVFvX6SfXErw237QfFitTudpLdPlyMCzR0GmpJ4POhrBXU0sFdWwWCxTBEMSJ2XIRI0lSXqXQZ3mp/0nl+6vLAE0tDGc6Vg2LK6IebhUKMUMVeITdyMHofAYoXELCBcdl0ImmWRS3P88zSpQpE7PSirBf1MCyzHtFHMl+vv1o+TSnGBBGNIYRXk7mJ07TlF3ufNgdIKLOoK449J2TpMrHl3TLG036/CycDm88wwMy650wsh8NeS6Ykk1Lr3PTcBxdVg0EAztYBLlRHWSy0W/P6aS/n7FlCU8LSAU3SvsswniBFPDXrOyB3bshquAdhOqvAY4IFTlBsj7UmOtZosiJVBK7XpiiVzCjVzeyglpdabqIH1ZQPJDhWhGrS9CDiOwIAo7pbbwzkJF9112qEEhKyjdPfO+eggCOXwmfg+++ItM9TO60n+GdyyeRNvlnn+dPjEPpSHxDNpfgAPngZ5yENREdPRoFjyiqWa1iRqmz6Vt1RbEIGklcoZMMia40K67oYzhaIsCoGVbYPigwxLl28VoXQg4lSNB2QhjHz2JSWYuFh6I/F/AnXT3ZJtQVpYdffz9XasuazAE7JCXWc1v9Zgh1oLHpwQmrvJABm1DBmcDNN29fwK7gXjtUc+/+AT2JQBofkADNEJ3FaLg2TeKFL4QQcfcWm3L9MjdPhQ7eptyQii6KUTfEGsUYa063l3W85zq0aJcdTVdW03+xw2kmrpayDCJWaHVcr2C5Wjuo9OyZkmYHlOIJafs8J5D5EkNDxDiOsmn+m+1vBMe0ayvL8yv4+IcTly/aEum9MOzkJ4S8dXD1hau+W2e2EAdbaxlf1Z4+6YO77KdBR/Cb0MFrCJQSZ1VMnhIIPO1x3nNDLOsyCM2bv6rSlWWE4lmNcbKttzVJ/F5l1O1SV3rwGlssQfFy5MUUteo4jtXQcXsMj8ISPDdm9Qgetduyj7ZISyOVQZ/yjbcNIukG2VuNSWKWuWgarW+A6qPVazvbz6jVbqVvf3HM4iqGlHEkch7PUl5mcKgjRqExZqb7URUhke8ZJmZO3+7BW4LXV4kmS+M3sb6qj3VAhYzg/ikWhUjCuPd5GOVU+Meysbxb6nc1xvUaroSJllszzTCxdcT+NNvI6SjIRkXgySEZnt8BN1/UARzH6tYEY5T+qIDDiM08NlmDihSit+YfPpgSsRjyYUdB/TDSxeAXqaFJJN9gt5BoIRxghkMaVx4FN00ddDhOxFwwHQaBwDPuc7ffXR90RwGyyvUW8aG4X2u0lL7wVCoZMYyAEplFxT9+uk7lN6h0H0p89zhcFA05sPLuG1iH7t1UPVHhHKFHd0D4RpRtKUOAh6CxR5dvuViCZqRyU5iDIg/C4Fo9DlUvfI4y25/P8pu4VQIvBOiWua3oJniSTi/rirvjwzs7G2adTpbJsuMCuRpXCCfI7bfpa7eo4sxjsR5BcqnOYJIHeuDSfoHx7qWuEoP2hXNKrzNG34uTFdvGpcmXL40vHsdlchzDEN5azxpH4UTVy1vS72cXwF1fC39BuLEXxWk9a9VvaK4dzQfWwMjSnv6lNuZg+JgJIm3uU1lqW63zpyvfdr+Lu3cCGiJ4tFtyV5Ii2v5CR00QM9ZmlbUok4BcSEHiJB58u2D9HAx334GP+Ng0zMDedQS9GO77lAo58qwiG3yRauYSxs8ilW2I3d0eAqbRQ9Su5sjB+6IrrLHpKkgpgwZzOpqDZeq8h8vUd4sqVhjW4EgPKdR3dBH/dPsaumoYreXkBIPGk88/GQC8uKunrw661FEEZyNVkNKBym7fBnMaY6T8dZpNtgM3PW0XOAgIncVAUikZ5xYeU71mIRTcus7egZyUYY0IB8ZbsvSZ9sbBy+zzKl7hf917qvoQtuPFLzk1RcgMFYbxVtxCLc+/fvnKBufNJIPt7I4AxgPltGiHt6PSnpongfwNozbZhRbUT9jKQ/U6wGiygJA1A8xujoOQtTxQeP4DY0ZwXWN4wQ8LP4TxUjH2NGecydxLN8+iJbDvmh8+d64NHT0eVtsHCq3kjXV2nItTHOnienzIYlkU7GGN+HnNxHU8/KtFCTCqR1OUshIrIFdglKmpMx7O/6jiTMd1QW5h+S8hdmA+heSbbL68r/pnt1ilbgm1di376NKpYpJa2MqCoJOzgSXjI3bof+o0nM2oPU6oR4oUqUVj6yT1P9Lvn1ivPuwJ65e/eesc94jtuvenKJm76QPz3nZgWHQyKNBplqC8GOx3i+8Nw/DRiR3Vr77gBR3IlXK2LrsZEZ/kR8+NTbFDDILwOpoL5HHeDRgx7ggKJm8H4ERwPumAcBLvKw7q8beoYiJtIHjfOMGjuNJtWaA59frpgNfcn4qnglbgoZ/VF1J31auiyAykT9LX7dlx3qA9KS2y5yz/ua1mefxLv8RLENE+qwXg0rqNO07cvCVXKMeuQCVB44ZkWHZ8yBcSLklJi+Q75a64u/XHw5APqYbCPmR06xkUuBQyUh/TIqhdN7shDpQxqFuDMf7+EgjQgE66xdxkP5UsNfqqxTuT2Tm3x7Gl8sMEdVA8Q+fE5ffHJnwWaQn2SENuuuMkpqmY/FG0OHMle8WCTPzigjAiCEPSdpE7zu4rHJbXuCRaaUJ4kZJG01/OI9E4FNMzYU8Ie2mbNczMB3B2rOxB5yNlznrjeAeEI0B5ySKm3Ot7C5+M5TRtNnjazbWcmZalO5MDzDxs2dDXi+qY0CTgU/ZSMDZsCZn1XFsO6xFs3nYfaA/RBn3i0Z/m15FVmmvGxrKqKU6FhmJaF4yI6YllOEMQmDM9jsoUz1DbZCaeBmb6O6YrgE2sVNXSrHhdOCqufpHhfY/b2En8uSXS/dF0cDETiXlAQbLmjyBKP0b25Y58BPXER0pAuVFchSgQRIjgumlkNc2gFH50TS7Tym6KrtrR/0Q3umrxYNuyQVBLcii7KGoZt6nIhsazxhKXD6biGAbwT4eHYV0CbddBA4w0OdMIfqYYnXKImtbe8TtdZnmiiJU1bLBMlzQiwhMikZPVIWZQ/PbB6MzawBSsVUeDMsvlrQvJQ3j5Ot007xIx/twxD6zswno3mcDgxQ/Og3dv/O4FeuHtrlJPcaUeEGjL89RpB5H4mcvOaiPr9Lf0OdaVAanuPiiplXvcIxGG1374YmWzT2jSIqnFk+Ed7bfOyRny5BZ8H81f/cOAnMa4OLMUgA1/F4AONGP7ACjDVfSDazM2FMhCIiWYSQ8hw3/cYKNEVdOUWgQDfPWP51/jWU7n63yyOvwHgl2ceb19c+K/5b6XntDzHrJkBdBgABP31sOacVpX+e6hFVeMK5ycJWa3j0UfOevSi1S7hdup3NPVX7FsH0CglSK0JIIxTHnT+khRD+mkXA+UUTs0ggKxGU6jUBo6oXy/Wj9hLA1W2emD0w/gaxkb9eq/Go2Swax9Rzj2AoGG4VaXBLdX0eFCRSMoaebatBIknppo1QDxMi+FUll6UFWfLg4gxSY1QjNRjDw61FYXyU4GKmpgUSG2A/JllCfXHhXPtpJ0IVp5GFfNyFVGSzXjU9NGxqhphc7lJheFQhngo/C61A2XNROvWh/DIYmTZosvSB3FOi11VjLJyfZWPtCoQW8oGQWmQBURJKIQL5DCFY+IUYXVTp3Qh842R04lEGg6RZMsVwvK8JQ2pmxRZif7uWWRJPUTQOBMu6/E3mJXMOQ3fYYzcYO8S58mXxAbN6dLlLbc5o1gOyCOePYHdWz+e6FNkGeu1lC4ntuQq+nTrVWHfHT72ZLlpB9ptKhoYrpS1mFeO/UwX36X0kZch1olgDU4pi/2hvdDmcbunW483LUFWCepZ4tGUTY34jNaMJvuQu0mWKJnHAI1+yXI5ierTdYeQHb7sUwWyYpD4fr4kziVxdmUlFqx8JkV/tbmWc9hjfwL2Yzcer+72+aQ1TyGfIvCwFDkB/zWucIGA86nDk4YKGZuWf9WGZIFDAyYAb5U4VQhRPIXhFKZwjrmhKMQZBFX2gSbb1nC4R70JApgffyWAEW+ljyBWEEq+MoD0TYkgvFGGCN2oEVt7AjKquwmSwDaqjBHZraTw9CkTJFoVCUODMkUgT5nBl6DMkXJXFhDkyhIhIawk8V2sIQBXKFMqk1aYKt22RKFsIXK5smDt+Sdk1hQnI3kbpE5thUxwWXqYHGKkPApjcxxvO0sVIsrHliIKOU+rVupHSjhytvkKKMZ4rMf8CGrsEpugwJ7Uxs6ZcmXhrDH6y1Xy5sBllnM9nDe3aVU1VxNcebCi+PQK+eo2Ti6b6kbbCokRFaaw3JKcWg725MhxN+RDJexDaZwAkWacNUZmD5WZAPOd9SpWLiU5c5RWV+TKc66OsMExXlumqGCyL1r9VLfElK1CI00vaw/nUyi4dbUsCtkvxRYHNSut22RKJLGP29hrAzM+0vQGZ3+w8wG2O58ojMmyS7bdFrFkJYe1t2RynXPBRTZs2ZG75LIrrrIP3l+dn57H2TXX5btpsT32cvGRK7ee7PCtKAp8vHjzse9NW0yh56L0xaU2ChKsTIh3QpU3on22sH7ifPMdVWrUJh+qRYWBaD3guV7qxKnXqEmDTebYJ94nCWZI1G2mJM1a/GKuZClSaXxw1KzMhSGnk4D1+sIEvR75VPqz82FGJCEQC7GRzhZj/WtXV756CtRXqIEiDRVrpERjpZpIaqqZ5lpoqZXWHDfpT98j00Zb7ZRrr0IHHcHjpLMuuqKLy5jUDhRbmNnsrE46aPimx013ePY7wB8LW5oMvlSGjTjokAGH/aHfSadQEfHQUy+9McfUpUOvHr+aFx+VpHujzQn0TKPdChyffTGIZMrEUpm28sOIr9NVCQmLiGrRqk27mLgOnbokJFkgwHx3PXLPfY9TM2oOlBhJT6QLxgd7xGI5JJaJJfN7RP1DyX7a45hLtkllKpaUw/My8Yxom9R6543Fx5aeR/TJYGTuofT7jWXmDA2m756xyWzm7Z7uxffcvdYV354Jfo32TNk735xd7e12DfYMzny9+sJ2zwuWCmEWBGHmB4lAVgBhLwv7FwuwQ31pC5YCHBRAAhDcHAgAIKk95Y6RilXieKJYDGuiUk/Ge3JEFVFlVOWq5XtB4qbcklP32SR+z/ecmD4hC1n70ILKKLdyL4G95M4h0yd/JxCIrhvh4IA7C/c7mOtTjcaqnyj01bCUh+1qnSV3zm4du3P2bdjJP3guwdzukfexk+PD8yP2N5i98J4Qq7Gsav6xIo9fyA4kPKlkMxLuolJPGV8Gmj/W05+6m0telBsa6ttNYpBjC1NDY3tHXHVbkKr8ETJ1oVS0gv9gq+1iSywHTbIO9GwYeTXv/u5eynYA)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(97.5% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(93% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(93% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(93% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(94% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(90% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(34% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
|
|
148
148
|
/*$vite$:1*/</style>
|
|
149
149
|
</head>
|
|
150
150
|
<body>
|