@dotobokuri/fleet-console 1.38.0 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/client/assets/{_baseUniq-DjwZK6Tv.js → _baseUniq-BDfju2rW.js} +1 -1
  2. package/dist/client/assets/{arc-CsNVntqy.js → arc-DWcMv-ui.js} +1 -1
  3. package/dist/client/assets/{architectureDiagram-Q4EWVU46-Bi8y-wkL.js → architectureDiagram-Q4EWVU46-DhPv_Uba.js} +1 -1
  4. package/dist/client/assets/{blockDiagram-DXYQGD6D-BB2SFu76.js → blockDiagram-DXYQGD6D-D7RYcNDP.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-AHTNJAMY-BBxhzDJZ.js → c4Diagram-AHTNJAMY-9_4dQBo3.js} +1 -1
  6. package/dist/client/assets/channel-Cjiuj1tM.js +1 -0
  7. package/dist/client/assets/{chunk-4BX2VUAB-CHPrg3nb.js → chunk-4BX2VUAB-CQf5x2mT.js} +1 -1
  8. package/dist/client/assets/{chunk-4TB4RGXK-DLvawyNq.js → chunk-4TB4RGXK-eeG8BKQB.js} +1 -1
  9. package/dist/client/assets/{chunk-55IACEB6-CLptp70m.js → chunk-55IACEB6-1dkBlsDt.js} +1 -1
  10. package/dist/client/assets/{chunk-EDXVE4YY-DS0cHoGJ.js → chunk-EDXVE4YY-C5vcF-lT.js} +1 -1
  11. package/dist/client/assets/{chunk-FMBD7UC4-DHhgFtRl.js → chunk-FMBD7UC4-CGelAuwP.js} +1 -1
  12. package/dist/client/assets/{chunk-OYMX7WX6-CK20Lrh5.js → chunk-OYMX7WX6-CbKgVyop.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-BWu1gka4.js → chunk-QZHKN3VN-CT0ppG8R.js} +1 -1
  14. package/dist/client/assets/{chunk-YZCP3GAM-Ce_uXK7W.js → chunk-YZCP3GAM-BEf8DhxB.js} +1 -1
  15. package/dist/client/assets/classDiagram-6PBFFD2Q-B-_6FtAZ.js +1 -0
  16. package/dist/client/assets/classDiagram-v2-HSJHXN6E-B-_6FtAZ.js +1 -0
  17. package/dist/client/assets/clone-BF2H_qSP.js +1 -0
  18. package/dist/client/assets/{cose-bilkent-S5V4N54A-lmqr4Zox.js → cose-bilkent-S5V4N54A-C6GtvpYi.js} +1 -1
  19. package/dist/client/assets/{dagre-KV5264BT-Cqf_UZn0.js → dagre-KV5264BT-DvrU2BgH.js} +1 -1
  20. package/dist/client/assets/{diagram-5BDNPKRD-B0F2kqdZ.js → diagram-5BDNPKRD-Cy1qKKqt.js} +1 -1
  21. package/dist/client/assets/{diagram-G4DWMVQ6-Y5Zcbc98.js → diagram-G4DWMVQ6-C4GGKnnD.js} +1 -1
  22. package/dist/client/assets/{diagram-MMDJMWI5-B-vHgBZG.js → diagram-MMDJMWI5-By7JFsIw.js} +1 -1
  23. package/dist/client/assets/{diagram-TYMM5635-BfBWDsiG.js → diagram-TYMM5635-YwzVWpID.js} +1 -1
  24. package/dist/client/assets/{erDiagram-SMLLAGMA-CB6H1ShS.js → erDiagram-SMLLAGMA-CDsNlmLk.js} +1 -1
  25. package/dist/client/assets/{flowDiagram-DWJPFMVM-BX9hx0Y6.js → flowDiagram-DWJPFMVM-BuUpIzTa.js} +1 -1
  26. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-CHQBgJ4X.js → ganttDiagram-T4ZO3ILL-Dqv9t2x8.js} +1 -1
  27. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-kbhc2fZE.js → gitGraphDiagram-UUTBAWPF-DApQn2c7.js} +1 -1
  28. package/dist/client/assets/{graph-yw0uXaMX.js → graph-CyX-IC4n.js} +1 -1
  29. package/dist/client/assets/{index-CWK41DSi.js → index-RzoF0XVt.js} +2 -2
  30. package/dist/client/assets/index-bog2t8Rz.css +1 -0
  31. package/dist/client/assets/{infoDiagram-42DDH7IO-BunmSTvD.js → infoDiagram-42DDH7IO-DIf3qelw.js} +1 -1
  32. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-pI7F4-Qw.js → ishikawaDiagram-UXIWVN3A-CU3QtNdx.js} +1 -1
  33. package/dist/client/assets/{journeyDiagram-VCZTEJTY-CncxtERF.js → journeyDiagram-VCZTEJTY-Dfq4OBhW.js} +1 -1
  34. package/dist/client/assets/{kanban-definition-6JOO6SKY-CuD4mvBd.js → kanban-definition-6JOO6SKY-CWSe3eh7.js} +1 -1
  35. package/dist/client/assets/{layout-DGY5fGik.js → layout-CfdpDpEB.js} +1 -1
  36. package/dist/client/assets/{linear-BYUWMe2Y.js → linear-BQA5wLDW.js} +1 -1
  37. package/dist/client/assets/{mermaid.core-Drc--ixx.js → mermaid.core-BwJS5O4y.js} +4 -4
  38. package/dist/client/assets/{min-CJlVQqXb.js → min-Cg-Q6TB5.js} +1 -1
  39. package/dist/client/assets/{mindmap-definition-QFDTVHPH-BAzsMkbE.js → mindmap-definition-QFDTVHPH-BNXT0q7L.js} +1 -1
  40. package/dist/client/assets/{pieDiagram-DEJITSTG-DHoVF7we.js → pieDiagram-DEJITSTG-Cot4WNe7.js} +1 -1
  41. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-DGVM0S1B.js → quadrantDiagram-34T5L4WZ-_YW3nZwc.js} +1 -1
  42. package/dist/client/assets/{requirementDiagram-MS252O5E-Djmc_jRD.js → requirementDiagram-MS252O5E-didEilrX.js} +1 -1
  43. package/dist/client/assets/{sankeyDiagram-XADWPNL6-B09zCkQb.js → sankeyDiagram-XADWPNL6-CIpzp5Ep.js} +1 -1
  44. package/dist/client/assets/{sequenceDiagram-FGHM5R23-BrFxwAwj.js → sequenceDiagram-FGHM5R23-CqvwD_CI.js} +1 -1
  45. package/dist/client/assets/{stateDiagram-FHFEXIEX-xzpsyAQ4.js → stateDiagram-FHFEXIEX-D492KgCG.js} +1 -1
  46. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DUe9CEL6.js +1 -0
  47. package/dist/client/assets/{timeline-definition-GMOUNBTQ-Kl-ES34i.js → timeline-definition-GMOUNBTQ-BpAwqH0H.js} +1 -1
  48. package/dist/client/assets/{vennDiagram-DHZGUBPP-w_yD8Rg6.js → vennDiagram-DHZGUBPP-DDMPO_HG.js} +1 -1
  49. package/dist/client/assets/{wardley-RL74JXVD-CaZiB9zS.js → wardley-RL74JXVD-TKEj0wFU.js} +1 -1
  50. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-CjUg4N9u.js → wardleyDiagram-NUSXRM2D-CLjBh2KA.js} +1 -1
  51. package/dist/client/assets/{xychartDiagram-5P7HB3ND-DsY1zkO5.js → xychartDiagram-5P7HB3ND-DEn2Z9lG.js} +1 -1
  52. package/dist/client/index.html +2 -2
  53. package/package.json +1 -1
  54. package/dist/client/assets/channel-Ddn4Rope.js +0 -1
  55. package/dist/client/assets/classDiagram-6PBFFD2Q-qu46c_rd.js +0 -1
  56. package/dist/client/assets/classDiagram-v2-HSJHXN6E-qu46c_rd.js +0 -1
  57. package/dist/client/assets/clone-DDNlSib4.js +0 -1
  58. package/dist/client/assets/index-B1Ew8y-o.css +0 -1
  59. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CxkWw9en.js +0 -1
@@ -94,7 +94,7 @@ WARNING: This link could potentially be dangerous`)){let n=window.open();if(n){t
94
94
  `&&(this._liveRegionLineCount++,this._liveRegionLineCount===f5+1&&(this._liveRegion.textContent+=rw.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\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 s=e;s<=t;s++){let o=n.lines.get(n.ydisp+s),c=[],d=o?.translateToString(!0,void 0,void 0,c)||"",h=(n.ydisp+s+1).toString(),f=this._rowElements[s];f&&(d.length===0?(f.textContent=" ",this._rowColumns.set(f,[0,1])):(f.textContent=d,this._rowColumns.set(f,c)),f.setAttribute("aria-posinset",h),f.setAttribute("aria-setsize",r),this._alignRowWidth(f))}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],s=n.getAttribute("aria-posinset"),o=t===0?"1":`${this._terminal.buffer.lines.length}`;if(s===o||e.relatedTarget!==r)return;let c,d;if(t===0?(c=n,d=this._rowElements.pop(),this._rowContainer.removeChild(d)):(c=this._rowElements.shift(),d=n,this._rowContainer.removeChild(c)),c.removeEventListener("focus",this._topBoundaryFocusListener),d.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){let h=this._createAccessibilityTreeNode();this._rowElements.unshift(h),this._rowContainer.insertAdjacentElement("afterbegin",h)}else{let h=this._createAccessibilityTreeNode();this._rowElements.push(h),this._rowContainer.appendChild(h)}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 s=({node:d,offset:h})=>{let f=d instanceof Text?d.parentNode:d,g=parseInt(f?.getAttribute("aria-posinset"),10)-1;if(isNaN(g))return console.warn("row is invalid. Race condition?"),null;let y=this._rowColumns.get(f);if(!y)return console.warn("columns is null. Race condition?"),null;let _=h<y.length?y[h]:y.slice(-1)[0]+1;return _>=this._terminal.cols&&(++g,_=0),{row:g,column:_}},o=s(t),c=s(n);if(!(!o||!c)){if(o.row>c.row||o.row===c.row&&o.column>=c.column)throw new Error("invalid range");this._terminal.select(o.column,o.row,(c.row-o.row)*this._terminal.cols-o.column+c.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;t<this._terminal.rows;t++)this._rowElements[t]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[t]);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})`}};cg=Jn([nt(1,Vx),nt(2,Ja),nt(3,eo)],cg);var Pw=class extends Kt{constructor(e,t,n,r,s){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=s,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new qe),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new qe),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(Fn(()=>{Jl(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(Ot(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(Ot(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(Ot(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(Ot(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 r=0;r<n.length;r++){let s=n[r];if(s.classList.contains("xterm"))break;if(s.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(r=>{r?.forEach(s=>{s.link.dispose&&s.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,s]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):s.provideLinks(e.y,o=>{if(this._isMouseOut)return;let c=o?.map(d=>({link:d}));this._activeProviderReplies?.set(r,c),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 s=t.get(r);if(s)for(let o=0;o<s.length;o++){let c=s[o],d=c.link.range.start.y<e?0:c.link.range.start.x,h=c.link.range.end.y>e?this._bufferService.cols:c.link.range.end.x;for(let f=d;f<=h;f++){if(n.has(f)){s.splice(o--,1);break}n.add(f)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),s=!1;for(let o=0;o<e;o++)(!this._activeProviderReplies.has(o)||this._activeProviderReplies.get(o))&&(s=!0);if(!s&&r){let o=r.find(c=>this._linkAtPosition(c.link,t));o&&(n=!0,this._handleNewLink(o))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let o=0;o<this._activeProviderReplies.size;o++){let c=this._activeProviderReplies.get(o)?.find(d=>this._linkAtPosition(d.link,t));if(c){n=!0,this._handleNewLink(c);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&&aV(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,Jl(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?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!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:n=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==n&&(this._currentLink.state.decorations.pointerCursor=n,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",n))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:n=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==n&&(this._currentLink.state.decorations.underline=n,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,n))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(n=>{if(!this._currentLink)return;let r=n.start===0?0:n.start+1+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.ydisp+1+n.end;if(this._currentLink.link.range.start.y>=r&&this._currentLink.link.range.end.y<=s&&(this._clearCurrentLink(r,s),this._lastMouseEvent)){let o=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);o&&this._askForLink(o,!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,s=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(s)}_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,s=t.y*this._bufferService.cols+t.x;return n<=s&&s<=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,s){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:s}}};Pw=Jn([nt(1,Yx),nt(2,eo),nt(3,ui),nt(4,_4)],Pw);function aV(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 oV=class extends QK{constructor(e={}){super(e),this._linkifier=this._register(new Au),this.browser=P4,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Au),this._onCursorMove=this._register(new qe),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new qe),this.onKey=this._onKey.event,this._onRender=this._register(new qe),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new qe),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new qe),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new qe),this.onBell=this._onBell.event,this._onFocus=this._register(new qe),this._onBlur=this._register(new qe),this._onA11yCharEmitter=this._register(new qe),this._onA11yTabEmitter=this._register(new qe),this._onWillOpen=this._register(new qe),this._setup(),this._decorationService=this._instantiationService.createInstance(nV),this._instantiationService.setService(of,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(XG),this._instantiationService.setService(_4,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(sw)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(t=>this.refresh(t?.start??0,t?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(t=>this._reportWindowsOptions(t))),this._register(this._inputHandler.onColor(t=>this._handleColorEvent(t))),this._register(Gr.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(Gr.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(Gr.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(Gr.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(t=>this._afterResize(t.cols,t.rows))),this._register(Fn(()=>{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 n,r="";switch(t.index){case 256:n="foreground",r="10";break;case 257:n="background",r="11";break;case 258:n="cursor",r="12";break;default:n="ansi",r="4;"+t.index}switch(t.type){case 0:let s=In.toColorRGB(n==="ansi"?this._themeService.colors.ansi[t.index]:this._themeService.colors[n]);this.coreService.triggerDataEvent(`${je.ESC}]${r};${GK(s)}${D4.ST}`);break;case 1:if(n==="ansi")this._themeService.modifyColors(o=>o.ansi[t.index]=pr.toColor(...t.color));else{let o=n;this._themeService.modifyColors(c=>c[o]=pr.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_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(cg,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(je.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(je.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,s=t.getWidth(n),o=this._renderService.dimensions.css.cell.width*s,c=this.buffer.y*this._renderService.dimensions.css.cell.height,d=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=d+"px",this.textarea.style.top=c+"px",this.textarea.style.width=o+"px",this.textarea.style.height=r+"px",this.textarea.style.lineHeight=r+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(Ot(this.element,"copy",t=>{this.hasSelection()&&dq(t,this._selectionService)}));let e=t=>hq(t,this.textarea,this.coreService,this.optionsService);this._register(Ot(this.textarea,"paste",e)),this._register(Ot(this.element,"paste",e)),$4?this._register(Ot(this.element,"mousedown",t=>{t.button===2&&ST(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(Ot(this.element,"contextmenu",t=>{ST(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),rS&&this._register(Ot(this.element,"auxclick",t=>{t.button===1&&u4(t,this.textarea,this.screenElement)}))}_bindKeys(){this._register(Ot(this.textarea,"keyup",e=>this._keyUp(e),!0)),this._register(Ot(this.textarea,"keydown",e=>this._keyDown(e),!0)),this._register(Ot(this.textarea,"keypress",e=>this._keyPress(e),!0)),this._register(Ot(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(Ot(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this._register(Ot(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(Ot(this.textarea,"input",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw new 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(Ot(this.screenElement,"mousemove",s=>this.updateCursorStyle(s))),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",nw.get()),H4||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(VG,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Ja,this._coreBrowserService),this._register(Ot(this.textarea,"focus",s=>this._handleTextAreaFocus(s))),this._register(Ot(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Ew,this._document,this._helperContainer),this._instantiationService.setService(ny,this._charSizeService),this._themeService=this._instantiationService.createInstance(Mw),this._instantiationService.setService($u,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(ag),this._instantiationService.setService(v4,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Tw,this.rows,this.screenElement)),this._instantiationService.setService(eo,this._renderService),this._register(this._renderService.onRenderedViewportChange(s=>this._onRender.fire(s))),this.onResize(s=>this._renderService.resize(s.cols,s.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Sw,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Aw),this._instantiationService.setService(Yx,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Pw,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(ww,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(s=>{super.scrollLines(s,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Rw,this.element,this.screenElement,r)),this._instantiationService.setService(bq,this._selectionService),this._register(this._selectionService.onRequestScrollLines(s=>this.scrollLines(s.amount,s.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(s=>this._renderService.handleSelectionChanged(s.start,s.end,s.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(s=>{this.textarea.value=s,this.textarea.focus(),this.textarea.select()})),this._register(Gr.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(xw,this.screenElement)),this._register(Ot(this.element,"mousedown",s=>this._selectionService.handleMouseDown(s))),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(cg,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",s=>this._handleScreenReaderModeOptionChange(s))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(sg,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",s=>{!this._overviewRulerRenderer&&s&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(sg,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Cw,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(o){let c=e._mouseService.getMouseReportCoords(o,e.screenElement);if(!c)return!1;let d,h;switch(o.overrideType||o.type){case"mousemove":h=32,o.buttons===void 0?(d=3,o.button!==void 0&&(d=o.button<3?o.button:3)):d=o.buttons&1?0:o.buttons&4?1:o.buttons&2?2:3;break;case"mouseup":h=0,d=o.button<3?o.button:3;break;case"mousedown":h=1,d=o.button<3?o.button:3;break;case"wheel":if(e._customWheelEventHandler&&e._customWheelEventHandler(o)===!1)return!1;let f=o.deltaY;if(f===0||e.coreMouseService.consumeWheelEvent(o,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;h=f<0?0:1,d=4;break;default:return!1}return h===void 0||d===void 0||d>4?!1:e.coreMouseService.triggerMouseEvent({col:c.col,row:c.row,x:c.x,y:c.y,button:d,action:h,ctrl:o.ctrlKey,alt:o.altKey,shift:o.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},s={mouseup:o=>(n(o),o.buttons||(this._document.removeEventListener("mouseup",r.mouseup),r.mousedrag&&this._document.removeEventListener("mousemove",r.mousedrag)),this.cancel(o)),wheel:o=>(n(o),this.cancel(o,!0)),mousedrag:o=>{o.buttons&&n(o)},mousemove:o=>{o.buttons||n(o)}};this._register(this.coreMouseService.onProtocolChange(o=>{o?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(o)),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()),o&8?r.mousemove||(t.addEventListener("mousemove",s.mousemove),r.mousemove=s.mousemove):(t.removeEventListener("mousemove",r.mousemove),r.mousemove=null),o&16?r.wheel||(t.addEventListener("wheel",s.wheel,{passive:!1}),r.wheel=s.wheel):(t.removeEventListener("wheel",r.wheel),r.wheel=null),o&2?r.mouseup||(r.mouseup=s.mouseup):(this._document.removeEventListener("mouseup",r.mouseup),r.mouseup=null),o&4?r.mousedrag||(r.mousedrag=s.mousedrag):(this._document.removeEventListener("mousemove",r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(Ot(t,"mousedown",o=>{if(o.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(o)))return n(o),r.mouseup&&this._document.addEventListener("mouseup",r.mouseup),r.mousedrag&&this._document.addEventListener("mousemove",r.mousedrag),this.cancel(o)})),this._register(Ot(t,"wheel",o=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(o)===!1)return!1;if(!this.buffer.hasScrollback){if(o.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(o,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(o,!0);let c=je.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(o.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(c,!0),this.cancel(o,!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){c4(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 new 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 new 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=eV(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let r=this.rows-1;return this.scrollLines(n.type===2?-r:r),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===je.ETX||n.key===je.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)&&(lV(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(hr));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(je.ESC+"[I"):this.coreService.triggerDataEvent(je.ESC+"[O")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let t=this._renderService.dimensions.css.canvas.width.toFixed(0),n=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${je.ESC}[4;${n};${t}t`);break;case 1:let r=this._renderService.dimensions.css.cell.width.toFixed(0),s=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${je.ESC}[6;${s};${r}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function lV(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var cV=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 new Error("Could not dispose an addon that has not been loaded");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},uV=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 ys)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},p5=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 uV(t)}getNullCell(){return new ys}},dV=class extends Kt{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new qe),this.onBufferChange=this._onBufferChange.event,this._normal=new p5(this._core.buffers.normal,"normal"),this._alternate=new p5(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 new 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)}},hV=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,n=>t(n.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(n,r)=>t(n,r.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)}},fV=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}},pV=["cols","rows"],Vs=0,mV=class extends Kt{constructor(e){super(),this._core=this._register(new oV(e)),this._addonManager=this._register(new cV),this._publicOptions={...this._core.options};let t=r=>this._core.options[r],n=(r,s)=>{this._checkReadonlyOptions(r),this._core.options[r]=s};for(let r in this._core.options){let s={get:t.bind(this,r),set:n.bind(this,r)};Object.defineProperty(this._publicOptions,r,s)}}_checkReadonlyOptions(e){if(pV.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new 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||(this._parser=new hV(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new fV(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._buffer=this._register(new dV(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";break}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
95
95
  `,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 nw.get()},set promptLabel(e){nw.set(e)},get tooMuchOutput(){return rw.get()},set tooMuchOutput(e){rw.set(e)}}}_verifyIntegers(...e){for(Vs of e)if(Vs===1/0||isNaN(Vs)||Vs%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(Vs of e)if(Vs&&(Vs===1/0||isNaN(Vs)||Vs%1!==0||Vs<0))throw new Error("This API only accepts positive integers")}};const gV={"terminal.analyst.suggestion.walkthrough":"Walk me through how this session unfolded","terminal.analyst.suggestion.whatDoing":"What is the agent doing right now?","terminal.analyst.suggestion.flagReview":"Flag anything I should review","terminal.analyst.suggestion.handoffBrief":"Draft a handoff brief","terminal.analyst.prompt.handoffBriefArtifact":"Draft a handoff brief and publish it as an artifact.","terminal.analyst.prompt.flagReviewBeforeContinue":"Flag anything I should review before this work continues.","terminal.analyst.prompt.walkthrough":"Walk me through how this session unfolded.","terminal.analyst.followup.goDeeper":"Go deeper on the last answer","terminal.analyst.prompt.goDeeper":"Go deeper on your previous answer with more evidence citations.","terminal.analyst.followup.intentDrift":"Check for intent drift","terminal.analyst.prompt.intentDrift":"Review this session for intent drift against my stated goals.","terminal.analyst.followup.toArtifact":"Turn this into an artifact","terminal.analyst.prompt.toArtifact":"Turn your previous answer into a published artifact.","terminal.analyst.followup.whatDoingNow":"What is the agent doing now?","terminal.analyst.slash.now":"Current state — what the agent is doing right now","terminal.analyst.slash.drift":"Intent drift review against settled goals","terminal.analyst.slash.brief":"Handoff brief as an artifact","terminal.analyst.slash.risks":"Flag anything that needs review","terminal.analyst.slash.timeline":"How the session unfolded, end to end","terminal.analyst.chatAria":"Session Analyst chat","terminal.analyst.hideArtifacts":"Hide Artifacts","terminal.analyst.openArtifacts":"Open Artifacts","terminal.analyst.authoringTooltip":"The analyst is authoring an artifact…","terminal.analyst.artifactsEmptyTooltip":"Artifacts the analyst publishes appear here","terminal.analyst.artifactsHandle":"ARTIFACTS","terminal.companion.sessionAnalyst":"Session Analyst","terminal.analyst.subtitle":"Read-only intelligence for this operation","terminal.analyst.reset":"Reset","terminal.analyst.resetAria":"Reset Session Analyst","terminal.analyst.askAboutSession":"Ask about this session","terminal.analyst.heroBody":"Review, explain, and summarize this session — without affecting the host agent.","terminal.analyst.publishingArtifact":"Publishing an artifact","terminal.analyst.authoringBody":"The analyst is authoring artifact content. It opens in Artifacts when it lands.","terminal.analyst.artifactPublished":"Artifact published — {title}","terminal.analyst.openInArtifacts":"Open in Artifacts","terminal.analyst.stoppedReceipt":"Stopped · last confirmed: {activity} · {elapsed}","terminal.analyst.lastConfirmedOnly":"Last confirmed activity only","terminal.analyst.activity.starting":"Starting analyst","terminal.analyst.activity.connected":"Analyst connection confirmed","terminal.analyst.activity.startingSession":"Starting a new analysis session","terminal.analyst.activity.reasoning":"Reasoning over session","terminal.analyst.activity.thoughtHidden":"Thought event received · content hidden","terminal.analyst.activity.usingTool":"Using {title}","terminal.analyst.activity.toolStatus":"Tool status: {status}","terminal.analyst.activity.writing":"Writing answer","terminal.analyst.activity.answerChunk":"Answer chunk received","terminal.analyst.state.needsAttention":"Needs attention","terminal.analyst.state.analyzing":"Analyzing","terminal.analyst.state.complete":"Complete","terminal.analyst.state.stopped":"Stopped","terminal.analyst.state.ready":"Ready","terminal.analyst.queued":"QUEUED","terminal.analyst.cancelQueued":"Cancel queued question {index + 1}","terminal.analyst.followUp":"FOLLOW UP","terminal.analyst.commands":"Analysis commands","terminal.analyst.initialSettings":"Initial analysis settings","terminal.analyst.cli":"Analysis CLI","terminal.analyst.model":"Analysis model","terminal.analyst.effort":"Analysis effort","terminal.analyst.na":"n/a","terminal.analyst.composerPlaceholder":"Ask about the session… (/ for commands)","terminal.analyst.stop":"Stop","terminal.analyst.queueQuestion":"Queue question","terminal.analyst.send":"Send","terminal.analyst.queueHint":"Enter queues the question — it fires when the analyst is ready","terminal.analyst.copied":"Copied","terminal.companion.artifacts":"Artifacts","terminal.artifacts.subtitle":"Visual outputs from this analysis","terminal.artifacts.hideCount_one":"Hide artifacts ({count} item)","terminal.artifacts.hideCount_other":"Hide artifacts ({count} items)","terminal.artifacts.showCount_one":"Show artifacts ({count} item)","terminal.artifacts.showCount_other":"Show artifacts ({count} items)","terminal.artifacts.published":"Published artifacts","terminal.artifacts.export":"Export","terminal.artifacts.exportDownload":"Download HTML","terminal.artifacts.exportCopy":"Copy source","terminal.artifacts.exportCopied":"Copied","terminal.artifacts.exportOpenTab":"Open in new tab","terminal.artifacts.clear":"Clear","terminal.artifacts.emptyTitle":"No artifacts yet","terminal.artifacts.emptyBody":"Artifacts the analyst publishes will appear here.","terminal.artifacts.selectedPreview":"Selected artifact preview","terminal.artifacts.unknownTime":"Unknown time","terminal.analyst.exit":"Exit Session Analyst","terminal.analyst.open":"Open Session Analyst","terminal.streams.exit":"Exit Carrier Streams","terminal.streams.open":"Open Carrier Streams","terminal.analyst.sendMessageFirst":"Send a message in this session first","terminal.handle.exit":"EXIT","terminal.handle.analyze":"ANALYZE","terminal.streams.dispatchOrder":"Dispatch order","terminal.handle.streams":"STREAMS","terminal.streams.subtitle":"This operation · live carrier output","terminal.streams.status.live":"LIVE","terminal.streams.status.done":"DONE","terminal.streams.status.error":"ERROR","terminal.streams.status.idle":"IDLE","terminal.streams.emptyTitle":"No carriers streaming.","terminal.streams.emptyBody":"The next dispatch from this operation appears here the moment it begins.","terminal.streams.reasoning":"Reasoning…","terminal.streams.expand":"Expand completed stream","terminal.streams.collapse":"Collapse completed stream","terminal.streams.activity":"Activity","terminal.sortie.count":"{count} on sortie","terminal.sortie.more":"+{count}","terminal.sortie.open":"Open Carrier Streams — {count} on sortie","terminal.sortie.phase.tool":"Using {tool}","terminal.sortie.phase.writing":"Writing","terminal.sortie.phase.reasoning":"Reasoning","terminal.sortie.phase.working":"Working","terminal.analysis.error.timedOut":"Analysis response timed out.","terminal.analysis.error.sessionEnded":"Analysis session ended — send again to restart.","terminal.analysis.error.stopFailed":"Stop failed: {message}","terminal.analysis.error.resetFailed":"Reset failed: {message}","terminal.analysis.error.unavailable":"Analysis is unavailable.","terminal.analyst.saved":"Saved","terminal.kind.agent":"Agent","terminal.kind.shell":"Shell","terminal.companion.carrierStreams":"Carrier Streams","terminal.settings.general":"General","terminal.settings.agentCli":"Agent CLI","terminal.settings.idleAgent":"Idle agent sessions","terminal.settings.idleAgentHelp":"Automatically move idle agent terminals to Dormant after the selected period. Dormant sessions keep their conversation and resume with one click. Shell terminals are never affected. Persists on the Console server.","terminal.settings.idleAgentOff":"Off","terminal.settings.idleAgent30m":"30 minutes","terminal.settings.idleAgent1h":"1 hour","terminal.settings.idleAgent2h":"2 hours","terminal.settings.idleAgent4h":"4 hours","terminal.settings.idleAgentMinutes_one":"{count} minute","terminal.settings.idleAgentMinutes_other":"{count} minutes","terminal.notifications.agentInputWaiting":"Agent input waiting","terminal.notifications.agentInputWaitingBody":"Agent is waiting for input","terminal.notifications.agentTurnEnded":"Agent turn ended","terminal.notifications.agentTurnEndedBody":"Agent turn ended","terminal.notifications.resumeFailed":"Resume failed","terminal.notifications.resumeFailedMessage":"Resume failed — the saved session has expired.","terminal.markdown.copy":"Copy","terminal.markdown.copyCodeAria":"Copy {language} code","terminal.markdown.diagram.renderFailed":"Diagram render failed: {message}","terminal.markdown.diagram.openExpandedAria":"Open diagram in expanded view","terminal.markdown.diagram.lightboxTitle":"MANIFEST · DIAGRAM","terminal.markdown.diagram.close":"Close","terminal.markdown.diagram.closeExpandedAria":"Close expanded diagram","terminal.markdown.diagram.zoomControlsAria":"Diagram zoom controls","terminal.markdown.diagram.zoomOutAria":"Zoom out","terminal.markdown.diagram.zoomInAria":"Zoom in","terminal.markdown.diagram.fit":"Fit","terminal.markdown.diagram.fitAria":"Fit diagram to viewport","terminal.markdown.diagram.reset":"Reset","terminal.markdown.diagram.resetAria":"Reset diagram zoom","terminal.carriers.title":"Carriers","terminal.carriers.listAria":"Carrier list","terminal.carriers.loading":"Loading carrier settings.","terminal.carriers.empty":"No carriers registered.","terminal.carriers.captain":"Captain","terminal.carriers.displayName":"Display name","terminal.carriers.saveDisplayNameAria":"Save display name","terminal.carriers.cancelDisplayNameAria":"Cancel display name edit","terminal.carriers.editDisplayNameAria":"Edit display name","terminal.carriers.saving":"Saving…","terminal.carriers.saved":"Saved ✓","terminal.carriers.refresh":"Refresh","terminal.carriers.identity":"Identity","terminal.carriers.runtime":"Runtime","terminal.carriers.cli":"CLI","terminal.carriers.model":"Model","terminal.carriers.effort":"Effort","terminal.carriers.effortUnsupported":"Not supported for this model.","terminal.carriers.select":"Select a carrier.","terminal.carriers.taskForce":"Task Force","terminal.carriers.tf.helpEmpty":"Run this carrier across multiple CLI backends. Needs at least {minBackends} to activate.","terminal.carriers.tf.helpActive_one":"{count} backend configured · active","terminal.carriers.tf.helpActive_other":"{count} backends configured · active","terminal.carriers.tf.helpNeeds_one":"{count} backend configured · needs {minBackends}+ to activate","terminal.carriers.tf.helpNeeds_other":"{count} backends configured · needs {minBackends}+ to activate","terminal.carriers.tf.hide":"Hide","terminal.carriers.tf.configure":"Configure","terminal.carriers.tf.empty":"No Task Force backend configured.","terminal.carriers.tf.confirmDeactivate":"Confirm — TF deactivates","terminal.carriers.tf.confirmRemove":"Confirm remove","terminal.carriers.tf.confirmRemovalAria":"Confirm removal of {name} backend","terminal.carriers.tf.remove":"Remove","terminal.carriers.tf.addCliLabel":"Task Force CLI to add","terminal.carriers.tf.add":"Add","terminal.dormant.status":"Dormant","terminal.dormant.resume":"Resume","terminal.dormant.resuming":"Resuming…","terminal.dormant.tryAgain":"Try again","terminal.dormant.startFresh":"Start fresh","terminal.dormant.resumeFailedBody":"Couldn’t resume this session. The saved session for “{name}” has expired.","terminal.shell.relaunch":"Relaunch","terminal.auth.signedIn":"Signed in","terminal.auth.notSignedIn":"Not signed in","terminal.auth.signOut":"Sign out","terminal.auth.signIn":"Sign in","terminal.auth.working":"Working…","terminal.auth.verifying":"Verifying…","terminal.auth.apiKey":"API key","terminal.auth.apiKeyAria":"{name} API key","terminal.auth.settingsForKimi":"Settings for Kimi","terminal.auth.kimiHelp":"Register a Kimi API key to run carriers and terminal sessions through Claude Code against the Kimi endpoint. The key is validated and stored locally, and is never returned to the browser.","terminal.auth.loadingSignIn":"Loading sign-in state.","terminal.auth.defaultModel":"Default model","terminal.auth.defaultEffort":"Default effort","terminal.auth.kimiModelHelp":"Used for Kimi sessions without an explicit carrier model. Applies to newly launched sessions.","terminal.auth.signInFoot":"Sign-in changes apply to newly launched sessions. Running sessions keep their current credentials until relaunched.","terminal.auth.modelSignInAria":"Model sign-in","terminal.settings.metaphor":"Metaphor","terminal.settings.metaphorHelp":"Adds concise Fleet wording to every session. Off uses the standard prompt.","terminal.settings.enabled":"Enabled","terminal.settings.off":"Off","terminal.settings.loading":"Loading settings.","terminal.settings.unavailable":"Settings unavailable.","terminal.settings.systemPromptAria":"System Prompt","terminal.settings.systemPromptFoot":"Changes apply to newly launched sessions. Running sessions keep their current configuration until relaunched.","terminal.settings.terminalFont":"Terminal Font","terminal.settings.terminalFontNew":"New","terminal.settings.terminalFontHelp":"Typeface and size for every terminal panel — agent-cli and shell alike. Applies live to all open terminals and persists on the Console server across browsers and restarts.","terminal.settings.terminalFontFoot":"Font preferences apply immediately and are stored on the Console server, separate from session settings and shared across browsers after restart.","terminal.settings.terminalFontPreview":"The quick brown fox jumps over 0123456789 — terminal output stays crisp.","terminal.settings.fontMetaCascadia":"Variable · terminal tuned","terminal.settings.fontMetaJetbrains":"Variable · console mono","terminal.settings.fontMetaFiraCode":"Variable · ligatures","terminal.settings.fontMetaSourceCodePro":"Variable · Adobe mono","terminal.settings.fontLoadError":"Installed system fonts are unavailable. Built-in fonts remain available.","terminal.settings.fontPicker.browserAria":"Font browser","terminal.settings.fontPicker.searchLabel":"Search fonts","terminal.settings.fontPicker.searchPlaceholder":"Search installed fonts","terminal.settings.fontPicker.loading":"Loading installed fonts…","terminal.settings.fontPicker.choicesAria":"Font choices","terminal.settings.fontPicker.builtInGroup":"Built-in","terminal.settings.fontPicker.installedGroup":"Installed on this machine","terminal.settings.fontPicker.noMatch":"No fonts match this search.","terminal.settings.fontPicker.preview":"Preview","terminal.settings.fontPicker.available":"Available","terminal.settings.fontPicker.unavailable":"Unavailable","terminal.settings.fontPicker.fontSizeAria":"Font size","terminal.settings.fontPicker.decreaseSizeAria":"Decrease font size","terminal.settings.fontPicker.sizeValueAria":"Font size value","terminal.settings.fontPicker.increaseSizeAria":"Increase font size","terminal.settings.fontPicker.sizeSliderAria":"Font size slider","terminal.settings.fontPicker.monospace":"Monospace","terminal.settings.fontPicker.systemFont":"System font","terminal.settings.fontPicker.savedSystemFont":"Saved system font","terminal.settings.terminalRenderer":"Terminal Renderer","terminal.settings.terminalRendererHelp":"WebGL paints the terminal on the GPU for sharper, faster output; DOM is a compatibility fallback. Switching applies to the live terminal instantly without dropping the session.","terminal.settings.terminalRendererAria":"Terminal renderer","terminal.settings.webgl":"WebGL","terminal.settings.dom":"DOM","terminal.settings.agentCliAvailable":"Agent CLI Available","terminal.settings.agentCliHelp":"Whether each Agent CLI is installed and discoverable on this machine's PATH, with its detected version. Carriers can only run on an Agent CLI shown as available here.","terminal.settings.agentCliFoot":"Install or update a CLI, or set the executable path directly when it sits somewhere this machine's PATH does not cover.","terminal.settings.agentCliSetPath":"Set path","terminal.settings.agentCliPathLabel":"Executable path","terminal.settings.agentCliPathPlaceholder":"e.g. /usr/local/bin/claude","terminal.settings.agentCliPathConfirm":"Confirm","terminal.settings.agentCliPathCancel":"Cancel","terminal.settings.agentCliPathClear":"Clear","terminal.settings.agentCliSearchedPaths":"Searched PATH","terminal.settings.agentCliSourceEnv":"Managed by environment variable","terminal.settings.agentCliSourceUser":"Set path","terminal.settings.agentCliPathInvalid":"Set path is no longer valid","terminal.settings.agentCliErrorNotAbsolute":"Enter an absolute path.","terminal.settings.agentCliErrorNotFound":"No file at this path.","terminal.settings.agentCliErrorNotExecutable":"This file is not executable.","terminal.settings.agentCliErrorNotFile":"This path is not a file.","terminal.settings.agentCliErrorProbeFailed":"Ran the file but could not read a version.","terminal.settings.available":"Available","terminal.settings.missing":"Missing","terminal.analysis.error.sessionNotFound":"Analysis session was not found.","terminal.analysis.error.requestFailed":"Analysis request failed.","terminal.themeHint.light":"Console switched to a light theme — relaunch or run /theme in the CLI to match","terminal.themeHint.dark":"Console switched to a dark theme — relaunch or run /theme in the CLI to match","terminal.themeHint.dismiss":"Dismiss theme hint"},yV={"terminal.analyst.suggestion.walkthrough":"이 세션이 어떻게 진행됐는지 정리해 줘","terminal.analyst.suggestion.whatDoing":"에이전트가 지금 무엇을 하고 있어?","terminal.analyst.suggestion.flagReview":"내가 검토해야 할 항목을 짚어 줘","terminal.analyst.suggestion.handoffBrief":"인수인계 브리프 초안을 작성해 줘","terminal.analyst.prompt.handoffBriefArtifact":"인수인계 브리프 초안을 작성하고 아티팩트로 발행해 줘.","terminal.analyst.prompt.flagReviewBeforeContinue":"이 작업을 계속하기 전에 내가 검토해야 할 항목을 짚어 줘.","terminal.analyst.prompt.walkthrough":"이 세션이 어떻게 진행됐는지 정리해 줘","terminal.analyst.followup.goDeeper":"이전 답변 더 깊게 파기","terminal.analyst.prompt.goDeeper":"이전 답변을 근거 인용을 늘려 더 깊게 분석해 줘.","terminal.analyst.followup.intentDrift":"의도 드리프트 점검","terminal.analyst.prompt.intentDrift":"내가 정한 목표와 비교해 이 세션의 의도 드리프트를 검토해 줘.","terminal.analyst.followup.toArtifact":"아티팩트로 만들기","terminal.analyst.prompt.toArtifact":"이전 답변을 아티팩트로 발행해 줘.","terminal.analyst.followup.whatDoingNow":"에이전트 현재 상태","terminal.analyst.slash.now":"현재 상태 — 에이전트가 지금 하고 있는 일","terminal.analyst.slash.drift":"확정된 목표 대비 의도 드리프트 검토","terminal.analyst.slash.brief":"아티팩트로 남기는 인수인계 브리프","terminal.analyst.slash.risks":"검토가 필요한 항목 표시","terminal.analyst.slash.timeline":"세션 진행 경과 전체 타임라인","terminal.analyst.chatAria":"Session Analyst 채팅","terminal.analyst.hideArtifacts":"아티팩트 닫기","terminal.analyst.openArtifacts":"아티팩트 열기","terminal.analyst.authoringTooltip":"분석가가 아티팩트를 작성하는 중…","terminal.analyst.artifactsEmptyTooltip":"분석가가 발행한 아티팩트가 여기에 표시됩니다","terminal.analyst.artifactsHandle":"아티팩트","terminal.companion.sessionAnalyst":"Session Analyst","terminal.analyst.subtitle":"이 오퍼레이션의 읽기 전용 인텔리전스","terminal.analyst.reset":"초기화","terminal.analyst.resetAria":"Session Analyst 초기화","terminal.analyst.askAboutSession":"이 세션에 대해 물어보세요","terminal.analyst.heroBody":"호스트 에이전트에 영향을 주지 않고 세션을 검토·설명·요약합니다.","terminal.analyst.publishingArtifact":"아티팩트 발행 중","terminal.analyst.authoringBody":"분석가가 아티팩트 내용을 작성하고 있습니다. 완료되면 아티팩트에서 열립니다.","terminal.analyst.artifactPublished":"아티팩트 발행됨 — {title}","terminal.analyst.openInArtifacts":"아티팩트에서 열기","terminal.analyst.stoppedReceipt":"중지됨 · 마지막 확인: {activity} · {elapsed}","terminal.analyst.lastConfirmedOnly":"마지막으로 확인된 활동만 표시","terminal.analyst.activity.starting":"분석가 시작 중","terminal.analyst.activity.connected":"분석가 연결 확인됨","terminal.analyst.activity.startingSession":"새 분석 세션 시작 중","terminal.analyst.activity.reasoning":"세션 분석 추론 중","terminal.analyst.activity.thoughtHidden":"사고 이벤트 수신 · 내용 숨김","terminal.analyst.activity.usingTool":"{title} 사용 중","terminal.analyst.activity.toolStatus":"도구 상태: {status}","terminal.analyst.activity.writing":"답변 작성 중","terminal.analyst.activity.answerChunk":"답변 청크 수신","terminal.analyst.state.needsAttention":"확인 필요","terminal.analyst.state.analyzing":"분석 중","terminal.analyst.state.complete":"완료","terminal.analyst.state.stopped":"중지됨","terminal.analyst.state.ready":"준비됨","terminal.analyst.queued":"대기 중","terminal.analyst.cancelQueued":"대기 중인 질문 {index + 1} 취소","terminal.analyst.followUp":"후속 질문","terminal.analyst.commands":"분석 명령","terminal.analyst.initialSettings":"초기 분석 설정","terminal.analyst.cli":"분석 CLI","terminal.analyst.model":"분석 모델","terminal.analyst.effort":"분석 Effort","terminal.analyst.na":"n/a","terminal.analyst.composerPlaceholder":"세션에 대해 질문하기… (/ 명령)","terminal.analyst.stop":"중지","terminal.analyst.queueQuestion":"질문 대기열 추가","terminal.analyst.send":"보내기","terminal.analyst.queueHint":"Enter로 질문을 대기시킵니다 — 분석가가 준비되면 실행됩니다","terminal.analyst.copied":"복사됨","terminal.companion.artifacts":"아티팩트","terminal.artifacts.subtitle":"이 분석의 시각적 결과물","terminal.artifacts.hideCount_one":"아티팩트 닫기({count}개)","terminal.artifacts.hideCount_other":"아티팩트 닫기({count}개)","terminal.artifacts.showCount_one":"아티팩트 보기({count}개)","terminal.artifacts.showCount_other":"아티팩트 보기({count}개)","terminal.artifacts.published":"발행된 아티팩트","terminal.artifacts.export":"내보내기","terminal.artifacts.exportDownload":"HTML 다운로드","terminal.artifacts.exportCopy":"소스 복사","terminal.artifacts.exportCopied":"복사됨","terminal.artifacts.exportOpenTab":"새 탭에서 열기","terminal.artifacts.clear":"지우기","terminal.artifacts.emptyTitle":"아직 아티팩트 없음","terminal.artifacts.emptyBody":"분석가가 발행한 아티팩트가 여기에 표시됩니다.","terminal.artifacts.selectedPreview":"선택한 아티팩트 미리보기","terminal.artifacts.unknownTime":"시간 알 수 없음","terminal.analyst.exit":"Session Analyst 닫기","terminal.analyst.open":"Session Analyst 열기","terminal.streams.exit":"Carrier Streams 닫기","terminal.streams.open":"Carrier Streams 열기","terminal.analyst.sendMessageFirst":"먼저 이 세션에서 메시지를 보내세요","terminal.handle.exit":"닫기","terminal.handle.analyze":"분석","terminal.streams.dispatchOrder":"출격 명령","terminal.handle.streams":"스트림","terminal.streams.subtitle":"이 오퍼레이션의 라이브 캐리어 출력","terminal.streams.status.live":"진행 중","terminal.streams.status.done":"완료","terminal.streams.status.error":"오류","terminal.streams.status.idle":"대기","terminal.streams.emptyTitle":"스트리밍 중인 캐리어가 없습니다.","terminal.streams.emptyBody":"이 오퍼레이션의 다음 디스패치가 시작되는 즉시 여기에 표시됩니다.","terminal.streams.reasoning":"추론 중…","terminal.streams.expand":"완료된 스트림 펼치기","terminal.streams.collapse":"완료된 스트림 접기","terminal.streams.activity":"활동","terminal.sortie.count":"{count}척 출격 중","terminal.sortie.more":"+{count}","terminal.sortie.open":"Carrier Streams 열기 — {count}척 출격 중","terminal.sortie.phase.tool":"{tool} 사용 중","terminal.sortie.phase.writing":"작성 중","terminal.sortie.phase.reasoning":"추론 중","terminal.sortie.phase.working":"작업 중","terminal.analysis.error.timedOut":"분석 응답 시간이 초과됐습니다.","terminal.analysis.error.sessionEnded":"분석 세션이 종료됐습니다 — 다시 보내면 재시작합니다.","terminal.analysis.error.stopFailed":"중지 실패: {message}","terminal.analysis.error.resetFailed":"초기화 실패: {message}","terminal.analysis.error.unavailable":"분석을 사용할 수 없습니다.","terminal.analyst.saved":"저장됨","terminal.kind.agent":"Agent","terminal.kind.shell":"Shell","terminal.companion.carrierStreams":"Carrier Streams","terminal.settings.general":"일반","terminal.settings.agentCli":"Agent CLI","terminal.settings.idleAgent":"유휴 에이전트 세션","terminal.settings.idleAgentHelp":"선택한 시간이 지나면 유휴 상태의 Agent 터미널을 자동으로 휴면으로 전환합니다. 휴면 세션은 대화를 유지하며 클릭 한 번으로 재개됩니다. Shell 터미널은 영향을 받지 않습니다. Console 서버에 저장됩니다.","terminal.settings.idleAgentOff":"사용 안 함","terminal.settings.idleAgent30m":"30분","terminal.settings.idleAgent1h":"1시간","terminal.settings.idleAgent2h":"2시간","terminal.settings.idleAgent4h":"4시간","terminal.settings.idleAgentMinutes_one":"{count}분","terminal.settings.idleAgentMinutes_other":"{count}분","terminal.notifications.agentInputWaiting":"Agent 입력 대기","terminal.notifications.agentInputWaitingBody":"Agent가 입력을 기다리고 있습니다","terminal.notifications.agentTurnEnded":"Agent 턴 종료","terminal.notifications.agentTurnEndedBody":"Agent 턴이 종료됐습니다","terminal.notifications.resumeFailed":"재개 실패","terminal.notifications.resumeFailedMessage":"재개 실패 — 저장된 세션이 만료됐습니다.","terminal.markdown.copy":"복사","terminal.markdown.copyCodeAria":"{language} 코드 복사","terminal.markdown.diagram.renderFailed":"다이어그램 렌더 실패: {message}","terminal.markdown.diagram.openExpandedAria":"다이어그램을 확대 보기로 열기","terminal.markdown.diagram.lightboxTitle":"MANIFEST · DIAGRAM","terminal.markdown.diagram.close":"닫기","terminal.markdown.diagram.closeExpandedAria":"확대된 다이어그램 닫기","terminal.markdown.diagram.zoomControlsAria":"다이어그램 확대/축소 컨트롤","terminal.markdown.diagram.zoomOutAria":"축소","terminal.markdown.diagram.zoomInAria":"확대","terminal.markdown.diagram.fit":"맞춤","terminal.markdown.diagram.fitAria":"뷰포트에 다이어그램 맞추기","terminal.markdown.diagram.reset":"초기화","terminal.markdown.diagram.resetAria":"다이어그램 확대/축소 초기화","terminal.carriers.title":"Carriers","terminal.carriers.listAria":"Carrier 목록","terminal.carriers.loading":"Carrier 설정을 불러오는 중.","terminal.carriers.empty":"등록된 Carrier가 없습니다.","terminal.carriers.captain":"Captain","terminal.carriers.displayName":"표시 이름","terminal.carriers.saveDisplayNameAria":"표시 이름 저장","terminal.carriers.cancelDisplayNameAria":"표시 이름 편집 취소","terminal.carriers.editDisplayNameAria":"표시 이름 편집","terminal.carriers.saving":"저장 중…","terminal.carriers.saved":"저장됨 ✓","terminal.carriers.refresh":"새로고침","terminal.carriers.identity":"정체성","terminal.carriers.runtime":"런타임","terminal.carriers.cli":"CLI","terminal.carriers.model":"모델","terminal.carriers.effort":"Effort","terminal.carriers.effortUnsupported":"이 모델에서는 지원되지 않습니다.","terminal.carriers.select":"Carrier를 선택하세요.","terminal.carriers.taskForce":"Task Force","terminal.carriers.tf.helpEmpty":"이 Carrier를 여러 CLI 백엔드에서 실행합니다. 활성화하려면 최소 {minBackends}개가 필요합니다.","terminal.carriers.tf.helpActive_one":"백엔드 {count}개 구성됨 · 활성","terminal.carriers.tf.helpActive_other":"백엔드 {count}개 구성됨 · 활성","terminal.carriers.tf.helpNeeds_one":"백엔드 {count}개 구성됨 · 활성화하려면 {minBackends}+ 필요","terminal.carriers.tf.helpNeeds_other":"백엔드 {count}개 구성됨 · 활성화하려면 {minBackends}+ 필요","terminal.carriers.tf.hide":"숨기기","terminal.carriers.tf.configure":"구성","terminal.carriers.tf.empty":"구성된 Task Force 백엔드가 없습니다.","terminal.carriers.tf.confirmDeactivate":"확인 — TF 비활성화","terminal.carriers.tf.confirmRemove":"제거 확인","terminal.carriers.tf.confirmRemovalAria":"{name} 백엔드 제거 확인","terminal.carriers.tf.remove":"제거","terminal.carriers.tf.addCliLabel":"추가할 Task Force CLI","terminal.carriers.tf.add":"추가","terminal.dormant.status":"휴면","terminal.dormant.resume":"재개","terminal.dormant.resuming":"재개 중…","terminal.dormant.tryAgain":"다시 시도","terminal.dormant.startFresh":"새로 시작","terminal.dormant.resumeFailedBody":"이 세션을 재개할 수 없습니다. “{name}”의 저장 세션이 만료되었습니다.","terminal.shell.relaunch":"다시 실행","terminal.auth.signedIn":"로그인됨","terminal.auth.notSignedIn":"로그인되지 않음","terminal.auth.signOut":"로그아웃","terminal.auth.signIn":"로그인","terminal.auth.working":"처리 중…","terminal.auth.verifying":"확인 중…","terminal.auth.apiKey":"API key","terminal.auth.apiKeyAria":"{name} API key","terminal.auth.settingsForKimi":"Kimi 설정","terminal.auth.kimiHelp":"Kimi API key를 등록하면 Claude Code로 Kimi 엔드포인트에서 캐리어와 터미널 세션을 실행할 수 있습니다. 키는 검증 후 로컬에만 저장되며 브라우저로 반환되지 않습니다.","terminal.auth.loadingSignIn":"로그인 상태를 불러오는 중.","terminal.auth.defaultModel":"기본 모델","terminal.auth.defaultEffort":"기본 Effort","terminal.auth.kimiModelHelp":"명시적 캐리어 모델이 없는 Kimi 세션에 사용됩니다. 새로 시작한 세션에 적용됩니다.","terminal.auth.signInFoot":"로그인 변경은 새로 시작한 세션에 적용됩니다. 실행 중인 세션은 다시 실행하기 전까지 현재 자격 증명을 유지합니다.","terminal.auth.modelSignInAria":"모델 로그인","terminal.settings.metaphor":"Metaphor","terminal.settings.metaphorHelp":"모든 세션에 간결한 Fleet 문구를 추가합니다. Off면 기본 프롬프트를 사용합니다.","terminal.settings.enabled":"사용","terminal.settings.off":"Off","terminal.settings.loading":"설정을 불러오는 중.","terminal.settings.unavailable":"설정을 사용할 수 없습니다.","terminal.settings.systemPromptAria":"시스템 프롬프트","terminal.settings.systemPromptFoot":"변경 사항은 새로 시작한 세션에 적용됩니다. 실행 중인 세션은 다시 실행하기 전까지 현재 구성을 유지합니다.","terminal.settings.terminalFont":"터미널 글꼴","terminal.settings.terminalFontNew":"신규","terminal.settings.terminalFontHelp":"모든 터미널 패널(agent-cli·shell)의 글꼴과 크기입니다. 열린 터미널에 즉시 적용되며 Console 서버에 저장되어 브라우저와 재시작을 넘깁니다.","terminal.settings.terminalFontFoot":"글꼴 설정은 즉시 적용되며 Console 서버에 저장됩니다. 세션 설정과 별개이며 재시작 후 브라우저 간에 공유됩니다.","terminal.settings.terminalFontPreview":"다람쥐 헌 쳇바퀴에 타고파 0123456789 — 터미널 출력이 선명합니다.","terminal.settings.fontMetaCascadia":"가변 · 터미널 최적화","terminal.settings.fontMetaJetbrains":"가변 · 콘솔 모노","terminal.settings.fontMetaFiraCode":"가변 · 합자","terminal.settings.fontMetaSourceCodePro":"가변 · Adobe 모노","terminal.settings.fontLoadError":"설치된 시스템 글꼴을 사용할 수 없습니다. 내장 글꼴은 계속 사용할 수 있습니다.","terminal.settings.fontPicker.browserAria":"글꼴 탐색기","terminal.settings.fontPicker.searchLabel":"글꼴 검색","terminal.settings.fontPicker.searchPlaceholder":"설치된 글꼴 검색","terminal.settings.fontPicker.loading":"설치된 글꼴을 불러오는 중…","terminal.settings.fontPicker.choicesAria":"글꼴 선택","terminal.settings.fontPicker.builtInGroup":"내장","terminal.settings.fontPicker.installedGroup":"이 기기에 설치됨","terminal.settings.fontPicker.noMatch":"검색과 일치하는 글꼴이 없습니다.","terminal.settings.fontPicker.preview":"미리보기","terminal.settings.fontPicker.available":"사용 가능","terminal.settings.fontPicker.unavailable":"사용 불가","terminal.settings.fontPicker.fontSizeAria":"글꼴 크기","terminal.settings.fontPicker.decreaseSizeAria":"글꼴 크기 줄이기","terminal.settings.fontPicker.sizeValueAria":"글꼴 크기 값","terminal.settings.fontPicker.increaseSizeAria":"글꼴 크기 키우기","terminal.settings.fontPicker.sizeSliderAria":"글꼴 크기 슬라이더","terminal.settings.fontPicker.monospace":"고정폭","terminal.settings.fontPicker.systemFont":"시스템 글꼴","terminal.settings.fontPicker.savedSystemFont":"저장된 시스템 글꼴","terminal.settings.terminalRenderer":"터미널 렌더러","terminal.settings.terminalRendererHelp":"WebGL은 GPU로 터미널을 그려 더 선명하고 빠르게 출력합니다. DOM은 호환용 대체입니다. 전환은 세션을 끊지 않고 즉시 적용됩니다.","terminal.settings.terminalRendererAria":"터미널 렌더러","terminal.settings.webgl":"WebGL","terminal.settings.dom":"DOM","terminal.settings.agentCliAvailable":"Agent CLI 사용 가능","terminal.settings.agentCliHelp":"각 Agent CLI가 이 기기의 PATH에서 설치·검색되는지와 감지된 버전입니다. 캐리어는 여기서 사용 가능으로 표시된 Agent CLI에서만 실행할 수 있습니다.","terminal.settings.agentCliFoot":"CLI를 설치하거나 업데이트하세요. 이미 설치했다면 이 기기의 PATH가 닿지 않는 곳일 수 있으니 실행 파일 경로를 직접 지정하세요.","terminal.settings.agentCliSetPath":"경로 지정","terminal.settings.agentCliPathLabel":"실행 파일 경로","terminal.settings.agentCliPathPlaceholder":"예: /usr/local/bin/claude","terminal.settings.agentCliPathConfirm":"확인","terminal.settings.agentCliPathCancel":"취소","terminal.settings.agentCliPathClear":"지우기","terminal.settings.agentCliSearchedPaths":"탐색한 PATH","terminal.settings.agentCliSourceEnv":"환경 변수로 관리됨","terminal.settings.agentCliSourceUser":"지정한 경로","terminal.settings.agentCliPathInvalid":"지정한 경로가 지금은 유효하지 않습니다","terminal.settings.agentCliErrorNotAbsolute":"절대 경로를 입력하세요.","terminal.settings.agentCliErrorNotFound":"이 경로에 파일이 없습니다.","terminal.settings.agentCliErrorNotExecutable":"이 파일은 실행할 수 없습니다.","terminal.settings.agentCliErrorNotFile":"이 경로는 파일이 아닙니다.","terminal.settings.agentCliErrorProbeFailed":"파일을 실행했지만 버전을 읽지 못했습니다.","terminal.settings.available":"사용 가능","terminal.settings.missing":"없음","terminal.analysis.error.sessionNotFound":"분석 세션을 찾을 수 없습니다.","terminal.analysis.error.requestFailed":"분석 요청이 실패했습니다.","terminal.themeHint.light":"콘솔이 라이트 테마로 전환되었습니다 — CLI를 다시 시작하거나 /theme으로 테마를 맞춰 주세요","terminal.themeHint.dark":"콘솔이 다크 테마로 전환되었습니다 — CLI를 다시 시작하거나 /theme으로 테마를 맞춰 주세요","terminal.themeHint.dismiss":"테마 안내 닫기"},m5={en:gV,ko:yV},vV={en:ki(m5,"en"),ko:ki(m5,"ko")};function It(e){return vV[e??"en"]}function Q4(e,t=SV()){return e==="en"||e==="ko"?e:t==="ko"||t.startsWith("ko-")?"ko":"en"}let $w=Q4(bm()??"auto");const zw=new Set;let g5=!1,cb=null,ub=null;function Fw(){return $w}function _V(e){return zw.add(e),()=>{zw.delete(e)}}function Op(e){if($w!==e){$w=e;for(const t of zw)t()}}function bm(){if(typeof document>"u")return null;const e=document.documentElement.lang;return e==="en"||e==="ko"?e:null}function J4(){if(typeof document<"u"&&!cb&&(cb=new MutationObserver(()=>{const t=bm();t&&Op(t)}),cb.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]})),g5)return;g5=!0;const e=bm();if(e){Op(e);return}typeof fetch=="function"&&(ub=new AbortController,fetch("/api/v1/settings/global",{signal:ub.signal}).then(async t=>{if(!t.ok)return;const n=await t.json();if(ub?.signal.aborted)return;const r=bm();if(r){Op(r);return}Op(Q4(typeof n.language=="string"?n.language:"auto"))}).catch(()=>{}))}function e6(){return J4(),Fw()}function ws(){return J4(),m.useSyncExternalStore(_V,Fw,Fw)}function bV(e){const t=It(e);return{renderFailed:n=>t("terminal.markdown.diagram.renderFailed",{message:n}),openExpandedAria:t("terminal.markdown.diagram.openExpandedAria"),lightboxTitle:t("terminal.markdown.diagram.lightboxTitle"),close:t("terminal.markdown.diagram.close"),closeExpandedAria:t("terminal.markdown.diagram.closeExpandedAria"),zoomControlsAria:t("terminal.markdown.diagram.zoomControlsAria"),zoomOutAria:t("terminal.markdown.diagram.zoomOutAria"),zoomInAria:t("terminal.markdown.diagram.zoomInAria"),fit:t("terminal.markdown.diagram.fit"),fitAria:t("terminal.markdown.diagram.fitAria"),reset:t("terminal.markdown.diagram.reset"),resetAria:t("terminal.markdown.diagram.resetAria")}}function wV(e,t){const n=It(e);if(t.startsWith("Stop failed: "))return n("terminal.analysis.error.stopFailed",{message:t.slice(13)});if(t.startsWith("Reset failed: "))return n("terminal.analysis.error.resetFailed",{message:t.slice(14)});const r=xV[t];return r?n(r):t}const xV={"Analysis response timed out.":"terminal.analysis.error.timedOut","Analysis session ended — send again to restart.":"terminal.analysis.error.sessionEnded","Analysis is unavailable.":"terminal.analysis.error.unavailable","Analysis session was not found.":"terminal.analysis.error.sessionNotFound","Analysis request failed.":"terminal.analysis.error.requestFailed"};function SV(){return typeof navigator>"u"?"":navigator.language.toLowerCase()}function kV(e){let t=!1,n=!1,r=!1,s=!1,o=null,c=null;const d=()=>{o!==null&&(clearTimeout(o),o=null),r=!1},h=()=>{c!==null&&(clearTimeout(c),c=null),n=!1},f=()=>{h(),n=!0,c=setTimeout(()=>{c=null,n=!1},0)},g=()=>{r=!1,o!==null&&clearTimeout(o),c!==null&&(clearTimeout(c),c=null),o=setTimeout(()=>{o=null,n=!1,e()},0)},y=()=>{t=!1,o===null&&(h(),r=!1)},_=()=>{t=!1,s=!1,h(),d()},b=x=>{if(o===null){if(t||n||EV(x)){r=!0,n&&!t?g():t=!0;return}e()}};return{onCompositionStart(){t=!0},onCompositionEnd(){t=!1,f(),r&&g()},onCompositionCancel:y,handleKeyEvent(x){return CV(x)&&x.shiftKey?(x.preventDefault?.(),x.type==="keydown"?(s=!0,b(x)):x.type==="keypress"?(s||b(x),s=!1):x.type==="keyup"&&(s=!1),!1):!0},dispose:_}}function CV(e){return e.key==="Enter"||e.code==="Enter"||e.keyCode===13||e.which===13}function EV(e){return e.isComposing===!0||e.keyCode===229||e.which===229}function AV({terminal:e,selectionTarget:t,windowTarget:n,clipboard:r}){let s=!1,o=!1,c=!1;const d=()=>{o=!1,c=!1},h=_=>{y5(_)&&(o=!0,c=!1)},f=()=>{o&&(c=!0)},g=_=>{const b=o&&c&&y5(_);if(d(),!b)return;const x=e.getSelection();if(!(!x||!r))try{r.writeText(x).catch(()=>{})}catch{}},y=e.onSelectionChange(f);return t.addEventListener("mousedown",h,!0),n.addEventListener("mouseup",g),n.addEventListener("blur",d),{dispose:()=>{s||(s=!0,d(),y.dispose(),t.removeEventListener("mousedown",h,!0),n.removeEventListener("mouseup",g),n.removeEventListener("blur",d))}}}function y5(e){return e.button===0}function TV(e,t){return{activate(n,r){try{const s=new URL(r);if(s.protocol!=="http:"&&s.protocol!=="https:"||!t(s.href))return;e(s.href,"_blank","noopener,noreferrer")}catch{}}}}const RV={allowProposedApi:!0,convertEol:!1,cursorBlink:!0,cursorStyle:"block",linkHandler:TV((e,t,n)=>window.open(e,t,n),e=>window.confirm(`Do you want to navigate to ${e}?
96
96
 
97
- WARNING: This link could potentially be dangerous`)),lineHeight:1},MV="Symbols Nerd Font Mono",Dp=`ui-monospace, "SF Mono", Menlo, "${MV}", monospace`,iS=14,t6=10,n6=22,NV={min:t6,max:n6},LV="cascadia",Fh=[{id:"cascadia",name:"Cascadia Code",familyName:"Cascadia Code Variable",family:`"Cascadia Code Variable", ${Dp}`,meta:"Variable · terminal tuned"},{id:"jetbrains",name:"JetBrains Mono",familyName:"JetBrains Mono Variable",family:`"JetBrains Mono Variable", ${Dp}`,meta:"Variable · console mono"},{id:"fira-code",name:"Fira Code",familyName:"Fira Code Variable",family:`"Fira Code Variable", ${Dp}`,meta:"Variable · ligatures"},{id:"source-code-pro",name:"Source Code Pro",familyName:"Source Code Pro Variable",family:`"Source Code Pro Variable", ${Dp}`,meta:"Variable · Adobe mono"}],pu=Fh[0];function jV(e){return Fh.find(t=>t.id===e)??pu}function Hh(){return{source:"curated",id:LV,customName:"",family:pu.family,size:iS}}function sS(e,t){const n=jV(e);return{source:"curated",id:n.id,customName:"",family:n.family,size:lS(t)}}function aS(e,t){const n=DV(e);return{source:"custom",id:null,customName:n,family:$m(n,pu.family),size:lS(t)}}function r6(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;const t=e,n=lS(typeof t.size=="number"?t.size:iS);return t.source==="custom"&&typeof t.customName=="string"?aS(t.customName,n):typeof t.id=="string"&&OV(t.id)?sS(t.id,n):null}function oS(e){if(!e)return Hh();try{const t=r6(JSON.parse(e));if(t!==null)return t}catch{}return Hh()}function IV(e){return JSON.stringify({source:e.source,id:e.id,customName:e.customName,size:e.size})}function lS(e){return Number.isFinite(e)?Math.min(n6,Math.max(t6,Math.round(e))):iS}function OV(e){return Fh.some(t=>t.id===e)}function DV(e){return Hg(e)}const ug="fleet-plugin.terminal.renderer",mu="fleet-plugin.terminal.font",v5="fleet-console.terminalRenderer",_5="fleet-console.terminalFont",Hw=new Set;let Zo=YV(),dg=null,Kl=0,Bp=null;function BV(){if(!(typeof window>"u"))try{if(window.localStorage.getItem(ug)!==null||window.localStorage.getItem(mu)!==null)return;const e=window.localStorage.getItem(v5),t=window.localStorage.getItem(_5),n=e==="webgl"||e==="dom"?e:"webgl",r=oS(t);window.localStorage.setItem(ug,n),window.localStorage.setItem(mu,IV(r)),window.localStorage.removeItem(v5),window.localStorage.removeItem(_5)}catch{}}function PV(e){Kl+=1,dg=e,UV()}function i6(){return m.useSyncExternalStore(VV,b5,b5)}function $V(e){GV(e),Tu({renderer:e})}function zV(e){const t=sS(e,Zo.font.size);Kl+=1,Tu({font:t}),sy(t)}function FV(e){const t=aS(e,Zo.font.size);Kl+=1,Tu({font:t}),sy(t)}function HV(e){const t=Zo.font.source==="custom"?aS(Zo.font.customName,e):sS(Zo.font.id,e);Kl+=1,Tu({font:t}),sy(t)}async function UV(){if(!dg)return;const e=Kl;try{const t=await dg.read("terminal");if(t!==null){const n=r6(t.font);if(n!==null){if(e!==Kl)return;Tu({font:n});try{window.localStorage.removeItem(mu)}catch{}return}}if(typeof window<"u"){let n=null;try{n=window.localStorage.getItem(mu)}catch{}if(n!==null){const r=oS(n);if(e!==Kl)return;Tu({font:r}),sy(r);try{window.localStorage.removeItem(mu)}catch{}}}}catch{}}async function sy(e){const t=dg;if(t)try{await s6(t,{font:{source:e.source,id:e.id,customName:e.customName,size:e.size}})}catch{}}function s6(e,t){const n=async()=>{const o=await e.read("terminal");await e.write("terminal",{...o??{},...t})},r=Bp,s=r?r.catch(()=>{}).then(n):n();return Bp=s,s.finally(()=>{Bp===s&&(Bp=null)}).catch(()=>{}),s}function WV(){if(typeof window>"u")return"webgl";try{const e=window.localStorage.getItem(ug);return e==="webgl"||e==="dom"?e:"webgl"}catch{return"webgl"}}function qV(){if(typeof window>"u")return Hh();try{return oS(window.localStorage.getItem(mu))}catch{return Hh()}}function GV(e){if(!(typeof window>"u"))try{window.localStorage.setItem(ug,e)}catch{}}function KV(){for(const e of Hw)e()}function Tu(e){Zo={...Zo,...e},KV()}function VV(e){return Hw.add(e),()=>{Hw.delete(e)}}function b5(){return Zo}function YV(){return typeof window>"u"?{renderer:"webgl",font:Hh()}:(BV(),{renderer:WV(),font:qV()})}function w5({baseY:e,viewportY:t}){return t>=e}function XV(e){let t=!0,n=null,r=null;const s=()=>{const{baseY:f,viewportY:g}=e.getViewport();n=Math.max(0,f-g)},o=()=>{if(n===null)return;const{baseY:f}=e.getViewport();e.scrollToLine(Math.max(0,Math.min(f,f-n)))},c=()=>{if(t){e.scrollToBottom();return}o()},d=()=>{r===null&&(r=e.requestFrame(()=>{r=null,c()}))},h=()=>{t&&(c(),d())};return{isFollowing:()=>t,recordUserViewportChange:()=>{if(t=w5(e.getViewport()),t){n=null;return}s()},recordUnclassifiedViewportChange:()=>{},resumeFollowing:()=>{t=!0,n=null,h()},preserveAfterGeometryChange:f=>{f(),c(),d()},restoreAfterOutputParsing:()=>{if(t){h();return}w5(e.getViewport())||s()},dispose:()=>{r!==null&&e.cancelFrame(r),r=null}}}function ZV({getPlatform:e,getSelection:t,writeText:n}){return{handleKeyEvent(r){if(!QV(r,e()))return!0;r.preventDefault?.(),r.stopPropagation?.();const s=t();return s&&!r.repeat&&n(s).catch(()=>{}),!1}}}function QV(e,t){return e.type==="keydown"&&/^win/i.test(t)&&e.ctrlKey&&e.shiftKey&&!e.altKey&&!e.metaKey&&(e.code==="KeyC"||e.key.toLowerCase()==="c")}const JV="Symbols Nerd Font Mono",eY=`1em "${JV}"`,tY=650;let Pp=null;function a6(){return Pp||(Pp=rY(),Pp)}async function nY(){await iY(a6(),tY)}async function rY(){const e=typeof document>"u"?void 0:document.fonts;if(e?.load)try{await e.load(eY)}catch{}}async function iY(e,t){await new Promise(n=>{let r=!1;const s=setTimeout(o,t);e.then(o,o);function o(){r||(r=!0,clearTimeout(s),n())}})}const sY=80,aY=16,oY=250,lY=1024*1024,cY=120,uY={background:"oklch(16.5% 0.016 245)",foreground:"oklch(94% 0.008 90)",cursor:"oklch(77% 0.085 200)",selectionBackground:"oklch(80% 0.085 78 / 13%)",black:"oklch(13% 0.014 245)",brightBlack:"oklch(29% 0.018 245)",red:"oklch(68% 0.13 25)",green:"oklch(76% 0.11 160)",yellow:"oklch(75% 0.08 90)",blue:"oklch(77% 0.085 200)",magenta:"oklch(70% 0.012 245)",cyan:"oklch(77% 0.085 200)",white:"oklch(94% 0.008 90)",brightRed:"oklch(68% 0.13 25)",brightGreen:"oklch(76% 0.11 160)",brightYellow:"oklch(80% 0.085 78)",brightBlue:"oklch(77% 0.085 200)",brightMagenta:"oklch(70% 0.012 245)",brightCyan:"oklch(77% 0.085 200)",brightWhite:"oklch(94% 0.008 90)"},dY={background:"oklch(23% 0.03 248)",foreground:"oklch(86% 0.018 90)",cursor:"oklch(82% 0.13 195)",selectionBackground:"oklch(78% 0.13 75 / 28%)",black:"oklch(18% 0.045 248)",brightBlack:"oklch(48% 0.03 248)",red:"oklch(72% 0.17 25)",green:"oklch(82% 0.13 195)",yellow:"oklch(86% 0.16 78)",blue:"oklch(70% 0.08 248)",magenta:"oklch(75% 0.11 320)",cyan:"oklch(82% 0.13 195)",white:"oklch(82% 0.018 90)",brightRed:"oklch(78% 0.18 25)",brightGreen:"oklch(88% 0.14 195)",brightYellow:"oklch(90% 0.16 78)",brightBlue:"oklch(78% 0.09 248)",brightMagenta:"oklch(82% 0.12 320)",brightCyan:"oklch(88% 0.14 195)",brightWhite:"oklch(96% 0.012 88)"},hY={background:"oklch(19% 0.008 252)",foreground:"oklch(85% 0.005 250)",cursor:"oklch(80% 0.105 205)",selectionBackground:"oklch(76% 0.115 62 / 28%)",black:"oklch(16% 0.008 252)",brightBlack:"oklch(46% 0.006 250)",red:"oklch(72% 0.17 25)",green:"oklch(80% 0.11 205)",yellow:"oklch(84% 0.14 64)",blue:"oklch(68% 0.05 250)",magenta:"oklch(75% 0.11 320)",cyan:"oklch(80% 0.11 205)",white:"oklch(81% 0.005 250)",brightRed:"oklch(78% 0.18 25)",brightGreen:"oklch(86% 0.13 205)",brightYellow:"oklch(88% 0.15 66)",brightBlue:"oklch(74% 0.06 250)",brightMagenta:"oklch(82% 0.12 320)",brightCyan:"oklch(86% 0.13 205)",brightWhite:"oklch(95% 0.003 250)"},fY={background:"oklch(93% 0.01 245)",foreground:"oklch(25% 0.02 248)",cursor:"oklch(51% 0.09 205)",selectionBackground:"oklch(54% 0.11 72 / 22%)",black:"oklch(24% 0.025 248)",brightBlack:"oklch(46% 0.02 245)",red:"oklch(53% 0.15 25)",green:"oklch(51% 0.11 158)",yellow:"oklch(56% 0.1 80)",blue:"oklch(50% 0.09 245)",magenta:"oklch(52% 0.1 318)",cyan:"oklch(51% 0.09 205)",white:"oklch(88% 0.012 245)",brightRed:"oklch(48% 0.17 25)",brightGreen:"oklch(46% 0.13 158)",brightYellow:"oklch(50% 0.12 78)",brightBlue:"oklch(45% 0.1 245)",brightMagenta:"oklch(47% 0.12 318)",brightCyan:"oklch(46% 0.1 205)",brightWhite:"oklch(96% 0.008 245)"},pY={background:"oklch(95.5% 0.004 250)",foreground:"oklch(22% 0.045 260)",cursor:"oklch(50% 0.1 210)",selectionBackground:"oklch(56% 0.125 82 / 20%)",black:"oklch(23% 0.05 260)",brightBlack:"oklch(44% 0.034 258)",red:"oklch(52% 0.16 25)",green:"oklch(50% 0.12 160)",yellow:"oklch(55% 0.11 82)",blue:"oklch(50% 0.1 250)",magenta:"oklch(51% 0.1 318)",cyan:"oklch(50% 0.1 210)",white:"oklch(90% 0.005 250)",brightRed:"oklch(47% 0.18 25)",brightGreen:"oklch(45% 0.14 160)",brightYellow:"oklch(49% 0.13 80)",brightBlue:"oklch(45% 0.11 250)",brightMagenta:"oklch(46% 0.12 318)",brightCyan:"oklch(45% 0.11 210)",brightWhite:"oklch(97% 0.003 250)"},o6=new Set(["daywatch","whites","drydock"]),mY=4.5;function x5(e){return o6.has(e)?mY:1}function db(e){return o6.has(e)?"light":"dark"}const hb=new Map,gY={background:"oklch(92.5% 0.02 238)",foreground:"oklch(25% 0.045 250)",cursor:"oklch(50% 0.09 190)",selectionBackground:"oklch(54% 0.1 70 / 22%)",black:"oklch(24% 0.05 250)",brightBlack:"oklch(46% 0.04 246)",red:"oklch(53% 0.15 25)",green:"oklch(50% 0.11 155)",yellow:"oklch(55% 0.1 80)",blue:"oklch(51% 0.09 250)",magenta:"oklch(52% 0.09 318)",cyan:"oklch(50% 0.09 190)",white:"oklch(86% 0.015 238)",brightRed:"oklch(48% 0.17 25)",brightGreen:"oklch(45% 0.13 155)",brightYellow:"oklch(49% 0.12 78)",brightBlue:"oklch(46% 0.1 250)",brightMagenta:"oklch(47% 0.11 318)",brightCyan:"oklch(45% 0.1 190)",brightWhite:"oklch(95% 0.012 236)"};function cS({operationId:e,ticketPath:t,wsPath:n,theme:r="instrument",onExit:s,active:o,keyboardFocusRequestId:c,zoom:d=1}){const h=r,{renderer:f,font:g}=i6(),y=m.useRef(null),_=m.useRef(null),b=m.useRef(null),x=m.useRef(null),S=m.useRef(null),C=m.useRef(null),k=m.useRef(null),[O,z]=m.useState(d),R=m.useRef(s);R.current=s;const B=m.useRef(o);B.current=o;const[L,I]=m.useState("connecting"),[H,Y]=m.useState(null),Z=It(ws()),K=m.useRef(db(h));K.current=db(h);const[$,j]=m.useState(0),[N,P]=m.useState(0);m.useEffect(()=>{const T=y.current;if(!T)return;let W=!1,J=null,D=null,q=null;return(async()=>{if(await nY(),W)return;const V=S5(h),G=new mV({...RV,fontFamily:g.family,fontSize:g.size*O,theme:V,minimumContrastRatio:x5(h)});_.current=G;const F=new QH;k.current=F,G.loadAddon(F),G.open(T),k5(T,V);const re=AV({terminal:G,selectionTarget:T,windowTarget:window,clipboard:navigator.clipboard});G.loadAddon(new CU),G.unicode.activeVersion="11";const oe=kV(()=>G.input(`
97
+ WARNING: This link could potentially be dangerous`)),lineHeight:1},MV="Symbols Nerd Font Mono",Dp=`ui-monospace, "SF Mono", Menlo, "${MV}", monospace`,iS=14,t6=10,n6=22,NV={min:t6,max:n6},LV="cascadia",Fh=[{id:"cascadia",name:"Cascadia Code",familyName:"Cascadia Code Variable",family:`"Cascadia Code Variable", ${Dp}`,meta:"Variable · terminal tuned"},{id:"jetbrains",name:"JetBrains Mono",familyName:"JetBrains Mono Variable",family:`"JetBrains Mono Variable", ${Dp}`,meta:"Variable · console mono"},{id:"fira-code",name:"Fira Code",familyName:"Fira Code Variable",family:`"Fira Code Variable", ${Dp}`,meta:"Variable · ligatures"},{id:"source-code-pro",name:"Source Code Pro",familyName:"Source Code Pro Variable",family:`"Source Code Pro Variable", ${Dp}`,meta:"Variable · Adobe mono"}],pu=Fh[0];function jV(e){return Fh.find(t=>t.id===e)??pu}function Hh(){return{source:"curated",id:LV,customName:"",family:pu.family,size:iS}}function sS(e,t){const n=jV(e);return{source:"curated",id:n.id,customName:"",family:n.family,size:lS(t)}}function aS(e,t){const n=DV(e);return{source:"custom",id:null,customName:n,family:$m(n,pu.family),size:lS(t)}}function r6(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;const t=e,n=lS(typeof t.size=="number"?t.size:iS);return t.source==="custom"&&typeof t.customName=="string"?aS(t.customName,n):typeof t.id=="string"&&OV(t.id)?sS(t.id,n):null}function oS(e){if(!e)return Hh();try{const t=r6(JSON.parse(e));if(t!==null)return t}catch{}return Hh()}function IV(e){return JSON.stringify({source:e.source,id:e.id,customName:e.customName,size:e.size})}function lS(e){return Number.isFinite(e)?Math.min(n6,Math.max(t6,Math.round(e))):iS}function OV(e){return Fh.some(t=>t.id===e)}function DV(e){return Hg(e)}const ug="fleet-plugin.terminal.renderer",mu="fleet-plugin.terminal.font",v5="fleet-console.terminalRenderer",_5="fleet-console.terminalFont",Hw=new Set;let Zo=YV(),dg=null,Kl=0,Bp=null;function BV(){if(!(typeof window>"u"))try{if(window.localStorage.getItem(ug)!==null||window.localStorage.getItem(mu)!==null)return;const e=window.localStorage.getItem(v5),t=window.localStorage.getItem(_5),n=e==="webgl"||e==="dom"?e:"webgl",r=oS(t);window.localStorage.setItem(ug,n),window.localStorage.setItem(mu,IV(r)),window.localStorage.removeItem(v5),window.localStorage.removeItem(_5)}catch{}}function PV(e){Kl+=1,dg=e,UV()}function i6(){return m.useSyncExternalStore(VV,b5,b5)}function $V(e){GV(e),Tu({renderer:e})}function zV(e){const t=sS(e,Zo.font.size);Kl+=1,Tu({font:t}),sy(t)}function FV(e){const t=aS(e,Zo.font.size);Kl+=1,Tu({font:t}),sy(t)}function HV(e){const t=Zo.font.source==="custom"?aS(Zo.font.customName,e):sS(Zo.font.id,e);Kl+=1,Tu({font:t}),sy(t)}async function UV(){if(!dg)return;const e=Kl;try{const t=await dg.read("terminal");if(t!==null){const n=r6(t.font);if(n!==null){if(e!==Kl)return;Tu({font:n});try{window.localStorage.removeItem(mu)}catch{}return}}if(typeof window<"u"){let n=null;try{n=window.localStorage.getItem(mu)}catch{}if(n!==null){const r=oS(n);if(e!==Kl)return;Tu({font:r}),sy(r);try{window.localStorage.removeItem(mu)}catch{}}}}catch{}}async function sy(e){const t=dg;if(t)try{await s6(t,{font:{source:e.source,id:e.id,customName:e.customName,size:e.size}})}catch{}}function s6(e,t){const n=async()=>{const o=await e.read("terminal");await e.write("terminal",{...o??{},...t})},r=Bp,s=r?r.catch(()=>{}).then(n):n();return Bp=s,s.finally(()=>{Bp===s&&(Bp=null)}).catch(()=>{}),s}function WV(){if(typeof window>"u")return"webgl";try{const e=window.localStorage.getItem(ug);return e==="webgl"||e==="dom"?e:"webgl"}catch{return"webgl"}}function qV(){if(typeof window>"u")return Hh();try{return oS(window.localStorage.getItem(mu))}catch{return Hh()}}function GV(e){if(!(typeof window>"u"))try{window.localStorage.setItem(ug,e)}catch{}}function KV(){for(const e of Hw)e()}function Tu(e){Zo={...Zo,...e},KV()}function VV(e){return Hw.add(e),()=>{Hw.delete(e)}}function b5(){return Zo}function YV(){return typeof window>"u"?{renderer:"webgl",font:Hh()}:(BV(),{renderer:WV(),font:qV()})}function w5({baseY:e,viewportY:t}){return t>=e}function XV(e){let t=!0,n=null,r=null;const s=()=>{const{baseY:f,viewportY:g}=e.getViewport();n=Math.max(0,f-g)},o=()=>{if(n===null)return;const{baseY:f}=e.getViewport();e.scrollToLine(Math.max(0,Math.min(f,f-n)))},c=()=>{if(t){e.scrollToBottom();return}o()},d=()=>{r===null&&(r=e.requestFrame(()=>{r=null,c()}))},h=()=>{t&&(c(),d())};return{isFollowing:()=>t,recordUserViewportChange:()=>{if(t=w5(e.getViewport()),t){n=null;return}s()},recordUnclassifiedViewportChange:()=>{},resumeFollowing:()=>{t=!0,n=null,h()},preserveAfterGeometryChange:f=>{f(),c(),d()},restoreAfterOutputParsing:()=>{if(t){h();return}w5(e.getViewport())||s()},dispose:()=>{r!==null&&e.cancelFrame(r),r=null}}}function ZV({getPlatform:e,getSelection:t,writeText:n}){return{handleKeyEvent(r){if(!QV(r,e()))return!0;r.preventDefault?.(),r.stopPropagation?.();const s=t();return s&&!r.repeat&&n(s).catch(()=>{}),!1}}}function QV(e,t){return e.type==="keydown"&&/^win/i.test(t)&&e.ctrlKey&&e.shiftKey&&!e.altKey&&!e.metaKey&&(e.code==="KeyC"||e.key.toLowerCase()==="c")}const JV="Symbols Nerd Font Mono",eY=`1em "${JV}"`,tY=650;let Pp=null;function a6(){return Pp||(Pp=rY(),Pp)}async function nY(){await iY(a6(),tY)}async function rY(){const e=typeof document>"u"?void 0:document.fonts;if(e?.load)try{await e.load(eY)}catch{}}async function iY(e,t){await new Promise(n=>{let r=!1;const s=setTimeout(o,t);e.then(o,o);function o(){r||(r=!0,clearTimeout(s),n())}})}const sY=80,aY=16,oY=250,lY=1024*1024,cY=120,uY={background:"oklch(16.5% 0.016 245)",foreground:"oklch(94% 0.008 90)",cursor:"oklch(77% 0.085 200)",selectionBackground:"oklch(80% 0.085 78 / 13%)",black:"oklch(13% 0.014 245)",brightBlack:"oklch(29% 0.018 245)",red:"oklch(68% 0.13 25)",green:"oklch(76% 0.11 160)",yellow:"oklch(75% 0.08 90)",blue:"oklch(77% 0.085 200)",magenta:"oklch(70% 0.012 245)",cyan:"oklch(77% 0.085 200)",white:"oklch(94% 0.008 90)",brightRed:"oklch(68% 0.13 25)",brightGreen:"oklch(76% 0.11 160)",brightYellow:"oklch(80% 0.085 78)",brightBlue:"oklch(77% 0.085 200)",brightMagenta:"oklch(70% 0.012 245)",brightCyan:"oklch(77% 0.085 200)",brightWhite:"oklch(94% 0.008 90)"},dY={background:"oklch(23% 0.03 248)",foreground:"oklch(86% 0.018 90)",cursor:"oklch(82% 0.13 195)",selectionBackground:"oklch(78% 0.13 75 / 28%)",black:"oklch(18% 0.045 248)",brightBlack:"oklch(48% 0.03 248)",red:"oklch(72% 0.17 25)",green:"oklch(82% 0.13 195)",yellow:"oklch(86% 0.16 78)",blue:"oklch(70% 0.08 248)",magenta:"oklch(75% 0.11 320)",cyan:"oklch(82% 0.13 195)",white:"oklch(82% 0.018 90)",brightRed:"oklch(78% 0.18 25)",brightGreen:"oklch(88% 0.14 195)",brightYellow:"oklch(90% 0.16 78)",brightBlue:"oklch(78% 0.09 248)",brightMagenta:"oklch(82% 0.12 320)",brightCyan:"oklch(88% 0.14 195)",brightWhite:"oklch(96% 0.012 88)"},hY={background:"oklch(19% 0.008 252)",foreground:"oklch(85% 0.005 250)",cursor:"oklch(80% 0.105 205)",selectionBackground:"oklch(76% 0.115 62 / 28%)",black:"oklch(16% 0.008 252)",brightBlack:"oklch(46% 0.006 250)",red:"oklch(72% 0.17 25)",green:"oklch(80% 0.11 205)",yellow:"oklch(84% 0.14 64)",blue:"oklch(68% 0.05 250)",magenta:"oklch(75% 0.11 320)",cyan:"oklch(80% 0.11 205)",white:"oklch(81% 0.005 250)",brightRed:"oklch(78% 0.18 25)",brightGreen:"oklch(86% 0.13 205)",brightYellow:"oklch(88% 0.15 66)",brightBlue:"oklch(74% 0.06 250)",brightMagenta:"oklch(82% 0.12 320)",brightCyan:"oklch(86% 0.13 205)",brightWhite:"oklch(95% 0.003 250)"},fY={background:"oklch(97.2% 0.009 245)",foreground:"oklch(25% 0.02 248)",cursor:"oklch(51% 0.09 205)",selectionBackground:"oklch(54% 0.11 72 / 22%)",black:"oklch(24% 0.025 248)",brightBlack:"oklch(46% 0.02 245)",red:"oklch(53% 0.15 25)",green:"oklch(51% 0.11 158)",yellow:"oklch(56% 0.1 80)",blue:"oklch(50% 0.09 245)",magenta:"oklch(52% 0.1 318)",cyan:"oklch(51% 0.09 205)",white:"oklch(88% 0.012 245)",brightRed:"oklch(48% 0.17 25)",brightGreen:"oklch(46% 0.13 158)",brightYellow:"oklch(50% 0.12 78)",brightBlue:"oklch(45% 0.1 245)",brightMagenta:"oklch(47% 0.12 318)",brightCyan:"oklch(46% 0.1 205)",brightWhite:"oklch(99.5% 0.002 245)"},pY={background:"oklch(98.2% 0.004 250)",foreground:"oklch(22% 0.045 260)",cursor:"oklch(50% 0.1 210)",selectionBackground:"oklch(56% 0.125 82 / 20%)",black:"oklch(23% 0.05 260)",brightBlack:"oklch(44% 0.034 258)",red:"oklch(52% 0.16 25)",green:"oklch(50% 0.12 160)",yellow:"oklch(55% 0.11 82)",blue:"oklch(50% 0.1 250)",magenta:"oklch(51% 0.1 318)",cyan:"oklch(50% 0.1 210)",white:"oklch(90% 0.005 250)",brightRed:"oklch(47% 0.18 25)",brightGreen:"oklch(45% 0.14 160)",brightYellow:"oklch(49% 0.13 80)",brightBlue:"oklch(45% 0.11 250)",brightMagenta:"oklch(46% 0.12 318)",brightCyan:"oklch(45% 0.11 210)",brightWhite:"oklch(99.8% 0.001 250)"},o6=new Set(["daywatch","whites","drydock"]),mY=4.5;function x5(e){return o6.has(e)?mY:1}function db(e){return o6.has(e)?"light":"dark"}const hb=new Map,gY={background:"oklch(96.2% 0.015 236)",foreground:"oklch(25% 0.045 250)",cursor:"oklch(50% 0.09 190)",selectionBackground:"oklch(54% 0.1 70 / 22%)",black:"oklch(24% 0.05 250)",brightBlack:"oklch(46% 0.04 246)",red:"oklch(53% 0.15 25)",green:"oklch(50% 0.11 155)",yellow:"oklch(55% 0.1 80)",blue:"oklch(51% 0.09 250)",magenta:"oklch(52% 0.09 318)",cyan:"oklch(50% 0.09 190)",white:"oklch(86% 0.015 238)",brightRed:"oklch(48% 0.17 25)",brightGreen:"oklch(45% 0.13 155)",brightYellow:"oklch(49% 0.12 78)",brightBlue:"oklch(46% 0.1 250)",brightMagenta:"oklch(47% 0.11 318)",brightCyan:"oklch(45% 0.1 190)",brightWhite:"oklch(99% 0.004 236)"};function cS({operationId:e,ticketPath:t,wsPath:n,theme:r="instrument",onExit:s,active:o,keyboardFocusRequestId:c,zoom:d=1}){const h=r,{renderer:f,font:g}=i6(),y=m.useRef(null),_=m.useRef(null),b=m.useRef(null),x=m.useRef(null),S=m.useRef(null),C=m.useRef(null),k=m.useRef(null),[O,z]=m.useState(d),R=m.useRef(s);R.current=s;const B=m.useRef(o);B.current=o;const[L,I]=m.useState("connecting"),[H,Y]=m.useState(null),Z=It(ws()),K=m.useRef(db(h));K.current=db(h);const[$,j]=m.useState(0),[N,P]=m.useState(0);m.useEffect(()=>{const T=y.current;if(!T)return;let W=!1,J=null,D=null,q=null;return(async()=>{if(await nY(),W)return;const V=S5(h),G=new mV({...RV,fontFamily:g.family,fontSize:g.size*O,theme:V,minimumContrastRatio:x5(h)});_.current=G;const F=new QH;k.current=F,G.loadAddon(F),G.open(T),k5(T,V);const re=AV({terminal:G,selectionTarget:T,windowTarget:window,clipboard:navigator.clipboard});G.loadAddon(new CU),G.unicode.activeVersion="11";const oe=kV(()=>G.input(`
98
98
  `)),le=T.querySelector("textarea.xterm-helper-textarea, textarea")??T;le.addEventListener("compositionstart",oe.onCompositionStart),le.addEventListener("compositionend",oe.onCompositionEnd),le.addEventListener("focusout",oe.onCompositionCancel);const Be=ZV({getPlatform:()=>navigator.platform,getSelection:()=>G.getSelection(),writeText:pe=>navigator.clipboard.writeText(pe)});G.attachCustomKeyEventHandler(pe=>Be.handleKeyEvent(pe)&&oe.handleKeyEvent(pe));const De=XV({getViewport:()=>G.buffer.active,scrollToBottom:()=>yY(G),scrollToLine:pe=>vY(G,pe),requestFrame:pe=>window.requestAnimationFrame(pe),cancelFrame:pe=>window.cancelAnimationFrame(pe)});C.current=De;const rt=_Y(T,le,De.recordUserViewportChange),ce=xY(G,B.current!==!1,De.restoreAfterOutputParsing);S.current=ce;const Me=qH({operationId:e,ticketPath:t,wsPath:n,colorScheme:K.current,terminal:{onData:pe=>G.onData(ze=>{De.resumeFollowing(),pe(ze)}),write:ce.write},onExit:()=>R.current?.(),onStatus:(pe,ze)=>{I(ze?`${pe}: ${ze}`:pe)}});b.current=Me;const $e=()=>{De.preserveAfterGeometryChange(()=>{F.fit(),Me.resize(G.cols,G.rows),G.refresh(0,G.rows-1)})},it=()=>{D&&clearTimeout(D),D=setTimeout(()=>{D=null,W||$e()},sY)},fe=async()=>{await document.fonts?.ready,!W&&($e(),Me.start(),P(pe=>pe+1),B.current!==!1&&G.focus())};J=new ResizeObserver(it),J.observe(T),fe(),q=()=>{D&&clearTimeout(D),le.removeEventListener("compositionstart",oe.onCompositionStart),le.removeEventListener("compositionend",oe.onCompositionEnd),le.removeEventListener("focusout",oe.onCompositionCancel),oe.dispose(),Me.dispose(),re.dispose(),rt.dispose(),ce.dispose(),De.dispose(),_.current=null,b.current=null,S.current=null,C.current=null,k.current=null;try{G.dispose()}catch{}},j(pe=>pe+1)})(),()=>{W=!0,J?.disconnect(),q?.()}},[e,t,n]),m.useEffect(()=>{S.current?.setActive(o!==!1),o&&(_.current?.focus(),C.current?.resumeFollowing())},[o,c,N]),m.useEffect(()=>{const T=_.current;if(!T)return;let W=!1;if(f==="webgl")try{const J=new aq;x.current=J,J.onContextLoss(()=>{if(!W){try{J.dispose()}catch{}x.current===J&&(x.current=null)}}),T.loadAddon(J)}catch{try{x.current?.dispose()}catch{}x.current=null}return()=>{W=!0;const J=x.current;if(J){x.current=null;try{J.dispose()}catch{}}}},[f,e,$]),m.useEffect(()=>{const T=_.current,W=y.current;if(!T||!W)return;const J=S5(h);T.options.theme=J,T.options.minimumContrastRatio=x5(h),k5(W,J)},[h,$]),m.useEffect(()=>{Y(null)},[e]),m.useEffect(()=>{const T=db(h),W=hb.get(e);if(W===void 0){hb.set(e,T);return}W!==T&&(hb.set(e,T),Y(T))},[h,e]),m.useEffect(()=>{const T=_.current;T&&(T.options.fontFamily=g.family,C5(T,k.current,b.current,C.current))},[g.family,$]),m.useEffect(()=>{if(d===O)return;const T=setTimeout(()=>z(d),cY);return()=>clearTimeout(T)},[d,O]),m.useEffect(()=>{const T=_.current;T&&(T.options.fontSize=g.size*O,C5(T,k.current,b.current,C.current))},[O,g.size,$]);const E=L.startsWith("live"),M=O===1?void 0:{width:`${O*100}%`,height:`${O*100}%`,transform:`scale(${1/O})`,transformOrigin:"0 0"};return l.jsx("section",{className:"terminal-stage","aria-label":"Terminal",children:l.jsxs("div",{className:"terminal-shell",children:[E?null:l.jsxs("div",{className:"terminal-status","aria-live":"polite",children:[l.jsx("span",{className:"terminal-status-dot","aria-hidden":"true"}),L]}),l.jsxs("div",{className:"terminal-viewport",children:[H?l.jsxs("div",{className:"terminal-theme-hint",role:"status",children:[l.jsx("span",{children:Z(H==="light"?"terminal.themeHint.light":"terminal.themeHint.dark")}),l.jsx("button",{type:"button",className:"terminal-theme-hint-dismiss","aria-label":Z("terminal.themeHint.dismiss"),onClick:()=>Y(null),children:"✕"})]}):null,l.jsx("div",{className:"terminal-canvas",ref:y,style:M})]})]})})}function S5(e){switch(e){case"instrument":return uY;case"maritime":return dY;case"carbon":return hY;case"daywatch":return fY;case"whites":return pY;case"drydock":return gY}}function k5(e,t){const n=e.querySelector(".xterm-viewport");n&&(t.background?n.style.backgroundColor=t.background:n.style.removeProperty("background-color"))}function yY(e){e&&(e.scrollToBottom(),e.rows>0&&e.refresh(0,e.rows-1))}function vY(e,t){e&&(e.scrollToLine(t),e.rows>0&&e.refresh(0,e.rows-1))}function _Y(e,t,n){const r=e.querySelector(".xterm-scrollable-element")??e.querySelector(".xterm-viewport");if(!r)return{dispose:()=>{}};let s=!1,o=null;const c=()=>{o!==null&&window.cancelAnimationFrame(o),o=window.requestAnimationFrame(()=>{o=window.requestAnimationFrame(()=>{o=null,n()})})},d=()=>c(),h=()=>{s=!0},f=b=>{s=bY(b,r)},g=()=>{s&&c()},y=()=>{const b=s;s=!1,b&&c()},_=b=>{wY(b)&&c()};return r.addEventListener("wheel",d,{capture:!0,passive:!0}),r.addEventListener("touchstart",h,{capture:!0,passive:!0}),r.addEventListener("touchend",y),r.addEventListener("touchcancel",y),r.addEventListener("pointerdown",f,!0),r.addEventListener("scroll",g),window.addEventListener("pointerup",y),window.addEventListener("pointercancel",y),t.addEventListener("keydown",_,!0),{dispose:()=>{r.removeEventListener("wheel",d,!0),r.removeEventListener("touchstart",h,!0),r.removeEventListener("touchend",y),r.removeEventListener("touchcancel",y),r.removeEventListener("pointerdown",f,!0),r.removeEventListener("scroll",g),window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y),t.removeEventListener("keydown",_,!0),o!==null&&window.cancelAnimationFrame(o)}}}function bY(e,t){return e.pointerType==="touch"||e.target===t?!0:e.composedPath().some(n=>n.classList?.contains("scrollbar")===!0)}function wY(e){return e.key==="PageUp"||e.key==="PageDown"||e.key==="Home"||e.key==="End"}function xY(e,t,n){let r=t,s=!1,o=null,c=0,d=[];const h=()=>{o&&(clearTimeout(o),o=null)},f=()=>{if(h(),s||c===0)return;const y=SY(d,c);d=[],c=0,e.write(y,()=>{s||n()})},g=()=>{s||o||c===0||(o=setTimeout(f,r?aY:oY))};return{write:y=>{if(!(s||y.byteLength===0)){if(d.push(y),c+=y.byteLength,c>=lY){f();return}g()}},setActive:y=>{if(r!==y){if(r=y,h(),r){f();return}g()}},dispose:()=>{f(),s=!0,d=[],c=0,h()}}}function SY(e,t){if(e.length===1)return e[0]??new Uint8Array;const n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.byteLength;return n}function C5(e,t,n,r){const s=()=>{t?.fit(),n?.resize(e.cols,e.rows),e.refresh(0,e.rows-1)};if(r){r.preserveAfterGeometryChange(s);return}s()}const kY=new Set(["path","cwd","canonicalcwd","transcriptpath","providersession","sessionid","token","ticket","url","mcpurl","rawtranscript"]),CY=50*1024;function Uh(e){return!e||typeof e!="object"?!1:Array.isArray(e)?e.some(Uh):Object.entries(e).some(([t,n])=>kY.has(t.toLowerCase())||Uh(n))}function EY(e){if(Uh(e)||!tc(e)||!Array.isArray(e.clis))return null;const t=e.clis.map(RY);return t.every(n=>n!==null)?{clis:t}:null}function AY(e){return Uh(e)||!tc(e)||typeof e.type!="string"?null:e.type==="connected"?{type:"connected"}:(e.type==="chunk"||e.type==="thought")&&typeof e.text=="string"?{type:e.type,text:e.text}:e.type==="tool"&&typeof e.title=="string"&&typeof e.status=="string"?{type:"tool",title:e.title,status:e.status}:e.type==="complete"?{type:"complete"}:e.type==="error"&&l6(e.error)?{type:"error",error:e.error}:e.type==="artifact"&&tc(e.artifact)&&typeof e.artifact.id=="string"&&typeof e.artifact.title=="string"&&typeof e.artifact.html=="string"&&typeof e.artifact.createdAt=="number"&&MY(e.artifact.html)<=CY?{type:"artifact",artifact:{id:e.artifact.id,title:e.artifact.title,html:e.artifact.html,createdAt:e.artifact.createdAt}}:null}function TY(e){return!Uh(e)&&tc(e)&&l6(e.error)?e.error:null}function RY(e){if(!tc(e)||typeof e.cliId!="string"||typeof e.label!="string"||typeof e.available!="boolean"||!Array.isArray(e.models))return null;const t=e.models.map(n=>tc(n)&&typeof n.id=="string"&&typeof n.label=="string"&&Array.isArray(n.effortLevels)&&n.effortLevels.every(r=>typeof r=="string")?{id:n.id,label:n.label,effortLevels:n.effortLevels,defaultEffort:typeof n.defaultEffort=="string"?n.defaultEffort:void 0}:null);return t.every(n=>n!==null)?{cliId:e.cliId,label:e.label,available:e.available,defaultModel:typeof e.defaultModel=="string"?e.defaultModel:void 0,models:t}:null}function l6(e){return tc(e)&&typeof e.code=="string"&&typeof e.message=="string"}function tc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function MY(e){return new TextEncoder().encode(e).byteLength}class Uw extends Error{constructor(t,n){super(n),this.code=t}code}const uf=e=>`analysis/${encodeURIComponent(e)}`,NY="/plugins/terminal/analysis/stream",LY={type:"error",error:{code:"analysis_session_not_found",message:"Analysis session was not found."}},c6=250,jY=4e3;let vs=null,Ru=0,Ww=0,u6=new Set,uS=!1,gu=null,wm=c6;const Vl=new Map;function d6(e,t,n,r){const s=new URLSearchParams({theme:t,canvas:n,foreground:r});return`/plugins/terminal/analysis/artifacts/${encodeURIComponent(e)}?${s.toString()}`}async function IY(e){const t=await oy(e,"analysis/catalog"),n=await t.json().catch(()=>null),r=EY(n);if(r)return r;throw ly(t.status,n)}async function OY(e,t){try{const n=await oy(e,`${uf(t)}/ready`);if(!n.ok)return!1;const r=await n.json().catch(()=>null);return!!r&&typeof r=="object"&&!Array.isArray(r)&&r.ready===!0}catch{return!1}}async function DY(e,t,n,r){await hS(e,`${uf(t)}/start`,n,r)}async function BY(e,t,n){await hS(e,`${uf(t)}/message`,{text:n})}async function fb(e,t){await hS(e,`${uf(t)}/stop`,{})}async function h6(e,t){const n=await oy(e,`${uf(t)}/artifacts`,{method:"DELETE"});if(!n.ok)throw ly(n.status,await n.json().catch(()=>null))}function PY(e,t,n){return $Y(t,n)}function $Y(e,t){let n=Vl.get(e);return n||(n={listeners:new Set,confirmedEpoch:null},Vl.set(e,n)),n.listeners.add(t),FY(),queueMicrotask(()=>{n.listeners.has(t)&&vs?.readyState===EventSource.OPEN&&(!uS||!u6.has(e)||n.confirmedEpoch===null&&(n.confirmedEpoch=Ww,t({type:"connected"})))}),()=>{n.listeners.delete(t),n.listeners.size===0&&Vl.delete(e),zY()}}function ay(){for(const e of Vl.values())if(e.listeners.size>0)return!0;return!1}function dS(){uS=!1}function f6(){wm=c6}function p6(){gu!==null&&(clearTimeout(gu),gu=null)}function zY(){ay()||(p6(),dS(),vs?.close(),vs=null,f6())}function m6(){p6(),dS(),vs?.close(),Ru+=1;const e=Ru,t=new EventSource(NY);vs=t,HY(t,e)}function FY(){if(!(vs&&vs.readyState!==EventSource.CLOSED)){if(vs?.readyState===EventSource.CLOSED){ay()&&g6();return}m6()}}function HY(e,t){e.onmessage=n=>{vs!==e||Ru!==t||typeof n.data=="string"&&GY(n.data,t)},e.onerror=()=>{vs!==e||Ru!==t||(dS(),e.readyState!==EventSource.CONNECTING&&e.readyState===EventSource.CLOSED&&ay()&&g6())}}function g6(){if(gu!==null)return;const e=wm;wm=Math.min(wm*2,jY),gu=setTimeout(()=>{gu=null,ay()&&(vs!==null&&vs.readyState!==EventSource.CLOSED||m6())},e)}function qw(e,t){const n=Vl.get(e);if(n)for(const r of n.listeners)r(t)}function UY(e,t){if(Ru!==t)return;const n=new Set(e);for(const[r,s]of Vl)s.confirmedEpoch!==null&&!n.has(r)&&(qw(r,LY),s.confirmedEpoch=null);Ww+=1,u6=n,uS=!0,f6();for(const r of e){const s=Vl.get(r);s&&(s.confirmedEpoch=Ww,qw(r,{type:"connected"}))}}function y6(e,t){const n=Object.keys(e);return n.length===t.size&&n.every(r=>t.has(r))}function WY(e){if(!y6(e,new Set(["type","operationIds"]))||e.type!=="connected"||!Array.isArray(e.operationIds))return null;for(const t of e.operationIds)if(typeof t!="string")return null;return e.operationIds}function qY(e){if(!y6(e,new Set(["type","operationId","event"]))||e.type!=="event"||typeof e.operationId!="string"||!e.event||typeof e.event!="object"||Array.isArray(e.event))return null;const t=AY(e.event);return t?{operationId:e.operationId,event:t}:null}function GY(e,t){if(Ru!==t)return;let n;try{n=JSON.parse(e)}catch{return}if(!n||typeof n!="object"||Array.isArray(n))return;const r=n,s=WY(r);if(s){UY(s,t);return}const o=qY(r);o&&qw(o.operationId,o.event)}async function hS(e,t,n,r){const s=await oy(e,t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),...r?{signal:r}:{}});if(!s.ok)throw ly(s.status,await s.json().catch(()=>null))}async function oy(e,t,n){try{return await e.fetch("terminal",t,n)}catch(r){throw r instanceof Xr?ly(r.status,r.body):r}}function ly(e,t){const n=TY(t);return new Uw(n?.code??`analysis_http_${e}`,n?.message??"Analysis is unavailable.")}const KY=32,Gw={catalog:null,cliId:"",model:"",effort:"",draft:"",queue:[],started:!1,busy:!1,phase:"idle",latestActivity:null,runStartedAt:null,runEndedAt:null,entries:[],tools:[],artifacts:[],artifactAuthoring:null,artifactPublished:null,artifactsAutoOpenArmed:!0,selectionLocked:!1,selectionSaved:!1,error:null};function VY(e,t){if(t.type==="catalog")return{...e,catalog:t.catalog,...E5(t.catalog,t.selection)};if(t.type==="select-cli"&&!e.started){const r=e.catalog?.clis.find(o=>o.cliId===t.cliId),s=r?.models.find(o=>o.id===r.defaultModel)??r?.models[0];return{...e,cliId:t.cliId,model:s?.id??"",effort:s?.defaultEffort??s?.effortLevels[0]??""}}if(t.type==="select-model"&&!e.started){const r=e.catalog?.clis.find(s=>s.cliId===e.cliId)?.models.find(s=>s.id===t.model);return{...e,model:t.model,effort:r?.defaultEffort??r?.effortLevels[0]??""}}if(t.type==="select-effort"&&!e.started)return{...e,effort:t.effort};if(t.type==="set-draft")return{...e,draft:t.draft};if(t.type==="queue-push")return{...e,queue:[...e.queue,t.text]};if(t.type==="queue-cancel")return t.index<0||t.index>=e.queue.length?e:{...e,queue:e.queue.filter((r,s)=>s!==t.index)};if(t.type==="queue-clear")return e.queue.length>0?{...e,queue:[]}:e;if(t.type==="sending")return{...e,started:e.started||t.started,busy:!0,phase:"starting",latestActivity:{kind:"starting",connected:!t.started},runStartedAt:t.now,runEndedAt:null,error:null,tools:[],artifactAuthoring:null,artifactPublished:null,entries:[...e.entries,{role:"user",text:t.text}]};if(t.type==="error")return Gd(e,t.message,t.now);if(t.type==="session-lost")return{...Gd(e,"Analysis session ended — send again to restart.",t.now),started:!1};if(t.type==="start-failed")return{...Gd(e,t.message,t.now),started:!1};if(t.type==="stopped")return{...e,queue:[],started:!1,busy:!1,phase:"stopped",runEndedAt:t.now,artifactAuthoring:null,error:null};if(t.type==="stop-failed")return{...Gd(e,`Stop failed: ${t.message}`,t.now),started:!1};if(t.type==="reset"){const r=e.catalog;return r?{...Gw,catalog:r,selectionLocked:e.selectionLocked,...E5(r,t.selection)}:{...Gw,selectionLocked:e.selectionLocked}}if(t.type==="selection-lock")return e.selectionLocked===t.locked?e:{...e,selectionLocked:t.locked};if(t.type==="selection-saved")return{...e,selectionSaved:!0};if(t.type==="selection-saved-clear")return e.selectionSaved?{...e,selectionSaved:!1}:e;if(t.type==="clear-artifacts")return{...e,artifacts:[],artifactPublished:null,artifactsAutoOpenArmed:!0};if(t.type==="artifacts-chip-disarm")return e.artifactsAutoOpenArmed?{...e,artifactsAutoOpenArmed:!1}:e;if(t.type==="artifacts-chip-rearm")return e.artifactsAutoOpenArmed?e:{...e,artifactsAutoOpenArmed:!0};if(t.type!=="event")return e;const n=t.event;if(n.type==="connected")return e.phase==="starting"?{...e,latestActivity:{kind:"starting",connected:!0}}:e;if(n.type==="chunk")return{...e,phase:"writing",latestActivity:{kind:"writing"},entries:XY(e.entries,n.text)};if(n.type==="thought")return{...e,phase:"reasoning",latestActivity:{kind:"reasoning"}};if(n.type==="tool"){const r=n.status.toLowerCase(),s=n.title.toLowerCase().includes("publish_artifact")&&(r==="pending"||r==="in_progress");return{...e,phase:"tool",latestActivity:{kind:"tool",title:n.title,status:n.status},tools:[...e.tools.filter(o=>o.title!==n.title),{title:n.title,status:n.status}],...s?{artifactAuthoring:e.artifactAuthoring??{startedAt:t.now},artifactPublished:null}:{}}}return n.type==="artifact"?{...e,artifacts:[n.artifact,...e.artifacts.filter(r=>r.id!==n.artifact.id)].slice(0,KY),artifactPublished:{artifact:n.artifact,durationMs:e.artifactAuthoring?t.now-e.artifactAuthoring.startedAt:null},artifactAuthoring:null}:n.type==="complete"?{...e,busy:!1,phase:"complete",runEndedAt:t.now,artifactAuthoring:null,error:null}:Gd(e,n.error.message,t.now)}function YY(e){const t=e.clis.find(s=>s.cliId==="claude"&&s.available)??e.clis.find(s=>s.available)??e.clis[0],n=t?.models.find(s=>t.cliId==="claude"&&s.id==="sonnet")??t?.models.find(s=>s.id===t.defaultModel)??t?.models[0],r=n?.effortLevels.includes("medium")?"medium":n?.defaultEffort??n?.effortLevels[0]??"";return{cliId:t?.cliId??"",model:n?.id??"",effort:r}}function E5(e,t){const n=YY(e);if(!t)return n;const r=e.clis.find(g=>g.cliId===t.cliId&&g.available),s=r??e.clis.find(g=>g.cliId===n.cliId);if(!s)return n;const o=r?s.models.find(g=>g.id===s.defaultModel)??s.models[0]:s.models.find(g=>g.id===n.model)??s.models.find(g=>g.id===s.defaultModel)??s.models[0],d=s.models.find(g=>g.id===t.model)??o;if(!d)return{cliId:s.cliId,model:"",effort:""};const h=d.effortLevels.includes("medium")?"medium":d.defaultEffort??d.effortLevels[0]??"",f=d.effortLevels.length===0?t.effort===""?"":h:d.effortLevels.includes(t.effort)?t.effort:h;return{cliId:s.cliId,model:d.id,effort:f}}function Gd(e,t,n){return{...e,queue:[],busy:!1,phase:"error",runEndedAt:n,artifactAuthoring:null,error:t}}function XY(e,t){const n=e.at(-1);return n?.role==="analyst"?[...e.slice(0,-1),{role:"analyst",text:n.text+t}]:[...e,{role:"analyst",text:t}]}const Wh=new Map,Fc=new Map;function fS(e){const t=ZY(e.operationId,e.api,e.settings,e.language);return{state:m.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot),dispatch:t.dispatch,send:t.send,stop:t.stop,reset:t.reset}}function ZY(e,t,n,r){const s=Wh.get(e);if(s)return s.updateContext(n,r),s;const o=nX(e,t,n,r);return Wh.set(e,o),o}function QY(e){Wh.get(e)?.dispose()}function JY(e){Wh.get(e)?.dispatch({type:"artifacts-chip-rearm"})}const eX=2e3,tX=12e4;function nX(e,t,n,r){let s=Gw,o=n,c=r,d=null,h=!1,f=null,g=null,y=null,_=null,b=null,x=null,S=Promise.resolve(),C=0,k=null,O=0,z=0;const R=new Set,B=P=>{if(h)return;const E=P.type==="select-cli"||P.type==="select-model"||P.type==="select-effort";if(E&&s.selectionLocked)return;const M=VY(s,P);if(M!==s){E&&k!==null&&(clearTimeout(k),k=null),s=E&&M.selectionSaved?{...M,selectionSaved:!1}:M;for(const T of R)T();E&&L({cliId:s.cliId,model:s.model,effort:s.effort})}},L=P=>{const E=o;if(!E)return;const M=++C;S=S.then(async()=>{try{if(await s6(E,{analyst:{selection:P}}),d=P,h||M!==C)return;B({type:"selection-saved"}),k=setTimeout(()=>{k=null,B({type:"selection-saved-clear"})},1500)}catch{}})},I=()=>{g!==null&&(clearTimeout(g),g=null)},H=()=>{I(),g=setTimeout(()=>{g=null,B({type:"error",message:"Analysis response timed out.",now:Date.now()})},tX)},Y=()=>{I(),O+=1,z+=1;const P=f;f=null,P?.()},Z=()=>{Y(),B({type:"session-lost",now:Date.now()})},K=async()=>{if(f)return;const P=++O;let E=null;const M=new Promise(T=>{E=T});f=PY(t,e,T=>{if(P!==O||h)return;if(T.type==="connected"){B({type:"event",event:T,now:Date.now()}),E?.(),E=null;return}if(T.type==="error"&&T5(T.error.code)){E?.(),E=null,Z();return}(T.type==="complete"||T.type==="error")&&I();const W=T.type==="complete"?s.queue[0]:void 0;B({type:"event",event:T,now:Date.now()}),W!==void 0&&!s.busy&&!h&&P===O&&(B({type:"queue-cancel",index:0}),j.send(W))}),await Promise.race([M,new Promise(T=>setTimeout(T,eX))])},j={getSnapshot:()=>s,subscribe:P=>(R.add(P),()=>R.delete(P)),dispatch:B,send:async P=>{const E=Fc.get(e);if(E&&await E,x)try{await x}catch{return}b&&await b;const M=P.trim();if(!M||s.busy||h)return;const T=!s.started,W=++z,J={cliId:s.cliId,model:s.model,effort:s.effort,...c?{language:c}:{}};if(B({type:"sending",started:T,text:M,now:Date.now()}),T){const D=new AbortController,q=DY(t,e,J,D.signal);_=D,y=q;try{await q}catch(X){if(h||W!==z)return;if(!(X instanceof Uw&&X.code==="analysis_session_exists")){B({type:"start-failed",message:Kd(X),now:Date.now()});return}}finally{_===D&&(_=null),y===q&&(y=null)}if(h||W!==z||!s.started||(await K(),W!==z||!s.started))return}try{if(await BY(t,e,M),W!==z||!s.busy||!s.started)return;H()}catch(D){if(h||W!==z)return;D instanceof Uw&&T5(D.code)?Z():B({type:"error",message:Kd(D),now:Date.now()})}},stop:async()=>{if(x){await x.catch(()=>{});return}if(b)return b;if(h||!s.started)return;Y(),B({type:"stopped",now:Date.now()});const P=fb(t,e).catch(E=>{B({type:"stop-failed",message:Kd(E),now:Date.now()})});b=P,await P,b===P&&(b=null)},reset:async()=>{if(x)return x;if(h)return;B({type:"selection-lock",locked:!0});const P=s.started||s.phase!=="idle"||s.entries.length>0||s.artifacts.length>0;Y();const E=(async()=>{b&&await b,y&&await y.catch(()=>{}),await S,P&&await fb(t,e),await h6(t,e).catch(()=>{}),B({type:"reset",selection:d})})().catch(M=>{throw B({type:"error",message:`Reset failed: ${Kd(M)}`,now:Date.now()}),M});x=E;try{await E}finally{x===E&&(x=null),B({type:"selection-lock",locked:!1})}},dispose:()=>{if(h)return;const P=Fc.get(e),E=x,M=b,T=y,W=S,J=_;h=!0,Wh.delete(e),Y(),k!==null&&clearTimeout(k),R.clear(),J?.abort();const D=(async()=>{P&&await P,T&&await T.catch(()=>{}),E&&await E.catch(()=>{}),M&&await M.catch(()=>{}),await W,await fb(t,e)})().catch(()=>{});Fc.set(e,D),D.finally(()=>{Fc.get(e)===D&&Fc.delete(e)})},updateContext:(P,E)=>{P&&(o=P),c=E}};return(Fc.get(e)??Promise.resolve()).then(()=>Promise.all([IY(t),rX(o)])).then(([P,E])=>{d=E,B({type:"catalog",catalog:P,selection:E})}).catch(P=>B({type:"error",message:Kd(P),now:Date.now()})),j}async function rX(e){if(!e)return null;try{const t=await e.read("terminal");if(!t)return null;const n=A5(t.analyst),r=A5(n.selection);return typeof r.cliId=="string"&&typeof r.model=="string"&&typeof r.effort=="string"?{cliId:r.cliId,model:r.model,effort:r.effort}:null}catch{return null}}function A5(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Kd(e){return e instanceof Error?e.message:"Analysis is unavailable."}function T5(e){return e==="analysis_exited"||e==="analysis_session_not_found"}function iX({context:e}){const{state:t,dispatch:n}=fS(e),r=e.language??"en",s=It(r),o=m.useMemo(()=>[...t.artifacts].reverse(),[t.artifacts]),c=t.artifacts[0]?.id??null,[d,h]=m.useState(null),[f,g]=m.useState(!1),[y,_]=m.useState(!1),[b,x]=m.useState(!1),S=m.useId(),C=m.useId(),k=m.useRef(null),O=m.useRef(null),z=m.useRef(null),R=m.useRef(null),B=m.useRef(null),L=m.useRef(!1),I=m.useRef(0);m.useEffect(()=>{c&&h(c)},[c]);const H=o.find(E=>E.id===d)??o.at(-1)??null,Y=o.length,Z=()=>{B.current!==null&&(clearTimeout(B.current),B.current=null),x(!1)},K=(E=!1)=>{I.current+=1,_(!1),Z(),E&&z.current?.focus()};m.useEffect(()=>{if(!f)return;const E=T=>{T.target instanceof Node&&!k.current?.contains(T.target)&&g(!1)},M=T=>{T.key==="Escape"&&g(!1)};return document.addEventListener("pointerdown",E),document.addEventListener("keydown",M),()=>{document.removeEventListener("pointerdown",E),document.removeEventListener("keydown",M)}},[f]),m.useEffect(()=>{Y||g(!1)},[Y]),m.useEffect(()=>{if(!y)return;const E=T=>{T.target instanceof Node&&!O.current?.contains(T.target)&&K()},M=T=>{T.key==="Escape"&&K(!0)};return document.addEventListener("pointerdown",E),document.addEventListener("keydown",M),()=>{document.removeEventListener("pointerdown",E),document.removeEventListener("keydown",M)}},[y]),m.useEffect(()=>{H||K()},[H?.id]),m.useEffect(()=>{I.current+=1,Z()},[y,H?.id]),m.useEffect(()=>{y&&R.current?.querySelector('[role="menuitem"]')?.focus()},[y]),m.useEffect(()=>(L.current=!1,()=>{L.current=!0,B.current!==null&&(clearTimeout(B.current),B.current=null)}),[]);const $=()=>{if(!H)return;K(!0);const E=new Blob([H.html],{type:"text/html"}),M=URL.createObjectURL(E),T=document.createElement("a"),W=H.title.replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^-+|-+$/g,"").replace(/^\.+/,""),J=/[\p{L}\p{N}]/u.test(W)?W:"artifact";T.href=M,T.download=`${J}.html`,T.click(),URL.revokeObjectURL(M)},j=async()=>{if(!H)return;const E=I.current;try{if(await navigator.clipboard.writeText(H.html),L.current||E!==I.current)return;x(!0),B.current!==null&&clearTimeout(B.current),B.current=setTimeout(()=>{B.current=null,!L.current&&x(!1)},1500),z.current?.focus()}catch{if(L.current||E!==I.current)return;K(!0)}},N=()=>{if(!H)return;K(!0);const{canvas:E,foreground:M}=v6();window.open(d6(H.id,e.theme,E,M),"_blank","noopener")},P=E=>{if(E.key==="Escape"){E.preventDefault(),E.stopPropagation(),K(!0);return}if(E.key==="Tab"){K();return}const M=[...R.current?.querySelectorAll('[role="menuitem"]')??[]];if(!M.length)return;const T=M.indexOf(document.activeElement);let W=null;E.key==="ArrowDown"&&(W=(T+1)%M.length),E.key==="ArrowUp"&&(W=(T-1+M.length)%M.length),E.key==="Home"&&(W=0),E.key==="End"&&(W=M.length-1),W!==null&&(E.preventDefault(),M[W]?.focus())};return l.jsxs("section",{className:"session-analyst__artifacts","aria-label":s("terminal.companion.artifacts"),children:[l.jsxs("header",{className:"session-analyst__panel-head session-analyst__panel-head--artifacts",children:[l.jsx("span",{className:"session-analyst__panel-mark session-analyst__panel-mark--artifact","aria-hidden":"true",children:"◇"}),l.jsxs("span",{className:"session-analyst__panel-copy",children:[l.jsx("strong",{children:s("terminal.companion.artifacts")}),l.jsx("small",{children:s("terminal.artifacts.subtitle")})]}),l.jsxs("div",{className:"session-analyst__artifact-list-shell",ref:k,children:[l.jsxs("button",{type:"button",className:"session-analyst__artifact-count","aria-expanded":f,"aria-controls":S,"aria-haspopup":"listbox","aria-label":s(f?Y===1?"terminal.artifacts.hideCount_one":"terminal.artifacts.hideCount_other":Y===1?"terminal.artifacts.showCount_one":"terminal.artifacts.showCount_other",{count:Y}),onClick:()=>g(E=>!E),disabled:!Y,children:[l.jsx("strong",{children:Y})," ",l.jsx("span",{children:r==="ko"?"개":Y===1?"item":"items"}),l.jsx("i",{"aria-hidden":"true"})]}),f?l.jsx("div",{className:"session-analyst__artifact-menu",id:S,role:"listbox","aria-label":s("terminal.artifacts.published"),children:o.map(E=>{const M=E.id===H?.id;return l.jsxs("button",{type:"button",role:"option","aria-selected":M,className:M?"is-active":void 0,title:E.title,onClick:()=>{h(E.id),g(!1)},children:[l.jsx("span",{className:"session-analyst__artifact-list-mark","aria-hidden":"true",children:"◇"}),l.jsx("strong",{children:E.title}),l.jsx(_6,{createdAt:E.createdAt,language:r})]},E.id)})}):null]}),l.jsxs("div",{className:"session-analyst__export-shell",ref:O,children:[l.jsx("button",{type:"button",className:"session-analyst__export",ref:z,"aria-haspopup":"menu","aria-expanded":y,"aria-controls":C,disabled:!H,onClick:()=>{y?K():(I.current+=1,_(!0))},children:s("terminal.artifacts.export")}),y?l.jsxs("div",{className:"session-analyst__export-menu",id:C,role:"menu",ref:R,onKeyDown:P,children:[l.jsx("button",{type:"button",role:"menuitem",onClick:$,children:s("terminal.artifacts.exportDownload")}),l.jsx("button",{type:"button",role:"menuitem",onClick:()=>{j()},children:s(b?"terminal.artifacts.exportCopied":"terminal.artifacts.exportCopy")}),l.jsx("button",{type:"button",role:"menuitem",onClick:N,children:s("terminal.artifacts.exportOpenTab")})]}):null]}),l.jsx("button",{type:"button",className:"session-analyst__clear",onClick:()=>{g(!1),n({type:"clear-artifacts"}),h6(e.api,e.operationId).catch(()=>{})},disabled:!Y,children:s("terminal.artifacts.clear")})]}),Y===0?l.jsxs("div",{className:"session-analyst__artifacts-empty",children:[l.jsx("strong",{children:s("terminal.artifacts.emptyTitle")}),s("terminal.artifacts.emptyBody")]}):l.jsx("div",{className:"session-analyst__artifact-content",children:H?l.jsx(sX,{artifact:H,theme:e.theme,language:r},H.id):null})]})}function sX({artifact:e,theme:t,language:n}){if(!e.id)return null;const r=It(n),{canvas:s,foreground:o}=v6();return l.jsxs("article",{"aria-label":r("terminal.artifacts.selectedPreview"),children:[l.jsxs("header",{children:[l.jsx("span",{className:"session-analyst__artifact-title",children:e.title}),l.jsx(_6,{createdAt:e.createdAt,language:n})]}),l.jsx("iframe",{title:e.title,src:d6(e.id,t,s,o),sandbox:"allow-scripts"})]})}function v6(){const e=getComputedStyle(document.documentElement);return{canvas:e.getPropertyValue("--ink-veil").trim()||"Canvas",foreground:e.getPropertyValue("--ink-pearl").trim()||"CanvasText"}}function _6({createdAt:e,language:t}){const n=It(t),r=new Date(e),s=Number.isFinite(r.getTime());return l.jsx("time",{dateTime:s?r.toISOString():void 0,children:s?r.toLocaleTimeString(t==="ko"?"ko-KR":"en",{hour:"2-digit",minute:"2-digit"}):n("terminal.artifacts.unknownTime")})}const aX="modulepreload",oX=function(e){return"/console/"+e},R5={},lX=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let h=function(f){return Promise.all(f.map(g=>Promise.resolve(g).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),d=c?.nonce||c?.getAttribute("nonce");s=h(n.map(f=>{if(f=oX(f),f in R5)return;R5[f]=!0;const g=f.endsWith(".css"),y=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${f}"]${y}`))return;const _=document.createElement("link");if(_.rel=g?"stylesheet":aX,g||(_.as="script"),_.crossOrigin="",_.href=f,d&&_.setAttribute("nonce",d),document.head.appendChild(_),g)return new Promise((b,x)=>{_.addEventListener("load",b),_.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${f}`)))})}))}function o(c){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=c,window.dispatchEvent(d),!d.defaultPrevented)throw c}return s.then(c=>{for(const d of c||[])d.status==="rejected"&&o(d.reason);return t().catch(o)})};const{entries:b6,setPrototypeOf:M5,isFrozen:cX,getPrototypeOf:uX,getOwnPropertyDescriptor:dX}=Object;let{freeze:li,seal:bs,create:Zc}=Object,{apply:Kw,construct:Vw}=typeof Reflect<"u"&&Reflect;li||(li=function(t){return t});bs||(bs=function(t){return t});Kw||(Kw=function(t,n){for(var r=arguments.length,s=new Array(r>2?r-2:0),o=2;o<r;o++)s[o-2]=arguments[o];return t.apply(n,s)});Vw||(Vw=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s<n;s++)r[s-1]=arguments[s];return new t(...r)});const Vd=mr(Array.prototype.forEach),hX=mr(Array.prototype.lastIndexOf),N5=mr(Array.prototype.pop),Yd=mr(Array.prototype.push),fX=mr(Array.prototype.splice),ri=Array.isArray,ph=mr(String.prototype.toLowerCase),pb=mr(String.prototype.toString),L5=mr(String.prototype.match),Hc=mr(String.prototype.replace),j5=mr(String.prototype.indexOf),pX=mr(String.prototype.trim),mX=mr(Number.prototype.toString),gX=mr(Boolean.prototype.toString),I5=typeof BigInt>"u"?null:mr(BigInt.prototype.toString),O5=typeof Symbol>"u"?null:mr(Symbol.prototype.toString),Yn=mr(Object.prototype.hasOwnProperty),Xd=mr(Object.prototype.toString),Hr=mr(RegExp.prototype.test),$p=yX(TypeError);function mr(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),s=1;s<n;s++)r[s-1]=arguments[s];return Kw(e,t,r)}}function yX(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Vw(e,n)}}function Ut(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ph;if(M5&&M5(e,null),!ri(t))return e;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){const o=n(s);o!==s&&(cX(t)||(t[r]=o),s=o)}e[s]=!0}return e}function vX(e){for(let t=0;t<e.length;t++)Yn(e,t)||(e[t]=null);return e}function xi(e){const t=Zc(null);for(const[n,r]of b6(e))Yn(e,n)&&(ri(r)?t[n]=vX(r):r&&typeof r=="object"&&r.constructor===Object?t[n]=xi(r):t[n]=r);return t}function _X(e){switch(typeof e){case"string":return e;case"number":return mX(e);case"boolean":return gX(e);case"bigint":return I5?I5(e):"0";case"symbol":return O5?O5(e):"Symbol()";case"undefined":return Xd(e);case"function":case"object":{if(e===null)return Xd(e);const t=e,n=Qc(t,"toString");if(typeof n=="function"){const r=n(t);return typeof r=="string"?r:Xd(r)}return Xd(e)}default:return Xd(e)}}function Qc(e,t){for(;e!==null;){const r=dX(e,t);if(r){if(r.get)return mr(r.get);if(typeof r.value=="function")return mr(r.value)}e=uX(e)}function n(){return null}return n}function bX(e){try{return Hr(e,""),!0}catch{return!1}}const D5=li(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),mb=li(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),gb=li(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),wX=li(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),yb=li(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),xX=li(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),B5=li(["#text"]),P5=li(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),vb=li(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$5=li(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),zp=li(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),SX=bs(/\{\{[\w\W]*|[\w\W]*\}\}/gm),kX=bs(/<%[\w\W]*|[\w\W]*%>/gm),CX=bs(/\$\{[\w\W]*/gm),EX=bs(/^data-[\-\w.\u00B7-\uFFFF]+$/),AX=bs(/^aria-[\-\w]+$/),w6=bs(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),TX=bs(/^(?:\w+script|data):/i),RX=bs(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),x6=bs(/^html$/i),MX=bs(/^[a-z][.\w]*(-[.\w]+)+$/i);var z5=Object.freeze({__proto__:null,ARIA_ATTR:AX,ATTR_WHITESPACE:RX,CUSTOM_ELEMENT:MX,DATA_ATTR:EX,DOCTYPE_NAME:x6,ERB_EXPR:kX,IS_ALLOWED_URI:w6,IS_SCRIPT_OR_DATA:TX,MUSTACHE_EXPR:SX,TMPLIT_EXPR:CX});const Zd={element:1,text:3,progressingInstruction:7,comment:8,document:9},NX=function(){return typeof window>"u"?null:window},LX=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";n&&n.hasAttribute(s)&&(r=n.getAttribute(s));const o="dompurify"+(r?"#"+r:"");try{return t.createPolicy(o,{createHTML(c){return c},createScriptURL(c){return c}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},F5=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function S6(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:NX();const t=Ue=>S6(Ue);if(t.version="3.4.2",t.removed=[],!e||!e.document||e.document.nodeType!==Zd.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e;const r=n,s=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:c,Node:d,Element:h,NodeFilter:f,NamedNodeMap:g=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:y,DOMParser:_,trustedTypes:b}=e,x=h.prototype,S=Qc(x,"cloneNode"),C=Qc(x,"remove"),k=Qc(x,"nextSibling"),O=Qc(x,"childNodes"),z=Qc(x,"parentNode");if(typeof c=="function"){const Ue=n.createElement("template");Ue.content&&Ue.content.ownerDocument&&(n=Ue.content.ownerDocument)}let R,B="";const{implementation:L,createNodeIterator:I,createDocumentFragment:H,getElementsByTagName:Y}=n,{importNode:Z}=r;let K=F5();t.isSupported=typeof b6=="function"&&typeof z=="function"&&L&&L.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:$,ERB_EXPR:j,TMPLIT_EXPR:N,DATA_ATTR:P,ARIA_ATTR:E,IS_SCRIPT_OR_DATA:M,ATTR_WHITESPACE:T,CUSTOM_ELEMENT:W}=z5;let{IS_ALLOWED_URI:J}=z5,D=null;const q=Ut({},[...D5,...mb,...gb,...yb,...B5]);let X=null;const V=Ut({},[...P5,...vb,...$5,...zp]);let G=Object.seal(Zc(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),F=null,re=null;const oe=Object.seal(Zc(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let le=!0,Be=!0,De=!1,rt=!0,ce=!1,Me=!0,$e=!1,it=!1,fe=!1,pe=!1,ze=!1,Fe=!1,xe=!0,at=!1;const Tt="user-content-";let Xe=!0,_t=!1,ke={},Pe=null;const Ge=Ut({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let bt=null;const Ze=Ut({},["audio","video","img","source","image","track"]);let ut=null;const pt=Ut({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",se="http://www.w3.org/2000/svg",Ae="http://www.w3.org/1999/xhtml";let Ve=Ae,Wt=!1,ae=null;const ye=Ut({},[ht,se,Ae],pb);let We=Ut({},["mi","mo","mn","ms","mtext"]),Oe=Ut({},["annotation-xml"]);const Je=Ut({},["title","style","font","a","script"]);let vt=null;const te=["application/xhtml+xml","text/html"],_e="text/html";let Te=null,ot=null;const qt=n.createElement("form"),Lt=function(ee){return ee instanceof RegExp||ee instanceof Function},be=function(){let ee=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ot&&ot===ee)return;(!ee||typeof ee!="object")&&(ee={}),ee=xi(ee),vt=te.indexOf(ee.PARSER_MEDIA_TYPE)===-1?_e:ee.PARSER_MEDIA_TYPE,Te=vt==="application/xhtml+xml"?pb:ph,D=Yn(ee,"ALLOWED_TAGS")&&ri(ee.ALLOWED_TAGS)?Ut({},ee.ALLOWED_TAGS,Te):q,X=Yn(ee,"ALLOWED_ATTR")&&ri(ee.ALLOWED_ATTR)?Ut({},ee.ALLOWED_ATTR,Te):V,ae=Yn(ee,"ALLOWED_NAMESPACES")&&ri(ee.ALLOWED_NAMESPACES)?Ut({},ee.ALLOWED_NAMESPACES,pb):ye,ut=Yn(ee,"ADD_URI_SAFE_ATTR")&&ri(ee.ADD_URI_SAFE_ATTR)?Ut(xi(pt),ee.ADD_URI_SAFE_ATTR,Te):pt,bt=Yn(ee,"ADD_DATA_URI_TAGS")&&ri(ee.ADD_DATA_URI_TAGS)?Ut(xi(Ze),ee.ADD_DATA_URI_TAGS,Te):Ze,Pe=Yn(ee,"FORBID_CONTENTS")&&ri(ee.FORBID_CONTENTS)?Ut({},ee.FORBID_CONTENTS,Te):Ge,F=Yn(ee,"FORBID_TAGS")&&ri(ee.FORBID_TAGS)?Ut({},ee.FORBID_TAGS,Te):xi({}),re=Yn(ee,"FORBID_ATTR")&&ri(ee.FORBID_ATTR)?Ut({},ee.FORBID_ATTR,Te):xi({}),ke=Yn(ee,"USE_PROFILES")?ee.USE_PROFILES&&typeof ee.USE_PROFILES=="object"?xi(ee.USE_PROFILES):ee.USE_PROFILES:!1,le=ee.ALLOW_ARIA_ATTR!==!1,Be=ee.ALLOW_DATA_ATTR!==!1,De=ee.ALLOW_UNKNOWN_PROTOCOLS||!1,rt=ee.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ce=ee.SAFE_FOR_TEMPLATES||!1,Me=ee.SAFE_FOR_XML!==!1,$e=ee.WHOLE_DOCUMENT||!1,pe=ee.RETURN_DOM||!1,ze=ee.RETURN_DOM_FRAGMENT||!1,Fe=ee.RETURN_TRUSTED_TYPE||!1,fe=ee.FORCE_BODY||!1,xe=ee.SANITIZE_DOM!==!1,at=ee.SANITIZE_NAMED_PROPS||!1,Xe=ee.KEEP_CONTENT!==!1,_t=ee.IN_PLACE||!1,J=bX(ee.ALLOWED_URI_REGEXP)?ee.ALLOWED_URI_REGEXP:w6,Ve=typeof ee.NAMESPACE=="string"?ee.NAMESPACE:Ae,We=Yn(ee,"MATHML_TEXT_INTEGRATION_POINTS")&&ee.MATHML_TEXT_INTEGRATION_POINTS&&typeof ee.MATHML_TEXT_INTEGRATION_POINTS=="object"?xi(ee.MATHML_TEXT_INTEGRATION_POINTS):Ut({},["mi","mo","mn","ms","mtext"]),Oe=Yn(ee,"HTML_INTEGRATION_POINTS")&&ee.HTML_INTEGRATION_POINTS&&typeof ee.HTML_INTEGRATION_POINTS=="object"?xi(ee.HTML_INTEGRATION_POINTS):Ut({},["annotation-xml"]);const Ce=Yn(ee,"CUSTOM_ELEMENT_HANDLING")&&ee.CUSTOM_ELEMENT_HANDLING&&typeof ee.CUSTOM_ELEMENT_HANDLING=="object"?xi(ee.CUSTOM_ELEMENT_HANDLING):Zc(null);if(G=Zc(null),Yn(Ce,"tagNameCheck")&&Lt(Ce.tagNameCheck)&&(G.tagNameCheck=Ce.tagNameCheck),Yn(Ce,"attributeNameCheck")&&Lt(Ce.attributeNameCheck)&&(G.attributeNameCheck=Ce.attributeNameCheck),Yn(Ce,"allowCustomizedBuiltInElements")&&typeof Ce.allowCustomizedBuiltInElements=="boolean"&&(G.allowCustomizedBuiltInElements=Ce.allowCustomizedBuiltInElements),ce&&(Be=!1),ze&&(pe=!0),ke&&(D=Ut({},B5),X=Zc(null),ke.html===!0&&(Ut(D,D5),Ut(X,P5)),ke.svg===!0&&(Ut(D,mb),Ut(X,vb),Ut(X,zp)),ke.svgFilters===!0&&(Ut(D,gb),Ut(X,vb),Ut(X,zp)),ke.mathMl===!0&&(Ut(D,yb),Ut(X,$5),Ut(X,zp))),oe.tagCheck=null,oe.attributeCheck=null,Yn(ee,"ADD_TAGS")&&(typeof ee.ADD_TAGS=="function"?oe.tagCheck=ee.ADD_TAGS:ri(ee.ADD_TAGS)&&(D===q&&(D=xi(D)),Ut(D,ee.ADD_TAGS,Te))),Yn(ee,"ADD_ATTR")&&(typeof ee.ADD_ATTR=="function"?oe.attributeCheck=ee.ADD_ATTR:ri(ee.ADD_ATTR)&&(X===V&&(X=xi(X)),Ut(X,ee.ADD_ATTR,Te))),Yn(ee,"ADD_URI_SAFE_ATTR")&&ri(ee.ADD_URI_SAFE_ATTR)&&Ut(ut,ee.ADD_URI_SAFE_ATTR,Te),Yn(ee,"FORBID_CONTENTS")&&ri(ee.FORBID_CONTENTS)&&(Pe===Ge&&(Pe=xi(Pe)),Ut(Pe,ee.FORBID_CONTENTS,Te)),Yn(ee,"ADD_FORBID_CONTENTS")&&ri(ee.ADD_FORBID_CONTENTS)&&(Pe===Ge&&(Pe=xi(Pe)),Ut(Pe,ee.ADD_FORBID_CONTENTS,Te)),Xe&&(D["#text"]=!0),$e&&Ut(D,["html","head","body"]),D.table&&(Ut(D,["tbody"]),delete F.tbody),ee.TRUSTED_TYPES_POLICY){if(typeof ee.TRUSTED_TYPES_POLICY.createHTML!="function")throw $p('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof ee.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw $p('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');R=ee.TRUSTED_TYPES_POLICY,B=R.createHTML("")}else R===void 0&&(R=LX(b,s)),R!==null&&typeof B=="string"&&(B=R.createHTML(""));li&&li(ee),ot=ee},Ie=Ut({},[...mb,...gb,...wX]),Qe=Ut({},[...yb,...xX]),jt=function(ee){let Ce=z(ee);(!Ce||!Ce.tagName)&&(Ce={namespaceURI:Ve,tagName:"template"});const Ye=ph(ee.tagName),Pt=ph(Ce.tagName);return ae[ee.namespaceURI]?ee.namespaceURI===se?Ce.namespaceURI===Ae?Ye==="svg":Ce.namespaceURI===ht?Ye==="svg"&&(Pt==="annotation-xml"||We[Pt]):!!Ie[Ye]:ee.namespaceURI===ht?Ce.namespaceURI===Ae?Ye==="math":Ce.namespaceURI===se?Ye==="math"&&Oe[Pt]:!!Qe[Ye]:ee.namespaceURI===Ae?Ce.namespaceURI===se&&!Oe[Pt]||Ce.namespaceURI===ht&&!We[Pt]?!1:!Qe[Ye]&&(Je[Ye]||!Ie[Ye]):!!(vt==="application/xhtml+xml"&&ae[ee.namespaceURI]):!1},St=function(ee){Yd(t.removed,{element:ee});try{z(ee).removeChild(ee)}catch{C(ee)}},Bn=function(ee,Ce){try{Yd(t.removed,{attribute:Ce.getAttributeNode(ee),from:Ce})}catch{Yd(t.removed,{attribute:null,from:Ce})}if(Ce.removeAttribute(ee),ee==="is")if(pe||ze)try{St(Ce)}catch{}else try{Ce.setAttribute(ee,"")}catch{}},Le=function(ee){let Ce=null,Ye=null;if(fe)ee="<remove></remove>"+ee;else{const Dt=L5(ee,/^[\r\n\t ]+/);Ye=Dt&&Dt[0]}vt==="application/xhtml+xml"&&Ve===Ae&&(ee='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+ee+"</body></html>");const Pt=R?R.createHTML(ee):ee;if(Ve===Ae)try{Ce=new _().parseFromString(Pt,vt)}catch{}if(!Ce||!Ce.documentElement){Ce=L.createDocument(Ve,"template",null);try{Ce.documentElement.innerHTML=Wt?B:Pt}catch{}}const Mt=Ce.body||Ce.documentElement;return ee&&Ye&&Mt.insertBefore(n.createTextNode(Ye),Mt.childNodes[0]||null),Ve===Ae?Y.call(Ce,$e?"html":"body")[0]:$e?Ce.documentElement:Mt},mt=function(ee){return I.call(ee.ownerDocument||ee,ee,f.SHOW_ELEMENT|f.SHOW_COMMENT|f.SHOW_TEXT|f.SHOW_PROCESSING_INSTRUCTION|f.SHOW_CDATA_SECTION,null)},Rt=function(ee){return ee instanceof y&&(typeof ee.nodeName!="string"||typeof ee.textContent!="string"||typeof ee.removeChild!="function"||!(ee.attributes instanceof g)||typeof ee.removeAttribute!="function"||typeof ee.setAttribute!="function"||typeof ee.namespaceURI!="string"||typeof ee.insertBefore!="function"||typeof ee.hasChildNodes!="function")},Zt=function(ee){return typeof d=="function"&&ee instanceof d};function Ft(Ue,ee,Ce){Vd(Ue,Ye=>{Ye.call(t,ee,Ce,ot)})}const Qt=function(ee){let Ce=null;if(Ft(K.beforeSanitizeElements,ee,null),Rt(ee))return St(ee),!0;const Ye=Te(ee.nodeName);if(Ft(K.uponSanitizeElement,ee,{tagName:Ye,allowedTags:D}),Me&&ee.hasChildNodes()&&!Zt(ee.firstElementChild)&&Hr(/<[/\w!]/g,ee.innerHTML)&&Hr(/<[/\w!]/g,ee.textContent)||Me&&ee.namespaceURI===Ae&&Ye==="style"&&Zt(ee.firstElementChild)||ee.nodeType===Zd.progressingInstruction||Me&&ee.nodeType===Zd.comment&&Hr(/<[/\w]/g,ee.data))return St(ee),!0;if(F[Ye]||!(oe.tagCheck instanceof Function&&oe.tagCheck(Ye))&&!D[Ye]){if(!F[Ye]&&lt(Ye)&&(G.tagNameCheck instanceof RegExp&&Hr(G.tagNameCheck,Ye)||G.tagNameCheck instanceof Function&&G.tagNameCheck(Ye)))return!1;if(Xe&&!Pe[Ye]){const Pt=z(ee)||ee.parentNode,Mt=O(ee)||ee.childNodes;if(Mt&&Pt){const Dt=Mt.length;for(let gn=Dt-1;gn>=0;--gn){const Mn=S(Mt[gn],!0);Pt.insertBefore(Mn,k(ee))}}}return St(ee),!0}return ee instanceof h&&!jt(ee)||(Ye==="noscript"||Ye==="noembed"||Ye==="noframes")&&Hr(/<\/no(script|embed|frames)/i,ee.innerHTML)?(St(ee),!0):(ce&&ee.nodeType===Zd.text&&(Ce=ee.textContent,Vd([$,j,N],Pt=>{Ce=Hc(Ce,Pt," ")}),ee.textContent!==Ce&&(Yd(t.removed,{element:ee.cloneNode()}),ee.textContent=Ce)),Ft(K.afterSanitizeElements,ee,null),!1)},An=function(ee,Ce,Ye){if(re[Ce]||xe&&(Ce==="id"||Ce==="name")&&(Ye in n||Ye in qt))return!1;const Pt=X[Ce]||oe.attributeCheck instanceof Function&&oe.attributeCheck(Ce,ee);if(!(Be&&!re[Ce]&&Hr(P,Ce))){if(!(le&&Hr(E,Ce))){if(!Pt||re[Ce]){if(!(lt(ee)&&(G.tagNameCheck instanceof RegExp&&Hr(G.tagNameCheck,ee)||G.tagNameCheck instanceof Function&&G.tagNameCheck(ee))&&(G.attributeNameCheck instanceof RegExp&&Hr(G.attributeNameCheck,Ce)||G.attributeNameCheck instanceof Function&&G.attributeNameCheck(Ce,ee))||Ce==="is"&&G.allowCustomizedBuiltInElements&&(G.tagNameCheck instanceof RegExp&&Hr(G.tagNameCheck,Ye)||G.tagNameCheck instanceof Function&&G.tagNameCheck(Ye))))return!1}else if(!ut[Ce]){if(!Hr(J,Hc(Ye,T,""))){if(!((Ce==="src"||Ce==="xlink:href"||Ce==="href")&&ee!=="script"&&j5(Ye,"data:")===0&&bt[ee])){if(!(De&&!Hr(M,Hc(Ye,T,"")))){if(Ye)return!1}}}}}}return!0},he=Ut({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),lt=function(ee){return!he[ph(ee)]&&Hr(W,ee)},Et=function(ee){Ft(K.beforeSanitizeAttributes,ee,null);const{attributes:Ce}=ee;if(!Ce||Rt(ee))return;const Ye={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let Pt=Ce.length;for(;Pt--;){const Mt=Ce[Pt],{name:Dt,namespaceURI:gn,value:Mn}=Mt,Q=Te(Dt),Ee=Mn;let He=Dt==="value"?Ee:pX(Ee);if(Ye.attrName=Q,Ye.attrValue=He,Ye.keepAttr=!0,Ye.forceKeepAttr=void 0,Ft(K.uponSanitizeAttribute,ee,Ye),He=Ye.attrValue,at&&(Q==="id"||Q==="name")&&j5(He,Tt)!==0&&(Bn(Dt,ee),He=Tt+He),Me&&Hr(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,He)){Bn(Dt,ee);continue}if(Q==="attributename"&&L5(He,"href")){Bn(Dt,ee);continue}if(Ye.forceKeepAttr)continue;if(!Ye.keepAttr){Bn(Dt,ee);continue}if(!rt&&Hr(/\/>/i,He)){Bn(Dt,ee);continue}ce&&Vd([$,j,N],st=>{He=Hc(He,st," ")});const tt=Te(ee.nodeName);if(!An(tt,Q,He)){Bn(Dt,ee);continue}if(R&&typeof b=="object"&&typeof b.getAttributeType=="function"&&!gn)switch(b.getAttributeType(tt,Q)){case"TrustedHTML":{He=R.createHTML(He);break}case"TrustedScriptURL":{He=R.createScriptURL(He);break}}if(He!==Ee)try{gn?ee.setAttributeNS(gn,Dt,He):ee.setAttribute(Dt,He),Rt(ee)?St(ee):N5(t.removed)}catch{Bn(Dt,ee)}}Ft(K.afterSanitizeAttributes,ee,null)},nn=function(ee){let Ce=null;const Ye=mt(ee);for(Ft(K.beforeSanitizeShadowDOM,ee,null);Ce=Ye.nextNode();)Ft(K.uponSanitizeShadowNode,Ce,null),Qt(Ce),Et(Ce),Ce.content instanceof o&&nn(Ce.content);Ft(K.afterSanitizeShadowDOM,ee,null)};return t.sanitize=function(Ue){let ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ce=null,Ye=null,Pt=null,Mt=null;if(Wt=!Ue,Wt&&(Ue="<!-->"),typeof Ue!="string"&&!Zt(Ue)&&(Ue=_X(Ue),typeof Ue!="string"))throw $p("dirty is not a string, aborting");if(!t.isSupported)return Ue;if(it||be(ee),t.removed=[],typeof Ue=="string"&&(_t=!1),_t){const Mn=Ue.nodeName;if(typeof Mn=="string"){const Q=Te(Mn);if(!D[Q]||F[Q])throw $p("root node is forbidden and cannot be sanitized in-place")}}else if(Ue instanceof d)Ce=Le("<!---->"),Ye=Ce.ownerDocument.importNode(Ue,!0),Ye.nodeType===Zd.element&&Ye.nodeName==="BODY"||Ye.nodeName==="HTML"?Ce=Ye:Ce.appendChild(Ye);else{if(!pe&&!ce&&!$e&&Ue.indexOf("<")===-1)return R&&Fe?R.createHTML(Ue):Ue;if(Ce=Le(Ue),!Ce)return pe?null:Fe?B:""}Ce&&fe&&St(Ce.firstChild);const Dt=mt(_t?Ue:Ce);for(;Pt=Dt.nextNode();)Qt(Pt),Et(Pt),Pt.content instanceof o&&nn(Pt.content);if(_t)return Ue;if(pe){if(ce){Ce.normalize();let Mn=Ce.innerHTML;Vd([$,j,N],Q=>{Mn=Hc(Mn,Q," ")}),Ce.innerHTML=Mn}if(ze)for(Mt=H.call(Ce.ownerDocument);Ce.firstChild;)Mt.appendChild(Ce.firstChild);else Mt=Ce;return(X.shadowroot||X.shadowrootmode)&&(Mt=Z.call(r,Mt,!0)),Mt}let gn=$e?Ce.outerHTML:Ce.innerHTML;return $e&&D["!doctype"]&&Ce.ownerDocument&&Ce.ownerDocument.doctype&&Ce.ownerDocument.doctype.name&&Hr(x6,Ce.ownerDocument.doctype.name)&&(gn="<!DOCTYPE "+Ce.ownerDocument.doctype.name+`>
99
99
  `+gn),ce&&Vd([$,j,N],Mn=>{gn=Hc(gn,Mn," ")}),R&&Fe?R.createHTML(gn):gn},t.setConfig=function(){let Ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};be(Ue),it=!0},t.clearConfig=function(){ot=null,it=!1},t.isValidAttribute=function(Ue,ee,Ce){ot||be({});const Ye=Te(Ue),Pt=Te(ee);return An(Ye,Pt,Ce)},t.addHook=function(Ue,ee){typeof ee=="function"&&Yd(K[Ue],ee)},t.removeHook=function(Ue,ee){if(ee!==void 0){const Ce=hX(K[Ue],ee);return Ce===-1?void 0:fX(K[Ue],Ce,1)[0]}return N5(K[Ue])},t.removeHooks=function(Ue){K[Ue]=[]},t.removeAllHooks=function(){K=F5()},t}var Th=S6();function pS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ac=pS();function k6(e){ac=e}var Rh={exec:()=>null};function un(e,t=""){let n=typeof e=="string"?e:e.source,r={replace:(s,o)=>{let c=typeof o=="string"?o:o.source;return c=c.replace(oi.caret,"$1"),n=n.replace(s,c),r},getRegex:()=>new RegExp(n,t)};return r}var jX=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),oi={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},IX=/^(?:[ \t]*(?:\n|$))+/,OX=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,DX=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,df=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,BX=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,mS=/(?:[*+-]|\d{1,9}[.)])/,C6=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,E6=un(C6).replace(/bull/g,mS).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),PX=un(C6).replace(/bull/g,mS).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),gS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,$X=/^[^\n]+/,yS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,zX=un(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",yS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),FX=un(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,mS).getRegex(),cy="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",vS=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,HX=un("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",vS).replace("tag",cy).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),A6=un(gS).replace("hr",df).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cy).getRegex(),UX=un(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",A6).getRegex(),_S={blockquote:UX,code:OX,def:zX,fences:DX,heading:BX,hr:df,html:HX,lheading:E6,list:FX,newline:IX,paragraph:A6,table:Rh,text:$X},H5=un("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",df).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cy).getRegex(),WX={..._S,lheading:PX,table:H5,paragraph:un(gS).replace("hr",df).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",H5).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cy).getRegex()},qX={..._S,html:un(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",vS).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Rh,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:un(gS).replace("hr",df).replace("heading",` *#{1,6} *[^
100
100
  ]`).replace("lheading",E6).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},GX=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,KX=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,T6=/^( {2,}|\\)\n(?!\s*$)/,VX=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,uy=/[\p{P}\p{S}]/u,bS=/[\s\p{P}\p{S}]/u,R6=/[^\s\p{P}\p{S}]/u,YX=un(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,bS).getRegex(),M6=/(?!~)[\p{P}\p{S}]/u,XX=/(?!~)[\s\p{P}\p{S}]/u,ZX=/(?:[^\s\p{P}\p{S}]|~)/u,QX=un(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",jX?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),N6=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,JX=un(N6,"u").replace(/punct/g,uy).getRegex(),eZ=un(N6,"u").replace(/punct/g,M6).getRegex(),L6="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",tZ=un(L6,"gu").replace(/notPunctSpace/g,R6).replace(/punctSpace/g,bS).replace(/punct/g,uy).getRegex(),nZ=un(L6,"gu").replace(/notPunctSpace/g,ZX).replace(/punctSpace/g,XX).replace(/punct/g,M6).getRegex(),rZ=un("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,R6).replace(/punctSpace/g,bS).replace(/punct/g,uy).getRegex(),iZ=un(/\\(punct)/,"gu").replace(/punct/g,uy).getRegex(),sZ=un(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),aZ=un(vS).replace("(?:-->|$)","-->").getRegex(),oZ=un("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",aZ).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),hg=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,lZ=un(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",hg).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),j6=un(/^!?\[(label)\]\[(ref)\]/).replace("label",hg).replace("ref",yS).getRegex(),I6=un(/^!?\[(ref)\](?:\[\])?/).replace("ref",yS).getRegex(),cZ=un("reflink|nolink(?!\\()","g").replace("reflink",j6).replace("nolink",I6).getRegex(),U5=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,wS={_backpedal:Rh,anyPunctuation:iZ,autolink:sZ,blockSkip:QX,br:T6,code:KX,del:Rh,emStrongLDelim:JX,emStrongRDelimAst:tZ,emStrongRDelimUnd:rZ,escape:GX,link:lZ,nolink:I6,punctuation:YX,reflink:j6,reflinkSearch:cZ,tag:oZ,text:VX,url:Rh},uZ={...wS,link:un(/^!?\[(label)\]\((.*?)\)/).replace("label",hg).getRegex(),reflink:un(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",hg).getRegex()},Yw={...wS,emStrongRDelimAst:nZ,emStrongLDelim:eZ,url:un(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",U5).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:un(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",U5).getRegex()},dZ={...Yw,br:un(T6).replace("{2,}","*").getRegex(),text:un(Yw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Fp={normal:_S,gfm:WX,pedantic:qX},Qd={normal:wS,gfm:Yw,breaks:dZ,pedantic:uZ},hZ={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},W5=e=>hZ[e];function Xs(e,t){if(t){if(oi.escapeTest.test(e))return e.replace(oi.escapeReplace,W5)}else if(oi.escapeTestNoEncode.test(e))return e.replace(oi.escapeReplaceNoEncode,W5);return e}function q5(e){try{e=encodeURI(e).replace(oi.percentDecode,"%")}catch{return null}return e}function G5(e,t){let n=e.replace(oi.findPipe,(o,c,d)=>{let h=!1,f=c;for(;--f>=0&&d[f]==="\\";)h=!h;return h?"|":" |"}),r=n.split(oi.splitPipe),s=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(oi.slashPipe,"|");return r}function Jd(e,t,n){let r=e.length;if(r===0)return"";let s=0;for(;s<r&&e.charAt(r-s-1)===t;)s++;return e.slice(0,r-s)}function fZ(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function K5(e,t,n,r,s){let o=t.href,c=t.title||null,d=e[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;let h={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:o,title:c,text:d,tokens:r.inlineTokens(d)};return r.state.inLink=!1,h}function pZ(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let s=r[1];return t.split(`
@@ -157,7 +157,7 @@ ${e}</tr>
157
157
  `+this.renderer.text(d);n?r+=this.renderer.paragraph({type:"paragraph",raw:h,text:h,tokens:[{type:"text",raw:h,text:h,escaped:!0}]}):r+=h;continue}default:{let d='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return r}parseInline(t,n=this.renderer){let r="";for(let s=0;s<t.length;s++){let o=t[s];if(this.options.extensions?.renderers?.[o.type]){let d=this.options.extensions.renderers[o.type].call({parser:this},o);if(d!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=d||"";continue}}let c=o;switch(c.type){case"escape":{r+=n.text(c);break}case"html":{r+=n.html(c);break}case"link":{r+=n.link(c);break}case"image":{r+=n.image(c);break}case"strong":{r+=n.strong(c);break}case"em":{r+=n.em(c);break}case"codespan":{r+=n.codespan(c);break}case"br":{r+=n.br(c);break}case"del":{r+=n.del(c);break}case"text":{r+=n.text(c);break}default:{let d='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}return r}},mh=class{options;block;constructor(e){this.options=e||ac}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(){return this.block?Es.lex:Es.lexInline}provideParser(){return this.block?As.parse:As.parseInline}},O6=class{defaults=pS();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=As;Renderer=pg;TextRenderer=xS;Lexer=Es;Tokenizer=fg;Hooks=mh;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 s=r;for(let o of s.header)n=n.concat(this.walkTokens(o.tokens,t));for(let o of s.rows)for(let c of o)n=n.concat(this.walkTokens(c.tokens,t));break}case"list":{let s=r;n=n.concat(this.walkTokens(s.items,t));break}default:{let s=r;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(o=>{let c=s[o].flat(1/0);n=n.concat(this.walkTokens(c,t))}):s.tokens&&(n=n.concat(this.walkTokens(s.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let o=t.renderers[s.name];o?t.renderers[s.name]=function(...c){let d=s.renderer.apply(this,c);return d===!1&&(d=o.apply(this,c)),d}:t.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=t[s.level];o?o.unshift(s.tokenizer):t[s.level]=[s.tokenizer],s.start&&(s.level==="block"?t.startBlock?t.startBlock.push(s.start):t.startBlock=[s.start]:s.level==="inline"&&(t.startInline?t.startInline.push(s.start):t.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(t.childTokens[s.name]=s.childTokens)}),r.extensions=t),n.renderer){let s=this.defaults.renderer||new pg(this.defaults);for(let o in n.renderer){if(!(o in s))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let c=o,d=n.renderer[c],h=s[c];s[c]=(...f)=>{let g=d.apply(s,f);return g===!1&&(g=h.apply(s,f)),g||""}}r.renderer=s}if(n.tokenizer){let s=this.defaults.tokenizer||new fg(this.defaults);for(let o in n.tokenizer){if(!(o in s))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let c=o,d=n.tokenizer[c],h=s[c];s[c]=(...f)=>{let g=d.apply(s,f);return g===!1&&(g=h.apply(s,f)),g}}r.tokenizer=s}if(n.hooks){let s=this.defaults.hooks||new mh;for(let o in n.hooks){if(!(o in s))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let c=o,d=n.hooks[c],h=s[c];mh.passThroughHooks.has(o)?s[c]=f=>{if(this.defaults.async&&mh.passThroughHooksRespectAsync.has(o))return(async()=>{let y=await d.call(s,f);return h.call(s,y)})();let g=d.call(s,f);return h.call(s,g)}:s[c]=(...f)=>{if(this.defaults.async)return(async()=>{let y=await d.apply(s,f);return y===!1&&(y=await h.apply(s,f)),y})();let g=d.apply(s,f);return g===!1&&(g=h.apply(s,f)),g}}r.hooks=s}if(n.walkTokens){let s=this.defaults.walkTokens,o=n.walkTokens;r.walkTokens=function(c){let d=[];return d.push(o.call(this,c)),s&&(d=d.concat(s.call(this,c))),d}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Es.lex(e,t??this.defaults)}parser(e,t){return As.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},s={...this.defaults,...r},o=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&r.async===!1)return o(new 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 o(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let c=s.hooks?await s.hooks.preprocess(t):t,d=await(s.hooks?await s.hooks.provideLexer():e?Es.lex:Es.lexInline)(c,s),h=s.hooks?await s.hooks.processAllTokens(d):d;s.walkTokens&&await Promise.all(this.walkTokens(h,s.walkTokens));let f=await(s.hooks?await s.hooks.provideParser():e?As.parse:As.parseInline)(h,s);return s.hooks?await s.hooks.postprocess(f):f})().catch(o);try{s.hooks&&(t=s.hooks.preprocess(t));let c=(s.hooks?s.hooks.provideLexer():e?Es.lex:Es.lexInline)(t,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let d=(s.hooks?s.hooks.provideParser():e?As.parse:As.parseInline)(c,s);return s.hooks&&(d=s.hooks.postprocess(d)),d}catch(c){return o(c)}}}onError(e,t){return n=>{if(n.message+=`
158
158
  Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+Xs(n.message+"",!0)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}},nc=new O6;function Cn(e,t){return nc.parse(e,t)}Cn.options=Cn.setOptions=function(e){return nc.setOptions(e),Cn.defaults=nc.defaults,k6(Cn.defaults),Cn};Cn.getDefaults=pS;Cn.defaults=ac;Cn.use=function(...e){return nc.use(...e),Cn.defaults=nc.defaults,k6(Cn.defaults),Cn};Cn.walkTokens=function(e,t){return nc.walkTokens(e,t)};Cn.parseInline=nc.parseInline;Cn.Parser=As;Cn.parser=As.parse;Cn.Renderer=pg;Cn.TextRenderer=xS;Cn.Lexer=Es;Cn.lexer=Es.lex;Cn.Tokenizer=fg;Cn.Hooks=mh;Cn.parse=Cn;Cn.options;Cn.setOptions;Cn.use;Cn.walkTokens;Cn.parseInline;As.parse;Es.lex;var _b,V5;function mZ(){if(V5)return _b;V5=1;function e(te){return te instanceof Map?te.clear=te.delete=te.set=function(){throw new Error("map is read-only")}:te instanceof Set&&(te.add=te.clear=te.delete=function(){throw new Error("set is read-only")}),Object.freeze(te),Object.getOwnPropertyNames(te).forEach(_e=>{const Te=te[_e],ot=typeof Te;(ot==="object"||ot==="function")&&!Object.isFrozen(Te)&&e(Te)}),te}class t{constructor(_e){_e.data===void 0&&(_e.data={}),this.data=_e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(te){return te.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function r(te,..._e){const Te=Object.create(null);for(const ot in te)Te[ot]=te[ot];return _e.forEach(function(ot){for(const qt in ot)Te[qt]=ot[qt]}),Te}const s="</span>",o=te=>!!te.scope,c=(te,{prefix:_e})=>{if(te.startsWith("language:"))return te.replace("language:","language-");if(te.includes(".")){const Te=te.split(".");return[`${_e}${Te.shift()}`,...Te.map((ot,qt)=>`${ot}${"_".repeat(qt+1)}`)].join(" ")}return`${_e}${te}`};class d{constructor(_e,Te){this.buffer="",this.classPrefix=Te.classPrefix,_e.walk(this)}addText(_e){this.buffer+=n(_e)}openNode(_e){if(!o(_e))return;const Te=c(_e.scope,{prefix:this.classPrefix});this.span(Te)}closeNode(_e){o(_e)&&(this.buffer+=s)}value(){return this.buffer}span(_e){this.buffer+=`<span class="${_e}">`}}const h=(te={})=>{const _e={children:[]};return Object.assign(_e,te),_e};class f{constructor(){this.rootNode=h(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(_e){this.top.children.push(_e)}openNode(_e){const Te=h({scope:_e});this.add(Te),this.stack.push(Te)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(_e){return this.constructor._walk(_e,this.rootNode)}static _walk(_e,Te){return typeof Te=="string"?_e.addText(Te):Te.children&&(_e.openNode(Te),Te.children.forEach(ot=>this._walk(_e,ot)),_e.closeNode(Te)),_e}static _collapse(_e){typeof _e!="string"&&_e.children&&(_e.children.every(Te=>typeof Te=="string")?_e.children=[_e.children.join("")]:_e.children.forEach(Te=>{f._collapse(Te)}))}}class g extends f{constructor(_e){super(),this.options=_e}addText(_e){_e!==""&&this.add(_e)}startScope(_e){this.openNode(_e)}endScope(){this.closeNode()}__addSublanguage(_e,Te){const ot=_e.root;Te&&(ot.scope=`language:${Te}`),this.add(ot)}toHTML(){return new d(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function y(te){return te?typeof te=="string"?te:te.source:null}function _(te){return S("(?=",te,")")}function b(te){return S("(?:",te,")*")}function x(te){return S("(?:",te,")?")}function S(...te){return te.map(Te=>y(Te)).join("")}function C(te){const _e=te[te.length-1];return typeof _e=="object"&&_e.constructor===Object?(te.splice(te.length-1,1),_e):{}}function k(...te){return"("+(C(te).capture?"":"?:")+te.map(ot=>y(ot)).join("|")+")"}function O(te){return new RegExp(te.toString()+"|").exec("").length-1}function z(te,_e){const Te=te&&te.exec(_e);return Te&&Te.index===0}const R=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function B(te,{joinWith:_e}){let Te=0;return te.map(ot=>{Te+=1;const qt=Te;let Lt=y(ot),be="";for(;Lt.length>0;){const Ie=R.exec(Lt);if(!Ie){be+=Lt;break}be+=Lt.substring(0,Ie.index),Lt=Lt.substring(Ie.index+Ie[0].length),Ie[0][0]==="\\"&&Ie[1]?be+="\\"+String(Number(Ie[1])+qt):(be+=Ie[0],Ie[0]==="("&&Te++)}return be}).map(ot=>`(${ot})`).join(_e)}const L=/\b\B/,I="[a-zA-Z]\\w*",H="[a-zA-Z_]\\w*",Y="\\b\\d+(\\.\\d+)?",Z="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",K="\\b(0b[01]+)",$="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",j=(te={})=>{const _e=/^#![ ]*\//;return te.binary&&(te.begin=S(_e,/.*\b/,te.binary,/\b.*/)),r({scope:"meta",begin:_e,end:/$/,relevance:0,"on:begin":(Te,ot)=>{Te.index!==0&&ot.ignoreMatch()}},te)},N={begin:"\\\\[\\s\\S]",relevance:0},P={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[N]},E={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[N]},M={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},T=function(te,_e,Te={}){const ot=r({scope:"comment",begin:te,end:_e,contains:[]},Te);ot.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const qt=k("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return ot.contains.push({begin:S(/[ ]+/,"(",qt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ot},W=T("//","$"),J=T("/\\*","\\*/"),D=T("#","$"),q={scope:"number",begin:Y,relevance:0},X={scope:"number",begin:Z,relevance:0},V={scope:"number",begin:K,relevance:0},G={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[N,{begin:/\[/,end:/\]/,relevance:0,contains:[N]}]},F={scope:"title",begin:I,relevance:0},re={scope:"title",begin:H,relevance:0},oe={begin:"\\.\\s*"+H,relevance:0};var Be=Object.freeze({__proto__:null,APOS_STRING_MODE:P,BACKSLASH_ESCAPE:N,BINARY_NUMBER_MODE:V,BINARY_NUMBER_RE:K,COMMENT:T,C_BLOCK_COMMENT_MODE:J,C_LINE_COMMENT_MODE:W,C_NUMBER_MODE:X,C_NUMBER_RE:Z,END_SAME_AS_BEGIN:function(te){return Object.assign(te,{"on:begin":(_e,Te)=>{Te.data._beginMatch=_e[1]},"on:end":(_e,Te)=>{Te.data._beginMatch!==_e[1]&&Te.ignoreMatch()}})},HASH_COMMENT_MODE:D,IDENT_RE:I,MATCH_NOTHING_RE:L,METHOD_GUARD:oe,NUMBER_MODE:q,NUMBER_RE:Y,PHRASAL_WORDS_MODE:M,QUOTE_STRING_MODE:E,REGEXP_MODE:G,RE_STARTERS_RE:$,SHEBANG:j,TITLE_MODE:F,UNDERSCORE_IDENT_RE:H,UNDERSCORE_TITLE_MODE:re});function De(te,_e){te.input[te.index-1]==="."&&_e.ignoreMatch()}function rt(te,_e){te.className!==void 0&&(te.scope=te.className,delete te.className)}function ce(te,_e){_e&&te.beginKeywords&&(te.begin="\\b("+te.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",te.__beforeBegin=De,te.keywords=te.keywords||te.beginKeywords,delete te.beginKeywords,te.relevance===void 0&&(te.relevance=0))}function Me(te,_e){Array.isArray(te.illegal)&&(te.illegal=k(...te.illegal))}function $e(te,_e){if(te.match){if(te.begin||te.end)throw new Error("begin & end are not supported with match");te.begin=te.match,delete te.match}}function it(te,_e){te.relevance===void 0&&(te.relevance=1)}const fe=(te,_e)=>{if(!te.beforeMatch)return;if(te.starts)throw new Error("beforeMatch cannot be used with starts");const Te=Object.assign({},te);Object.keys(te).forEach(ot=>{delete te[ot]}),te.keywords=Te.keywords,te.begin=S(Te.beforeMatch,_(Te.begin)),te.starts={relevance:0,contains:[Object.assign(Te,{endsParent:!0})]},te.relevance=0,delete Te.beforeMatch},pe=["of","and","for","in","not","or","if","then","parent","list","value"],ze="keyword";function Fe(te,_e,Te=ze){const ot=Object.create(null);return typeof te=="string"?qt(Te,te.split(" ")):Array.isArray(te)?qt(Te,te):Object.keys(te).forEach(function(Lt){Object.assign(ot,Fe(te[Lt],_e,Lt))}),ot;function qt(Lt,be){_e&&(be=be.map(Ie=>Ie.toLowerCase())),be.forEach(function(Ie){const Qe=Ie.split("|");ot[Qe[0]]=[Lt,xe(Qe[0],Qe[1])]})}}function xe(te,_e){return _e?Number(_e):at(te)?0:1}function at(te){return pe.includes(te.toLowerCase())}const Tt={},Xe=te=>{console.error(te)},_t=(te,..._e)=>{console.log(`WARN: ${te}`,..._e)},ke=(te,_e)=>{Tt[`${te}/${_e}`]||(console.log(`Deprecated as of ${te}. ${_e}`),Tt[`${te}/${_e}`]=!0)},Pe=new Error;function Ge(te,_e,{key:Te}){let ot=0;const qt=te[Te],Lt={},be={};for(let Ie=1;Ie<=_e.length;Ie++)be[Ie+ot]=qt[Ie],Lt[Ie+ot]=!0,ot+=O(_e[Ie-1]);te[Te]=be,te[Te]._emit=Lt,te[Te]._multi=!0}function bt(te){if(Array.isArray(te.begin)){if(te.skip||te.excludeBegin||te.returnBegin)throw Xe("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Pe;if(typeof te.beginScope!="object"||te.beginScope===null)throw Xe("beginScope must be object"),Pe;Ge(te,te.begin,{key:"beginScope"}),te.begin=B(te.begin,{joinWith:""})}}function Ze(te){if(Array.isArray(te.end)){if(te.skip||te.excludeEnd||te.returnEnd)throw Xe("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Pe;if(typeof te.endScope!="object"||te.endScope===null)throw Xe("endScope must be object"),Pe;Ge(te,te.end,{key:"endScope"}),te.end=B(te.end,{joinWith:""})}}function ut(te){te.scope&&typeof te.scope=="object"&&te.scope!==null&&(te.beginScope=te.scope,delete te.scope)}function pt(te){ut(te),typeof te.beginScope=="string"&&(te.beginScope={_wrap:te.beginScope}),typeof te.endScope=="string"&&(te.endScope={_wrap:te.endScope}),bt(te),Ze(te)}function ht(te){function _e(be,Ie){return new RegExp(y(be),"m"+(te.case_insensitive?"i":"")+(te.unicodeRegex?"u":"")+(Ie?"g":""))}class Te{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ie,Qe){Qe.position=this.position++,this.matchIndexes[this.matchAt]=Qe,this.regexes.push([Qe,Ie]),this.matchAt+=O(Ie)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ie=this.regexes.map(Qe=>Qe[1]);this.matcherRe=_e(B(Ie,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ie){this.matcherRe.lastIndex=this.lastIndex;const Qe=this.matcherRe.exec(Ie);if(!Qe)return null;const jt=Qe.findIndex((Bn,Le)=>Le>0&&Bn!==void 0),St=this.matchIndexes[jt];return Qe.splice(0,jt),Object.assign(Qe,St)}}class ot{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ie){if(this.multiRegexes[Ie])return this.multiRegexes[Ie];const Qe=new Te;return this.rules.slice(Ie).forEach(([jt,St])=>Qe.addRule(jt,St)),Qe.compile(),this.multiRegexes[Ie]=Qe,Qe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ie,Qe){this.rules.push([Ie,Qe]),Qe.type==="begin"&&this.count++}exec(Ie){const Qe=this.getMatcher(this.regexIndex);Qe.lastIndex=this.lastIndex;let jt=Qe.exec(Ie);if(this.resumingScanAtSamePosition()&&!(jt&&jt.index===this.lastIndex)){const St=this.getMatcher(0);St.lastIndex=this.lastIndex+1,jt=St.exec(Ie)}return jt&&(this.regexIndex+=jt.position+1,this.regexIndex===this.count&&this.considerAll()),jt}}function qt(be){const Ie=new ot;return be.contains.forEach(Qe=>Ie.addRule(Qe.begin,{rule:Qe,type:"begin"})),be.terminatorEnd&&Ie.addRule(be.terminatorEnd,{type:"end"}),be.illegal&&Ie.addRule(be.illegal,{type:"illegal"}),Ie}function Lt(be,Ie){const Qe=be;if(be.isCompiled)return Qe;[rt,$e,pt,fe].forEach(St=>St(be,Ie)),te.compilerExtensions.forEach(St=>St(be,Ie)),be.__beforeBegin=null,[ce,Me,it].forEach(St=>St(be,Ie)),be.isCompiled=!0;let jt=null;return typeof be.keywords=="object"&&be.keywords.$pattern&&(be.keywords=Object.assign({},be.keywords),jt=be.keywords.$pattern,delete be.keywords.$pattern),jt=jt||/\w+/,be.keywords&&(be.keywords=Fe(be.keywords,te.case_insensitive)),Qe.keywordPatternRe=_e(jt,!0),Ie&&(be.begin||(be.begin=/\B|\b/),Qe.beginRe=_e(Qe.begin),!be.end&&!be.endsWithParent&&(be.end=/\B|\b/),be.end&&(Qe.endRe=_e(Qe.end)),Qe.terminatorEnd=y(Qe.end)||"",be.endsWithParent&&Ie.terminatorEnd&&(Qe.terminatorEnd+=(be.end?"|":"")+Ie.terminatorEnd)),be.illegal&&(Qe.illegalRe=_e(be.illegal)),be.contains||(be.contains=[]),be.contains=[].concat(...be.contains.map(function(St){return Ae(St==="self"?be:St)})),be.contains.forEach(function(St){Lt(St,Qe)}),be.starts&&Lt(be.starts,Ie),Qe.matcher=qt(Qe),Qe}if(te.compilerExtensions||(te.compilerExtensions=[]),te.contains&&te.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return te.classNameAliases=r(te.classNameAliases||{}),Lt(te)}function se(te){return te?te.endsWithParent||se(te.starts):!1}function Ae(te){return te.variants&&!te.cachedVariants&&(te.cachedVariants=te.variants.map(function(_e){return r(te,{variants:null},_e)})),te.cachedVariants?te.cachedVariants:se(te)?r(te,{starts:te.starts?r(te.starts):null}):Object.isFrozen(te)?r(te):te}var Ve="11.11.1";class Wt extends Error{constructor(_e,Te){super(_e),this.name="HTMLInjectionError",this.html=Te}}const ae=n,ye=r,We=Symbol("nomatch"),Oe=7,Je=function(te){const _e=Object.create(null),Te=Object.create(null),ot=[];let qt=!0;const Lt="Could not find the language '{}', did you forget to load/include a language module?",be={disableAutodetect:!0,name:"Plain text",contains:[]};let Ie={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function Qe(Q){return Ie.noHighlightRe.test(Q)}function jt(Q){let Ee=Q.className+" ";Ee+=Q.parentNode?Q.parentNode.className:"";const He=Ie.languageDetectRe.exec(Ee);if(He){const tt=ee(He[1]);return tt||(_t(Lt.replace("{}",He[1])),_t("Falling back to no-highlight mode for this block.",Q)),tt?He[1]:"no-highlight"}return Ee.split(/\s+/).find(tt=>Qe(tt)||ee(tt))}function St(Q,Ee,He){let tt="",st="";typeof Ee=="object"?(tt=Q,He=Ee.ignoreIllegals,st=Ee.language):(ke("10.7.0","highlight(lang, code, ...args) has been deprecated."),ke("10.7.0",`Please use highlight(code, options) instead.
159
159
  https://github.com/highlightjs/highlight.js/issues/2277`),st=Q,tt=Ee),He===void 0&&(He=!0);const sn={code:tt,language:st};gn("before:highlight",sn);const dn=sn.result?sn.result:Bn(sn.language,sn.code,He);return dn.code=sn.code,gn("after:highlight",dn),dn}function Bn(Q,Ee,He,tt){const st=Object.create(null);function sn(Ke,gt){return Ke.keywords[gt]}function dn(){if(!kt.keywords){qn.addText(hn);return}let Ke=0;kt.keywordPatternRe.lastIndex=0;let gt=kt.keywordPatternRe.exec(hn),$t="";for(;gt;){$t+=hn.substring(Ke,gt.index);const Jt=er.case_insensitive?gt[0].toLowerCase():gt[0],Hn=sn(kt,Jt);if(Hn){const[Xi,Uu]=Hn;if(qn.addText($t),$t="",st[Jt]=(st[Jt]||0)+1,st[Jt]<=Oe&&(Fs+=Uu),Xi.startsWith("_"))$t+=gt[0];else{const hf=er.classNameAliases[Xi]||Xi;sr(gt[0],hf)}}else $t+=gt[0];Ke=kt.keywordPatternRe.lastIndex,gt=kt.keywordPatternRe.exec(hn)}$t+=hn.substring(Ke),qn.addText($t)}function Tn(){if(hn==="")return;let Ke=null;if(typeof kt.subLanguage=="string"){if(!_e[kt.subLanguage]){qn.addText(hn);return}Ke=Bn(kt.subLanguage,hn,!0,sl[kt.subLanguage]),sl[kt.subLanguage]=Ke._top}else Ke=mt(hn,kt.subLanguage.length?kt.subLanguage:null);kt.relevance>0&&(Fs+=Ke.relevance),qn.__addSublanguage(Ke._emitter,Ke.language)}function an(){kt.subLanguage!=null?Tn():dn(),hn=""}function sr(Ke,gt){Ke!==""&&(qn.startScope(gt),qn.addText(Ke),qn.endScope())}function Ps(Ke,gt){let $t=1;const Jt=gt.length-1;for(;$t<=Jt;){if(!Ke._emit[$t]){$t++;continue}const Hn=er.classNameAliases[Ke[$t]]||Ke[$t],Xi=gt[$t];Hn?sr(Xi,Hn):(hn=Xi,dn(),hn=""),$t++}}function Nt(Ke,gt){return Ke.scope&&typeof Ke.scope=="string"&&qn.openNode(er.classNameAliases[Ke.scope]||Ke.scope),Ke.beginScope&&(Ke.beginScope._wrap?(sr(hn,er.classNameAliases[Ke.beginScope._wrap]||Ke.beginScope._wrap),hn=""):Ke.beginScope._multi&&(Ps(Ke.beginScope,gt),hn="")),kt=Object.create(Ke,{parent:{value:kt}}),kt}function mn(Ke,gt,$t){let Jt=z(Ke.endRe,$t);if(Jt){if(Ke["on:end"]){const Hn=new t(Ke);Ke["on:end"](gt,Hn),Hn.isMatchIgnored&&(Jt=!1)}if(Jt){for(;Ke.endsParent&&Ke.parent;)Ke=Ke.parent;return Ke}}if(Ke.endsWithParent)return mn(Ke.parent,gt,$t)}function ar(Ke){return kt.matcher.regexIndex===0?(hn+=Ke[0],1):(to=!0,0)}function hi(Ke){const gt=Ke[0],$t=Ke.rule,Jt=new t($t),Hn=[$t.__beforeBegin,$t["on:begin"]];for(const Xi of Hn)if(Xi&&(Xi(Ke,Jt),Jt.isMatchIgnored))return ar(gt);return $t.skip?hn+=gt:($t.excludeBegin&&(hn+=gt),an(),!$t.returnBegin&&!$t.excludeBegin&&(hn=gt)),Nt($t,Ke),$t.returnBegin?0:gt.length}function _n(Ke){const gt=Ke[0],$t=Ee.substring(Ke.index),Jt=mn(kt,Ke,$t);if(!Jt)return We;const Hn=kt;kt.endScope&&kt.endScope._wrap?(an(),sr(gt,kt.endScope._wrap)):kt.endScope&&kt.endScope._multi?(an(),Ps(kt.endScope,Ke)):Hn.skip?hn+=gt:(Hn.returnEnd||Hn.excludeEnd||(hn+=gt),an(),Hn.excludeEnd&&(hn=gt));do kt.scope&&qn.closeNode(),!kt.skip&&!kt.subLanguage&&(Fs+=kt.relevance),kt=kt.parent;while(kt!==Jt.parent);return Jt.starts&&Nt(Jt.starts,Ke),Hn.returnEnd?0:gt.length}function Yi(){const Ke=[];for(let gt=kt;gt!==er;gt=gt.parent)gt.scope&&Ke.unshift(gt.scope);Ke.forEach(gt=>qn.openNode(gt))}let fi={};function $s(Ke,gt){const $t=gt&&gt[0];if(hn+=Ke,$t==null)return an(),0;if(fi.type==="begin"&&gt.type==="end"&&fi.index===gt.index&&$t===""){if(hn+=Ee.slice(gt.index,gt.index+1),!qt){const Jt=new Error(`0 width match regex (${Q})`);throw Jt.languageName=Q,Jt.badRule=fi.rule,Jt}return 1}if(fi=gt,gt.type==="begin")return hi(gt);if(gt.type==="illegal"&&!He){const Jt=new Error('Illegal lexeme "'+$t+'" for mode "'+(kt.scope||"<unnamed>")+'"');throw Jt.mode=kt,Jt}else if(gt.type==="end"){const Jt=_n(gt);if(Jt!==We)return Jt}if(gt.type==="illegal"&&$t==="")return hn+=`
160
- `,1;if(al>1e5&&al>gt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return hn+=$t,$t.length}const er=ee(Q);if(!er)throw Xe(Lt.replace("{}",Q)),new Error('Unknown language: "'+Q+'"');const or=ht(er);let zs="",kt=tt||or;const sl={},qn=new Ie.__emitter(Ie);Yi();let hn="",Fs=0,xs=0,al=0,to=!1;try{if(er.__emitTokens)er.__emitTokens(Ee,qn);else{for(kt.matcher.considerAll();;){al++,to?to=!1:kt.matcher.considerAll(),kt.matcher.lastIndex=xs;const Ke=kt.matcher.exec(Ee);if(!Ke)break;const gt=Ee.substring(xs,Ke.index),$t=$s(gt,Ke);xs=Ke.index+$t}$s(Ee.substring(xs))}return qn.finalize(),zs=qn.toHTML(),{language:Q,value:zs,relevance:Fs,illegal:!1,_emitter:qn,_top:kt}}catch(Ke){if(Ke.message&&Ke.message.includes("Illegal"))return{language:Q,value:ae(Ee),illegal:!0,relevance:0,_illegalBy:{message:Ke.message,index:xs,context:Ee.slice(xs-100,xs+100),mode:Ke.mode,resultSoFar:zs},_emitter:qn};if(qt)return{language:Q,value:ae(Ee),illegal:!1,relevance:0,errorRaised:Ke,_emitter:qn,_top:kt};throw Ke}}function Le(Q){const Ee={value:ae(Q),illegal:!1,relevance:0,_top:be,_emitter:new Ie.__emitter(Ie)};return Ee._emitter.addText(Q),Ee}function mt(Q,Ee){Ee=Ee||Ie.languages||Object.keys(_e);const He=Le(Q),tt=Ee.filter(ee).filter(Ye).map(an=>Bn(an,Q,!1));tt.unshift(He);const st=tt.sort((an,sr)=>{if(an.relevance!==sr.relevance)return sr.relevance-an.relevance;if(an.language&&sr.language){if(ee(an.language).supersetOf===sr.language)return 1;if(ee(sr.language).supersetOf===an.language)return-1}return 0}),[sn,dn]=st,Tn=sn;return Tn.secondBest=dn,Tn}function Rt(Q,Ee,He){const tt=Ee&&Te[Ee]||He;Q.classList.add("hljs"),Q.classList.add(`language-${tt}`)}function Zt(Q){let Ee=null;const He=jt(Q);if(Qe(He))return;if(gn("before:highlightElement",{el:Q,language:He}),Q.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",Q);return}if(Q.children.length>0&&(Ie.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(Q)),Ie.throwUnescapedHTML))throw new Wt("One of your code blocks includes unescaped HTML.",Q.innerHTML);Ee=Q;const tt=Ee.textContent,st=He?St(tt,{language:He,ignoreIllegals:!0}):mt(tt);Q.innerHTML=st.value,Q.dataset.highlighted="yes",Rt(Q,He,st.language),Q.result={language:st.language,re:st.relevance,relevance:st.relevance},st.secondBest&&(Q.secondBest={language:st.secondBest.language,relevance:st.secondBest.relevance}),gn("after:highlightElement",{el:Q,result:st,text:tt})}function Ft(Q){Ie=ye(Ie,Q)}const Qt=()=>{lt(),ke("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function An(){lt(),ke("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let he=!1;function lt(){function Q(){lt()}if(document.readyState==="loading"){he||window.addEventListener("DOMContentLoaded",Q,!1),he=!0;return}document.querySelectorAll(Ie.cssSelector).forEach(Zt)}function Et(Q,Ee){let He=null;try{He=Ee(te)}catch(tt){if(Xe("Language definition for '{}' could not be registered.".replace("{}",Q)),qt)Xe(tt);else throw tt;He=be}He.name||(He.name=Q),_e[Q]=He,He.rawDefinition=Ee.bind(null,te),He.aliases&&Ce(He.aliases,{languageName:Q})}function nn(Q){delete _e[Q];for(const Ee of Object.keys(Te))Te[Ee]===Q&&delete Te[Ee]}function Ue(){return Object.keys(_e)}function ee(Q){return Q=(Q||"").toLowerCase(),_e[Q]||_e[Te[Q]]}function Ce(Q,{languageName:Ee}){typeof Q=="string"&&(Q=[Q]),Q.forEach(He=>{Te[He.toLowerCase()]=Ee})}function Ye(Q){const Ee=ee(Q);return Ee&&!Ee.disableAutodetect}function Pt(Q){Q["before:highlightBlock"]&&!Q["before:highlightElement"]&&(Q["before:highlightElement"]=Ee=>{Q["before:highlightBlock"](Object.assign({block:Ee.el},Ee))}),Q["after:highlightBlock"]&&!Q["after:highlightElement"]&&(Q["after:highlightElement"]=Ee=>{Q["after:highlightBlock"](Object.assign({block:Ee.el},Ee))})}function Mt(Q){Pt(Q),ot.push(Q)}function Dt(Q){const Ee=ot.indexOf(Q);Ee!==-1&&ot.splice(Ee,1)}function gn(Q,Ee){const He=Q;ot.forEach(function(tt){tt[He]&&tt[He](Ee)})}function Mn(Q){return ke("10.7.0","highlightBlock will be removed entirely in v12.0"),ke("10.7.0","Please use highlightElement now."),Zt(Q)}Object.assign(te,{highlight:St,highlightAuto:mt,highlightAll:lt,highlightElement:Zt,highlightBlock:Mn,configure:Ft,initHighlighting:Qt,initHighlightingOnLoad:An,registerLanguage:Et,unregisterLanguage:nn,listLanguages:Ue,getLanguage:ee,registerAliases:Ce,autoDetection:Ye,inherit:ye,addPlugin:Mt,removePlugin:Dt}),te.debugMode=function(){qt=!1},te.safeMode=function(){qt=!0},te.versionString=Ve,te.regex={concat:S,lookahead:_,either:k,optional:x,anyNumberOfTimes:b};for(const Q in Be)typeof Be[Q]=="object"&&e(Be[Q]);return Object.assign(te,Be),te},vt=Je({});return vt.newInstance=()=>Je({}),_b=vt,vt.HighlightJS=vt,vt.default=vt,_b}var gZ=mZ();const as=Y1(gZ);function Y5(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const s={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},o=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},d={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,s]};s.contains.push(d);const h={match:/\\"/},f={className:"string",begin:/'/,end:/'/},g={match:/\\'/},y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},_=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],b=e.SHEBANG({binary:`(${_.join("|")})`,relevance:10}),x={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},S=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],C=["true","false"],k={match:/(\/[a-z._-]+)+/},O=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],z=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],R=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],B=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:S,literal:C,built_in:[...O,...z,"set","shopt",...R,...B]},contains:[b,e.SHEBANG(),x,y,o,c,k,d,h,f,g,n]}}const X5="[A-Za-z$_][0-9A-Za-z$_]*",yZ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],vZ=["true","false","null","undefined","NaN","Infinity"],D6=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],B6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],P6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],_Z=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],bZ=[].concat(P6,D6,B6);function Z5(e){const t=e.regex,n=(T,{after:W})=>{const J="</"+T[0].slice(1);return T.input.indexOf(J,W)!==-1},r=X5,s={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,W)=>{const J=T[0].length+T.index,D=T.input[J];if(D==="<"||D===","){W.ignoreMatch();return}D===">"&&(n(T,{after:J})||W.ignoreMatch());let q;const X=T.input.substring(J);if(q=X.match(/^\s*=/)){W.ignoreMatch();return}if((q=X.match(/^\s+extends\s+/))&&q.index===0){W.ignoreMatch();return}}},d={$pattern:X5,keyword:yZ,literal:vZ,built_in:bZ,"variable.language":_Z},h="[0-9](_?[0-9])*",f=`\\.(${h})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${g})((${f})|\\.)?|(${f}))[eE][+-]?(${h})\\b`},{begin:`\\b(${g})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},_={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},b={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"xml"}},x={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"css"}},S={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"graphql"}},C={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,_]},O={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},z=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,{match:/\$\d+/},y];_.contains=z.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(z)});const R=[].concat(O,_.contains),B=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(R)}]),L={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B},I={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},H={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...D6,...B6]}},Y={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Z={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},K={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(T){return t.concat("(?!",T.join("|"),")")}const j={match:t.concat(/\b/,$([...P6,"super","import"].map(T=>`${T}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},N={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},P={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},E="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(E)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:H},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),Y,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,O,{match:/\$\d+/},y,H,{scope:"attr",match:r+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,e.REGEXP_MODE,{className:"function",begin:E,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:o},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},Z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},j,K,I,P,{match:/\$[(.]/}]}}function wZ(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],s={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Q5(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},c={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,h={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},f={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},g={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},y=e.inherit(f,{contains:[]}),_=e.inherit(g,{contains:[]});f.contains.push(_),g.contains.push(y);let b=[n,h];return[f,g,y,_].forEach(k=>{k.contains=k.contains.concat(b)}),b=b.concat(f,g),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:b},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:b}]}]},n,o,f,g,{className:"quote",begin:"^>\\s+",contains:b,end:"$"},s,r,h,c,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function J5(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],d={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},h={className:"meta",begin:/^(>>>|\.\.\.) /},f={className:"subst",begin:/\{/,end:/\}/,keywords:d,illegal:/#/},g={begin:/\{\{/,relevance:0},y={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,h,g,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,h,g,f]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,g,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,g,f]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},_="[0-9](_?[0-9])*",b=`(\\b(${_}))?\\.(${_})|\\b(${_})\\.`,x=`\\b|${r.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${_})|(${b}))[eE][+-]?(${_})[jJ]?(?=${x})`},{begin:`(${b})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${x})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${x})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${x})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${x})`},{begin:`\\b(${_})[jJ](?=${x})`}]},C={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:d,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},k={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:["self",h,S,y,e.HASH_COMMENT_MODE]}]};return f.contains=[y,S,h],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:d,illegal:/(<\/|\?)|=>/,contains:[h,S,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},y,C,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[k]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,k,y]}]}}const mg="[A-Za-z$_][0-9A-Za-z$_]*",$6=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],z6=["true","false","null","undefined","NaN","Infinity"],F6=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],H6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],U6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],W6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],q6=[].concat(U6,F6,H6);function xZ(e){const t=e.regex,n=(T,{after:W})=>{const J="</"+T[0].slice(1);return T.input.indexOf(J,W)!==-1},r=mg,s={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,W)=>{const J=T[0].length+T.index,D=T.input[J];if(D==="<"||D===","){W.ignoreMatch();return}D===">"&&(n(T,{after:J})||W.ignoreMatch());let q;const X=T.input.substring(J);if(q=X.match(/^\s*=/)){W.ignoreMatch();return}if((q=X.match(/^\s+extends\s+/))&&q.index===0){W.ignoreMatch();return}}},d={$pattern:mg,keyword:$6,literal:z6,built_in:q6,"variable.language":W6},h="[0-9](_?[0-9])*",f=`\\.(${h})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${g})((${f})|\\.)?|(${f}))[eE][+-]?(${h})\\b`},{begin:`\\b(${g})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},_={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},b={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"xml"}},x={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"css"}},S={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"graphql"}},C={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,_]},O={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},z=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,{match:/\$\d+/},y];_.contains=z.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(z)});const R=[].concat(O,_.contains),B=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(R)}]),L={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B},I={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},H={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...F6,...H6]}},Y={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Z={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},K={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(T){return t.concat("(?!",T.join("|"),")")}const j={match:t.concat(/\b/,$([...U6,"super","import"].map(T=>`${T}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},N={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},P={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},E="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(E)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:H},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),Y,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,O,{match:/\$\d+/},y,H,{scope:"attr",match:r+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,e.REGEXP_MODE,{className:"function",begin:E,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:o},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},Z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},j,K,I,P,{match:/\$[(.]/}]}}function eR(e){const t=e.regex,n=xZ(e),r=mg,s=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},c={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:s},contains:[n.exports.CLASS_REFERENCE]},d={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},h=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],f={$pattern:mg,keyword:$6.concat(h),literal:z6,built_in:q6.concat(s),"variable.language":W6},g={className:"meta",begin:"@"+r},y=(S,C,k)=>{const O=S.contains.findIndex(z=>z.label===C);if(O===-1)throw new Error("can not find mode to replace");S.contains.splice(O,1,k)};Object.assign(n.keywords,f),n.exports.PARAMS_CONTAINS.push(g);const _=n.contains.find(S=>S.scope==="attr"),b=Object.assign({},_,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,_,b]),n.contains=n.contains.concat([g,o,c,b]),y(n,"shebang",e.SHEBANG()),y(n,"use_strict",d);const x=n.contains.find(S=>S.label==="func.def");return x.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}const SZ=/\[\[wiki:([^\]]+)\]\]/g,kZ=/^\uFEFF?---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/,CZ=/^(\S[^:]*?):[ \t]*(.*)$/,EZ=new O6({gfm:!0,breaks:!1}),tR={ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto):|[#/]|\.{0,2}\/|[^:]+$)/i,ADD_ATTR:["target","rel","data-entry-id"]},bb=zZ();function qi(e,t={}){const{entries:n,content:r}=RZ(e),s=LZ(r,t.resolveWikiLink),o=EZ.parse(s,{async:!1}),c=NZ(n),d=Th.sanitize(c+o,tR),h=new DOMParser().parseFromString(d,"text/html");return IZ(h,t.omitDuplicateTitle),jZ(h),OZ(h,{copyLabel:t.copyLabel??"Copy",copyAriaLabel:t.copyAriaLabel??(g=>`Copy ${g} code`)}),BZ(h),{html:Th.sanitize(h.body.innerHTML,tR),toc:PZ(h)}}function AZ(e){const t=new TextEncoder().encode(e);let n="";for(const r of t)n+=String.fromCharCode(r);return btoa(n)}function TZ(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return new TextDecoder().decode(n)}function RZ(e){const t=kZ.exec(e);return t?{entries:MZ(t[1]??""),content:e.slice(t[0].length)}:{entries:[],content:e}}function MZ(e){const t=[];for(const n of e.split(/\r?\n/)){const r=n.replace(/\s+$/,"");if(r.trim()==="")continue;const s=CZ.exec(r);if(s){const[,d="",h=""]=s;t.push({key:d.trim(),value:h.trim()});continue}const o=t[t.length-1];if(!o)continue;const c=r.trim();o.value=o.value?`${o.value} ${c}`:c}return t}function NZ(e){return e.length===0?"":`<dl class="frontmatter">${e.map(n=>`<dt>${Mh(n.key)}</dt><dd>${Mh(n.value)}</dd>`).join("")}</dl>`}function LZ(e,t){return e.replace(SZ,(n,r)=>{const s=r.trim();if(!s)return"";if(!t)return Mh(`[[wiki:${s}]]`);const o=t(s);if(o===null)return Mh(`[[wiki:${s}]]`);const c=Mh(s),d=encodeURIComponent(s);return`<a href="${o}" data-entry-id="${d}">${c}</a>`})}function jZ(e){const t=new Map;for(const n of e.querySelectorAll("h2, h3")){const r=n.textContent?.trim()??"",s=UZ(r||"section"),o=t.get(s)??0;t.set(s,o+1),n.id=o===0?s:`${s}-${o+1}`}}function IZ(e,t){if(!t)return;const n=e.body.querySelector("h1, h2, h3, h4, h5, h6");!n||n.tagName.toLowerCase()!=="h1"||nR(n.textContent??"")===nR(t)&&n.remove()}function OZ(e,t){for(const n of e.querySelectorAll("pre > code")){const r=FZ(n.className),s=n.textContent??"",o=n.parentElement;if(!o)continue;if(r==="mermaid"){const d=e.createElement("div");d.className="diagram-block",d.setAttribute("data-mermaid-source",AZ(s)),d.setAttribute("data-diagram-state","pending"),o.replaceWith(d);continue}const c=$Z(s,r);n.innerHTML=c,n.classList.add("hljs"),o.classList.add("code-block"),o.dataset.code=s,o.insertBefore(DZ(e,r||"text",t),o.firstChild)}}function DZ(e,t,n){const r=e.createElement("div");r.className="code-block-toolbar";const s=e.createElement("span");s.className="code-block-dots",s.setAttribute("aria-hidden","true");for(let d=0;d<3;d++)s.append(e.createElement("span"));const o=e.createElement("span");o.className="code-block-language",o.textContent=t;const c=e.createElement("button");return c.className="copy-code",c.type="button",c.dataset.action="copy-code",c.setAttribute("aria-label",n.copyAriaLabel(t)),c.textContent=n.copyLabel,r.append(s,o,c),r}function BZ(e){for(const t of e.querySelectorAll("a")){const n=t.getAttribute("href")??"";HZ(n)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer"))}}function PZ(e){return[...e.querySelectorAll("h2, h3")].map(t=>({id:t.id,text:t.textContent?.trim()??t.id,level:t.tagName.toLowerCase()==="h2"?2:3}))}function $Z(e,t){return t&&bb.getLanguage(t)?bb.highlight(e,{language:t}).value:bb.highlightAuto(e).value}function zZ(){return as.registerLanguage("bash",Y5),as.registerLanguage("sh",Y5),as.registerLanguage("javascript",Z5),as.registerLanguage("js",Z5),as.registerLanguage("json",wZ),as.registerLanguage("markdown",Q5),as.registerLanguage("md",Q5),as.registerLanguage("python",J5),as.registerLanguage("py",J5),as.registerLanguage("typescript",eR),as.registerLanguage("ts",eR),as}function FZ(e){return e.match(/language-([a-z0-9_-]+)/i)?.[1]?.toLowerCase()??null}function HZ(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)&&!e.startsWith(window.location.origin)}function UZ(e){return e.trim().toLowerCase().replace(/[^\p{Letter}\p{Number}]+/gu,"-").replace(/^-+|-+$/g,"")||"section"}function nR(e){return e.trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}function Mh(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const G6={renderFailed:e=>`Diagram render failed: ${e}`,openExpandedAria:"Open diagram in expanded view",lightboxTitle:"MANIFEST · DIAGRAM",close:"Close",closeExpandedAria:"Close expanded diagram",zoomControlsAria:"Diagram zoom controls",zoomOutAria:"Zoom out",zoomInAria:"Zoom in",fit:"Fit",fitAria:"Fit diagram to viewport",reset:"Reset",resetAria:"Reset diagram zoom"};let $i=G6;const WZ=".diagram-block[data-mermaid-source]:not([data-diagram-state='rendered']):not([data-diagram-state='error'])",qZ=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(","),GZ=/^on/i,KZ={USE_PROFILES:{svg:!0,svgFilters:!1},FORBID_TAGS:["foreignObject","script"],FORBID_ATTR:["href","xlink:href"]},rR="diagramInteractionBound",VZ=/^oklch\s*\(\s*([^)]+)\s*\)$/i,YZ=/^(-?\d+(?:\.\d+)?)(deg)?$/i,hs=[25,50,75,100,125,150,200],XZ=["pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12"];let wb=null;const iR=new WeakSet;let ZZ=0,QZ=0,qh=null;function Do(e){const t=e.trim();if(!t)return t;const n=bQ(t);return n?wQ(n):t}function Gh(e,t){if(t&&($i={...G6,...t}),iR.has(e))return;iR.add(e),sR(e);const n=e instanceof Node?e:document.body;new MutationObserver(s=>{let o=!1;for(const c of s)if(c.type==="childList"){qh&&!qh.trigger.isConnected&&gh(!1);for(const d of c.addedNodes)if(d instanceof Element&&(d.matches?.(".diagram-block[data-mermaid-source]")||d.querySelector?.(".diagram-block[data-mermaid-source]"))){o=!0;break}if(o)break}o&&sR(e)}).observe(n,{childList:!0,subtree:!0})}function sR(e){const t=e.querySelectorAll(WZ);for(const n of t)n.dataset.diagramHydrating!=="true"&&(n.dataset.diagramHydrating="true",n.dataset.diagramState="pending",JZ(n))}async function JZ(e){const t=e.getAttribute("data-mermaid-source")??"";let n="";try{n=TZ(t)}catch{xb(e,"Invalid diagram source");return}if(!n.trim()){xb(e,"Empty diagram source");return}try{const r=await tQ(),s=`mermaid-diagram-${++ZZ}`,{svg:o}=await r.render(s,n);e.innerHTML=eQ(o),iQ(e,o),sQ(e),aQ(e),e.dataset.diagramState="rendered"}catch(r){const s=r instanceof Error?r.message:String(r);xb(e,s)}}function xb(e,t){e.dataset.diagramState="error",e.textContent=$i.renderFailed(t)}function eQ(e){const t=(n,r)=>{GZ.test(r.attrName)&&(r.keepAttr=!1)};Th.addHook("uponSanitizeAttribute",t);try{return Th.sanitize(e,KZ)}finally{Th.removeHook("uponSanitizeAttribute",t)}}async function tQ(){return wb||(wb=(async()=>{const e=await lX(()=>import("./mermaid.core-Drc--ixx.js").then(n=>n.bC),[]),t=e.default??e;return t.initialize({securityLevel:"strict",htmlLabels:!1,suppressErrorRendering:!0,startOnLoad:!1,theme:"base",look:"handDrawn",themeVariables:nQ(),themeCSS:rQ(),flowchart:{htmlLabels:!1,useMaxWidth:!1}}),t})()),wb}function nQ(){const e=getComputedStyle(document.documentElement),t=(S,C)=>{const k=e.getPropertyValue(S).trim();return Do(k||C)},n=(S,C)=>e.getPropertyValue(S).trim()||C,r=t("--brass","#c69a4a"),s=t("--brass-bright","#e6b86a"),o=t("--brass-deep","#a0782a"),c=t("--aurora","#8bd7e6"),d=t("--aurora-deep","#1f8aa8"),h=t("--coral","#ef7c63"),f=t("--ink-deep","#1d2734"),g=t("--ink-fog","#a6afbb"),y=t("--ink-pearl","#e6e9ef"),_=t("--ink-spectral","#bcc4d0"),b=[s,r,c,h,Do("oklch(70% 0.11 68)"),d,Do("oklch(76% 0.09 205)"),o,Do("oklch(68% 0.14 30)"),g,Do("oklch(62% 0.08 228)"),Do("oklch(52% 0.05 248)")],x=Object.fromEntries(XZ.map((S,C)=>[S,b[C]??f]));return{background:"transparent",primaryColor:"transparent",primaryTextColor:y,primaryBorderColor:r,secondaryColor:"transparent",secondaryTextColor:y,secondaryBorderColor:s,tertiaryColor:"transparent",tertiaryTextColor:_,tertiaryBorderColor:r,lineColor:d,edgeLabelBackground:"transparent",titleColor:s,fontFamily:"JetBrains Mono Variable, ui-monospace, monospace",mainBkg:"transparent",nodeBorder:r,clusterBkg:"transparent",clusterBorder:r,pieTitleTextColor:s,pieTitleTextSize:n("--font-size-title-lg","19px"),pieSectionTextColor:y,pieSectionTextSize:n("--font-size-md","13px"),pieLegendTextColor:y,pieLegendTextSize:n("--font-size-lg","14px"),pieStrokeColor:o,pieStrokeWidth:"1.35px",pieOuterStrokeColor:s,pieOuterStrokeWidth:"2.5px",pieOpacity:"0.96",...x}}function rQ(){const e=getComputedStyle(document.documentElement),t=(f,g)=>{const y=e.getPropertyValue(f).trim();return Do(y||g)},n=t("--brass-deep","#a0782a"),r=t("--brass-bright","#e6b86a"),s=t("--aurora-deep","#1f8aa8"),o=t("--ink-abyss","#131920"),c=Do("oklch(15% 0.04 250 / 34%)"),d=t("--surface-glass","#1d2734"),h=t("--ink-pearl","#e6e9ef");return`
160
+ `,1;if(al>1e5&&al>gt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return hn+=$t,$t.length}const er=ee(Q);if(!er)throw Xe(Lt.replace("{}",Q)),new Error('Unknown language: "'+Q+'"');const or=ht(er);let zs="",kt=tt||or;const sl={},qn=new Ie.__emitter(Ie);Yi();let hn="",Fs=0,xs=0,al=0,to=!1;try{if(er.__emitTokens)er.__emitTokens(Ee,qn);else{for(kt.matcher.considerAll();;){al++,to?to=!1:kt.matcher.considerAll(),kt.matcher.lastIndex=xs;const Ke=kt.matcher.exec(Ee);if(!Ke)break;const gt=Ee.substring(xs,Ke.index),$t=$s(gt,Ke);xs=Ke.index+$t}$s(Ee.substring(xs))}return qn.finalize(),zs=qn.toHTML(),{language:Q,value:zs,relevance:Fs,illegal:!1,_emitter:qn,_top:kt}}catch(Ke){if(Ke.message&&Ke.message.includes("Illegal"))return{language:Q,value:ae(Ee),illegal:!0,relevance:0,_illegalBy:{message:Ke.message,index:xs,context:Ee.slice(xs-100,xs+100),mode:Ke.mode,resultSoFar:zs},_emitter:qn};if(qt)return{language:Q,value:ae(Ee),illegal:!1,relevance:0,errorRaised:Ke,_emitter:qn,_top:kt};throw Ke}}function Le(Q){const Ee={value:ae(Q),illegal:!1,relevance:0,_top:be,_emitter:new Ie.__emitter(Ie)};return Ee._emitter.addText(Q),Ee}function mt(Q,Ee){Ee=Ee||Ie.languages||Object.keys(_e);const He=Le(Q),tt=Ee.filter(ee).filter(Ye).map(an=>Bn(an,Q,!1));tt.unshift(He);const st=tt.sort((an,sr)=>{if(an.relevance!==sr.relevance)return sr.relevance-an.relevance;if(an.language&&sr.language){if(ee(an.language).supersetOf===sr.language)return 1;if(ee(sr.language).supersetOf===an.language)return-1}return 0}),[sn,dn]=st,Tn=sn;return Tn.secondBest=dn,Tn}function Rt(Q,Ee,He){const tt=Ee&&Te[Ee]||He;Q.classList.add("hljs"),Q.classList.add(`language-${tt}`)}function Zt(Q){let Ee=null;const He=jt(Q);if(Qe(He))return;if(gn("before:highlightElement",{el:Q,language:He}),Q.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",Q);return}if(Q.children.length>0&&(Ie.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(Q)),Ie.throwUnescapedHTML))throw new Wt("One of your code blocks includes unescaped HTML.",Q.innerHTML);Ee=Q;const tt=Ee.textContent,st=He?St(tt,{language:He,ignoreIllegals:!0}):mt(tt);Q.innerHTML=st.value,Q.dataset.highlighted="yes",Rt(Q,He,st.language),Q.result={language:st.language,re:st.relevance,relevance:st.relevance},st.secondBest&&(Q.secondBest={language:st.secondBest.language,relevance:st.secondBest.relevance}),gn("after:highlightElement",{el:Q,result:st,text:tt})}function Ft(Q){Ie=ye(Ie,Q)}const Qt=()=>{lt(),ke("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function An(){lt(),ke("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let he=!1;function lt(){function Q(){lt()}if(document.readyState==="loading"){he||window.addEventListener("DOMContentLoaded",Q,!1),he=!0;return}document.querySelectorAll(Ie.cssSelector).forEach(Zt)}function Et(Q,Ee){let He=null;try{He=Ee(te)}catch(tt){if(Xe("Language definition for '{}' could not be registered.".replace("{}",Q)),qt)Xe(tt);else throw tt;He=be}He.name||(He.name=Q),_e[Q]=He,He.rawDefinition=Ee.bind(null,te),He.aliases&&Ce(He.aliases,{languageName:Q})}function nn(Q){delete _e[Q];for(const Ee of Object.keys(Te))Te[Ee]===Q&&delete Te[Ee]}function Ue(){return Object.keys(_e)}function ee(Q){return Q=(Q||"").toLowerCase(),_e[Q]||_e[Te[Q]]}function Ce(Q,{languageName:Ee}){typeof Q=="string"&&(Q=[Q]),Q.forEach(He=>{Te[He.toLowerCase()]=Ee})}function Ye(Q){const Ee=ee(Q);return Ee&&!Ee.disableAutodetect}function Pt(Q){Q["before:highlightBlock"]&&!Q["before:highlightElement"]&&(Q["before:highlightElement"]=Ee=>{Q["before:highlightBlock"](Object.assign({block:Ee.el},Ee))}),Q["after:highlightBlock"]&&!Q["after:highlightElement"]&&(Q["after:highlightElement"]=Ee=>{Q["after:highlightBlock"](Object.assign({block:Ee.el},Ee))})}function Mt(Q){Pt(Q),ot.push(Q)}function Dt(Q){const Ee=ot.indexOf(Q);Ee!==-1&&ot.splice(Ee,1)}function gn(Q,Ee){const He=Q;ot.forEach(function(tt){tt[He]&&tt[He](Ee)})}function Mn(Q){return ke("10.7.0","highlightBlock will be removed entirely in v12.0"),ke("10.7.0","Please use highlightElement now."),Zt(Q)}Object.assign(te,{highlight:St,highlightAuto:mt,highlightAll:lt,highlightElement:Zt,highlightBlock:Mn,configure:Ft,initHighlighting:Qt,initHighlightingOnLoad:An,registerLanguage:Et,unregisterLanguage:nn,listLanguages:Ue,getLanguage:ee,registerAliases:Ce,autoDetection:Ye,inherit:ye,addPlugin:Mt,removePlugin:Dt}),te.debugMode=function(){qt=!1},te.safeMode=function(){qt=!0},te.versionString=Ve,te.regex={concat:S,lookahead:_,either:k,optional:x,anyNumberOfTimes:b};for(const Q in Be)typeof Be[Q]=="object"&&e(Be[Q]);return Object.assign(te,Be),te},vt=Je({});return vt.newInstance=()=>Je({}),_b=vt,vt.HighlightJS=vt,vt.default=vt,_b}var gZ=mZ();const as=Y1(gZ);function Y5(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const s={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},o=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},d={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,s]};s.contains.push(d);const h={match:/\\"/},f={className:"string",begin:/'/,end:/'/},g={match:/\\'/},y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},_=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],b=e.SHEBANG({binary:`(${_.join("|")})`,relevance:10}),x={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},S=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],C=["true","false"],k={match:/(\/[a-z._-]+)+/},O=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],z=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],R=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],B=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:S,literal:C,built_in:[...O,...z,"set","shopt",...R,...B]},contains:[b,e.SHEBANG(),x,y,o,c,k,d,h,f,g,n]}}const X5="[A-Za-z$_][0-9A-Za-z$_]*",yZ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],vZ=["true","false","null","undefined","NaN","Infinity"],D6=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],B6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],P6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],_Z=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],bZ=[].concat(P6,D6,B6);function Z5(e){const t=e.regex,n=(T,{after:W})=>{const J="</"+T[0].slice(1);return T.input.indexOf(J,W)!==-1},r=X5,s={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,W)=>{const J=T[0].length+T.index,D=T.input[J];if(D==="<"||D===","){W.ignoreMatch();return}D===">"&&(n(T,{after:J})||W.ignoreMatch());let q;const X=T.input.substring(J);if(q=X.match(/^\s*=/)){W.ignoreMatch();return}if((q=X.match(/^\s+extends\s+/))&&q.index===0){W.ignoreMatch();return}}},d={$pattern:X5,keyword:yZ,literal:vZ,built_in:bZ,"variable.language":_Z},h="[0-9](_?[0-9])*",f=`\\.(${h})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${g})((${f})|\\.)?|(${f}))[eE][+-]?(${h})\\b`},{begin:`\\b(${g})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},_={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},b={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"xml"}},x={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"css"}},S={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"graphql"}},C={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,_]},O={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},z=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,{match:/\$\d+/},y];_.contains=z.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(z)});const R=[].concat(O,_.contains),B=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(R)}]),L={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B},I={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},H={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...D6,...B6]}},Y={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Z={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},K={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(T){return t.concat("(?!",T.join("|"),")")}const j={match:t.concat(/\b/,$([...P6,"super","import"].map(T=>`${T}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},N={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},P={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},E="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(E)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:H},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),Y,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,O,{match:/\$\d+/},y,H,{scope:"attr",match:r+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,e.REGEXP_MODE,{className:"function",begin:E,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:o},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},Z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},j,K,I,P,{match:/\$[(.]/}]}}function wZ(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],s={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Q5(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},c={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,h={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},f={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},g={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},y=e.inherit(f,{contains:[]}),_=e.inherit(g,{contains:[]});f.contains.push(_),g.contains.push(y);let b=[n,h];return[f,g,y,_].forEach(k=>{k.contains=k.contains.concat(b)}),b=b.concat(f,g),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:b},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:b}]}]},n,o,f,g,{className:"quote",begin:"^>\\s+",contains:b,end:"$"},s,r,h,c,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function J5(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],d={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},h={className:"meta",begin:/^(>>>|\.\.\.) /},f={className:"subst",begin:/\{/,end:/\}/,keywords:d,illegal:/#/},g={begin:/\{\{/,relevance:0},y={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,h,g,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,h,g,f]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,g,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,g,f]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},_="[0-9](_?[0-9])*",b=`(\\b(${_}))?\\.(${_})|\\b(${_})\\.`,x=`\\b|${r.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${_})|(${b}))[eE][+-]?(${_})[jJ]?(?=${x})`},{begin:`(${b})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${x})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${x})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${x})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${x})`},{begin:`\\b(${_})[jJ](?=${x})`}]},C={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:d,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},k={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:["self",h,S,y,e.HASH_COMMENT_MODE]}]};return f.contains=[y,S,h],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:d,illegal:/(<\/|\?)|=>/,contains:[h,S,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},y,C,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[k]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,k,y]}]}}const mg="[A-Za-z$_][0-9A-Za-z$_]*",$6=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],z6=["true","false","null","undefined","NaN","Infinity"],F6=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],H6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],U6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],W6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],q6=[].concat(U6,F6,H6);function xZ(e){const t=e.regex,n=(T,{after:W})=>{const J="</"+T[0].slice(1);return T.input.indexOf(J,W)!==-1},r=mg,s={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,W)=>{const J=T[0].length+T.index,D=T.input[J];if(D==="<"||D===","){W.ignoreMatch();return}D===">"&&(n(T,{after:J})||W.ignoreMatch());let q;const X=T.input.substring(J);if(q=X.match(/^\s*=/)){W.ignoreMatch();return}if((q=X.match(/^\s+extends\s+/))&&q.index===0){W.ignoreMatch();return}}},d={$pattern:mg,keyword:$6,literal:z6,built_in:q6,"variable.language":W6},h="[0-9](_?[0-9])*",f=`\\.(${h})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${g})((${f})|\\.)?|(${f}))[eE][+-]?(${h})\\b`},{begin:`\\b(${g})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},_={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},b={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"xml"}},x={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"css"}},S={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"graphql"}},C={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,_]},O={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},z=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,{match:/\$\d+/},y];_.contains=z.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(z)});const R=[].concat(O,_.contains),B=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(R)}]),L={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B},I={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},H={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...F6,...H6]}},Y={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Z={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},K={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(T){return t.concat("(?!",T.join("|"),")")}const j={match:t.concat(/\b/,$([...U6,"super","import"].map(T=>`${T}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},N={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},P={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},E="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(E)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:H},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),Y,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b,x,S,C,O,{match:/\$\d+/},y,H,{scope:"attr",match:r+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,e.REGEXP_MODE,{className:"function",begin:E,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:o},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},Z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},j,K,I,P,{match:/\$[(.]/}]}}function eR(e){const t=e.regex,n=xZ(e),r=mg,s=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},c={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:s},contains:[n.exports.CLASS_REFERENCE]},d={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},h=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],f={$pattern:mg,keyword:$6.concat(h),literal:z6,built_in:q6.concat(s),"variable.language":W6},g={className:"meta",begin:"@"+r},y=(S,C,k)=>{const O=S.contains.findIndex(z=>z.label===C);if(O===-1)throw new Error("can not find mode to replace");S.contains.splice(O,1,k)};Object.assign(n.keywords,f),n.exports.PARAMS_CONTAINS.push(g);const _=n.contains.find(S=>S.scope==="attr"),b=Object.assign({},_,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,_,b]),n.contains=n.contains.concat([g,o,c,b]),y(n,"shebang",e.SHEBANG()),y(n,"use_strict",d);const x=n.contains.find(S=>S.label==="func.def");return x.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}const SZ=/\[\[wiki:([^\]]+)\]\]/g,kZ=/^\uFEFF?---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/,CZ=/^(\S[^:]*?):[ \t]*(.*)$/,EZ=new O6({gfm:!0,breaks:!1}),tR={ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto):|[#/]|\.{0,2}\/|[^:]+$)/i,ADD_ATTR:["target","rel","data-entry-id"]},bb=zZ();function qi(e,t={}){const{entries:n,content:r}=RZ(e),s=LZ(r,t.resolveWikiLink),o=EZ.parse(s,{async:!1}),c=NZ(n),d=Th.sanitize(c+o,tR),h=new DOMParser().parseFromString(d,"text/html");return IZ(h,t.omitDuplicateTitle),jZ(h),OZ(h,{copyLabel:t.copyLabel??"Copy",copyAriaLabel:t.copyAriaLabel??(g=>`Copy ${g} code`)}),BZ(h),{html:Th.sanitize(h.body.innerHTML,tR),toc:PZ(h)}}function AZ(e){const t=new TextEncoder().encode(e);let n="";for(const r of t)n+=String.fromCharCode(r);return btoa(n)}function TZ(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return new TextDecoder().decode(n)}function RZ(e){const t=kZ.exec(e);return t?{entries:MZ(t[1]??""),content:e.slice(t[0].length)}:{entries:[],content:e}}function MZ(e){const t=[];for(const n of e.split(/\r?\n/)){const r=n.replace(/\s+$/,"");if(r.trim()==="")continue;const s=CZ.exec(r);if(s){const[,d="",h=""]=s;t.push({key:d.trim(),value:h.trim()});continue}const o=t[t.length-1];if(!o)continue;const c=r.trim();o.value=o.value?`${o.value} ${c}`:c}return t}function NZ(e){return e.length===0?"":`<dl class="frontmatter">${e.map(n=>`<dt>${Mh(n.key)}</dt><dd>${Mh(n.value)}</dd>`).join("")}</dl>`}function LZ(e,t){return e.replace(SZ,(n,r)=>{const s=r.trim();if(!s)return"";if(!t)return Mh(`[[wiki:${s}]]`);const o=t(s);if(o===null)return Mh(`[[wiki:${s}]]`);const c=Mh(s),d=encodeURIComponent(s);return`<a href="${o}" data-entry-id="${d}">${c}</a>`})}function jZ(e){const t=new Map;for(const n of e.querySelectorAll("h2, h3")){const r=n.textContent?.trim()??"",s=UZ(r||"section"),o=t.get(s)??0;t.set(s,o+1),n.id=o===0?s:`${s}-${o+1}`}}function IZ(e,t){if(!t)return;const n=e.body.querySelector("h1, h2, h3, h4, h5, h6");!n||n.tagName.toLowerCase()!=="h1"||nR(n.textContent??"")===nR(t)&&n.remove()}function OZ(e,t){for(const n of e.querySelectorAll("pre > code")){const r=FZ(n.className),s=n.textContent??"",o=n.parentElement;if(!o)continue;if(r==="mermaid"){const d=e.createElement("div");d.className="diagram-block",d.setAttribute("data-mermaid-source",AZ(s)),d.setAttribute("data-diagram-state","pending"),o.replaceWith(d);continue}const c=$Z(s,r);n.innerHTML=c,n.classList.add("hljs"),o.classList.add("code-block"),o.dataset.code=s,o.insertBefore(DZ(e,r||"text",t),o.firstChild)}}function DZ(e,t,n){const r=e.createElement("div");r.className="code-block-toolbar";const s=e.createElement("span");s.className="code-block-dots",s.setAttribute("aria-hidden","true");for(let d=0;d<3;d++)s.append(e.createElement("span"));const o=e.createElement("span");o.className="code-block-language",o.textContent=t;const c=e.createElement("button");return c.className="copy-code",c.type="button",c.dataset.action="copy-code",c.setAttribute("aria-label",n.copyAriaLabel(t)),c.textContent=n.copyLabel,r.append(s,o,c),r}function BZ(e){for(const t of e.querySelectorAll("a")){const n=t.getAttribute("href")??"";HZ(n)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer"))}}function PZ(e){return[...e.querySelectorAll("h2, h3")].map(t=>({id:t.id,text:t.textContent?.trim()??t.id,level:t.tagName.toLowerCase()==="h2"?2:3}))}function $Z(e,t){return t&&bb.getLanguage(t)?bb.highlight(e,{language:t}).value:bb.highlightAuto(e).value}function zZ(){return as.registerLanguage("bash",Y5),as.registerLanguage("sh",Y5),as.registerLanguage("javascript",Z5),as.registerLanguage("js",Z5),as.registerLanguage("json",wZ),as.registerLanguage("markdown",Q5),as.registerLanguage("md",Q5),as.registerLanguage("python",J5),as.registerLanguage("py",J5),as.registerLanguage("typescript",eR),as.registerLanguage("ts",eR),as}function FZ(e){return e.match(/language-([a-z0-9_-]+)/i)?.[1]?.toLowerCase()??null}function HZ(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)&&!e.startsWith(window.location.origin)}function UZ(e){return e.trim().toLowerCase().replace(/[^\p{Letter}\p{Number}]+/gu,"-").replace(/^-+|-+$/g,"")||"section"}function nR(e){return e.trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}function Mh(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const G6={renderFailed:e=>`Diagram render failed: ${e}`,openExpandedAria:"Open diagram in expanded view",lightboxTitle:"MANIFEST · DIAGRAM",close:"Close",closeExpandedAria:"Close expanded diagram",zoomControlsAria:"Diagram zoom controls",zoomOutAria:"Zoom out",zoomInAria:"Zoom in",fit:"Fit",fitAria:"Fit diagram to viewport",reset:"Reset",resetAria:"Reset diagram zoom"};let $i=G6;const WZ=".diagram-block[data-mermaid-source]:not([data-diagram-state='rendered']):not([data-diagram-state='error'])",qZ=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(","),GZ=/^on/i,KZ={USE_PROFILES:{svg:!0,svgFilters:!1},FORBID_TAGS:["foreignObject","script"],FORBID_ATTR:["href","xlink:href"]},rR="diagramInteractionBound",VZ=/^oklch\s*\(\s*([^)]+)\s*\)$/i,YZ=/^(-?\d+(?:\.\d+)?)(deg)?$/i,hs=[25,50,75,100,125,150,200],XZ=["pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12"];let wb=null;const iR=new WeakSet;let ZZ=0,QZ=0,qh=null;function Do(e){const t=e.trim();if(!t)return t;const n=bQ(t);return n?wQ(n):t}function Gh(e,t){if(t&&($i={...G6,...t}),iR.has(e))return;iR.add(e),sR(e);const n=e instanceof Node?e:document.body;new MutationObserver(s=>{let o=!1;for(const c of s)if(c.type==="childList"){qh&&!qh.trigger.isConnected&&gh(!1);for(const d of c.addedNodes)if(d instanceof Element&&(d.matches?.(".diagram-block[data-mermaid-source]")||d.querySelector?.(".diagram-block[data-mermaid-source]"))){o=!0;break}if(o)break}o&&sR(e)}).observe(n,{childList:!0,subtree:!0})}function sR(e){const t=e.querySelectorAll(WZ);for(const n of t)n.dataset.diagramHydrating!=="true"&&(n.dataset.diagramHydrating="true",n.dataset.diagramState="pending",JZ(n))}async function JZ(e){const t=e.getAttribute("data-mermaid-source")??"";let n="";try{n=TZ(t)}catch{xb(e,"Invalid diagram source");return}if(!n.trim()){xb(e,"Empty diagram source");return}try{const r=await tQ(),s=`mermaid-diagram-${++ZZ}`,{svg:o}=await r.render(s,n);e.innerHTML=eQ(o),iQ(e,o),sQ(e),aQ(e),e.dataset.diagramState="rendered"}catch(r){const s=r instanceof Error?r.message:String(r);xb(e,s)}}function xb(e,t){e.dataset.diagramState="error",e.textContent=$i.renderFailed(t)}function eQ(e){const t=(n,r)=>{GZ.test(r.attrName)&&(r.keepAttr=!1)};Th.addHook("uponSanitizeAttribute",t);try{return Th.sanitize(e,KZ)}finally{Th.removeHook("uponSanitizeAttribute",t)}}async function tQ(){return wb||(wb=(async()=>{const e=await lX(()=>import("./mermaid.core-BwJS5O4y.js").then(n=>n.bC),[]),t=e.default??e;return t.initialize({securityLevel:"strict",htmlLabels:!1,suppressErrorRendering:!0,startOnLoad:!1,theme:"base",look:"handDrawn",themeVariables:nQ(),themeCSS:rQ(),flowchart:{htmlLabels:!1,useMaxWidth:!1}}),t})()),wb}function nQ(){const e=getComputedStyle(document.documentElement),t=(S,C)=>{const k=e.getPropertyValue(S).trim();return Do(k||C)},n=(S,C)=>e.getPropertyValue(S).trim()||C,r=t("--brass","#c69a4a"),s=t("--brass-bright","#e6b86a"),o=t("--brass-deep","#a0782a"),c=t("--aurora","#8bd7e6"),d=t("--aurora-deep","#1f8aa8"),h=t("--coral","#ef7c63"),f=t("--ink-deep","#1d2734"),g=t("--ink-fog","#a6afbb"),y=t("--ink-pearl","#e6e9ef"),_=t("--ink-spectral","#bcc4d0"),b=[s,r,c,h,Do("oklch(70% 0.11 68)"),d,Do("oklch(76% 0.09 205)"),o,Do("oklch(68% 0.14 30)"),g,Do("oklch(62% 0.08 228)"),Do("oklch(52% 0.05 248)")],x=Object.fromEntries(XZ.map((S,C)=>[S,b[C]??f]));return{background:"transparent",primaryColor:"transparent",primaryTextColor:y,primaryBorderColor:r,secondaryColor:"transparent",secondaryTextColor:y,secondaryBorderColor:s,tertiaryColor:"transparent",tertiaryTextColor:_,tertiaryBorderColor:r,lineColor:d,edgeLabelBackground:"transparent",titleColor:s,fontFamily:"JetBrains Mono Variable, ui-monospace, monospace",mainBkg:"transparent",nodeBorder:r,clusterBkg:"transparent",clusterBorder:r,pieTitleTextColor:s,pieTitleTextSize:n("--font-size-title-lg","19px"),pieSectionTextColor:y,pieSectionTextSize:n("--font-size-md","13px"),pieLegendTextColor:y,pieLegendTextSize:n("--font-size-lg","14px"),pieStrokeColor:o,pieStrokeWidth:"1.35px",pieOuterStrokeColor:s,pieOuterStrokeWidth:"2.5px",pieOpacity:"0.96",...x}}function rQ(){const e=getComputedStyle(document.documentElement),t=(f,g)=>{const y=e.getPropertyValue(f).trim();return Do(y||g)},n=t("--brass-deep","#a0782a"),r=t("--brass-bright","#e6b86a"),s=t("--aurora-deep","#1f8aa8"),o=t("--ink-abyss","#131920"),c=Do("oklch(15% 0.04 250 / 34%)"),d=t("--surface-glass","#1d2734"),h=t("--ink-pearl","#e6e9ef");return`
161
161
  .node rect, .node polygon, .node circle, .node ellipse, .actor, .classGroup rect {
162
162
  stroke: ${n};
163
163
  fill: ${d};